Contributing Skills
Build and share your own skills with the OpenClaw community.
Repository
Skills are contributed via pull request to:
https://github.com/BankrBot/openclaw-skills
Skill Structure
Each skill requires this structure:
your-provider/
└── your-skill/
├── SKILL.md # Required: Skill definition
├── references/ # Optional: Documentation
└── scripts/ # Optional: Helper utilities
Creating a Skill
1. Fork the Repository
git clone https://github.com/BankrBot/openclaw-skills.git
cd openclaw-skills
2. Create Provider Directory
If you're a new provider:
mkdir -p your-provider/your-skill
3. Write SKILL.md
Create your-provider/your-skill/SKILL.md:
# Your Skill Name
Brief description of what your skill does.
## Capabilities
- Capability 1
- Capability 2
- Capability 3
## Usage Examples
"example command 1" "example command 2"
## Requirements
- Any prerequisites
- API keys needed
- etc.
4. Add References (Optional)
Documentation in references/:
references/
├── api-docs.md
├── getting-started.md
└── advanced-usage.md
5. Add Scripts (Optional)
Helper utilities in scripts/:
scripts/
├── setup.sh
└── helpers.ts
Best Practices
Clear Documentation
- Write clear, specific descriptions
- Include usage examples
- Document all prerequisites
Testing
- Test your skill thoroughly before submitting
- Include test cases in your PR description
Commit Messages
Use descriptive commit messages:
git commit -m "Add weather-forecast skill for real-time weather data"
Submitting a Pull Request
1. Create a Branch
git checkout -b add-your-skill
2. Commit Changes
git add .
git commit -m "Add your-skill for description"
3. Push and Create PR
git push origin add-your-skill
Then create a pull request on GitHub with:
- Clear description of the skill
- Example use cases
- Any dependencies or requirements
Review Process
After submitting:
- Maintainers review your PR
- Feedback may be requested
- Once approved, skill is merged
- Skill becomes available to all users
Guidelines
- Maintain quality — Clear, well-documented definitions
- Be helpful — Skills should solve real problems
- Stay safe — Don't include malicious functionality
- Respect users — Be transparent about capabilities and limitations
Getting Help
- Open an issue for questions
- Join the community Discord
- Check existing skills for examples