Skip to main content
Skills teach the agent how and when to use tools. Each skill is a directory containing a SKILL.md file with YAML frontmatter and markdown instructions. OpenClaw loads skills from several roots in a defined precedence order.

Create your first skill

1

Create the skill directory

Skills live in your workspace skills/ folder:
You can group skills in subfolders for organization — the skill is still named by the SKILL.md frontmatter, not the folder path:
2

Write SKILL.md

The frontmatter defines metadata; the body gives the agent instructions.
OpenClaw watches SKILL.md files under skills roots by default. If the watcher is disabled or you are continuing an existing session, start a new one so the agent receives the refreshed list:
3

Test it

Or open a chat and ask the agent directly. Use /skill hello-world to invoke it explicitly by name.

Create a personal skill on a shared Gateway

For a skill that should follow your signed-in profile rather than belong to an agent workspace, use Plugins → Skills → My skills. Create or import the SKILL.md bundle there, then review the saved revision and activation result. You do not need host shell access or permission to edit shared Gateway settings. You can also ask the agent to create or improve a personal skill. Its skill_workshop tool uses the Gateway’s authorized library service; it does not write managed revision directories directly. The result distinguishes a published skill from a pending proposal and explains when the session can use it. Ask explicitly to use the new revision in the current session or share it with the team. The single-admin default remains the workspace workflow above. Extra channel identities for the same operator do not turn a personal installation into a team setup. See personal skills and revisions for ownership, sharing, storage, and session behavior.

SKILL.md reference

Required fields

Optional frontmatter keys

For gating fields (requires.bins, requires.env, etc.) see Skills — Gating.

Using {baseDir}

Reference files inside the skill directory without hardcoding paths — the agent resolves {baseDir} against the skill’s own directory:

Adding conditional activation

Gate your skill so it only loads when its dependencies are available:
Full reference: Skills — Gating.
Wire an API key to a skill entry in openclaw.json:
The key is injected into the host process for that agent turn only. It does not reach the sandbox — see sandboxed env vars.

Propose via Skill Workshop

For agent-drafted skills or when you want operator review before a skill goes live, use Skill Workshop proposals instead of writing SKILL.md directly.
Use --proposal-dir when the proposal includes support files:
The directory must contain PROPOSAL.md at its root. Support files go under assets/, examples/, references/, scripts/, or templates/. After review:
See Skill Workshop for the full proposal lifecycle.

Publishing to ClawHub

1

Ensure your SKILL.md is complete

Make sure name, description, and any metadata.openclaw gating fields are set. Add a homepage URL if you have a project page.
2

Install the standalone ClawHub CLI and log in

3

Publish

Add --version <version> or --owner <owner> to override the inferred version or publish under a specific owner. See ClawHub — Publishing and ClawHub CLI for the full flow, owner scoping, and other maintenance commands (clawhub sync, clawhub skill rename, …).

Best practices

  • Be concise — instruct the model on what to do, not how to be an AI.
  • Safety first — if your skill uses exec, ensure prompts do not allow arbitrary command injection from untrusted input.
  • Test locally — use openclaw agent --message "..." before sharing.
  • Use ClawHub — browse community skills at clawhub.ai before building from scratch.

Skills reference

Loading order, gating, allowlists, and SKILL.md format.

Skill Workshop

Proposal queue for agent-drafted skills.

Skills config

Full skills.* config schema.

ClawHub

Browse and publish skills on the public registry.

Building plugins

Plugins can ship skills alongside the tools they document.