OpenClawSkills
GitHub
Tools & Skills • TutorialHeader.readTime

Creating Skills

OpenClaw is designed to be easily extensible. "Skills" are the primary way to add new capabilities to your assistant.

Tutorial.step

What is a Skill?

A skill is a directory containing a ''SKILL.md'' file (which provides instructions and tool definitions to the LLM) and optionally some scripts or resources.

Tutorial.step

Step-by-Step: Your First Skill

#

Tutorial.step

1. Create the Directory

Skills live in your workspace, usually ''~/.openclaw/workspace/skills/''. Create a new folder for your skill:

Bash
mkdir -p ~/.openclaw/workspace/skills/hello-world

#

Tutorial.step

2. Define the `SKILL.md`

Create a ''SKILL.md'' file in that directory. This file uses YAML frontmatter for metadata and Markdown for instructions.

Markdown
When the user asks for a greeting, use the `echo` tool to say "Hello from your custom skill!".

#

Tutorial.step

3. Add Tools (Optional)

You can define custom tools in the frontmatter or instruct the agent to use existing system tools (like ''bash'' or ''browser'').

#

Tutorial.step

4. Refresh OpenClaw

Ask your agent to "refresh skills" or restart the gateway. OpenClaw will discover the new directory and index the ''SKILL.md''.

Tutorial.step

Best Practices

- Be Concise: Instruct the model on _what_ to do, not how to be an AI.

- ''Safety First'': If your skill uses ''bash'', ensure the prompts don't allow arbitrary command injection from untrusted user input.

- ''Test Locally'': Use ''openclaw agent --message "use my new skill"'' to test.

Tutorial.step

Shared Skills

You can also browse and contribute skills to ''ClawHub''.