Building Your First OpenClaw Skill
Skills are modular extensions that give your OpenClaw agent new capabilities. Each skill is a self-contained package containing instructions, scripts, and configuration that the agent can invoke on demand. Building a custom skill lets you automate workflows specific to your business or personal needs.
Skill Structure
Every skill follows a standard directory structure:
my-skill/
SKILL.md # Required: instructions for the agent
scripts/ # Optional: helper scripts
examples/ # Optional: usage examples
resources/ # Optional: templates, configs, data
Writing SKILL.md
The SKILL.md file is the brain of your skill. It uses YAML frontmatter for metadata and markdown for instructions:
---
name: daily-standup-report
description: Generates a daily standup report from git commits and calendar
version: 1.0.0
author: your-name
tags: [productivity, git, reporting]
---
# Daily Standup Report
When asked to generate a standup report, follow these steps:
1. Run git log --since="yesterday" --oneline to get recent commits
2. Summarize each commit into a bullet point
3. Format as: What I did / What I plan to do / Blockers
Testing Your Skill
Before publishing, test your skill locally by placing it in your workspace's .openclaw/skills/ directory. Ask the agent to use it and verify the output matches your expectations. See the Skill Testing Guide for more strategies.
Publishing to ClawHub
Once tested, publish your skill to ClawHub so others can use it:
openclaw skill publish ./my-skill
Your skill will undergo a basic automated review before being listed in the public registry.