Loading...
Loading...
Guides creation of high-quality Agent Skills with domain expertise, anti-pattern detection, and progressive disclosure best practices. Activate on keywords: create skill, review skill, skill quality, skill best practices, skill anti-patterns, improve skill, skill audit. NOT for general coding advice, slash commands, MCP development, or non-skill Claude Code features.
npx skill4agent add erichowens/some_claude_skills skill-coach/references❌ Bad: "Helps with images"
⚠️ Better: "Image processing with CLIP"
✅ Good: "CLIP semantic search. Use for image-text matching.
Activate on 'CLIP', 'embeddings'. NOT for counting, spatial reasoning."---
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]| Key | Required | Purpose |
|---|---|---|
| ✅ | Lowercase-hyphenated identifier |
| ✅ | Activation keywords + NOT clause |
| ⚠️ | Comma-separated tool names |
| ❌ | e.g., "MIT" |
| ❌ | Custom key-value pairs |
# ❌ WRONG - These will break skill upload
integrates_with:
- orchestrator
triggers:
- "activate on this"
tools: Read,Write
outputs: formatted text
coordinates_with: other-skill
python_dependencies:
- numpy## Integrations
Works with: orchestrator, team-builder
## Activation Triggers
Responds to: "create skill", "review skill", "skill quality"# Find invalid frontmatter keys
for skill in .claude/skills/*/SKILL.md; do
sed -n '/^---$/,/^---$/p' "$skill" | grep -E "^[a-zA-Z_-]+:" | cut -d: -f1 | \
grep -vE "^(name|description|license|allowed-tools|metadata)$" && \
echo " ^ in $(basename $(dirname $skill))"
doneyour-skill/
└── SKILL.md # Core instructions (max 500 lines)├── scripts/ # Working code - NOT templates
├── mcp-server/ # Custom MCP if external APIs needed
├── agents/ # Subagent definitions if orchestration needed
├── references/ # Deep dives on domain knowledge
└── CHANGELOG.md # Version historyreferences/self-contained-tools.mdpdf-editorscripts/rotate_pdf.pyfrontend-webapp-builderassets/hello-world/big-queryreferences/schema.mdyour-skill/
├── SKILL.md # Core instructions (max 500 lines)
├── scripts/ # Working code - NOT templates
├── references/ # Deep dives on domain knowledge
└── assets/ # Files used in output (templates, icons)# Validate skill structure and content
python scripts/validate_skill.py <path>
# Check for self-contained tool completeness
python scripts/check_self_contained.py <path>Skill not activating when expected?
├── Check description has specific keywords
│ ├── NO → Add "Activate on: keyword1, keyword2"
│ └── YES → Check if query contains those keywords
│ ├── NO → Add missing keyword variations
│ └── YES → Check for conflicting NOT clause
│ ├── YES → Narrow exclusion scope
│ └── NO → Check file structure
│ ├── SKILL.md missing → Create it
│ └── Wrong location → Move to .claude/skills/
Skill activating when it shouldn't?
├── Missing NOT clause?
│ ├── YES → Add "NOT for: exclusion1, exclusion2"
│ └── NO → NOT clause too narrow
│ └── Expand exclusions based on false positive queriespython scripts/test_activation.py <path>python scripts/validate_skill.py <path>python scripts/check_self_contained.py <path>Read,Grep,GlobRead,Write,EditRead,Write,Bash(npm:*,git:*)Bash| Metric | Target |
|---|---|
| Correct activation | >90% |
| False positive rate | <5% |
| Token usage | <5k typical |
| File | Contents |
|---|---|
| Domain shibboleths and anti-pattern catalog with case studies |
| Expert vs novice knowledge patterns |
| Complete review and testing guide |
| Scripts, MCP servers, and subagent implementation patterns |
| Quantitative skill evaluation (0-10 scoring) |
| Cross-skill dependencies and composition patterns |
| Maintenance, versioning, and deprecation guidance |
| Architectural decision guide: Skills vs Agents vs MCPs vs Scripts |