Creating Custom Skills
Extend OpenClaw with custom skills tailored to your workflow. From simple scripts to complex automation, make your AI assistant truly yours.
What Are Skills?
Skills are packages that extend OpenClaw's capabilities. They can include:
- Scripts — Shell scripts, Python programs, or Node.js modules
- Instructions — SKILL.md files that guide the AI on how to use tools
- References — API documentation, examples, best practices
- Assets — Templates, configuration files, datasets
Skill Types
Bundled
Built-in skills that ship with OpenClaw (weather, GitHub, tmux)
Managed
Installable skills from ClawHub or npm packages
Workspace
Your custom skills stored in your workspace directory
Creating a Simple Skill
Let's create a skill that checks crypto prices.
Step 1: Create the Skill Directory
cd ~/.openclaw/workspace/skillsmkdir crypto-pricesStep 2: Write SKILL.md
Create crypto-prices/SKILL.md:
# Crypto Prices Skill This skill checks current cryptocurrency prices using the CoinGecko API. ## Usage When the user asks about crypto prices, use the `get-crypto-price.sh` script. ## Examples - "What's the price of Bitcoin?" - "Check ETH price" - "How much is Solana worth?" ## How to Use Run: `./get-crypto-price.sh [coin-id]` Where coin-id is: bitcoin, ethereum, solana, etc.
Step 3: Create the Script
Create crypto-prices/get-crypto-price.sh:
#!/bin/bash
COIN_ID=${1:-bitcoin}
curl -s "https://api.coingecko.com/api/v3/simple/price?ids=${COIN_ID}&vs_currencies=usd" \
| jq -r ".${COIN_ID}.usd"chmod +x crypto-prices/get-crypto-price.shStep 4: Test the Skill
Ask OpenClaw:
You:
"What's the price of Bitcoin?"
OpenClaw:
"Bitcoin is currently $67,234 USD."
Advanced: Skills with Multiple Tools
Skills can include multiple scripts, Python programs, and documentation files.
crypto-prices/
├── SKILL.md
├── get-crypto-price.sh
├── compare-prices.py
├── historical-data.js
└── references/
└── coingecko-api.mdUsing External APIs
Skills can interact with any API. Store API keys securely in environment variables or config files.
💡 Pro Tip:
Store API keys in ~/.openclaw/.env and reference them in your scripts.
Publishing Your Skill
Share your skills with the community:
- Create a GitHub repository for your skill
- Include a comprehensive SKILL.md
- Add installation instructions
- Submit to ClawHub
Skill Best Practices
Clear Documentation
Write detailed SKILL.md files with examples. The AI reads these to understand how to use your tools.
Error Handling
Scripts should return meaningful errors. Use exit codes and stderr for diagnostics.
Dependencies
Document any external dependencies (jq, Python packages, etc.) in SKILL.md.
