Concept guide

OpenClaw skills:
the building blocks of useful agents.

An OpenClaw agent without skills is a chatbot. An OpenClaw agent with the right skills is a coworker. This page covers what skills are, how they're authored, the most common ones you'll use, what Provision ships out of the box, and how to think about adding your own.

What an OpenClaw skill actually is

At its smallest, a skill is a function the agent can call. At its largest, a skill is a multi-step recipe — "build me a competitive matrix," "triage today's inbound," "personalize this outbound for the lead" — that bundles prompt engineering, tool sequencing, and error handling into a single unit. The agent reasons over which skill to invoke and when, the skill handles the multi-step execution.

Conceptually skills sit between two layers. Below them is the tool layer — primitives like "HTTP GET this URL," "render this page," "send this email." Above them is the agent's reasoning layer — the part that decides which skill to use, with what arguments, in what order. Skills are the level where most useful capability gets packaged for reuse.

Each skill has a declared name, description, input schema, and output schema. The agent reads the skill manifest to decide whether to invoke it for a given task. Good skill descriptions are written for the agent (specific, scoped, non-overlapping) — bad ones cause the agent to pick the wrong tool or fail to find the right one.

The skills Provision agents ship with

Out of the box, every Provision agent has access to this set of curated, production-tested skills. You don't configure them — the agent picks the right one based on the task.

web-search

Run a web search and return ranked results — used by every research-flavored agent.

browse-and-read

Open a URL in the agent's sandboxed Chrome, render the page, extract content — handles JavaScript-heavy sites the way a real user would.

competitive-matrix

Multi-step skill: take a list of competitors, research each, return a structured matrix with feature/pricing comparison.

draft-cold-email

Compose a personalized outreach email from a lead record + value prop. Trained on your team's voice.

triage-inbox

Read recent inbound mail in the agent's inbox, classify by topic and urgency, decide what's auto-reply vs human escalation.

summarize-thread

Read a Slack thread, email thread, or Notion doc and produce a structured summary with key decisions and open questions.

screenshot-and-extract

Take a screenshot of a rendered page or section, extract the visible text, return both. Useful for dashboards behind login.

form-submit

Fill and submit a web form on behalf of the agent. The skill handles common form patterns including multi-step wizards.

calendar-coordinate

Read availability, propose times, send invites, handle reschedules — via the agent's email and calendar.

draft-long-form

Produce structured long-form output (blog post, brief, research report) with headings, citations, and an executive summary.

post-to-channel

Post a message in a specific Slack/Telegram/Discord channel with formatting preserved.

task-create

Create a task on the Provision kanban board with assignee, due date, and structured description.

Authoring your own skill

The reason most teams want custom skills isn't exotic capabilities — it's connecting agents to internal systems. Your CRM. Your data warehouse. A proprietary scoring model. A billing system. The goal of a custom skill is to wrap one concrete internal capability so your Provision agents can use it the same way they use the built-in ones.

The pattern is: write a small handler that calls your internal API, declare an input/output schema, give it a name and description the agent will read. Upload it through the Provision dashboard. The skill becomes available to your team's agents without redeploys.

Best practices that consistently matter:

  • Narrow scope. One skill, one job. \"Get customer record\" beats \"interact with CRM.\"
  • Specific descriptions. The agent reads the description to decide when to invoke. \"Get customer by email\" is better than \"customer lookup.\"
  • Structured outputs. Return JSON, not free text. The agent uses the structure for follow-up reasoning.
  • Idempotent where possible. Skills get retried. Side-effects should be safe to repeat.
  • Clear failure modes. Return errors with enough detail for the agent to recover (\"customer not found\" vs \"unauthorized\" vs \"timeout\").

OpenClaw skills vs MCP

These get conflated. The distinction: MCP (Model Context Protocol) is a wire-format protocol for tool/data exposure; skills are the higher-level packaging. An OpenClaw skill can be implemented as an MCP server so other MCP-aware clients can use it. An OpenClaw agent can call out to MCP servers as one of its tool sources. The two layers are complementary, not competing.

The pragmatic rule: if you're building a capability for your team's Provision agents to use, build it as an OpenClaw skill. If you're building a capability you want the broader ecosystem (Cursor, Cline, other agents) to use, expose it through MCP — and optionally wrap it as an OpenClaw skill on the Provision side.

Read the full OpenClaw vs MCP primer →

FAQ

What is an OpenClaw skill?
An OpenClaw skill is a packaged capability — a tool, a tool composition, or a structured workflow — that an OpenClaw agent can invoke as part of completing a task. Skills are the unit of capability extension. They have a name, a description, input/output schemas, and an implementation that can call other tools, the browser, the filesystem, or external APIs.
How do skills differ from raw tool calls?
A raw tool call is a single function. A skill is typically a multi-step recipe — "summarize this thread," "build a competitive matrix from these URLs," "draft a personalized cold email from this signal" — that the agent can invoke as a single unit. Skills bundle the prompt engineering, tool sequencing, and error handling that would otherwise be repeated across many tasks.
Where do skills run?
Inside the OpenClaw runtime, alongside the agent. On Provision, that runtime is managed cloud — agents and their skills run on Provision-managed infrastructure with a sandboxed Chrome browser, filesystem, and tool layer. On self-hosted OpenClaw, skills run wherever you've deployed the harness.
Can I write my own skills?
Yes. OpenClaw skills are authored in code (Python or TypeScript depending on which OpenClaw distribution you're using), with declared schemas. Provision lets you upload custom skills in the dashboard so your team's agents have access to your proprietary capabilities — querying internal APIs, your data warehouse, a custom CRM.
What skills do Provision agents have by default?
Out of the box: web search, browse-and-read, web form submission, document drafting (long-form), email send/receive/triage, calendar coordination, screenshot, summarization, competitive research, lead enrichment, social posting, kanban task management, and Slack/Telegram/Discord channel actions. Plus all the standard OpenClaw filesystem and shell skills.
Are OpenClaw skills the same as MCP tools?
Related but distinct. MCP defines a protocol for exposing tools to agent clients. OpenClaw skills can be implemented as MCP servers (so other MCP-aware clients can use them), and OpenClaw agents can call MCP servers as one of their tool sources. Skills are the higher-level package; MCP is one transport layer.
Where can I find more OpenClaw skills?
The OpenClaw skill ecosystem is growing — community-contributed skills are published to the OpenClaw skill registry. Provision ships a curated set of production-ready skills on every plan, vetted for stability and security.

Try the curated skill set live.

All Provision agents come with the production-tested skill loadout. Add your own anytime.