Skill System Design
OpenClaw's power comes from its modular Skill System. Every capability — from clicking buttons to reading files — is a self-contained Skill backed by the Model Context Protocol (MCP).
What is a Skill?
A Skill is a unit of capability that an agent can invoke. Think of it as a "tool" the LLM can call during its reasoning loop. Each Skill declares:
- Name: A unique identifier (e.g.,
browser_click,file_read) - Description: A natural language explanation for the LLM to understand when to use it
- Input Schema: A JSON Schema defining what parameters the Skill accepts
- Handler: The actual implementation that executes the action
Skills are exposed as MCP Tools. This means any MCP-compatible client (Claude Desktop, Cursor, etc.) can use OpenClaw Skills natively.
Each Skill runs in its own execution context. A misbehaving Skill cannot crash the agent core or leak data to other Skills.
Skill Lifecycle
When the agent decides to use a Skill, the following pipeline executes:
- Selection: The LLM examines available Skills and picks the best match for its current sub-goal.
- Validation: The input parameters are validated against the Skill's JSON Schema. Malformed calls are rejected before execution.
- Execution: The Skill handler runs with the validated parameters. It may interact with the browser, file system, or external APIs.
- Response: The result is returned to the agent as structured data, which feeds into the next reasoning step.
Built-in Skill Categories
- click
- type
- scroll
- screenshot
- navigate
- read_file
- write_file
- list_dir
- search_files
- run_command
- http_request
- extract_text
- wait
Creating Custom Skills
You can extend OpenClaw by writing your own Skills. A custom Skill is just an MCP tool definition:
{
"name": "my_custom_skill",
"description": "Fetches the current weather for a given city",
"inputSchema": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "The city name"
}
},
"required": ["city"]
}
}Once registered in your config, the agent will automatically discover and use your custom Skill when relevant. Visit the Skill Registry to browse community-verified Skills.
Skill Composition
Advanced agents compose multiple Skills into sequences. For example, a "fill out a form" task might chain:
The LLM decides each step dynamically — it doesn't follow a pre-programmed sequence. This makes agents resilient to unexpected UI changes.