Install
openclaw skills install skill-makerCreate new agent skills from scratch. Use when: (1) Building specific capabilities, (2) Converting workflows into reusable skills, (3) Designing skill struct...
openclaw skills install skill-makerCreate powerful, reusable skills with structured reasoning.
┌─────────────────────────────────────────────────────────────┐
│ SKILL FORGING PROCESS │
├─────────────────────────────────────────────────────────────┤
│ 1. INTERPRET → What capability does this skill need? │
│ 2. DESIGN → Structure, resources, trigger conditions │
│ 3. FORGE → Write SKILL.md, create resources │
│ 4. TEST → Verify triggers, check quality │
│ 5. POLISH → Refine based on testing │
└─────────────────────────────────────────────────────────────┘
INTENT
│
├── Brand new skill ──→ Start from Step 1
│
├── Replace existing ──→
│ └── Read old first, then improve
│
└── Clone & modify ──→
└── Copy, rename, customize
| Question | Your Answer |
|---|---|
| What does this skill DO? | [Capability] |
| Who asks for it? | [User triggers] |
| What's the DOMAIN? | [Topic area] |
| How COMPLEX is it? | Simple/Medium/Complex |
COMPLEXITY LEVEL
│
├── Simple ──→ SKILL.md only
│ └── One capability, clear steps
│
├── Medium ──→ SKILL.md + references/
│ └── Needs docs to reference
│
└── Complex ──→ SKILL.md + scripts/ + references/
└── Needs executable code
skill-name/
├── SKILL.md # Required: name, description, body
├── scripts/ # Optional: executable code
├── references/ # Optional: detailed docs
└── assets/ # Optional: templates, files
Users typically say:
Formula for description:
"[What it does]. Use when: (1) [situation 1], (2) [situation 2], (3) [situation 3]."
Example:
"Fetch weather data from wttr.in. Use when: (1) User asks about weather, (2) User wants forecast, (3) User asks temperature in [city]."
Copy this template for your skill:
---
name: my-skill
description: "[What it does]. Use when: (1) [trigger 1], (2) [trigger 2], (3) [trigger 3]."
---
# My Skill
## When This Skill Activates
This skill triggers when user wants to [capability].
## The [Domain] Framework
| Step | Action |
|------|--------|
| 1 | [What to do] |
| 2 | [What to do] |
| 3 | [What to do] |
## Workflow
### Step 1: [Name]
[What to do and why]
### Step 2: [Name]
[What to do and why]
### Decision Point
- If [condition]: do [A]
- If [condition]: do [B]
## Common Scenarios
### Scenario 1: [Case]
[What to do]
### Scenario 2: [Case]
[What to do]
## Troubleshooting
### Problem: [Error]
- Cause: [why]
- Fix: [how]
## Quick Reference
| Task | Action |
|------|--------|
| [Task 1] | [Command/Step] |
| [Task 2] | [Command/Step] |
| Pattern | Use For |
|---|---|
| Numbered steps | Sequential workflows |
| Decision tree | Branching logic |
| Tables | Quick reference |
| Code blocks | Examples |
| Error sections | Troubleshooting |
IN SKILL.MD (< 500 lines):
├── Core workflow (must-know)
├── Key examples (most common)
└── Quick reference
IN REFERENCES/:
├── Detailed documentation
├── API specs
├── Edge cases
└── Extended examples
Read your description and ask:
Description: "[your description]"
Would this match user saying:
- "[trigger phrase 1]"? → YES/NO
- "[trigger phrase 2]"? → YES/NO
- "[trigger phrase 3]"? → YES/NO
Use the skill → Notice issues → Fix → Use again
↑ │
└────────────────────────────────────┘
| Problem | Solution |
|---|---|
| Won't trigger | Add more "Use when:" triggers |
| Too long | Move details to references/ |
| Confusing | Add example scenarios |
| Missing cases | Add troubleshooting section |
| Change Type | Version Bump | Example |
|---|---|---|
| Bug fix, no new features | 1.0.0 → 1.0.1 | v1.0.1 |
| New feature, backward compatible | 1.0.1 → 1.1.0 | v1.1.0 |
| Breaking changes | 1.1.0 → 2.0.0 | v2.0.0 |
## Version 1.1.0
### Added
- New feature X
### Changed
- Improved Y
### Fixed
- Bug Z
---
name: my-skill
description: "[What it does]. Use when: (1) [trigger 1], (2) [trigger 2]."
version: 1.0.0
changelog: "[Brief summary of changes]"
metadata:
clawdbot:
emoji: "🔨" # Emoji for the skill
category: "creation" # Category (research/coding/utility/etc)
requires:
bins: ["curl"] # Required system binaries
python: ["requests"] # Optional Python packages
---
| Category | Emoji | Examples |
|---|---|---|
| Research | 🔬 | deep-research-pro, paper-compare |
| Coding | 💻 | code |
| Creation | 🔨 | skill-forge |
| Utility | ⚡ | surge |
| Weather | 🌤️ | weather |
| Discovery | 🔍 | find-skills |
| Media | 🎞️ | video-frames |
| Files | 📄 |
| Category | When to Use |
|---|---|
| research | Research, analysis, comparisons |
| coding | Code-related tasks |
| utility | Tools, downloads, file operations |
| creation | Building new things |
| communication | Messaging, notifications |
| media | Video, audio, images |
metadata:
clawdbot:
requires:
bins: ["ffmpeg", "curl"] # System binaries
python: ["requests", "pandas"] # Python packages
node: ["typescript"] # Node packages
os: ["linux", "darwin", "win32"] # Supported OS
Based on research (SkillsBench 2026):
"2-3 focused modules beat exhaustive documentation"
Keep it:
weather---
name: weather
description: "Get weather data. Use when: (1) User asks weather, (2) User wants forecast, (3) User asks temperature."
---
# Weather
## Reasoning
1. EXTRACT → Location from request
2. FETCH → Call wttr.in API
3. PARSE → Extract temp, conditions
4. PRESENT → Format for user
Based on research (SkillsBench 2026), skills with reasoning frameworks perform better because they give agents a thinking structure, not just steps to follow.
Made with Skill Maker 🔨