// "Guides creation of high-quality Agent Skills with domain expertise, anti-pattern detection, and progressive disclosure best practices. Use when creating skills, reviewing existing skills, or when users mention improving skill quality, encoding expertise, or avoiding common AI tooling mistakes. Activate on keywords: create skill, review skill, skill quality, skill best practices, skill anti-patterns. NOT for general coding advice or non-skill Claude Code features."
| name | skill-coach |
| description | Guides creation of high-quality Agent Skills with domain expertise, anti-pattern detection, and progressive disclosure best practices. Use when creating skills, reviewing existing skills, or when users mention improving skill quality, encoding expertise, or avoiding common AI tooling mistakes. Activate on keywords: create skill, review skill, skill quality, skill best practices, skill anti-patterns. NOT for general coding advice or non-skill Claude Code features. |
| allowed-tools | Read,Write,Bash,Glob,Grep,Edit |
This skill helps you create Agent Skills that encode real domain expertise, not just surface-level instructions. It focuses on the shibboleths - the deep knowledge that separates novices from experts.
โ Use for:
โ NOT for:
Great skills are progressive disclosure machines that:
Immediate improvements for existing skills:
wc -l) โ Should be <500Creating a New Skill:
Skills load in three phases:
Critical: Keep SKILL.md under 500 lines. Split details into /references.
The description is your activation trigger. Formula: [What] [Use for] [Keywords] NOT for [Exclusions]
Progression from Bad โ Good:
โ Bad: description: Helps with images
โ ๏ธ Better: description: Image processing with CLIP
โ
Good: description: CLIP semantic search. Use for image-text matching, zero-shot classification. Activate on "CLIP", "embeddings", "image search". NOT for counting, fine-grained classification, spatial reasoning.
Great skills actively warn about common mistakes. Structure:
## Common Anti-Patterns
### Pattern: [Name]
**What it looks like**: [Code example or description]
**Why it's wrong**: [Fundamental reason]
**What to do instead**: [Better approach]
**How to detect**: [Validation rule]
Technology evolves. Capture what changed and when:
## Evolution Timeline
### Pre-2024: Old Approach
[What people used to do]
### 2024-Present: Current Best Practice
[What changed and why]
### Watch For
[Deprecated patterns LLMs might still suggest]
Mandatory:
your-skill/
โโโ SKILL.md # Core instructions (<500 lines)
Optional (only if needed):
โโโ scripts/ # Working code (not templates)
โโโ references/ # Deep dives (referenced from SKILL.md)
โโโ assets/ # Config files, templates
โโโ examples/ # Concrete good/bad examples
Anti-pattern: Creating structure "just in case" - only add files that SKILL.md references
---
name: your-skill-name
description: [What] [When] [Triggers]. NOT for [Exclusions].
allowed-tools: Read,Write # Minimal only
---
# Skill Name
[One sentence purpose]
## When to Use
โ
Use for: [A, B, C]
โ NOT for: [D, E, F]
## Core Instructions
[Step-by-step, decision trees, not templates]
## Common Anti-Patterns
### [Pattern]
**Symptom**: [Recognition]
**Problem**: [Why wrong]
**Solution**: [Better approach]
What it looks like: Skill references scripts/files that don't exist
# Quick Start
Run `python scripts/validate.py` to check your skill
But /scripts/validate.py doesn't exist in the skill directory.
Why it's wrong: Claude will try to use non-existent files, causing errors and confusion.
What to do instead: Only reference files that actually exist. If you want to suggest scripts, either:
How to detect: find skill-dir/ -type f and verify all referenced paths exist
What it looks like:
description: Helps with many things including X, Y, Z, and also A, B, C, plus general assistance
Why it's wrong: Vague descriptions cause:
What to do instead: Specific trigger keywords + clear exclusions
description: [Core capability]. Use for [A, B, C]. Activate on keywords: "X", "Y", "Z". NOT for [D, E, F].
What it looks like: Skill is 90% templates and examples, 10% actual instructions
Why it's wrong: Claude doesn't need templates - it needs expert knowledge and decision trees. Templates are for humans.
What to do instead:
What it looks like: One skill trying to handle an entire domain
name: web-dev-expert
description: Handles all web development tasks
Why it's wrong:
What to do instead: Create focused, composable skills:
react-performance-expertapi-design-expertcss-layout-expertWhat it looks like: Skill has /references/deep_dive.md but never tells Claude when to read it
Why it's wrong: Files exist but are never used = wasted space
What to do instead: Explicit triggers in main SKILL.md:
For database-specific anti-patterns, see `/references/database_antipatterns.md`
allowed-tools constraintsShibboleths = deep knowledge that separates novices from experts.
Novice skill creator:
Expert skill creator:
CLIP Embeddings:
MCPs vs Scripts:
Plan-Validate-Execute Pattern:
Pre-Flight Checks (include in skills that modify state):
Good Skill - Specific, expert knowledge, clear boundaries:
name: clip-aware-embeddings
description: CLIP semantic search. Use for image-text matching, zero-shot classification. Activate on "CLIP", "embeddings", "image search". NOT for counting, fine-grained classification, spatial reasoning.
โ
Includes: When NOT to use, alternatives (DETR/PC-CLIP), temporal evolution, anti-patterns
Bad Skill - Vague, template-heavy, no expertise:
name: image-processing
description: Processes images
โ Problems: No activation triggers, no exclusions, no expert knowledge, just generic templates
allowed-tools to constrain scopeWorkflow 1: Create Skill from Expertise
Workflow 2: Debug Activation Issues
Workflow 3: Reduce False Activations
Improvement Loop (use Claude to improve skills):
# 1. Use the skill on real tasks
# 2. Ask: "What anti-patterns did you encounter?"
# 3. Ask: "What decision points were unclear?"
# 4. Update SKILL.md with learnings
# 5. Test: Does it activate correctly now?
Red Flags:
This skill uses: Read,Write,Bash,Glob,Grep,Edit
find, wc -l)Guidelines:
Read,Grep,GlobRead,Write,EditRead,Write,Bash(npm:*,git:*)Bash for untrusted skillsSecurity Audit:
CRITICAL (must-have):
find skill-dir/ -type f)HIGH PRIORITY (should-have):
allowed-tools is minimalNICE TO HAVE (polish):
Ask Claude questions that SHOULD trigger the skill:
# Example for a React skill:
"Help me optimize this React component's re-renders"
# Check: Did the skill activate?
Ask questions that SHOULD NOT trigger the skill:
# Example for a React skill:
"Help me write a Python script"
# Check: Did it correctly NOT activate?
When to create a NEW skill?
Skill vs Subagent vs MCP?
Q: SKILL.md vs /references? SKILL.md: Core instructions (<500 lines). /references: Deep dives (loaded as needed).
Q: How do I handle deprecated patterns?
## โ ๏ธ Deprecated: [Pattern]
**Until**: [Date] | **Why**: [Reason] | **Now use**: [Current]
**Watch**: LLMs may suggest this due to training data
This skill guides: Skill creation | Skill auditing | Anti-pattern detection | Progressive disclosure | Domain expertise encoding
Meta-note: This skill practices what it preaches - it has been iteratively improved using its own guidance, demonstrating the iteration loop it recommends.