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 You can group skills in subfolders for organization — the skill is still
named by the
skills/ folder: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
/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 theSKILL.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:Gating options
Gating options
Full reference: Skills — Gating.
Environment and API keys
Environment and API keys
Wire an API key to a skill entry in The key is injected into the host process for that agent turn only.
It does not reach the sandbox — see
sandboxed env vars.
openclaw.json: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 writingSKILL.md directly.
--proposal-dir when the proposal includes support files:
PROPOSAL.md at its root. Support files go under
assets/, examples/, references/, scripts/, or templates/.
After review:
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
--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
Related
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.