Guides authoring, refining, and evaluating Claude agent skills. Use when creating a new skill, improving an existing skill, reviewing skill quality, or applying skill best practices. Use when the user mentions SKILL.md, skill descriptions, skill naming, skill evaluation, or asks how to write or improve a skill.
Extends skill-creator — read that first for the foundational workflow. This skill covers authoring quality, evaluation, and iteration.
Names: Use gerund form — processing-pdfs, analyzing-spreadsheets. Only lowercase letters, numbers, hyphens. Max 64 characters. No reserved words: anthropic, claude.
Descriptions: Always third person. Injected into system prompt — inconsistent POV causes discovery failures.
"Processes Excel files and generates reports""I can help you..." / "You can use this to..."Include: what the skill does + specific keyword triggers for when to use it. Max 1024 characters.
Create evaluations before writing extensive documentation — ensures you're solving real gaps, not imagined ones.
{
"skills": ["my-skill"],
"query": "Extract all text from this PDF and save to output.txt",
"files": ["test-files/document.pdf"],
"expected_behavior": [
"Reads PDF using an appropriate library",
"Extracts text from all pages",
"Saves extracted text to output.txt"
]
}
Claude A authors/refines the skill. Claude B tests it on real tasks.
What to watch in Claude B:
When a skill involves multi-step processes, use these patterns explicitly in the skill body:
- [ ] checklist Claude copies into its response and checks offExecution vs. read intent — be explicit:
analyze_form.py to extract fields" → Claude executes (output only, no context cost)analyze_form.py for the algorithm" → Claude reads into contextMCP tools — always use fully qualified names: BigQuery:bigquery_schema, not bigquery_schema
Error handling — scripts should handle errors explicitly and print informative messages; don't let failures bubble silently to Claude
| Anti-pattern | Fix |
|---|---|
| Windows-style paths (scripts\helper.py) | Always use forward slashes |
| Too many options offered | Pick a default; escape hatches only |
| Undocumented constants (TIMEOUT = 47) | Document the reasoning |
| Nested references (SKILL.md → a.md → b.md) | Keep all refs one level deep from SKILL.md |
| Assuming packages are installed | Explicitly list and install dependencies |
| Time-sensitive phrasing ("before [date]...") | Use "current method" + collapsed "old patterns" section |
Description
Structure
Scripts
Testing
Search 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