Skill Design Philosophy
Skills provide knowledge and context, not autonomous execution.
The Knowledge Test
Ask: "Does this TEACH Claude or DO something?"
TEACH (Skill) DO (Agent)
Coding conventions Run linters and fix code
Workflow methodology Execute multi-step processes
Framework patterns Generate reports
Tool usage guidance Fetch and analyze data
Rule: If it produces artifacts without user guidance, it's probably an agent.
Good Skill Examples
Skill Why It Works
dhh-coder
Coding style guidance - patterns Claude applies when writing code
tdd-workflow
Methodology knowledge - steps Claude follows for test-driven development
stimulus-coder
Framework patterns - conventions Claude uses for Stimulus controllers
pdf-processing
Tool knowledge - how to use specific libraries and scripts
Pattern: Skills TEACH Claude patterns, conventions, and approaches.
Bad Skill Examples
Skill Why It Fails
"Code reviewer" Does autonomous work - should be an agent
"Git helper" Vague scope - what specifically does it teach?
"Best practices" Too broad - not actionable
"Documentation generator" Creates artifacts - should be an agent
Pattern: These skills DO things instead of TEACHING things.
Content Rules
Include Exclude
Concrete patterns and conventions Persona statements ("You are an expert...")
Specific templates and examples Attribution ("Inspired by X...")
Decision criteria Decorative quotes
Error handling guidance ASCII art or box-drawing
Framework-specific idioms Vague "best practices"
Quality Test
"Does every line in this skill improve Claude's behavior?"
If any line is decorative, inspirational, or redundant - cut it.