AgentSkills
AgentSkills are the capabilities OpenClaw's LLM can call. Every time the agent decides to take an action — run a command, open a browser tab, send an email — it's invoking a skill. Skills are what transform the LLM from a text generator into an agent that actually does things on your machine.
How Skills Work
When you send a task, the LLM sees a list of available skills with their descriptions and parameters. It decides which skill to call, generates the arguments, and OpenClaw executes it. The skill returns a result (stdout, file path, status code, etc.) which the LLM reads and uses to formulate its reply or next action. Skills are the LLM's hands — without them, it can only talk; with them, it can act.
Built-in Skill Categories
System & Shell
Run shell commands, manage processes, read environment variables, execute scripts (bash, Python, Node)
File System
Read/write/move/delete files and directories, search by name or content, watch for file changes
Browser (Playwright)
Open URLs, click elements, fill forms, take screenshots, extract page content, run end-to-end web tasks
Email & Calendar
Read inbox, send emails, create/update calendar events, check availability
Developer Tools
GitHub (read issues/PRs, create comments), git operations, npm/pip/cargo package management
Media & Productivity
Spotify playback, Obsidian note creation, Twitter/X posting, smart home (Hue lights, air quality)
Memory
Read/write to persistent memory store, tag memories by topic, retrieve relevant context
Self-extension
OpenClaw can write and install new skills through conversation — ask it to create a skill for a task it can't do yet
Self-Extension
One of OpenClaw's most distinctive features: the agent can create new skills for itself. If you ask it to do something it doesn't have a skill for, it can write the skill code, install it, and then use it — all in the same conversation. This means the set of skills grows as you use it, and you don't need to write code yourself to extend it.
Self-created skills are stored in ~/.openclaw/skills/ and persist across restarts. You can inspect, edit, or delete them at any time.
Community Skills (ClawHub)
ClawHub is the community extension marketplace for OpenClaw. It hosts skills contributed by the community: integrations with specific apps, domain-specific workflows (legal document processing, financial data fetching, home automation routines), and language-specific development tools. Install from ClawHub with:
List installed skills with openclaw skills list. Remove with openclaw skills remove <skill-name>.
Writing Custom Skills
Skills are JavaScript/TypeScript modules that export a standard interface: a name, description (used by the LLM to decide when to call it), parameter schema, and an execute function. A minimal skill looks like:
// ~/.openclaw/skills/ping-server.js
module.exports = {
name: "ping_server",
description: "Ping a hostname and return latency",
parameters: { host: { type: "string" } },
execute: async ({ host }) => {
const { execSync } = require("child_process");
return execSync(`ping -c 1 ${host}`).toString();
}
}
Drop the file in ~/.openclaw/skills/ and restart OpenClaw — the skill is immediately available to the LLM.
Checklist: Do You Understand This?
- AgentSkills are tool-call modules the LLM invokes to take real actions — skills are the agent's hands
- 100+ built-in skills cover shell, files, browser, email, calendar, dev tools, media, memory
- Self-extension: OpenClaw can write and install new skills during a conversation
- Community skills available via ClawHub marketplace — install with
openclaw skills install - Custom skills are JS/TS modules with a name, description, parameters, and execute function