Guide for creating and maintaining user-facing agent skills
This skill guides you through creating user-facing agent skills. For the canonical reference, see agentskills.io.
A skill is a folder containing a SKILL.md file with metadata and instructions:
my-skill/
├── SKILL.md # Required: instructions + metadata
├── scripts/ # Optional: executable code
├── references/ # Optional: additional documentation
└── assets/ # Optional: templates, resources
---
name: skill-name
description: Brief description of what the skill does
---
The body contains markdown instructions that tell the agent how to perform the task.
---
name: my-skill
description: Does something useful
---
# Skill Title
Brief overview of what this skill helps accomplish.
## When to Use
Describe scenarios when this skill applies.
## How to Use
Step-by-step instructions or patterns.
## Examples
Concrete examples demonstrating usage.
## Reference
- [Detailed Reference](references/REFERENCE.md) - Link to additional docs
Structure skills for efficient context usage:
| Layer | Token Budget | When Loaded | |-------|--------------|-------------| | Metadata | ~100 tokens | At startup (all skills) | | Instructions | < 5000 tokens | When skill activated | | References | As needed | On demand |
Executable code that agents can run:
scripts/
├── validate.sh # Validation script
├── generate.py # Code generator
└── setup.js # Setup helper
Scripts should:
Additional documentation loaded on demand:
references/
├── PATTERNS.md # Common patterns
├── API.md # API reference
└── EXAMPLES.md # Extended examples
Keep individual reference files focused. Smaller files = less context usage.
Static resources:
assets/
├── template.xml # File templates
├── schema.json # Schemas
└── diagram.png # Visual aids
Use relative paths from the skill root:
See [the reference guide](references/REFERENCE.md) for details.
Run the setup script:
scripts/setup.sh
Keep references one level deep. Avoid deeply nested chains.
.claude/skills/)Skills for contributors working on this codebase:
plugins/*/skills/)Skills for users of the tool:
## Overview
This skill helps you [accomplish X] by [doing Y].
| Command | Description |
|---------|-------------|
| `cmd1` | Does X |
| `cmd2` | Does Y |
## Examples
### Basic Usage
\`\`\`bash
b2c command --flag value
\`\`\`
### Advanced Usage
\`\`\`bash
b2c command --complex-flag
\`\`\`
## When NOT to Use
- Scenario A (use skill-x instead)
- Scenario B (manual approach better)
Reference official documentation rather than duplicating it:
## Reference
For complete API documentation, see [Official Docs](https://example.com/docs).
Before publishing a skill:
name and descriptionSearch for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer