Expert guidance for creating, writing, and refining Claude Code Skills. Use when working with SKILL.md files, authoring new skills, improving existing skills, or understanding skill structure and best practices.
View on GitHubSiTaggart/claude-devbench
devbench
January 21, 2026
Select agents to install to:
npx add-skill https://github.com/SiTaggart/claude-devbench/blob/main/plugins/devbench/skills/create-agent-skills/SKILL.md -a claude-code --skill creating-agent-skillsInstallation paths:
.claude/skills/creating-agent-skills/# Creating Agent Skills This skill teaches how to create effective Claude Code Skills following Anthropic's official specification. ## Core Principles ### 1. Skills Are Prompts All prompting best practices apply. Be clear, be direct. Assume Claude is smart - only add context Claude doesn't have. ### 2. Standard Markdown Format Use YAML frontmatter + markdown body. **No XML tags** - use standard markdown headings. ```markdown --- name: my-skill-name description: What it does and when to use it --- # My Skill Name ## Quick Start Immediate actionable guidance... ## Instructions Step-by-step procedures... ## Examples Concrete usage examples... ``` ### 3. Progressive Disclosure Keep SKILL.md under 500 lines. Split detailed content into reference files. Load only what's needed. ``` my-skill/ ├── SKILL.md # Entry point (required) ├── reference.md # Detailed docs (loaded when needed) ├── examples.md # Usage examples └── scripts/ # Utility scripts (executed, not loaded) ``` ### 4. Effective Descriptions The description field enables skill discovery. Include both what the skill does AND when to use it. Write in third person. **Good:** ```yaml description: Extracts text and tables from PDF files, fills forms, merges documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction. ``` **Bad:** ```yaml description: Helps with documents ``` ## Skill Structure ### Required Frontmatter | Field | Required | Max Length | Description | | --------------- | -------- | ---------- | ---------------------------------------- | | `name` | Yes | 64 chars | Lowercase letters, numbers, hyphens only | | `description` | Yes | 1024 chars | What it does AND when to use it | | `allowed-tools` | No | - | Tools Claude can use without asking | | `model` | No | - | Specific model t
Issues Found: