Skills are persistent knowledge bases that survive session compaction and provide project-specific context to Claude.
Unlike commands (one-time instructions), skills are persistent domain knowledge that Claude loads based on context. They enable:
- Zero context loss between sessions
- Project-specific expertise without re-explaining
- Consistent decision-making across time
- Accumulated tribal knowledge
| Aspect | Command | Skill |
|---|---|---|
| Purpose | Execute a task | Provide knowledge |
| Lifespan | Single invocation | Persistent |
| Structure | Single markdown file | Directory with files |
| Loading | Explicit (/command) | Automatic by context |
| Updates | Overwrite | Governed updates |
.claude/skills/[skill-name]/
├── SKILL.md # Entry point (~400 lines max)
├── Reference/
│ ├── skill-maintenance.md # Update governance (REQUIRED)
│ ├── implementation-status.md # Current state (REQUIRED)
│ └── [topic].md # Domain-specific files
└── Templates/ # Optional
└── [entity]-template.md # For tracking entities
The main entry point. Must contain:
- YAML frontmatter - Name and trigger description
- Mandatory update gate - Instructions to read maintenance first
- Quick reference - Project overview tables
- Reference file index - What's in each file
- Critical rules - Non-negotiable principles
- Changelog - Update history
Governance for skill updates. Required sections:
- Update trigger protocol
- Pre-update checklist
- Update classifications (NEW, UPDATE, DUPLICATE, CORRECTION)
- Domain-specific procedures
- Post-update verification
- Cross-file synchronization rules
- Emergency procedures
/create-skill
The skill generator will:
- Analyze your conversation history
- Identify knowledge categories
- Propose a structure
- Request confirmation
- Generate all files
Copy templates from ~/.claude/skills/skill-generator/Templates/:
project-skill-template.md→ SKILL.mdmaintenance-template.md→ Reference/skill-maintenance.md
/update-skill
The process:
- Reads existing skill-maintenance.md
- Identifies what's new in conversation
- Classifies each update
- Applies changes with markers
- Updates changelogs
| Classification | When | Action |
|---|---|---|
| NEW | Topic doesn't exist | Append to section |
| UPDATE | Info has changed | Mark old [SUPERSEDED], add new |
| DUPLICATE | Already present | Skip |
| CORRECTION | Info was wrong | Mark old [CORRECTED], add fix |
[ACTIVE] - Currently in progress
[COMPLETED] - Finished
[CLOSED] - Fully concluded
[PAUSED] - On hold
[CANCELLED] - No longer happening
[BUILT] - Implemented and deployed
[PENDING] - Scoped, not built
[PLANNED] - Discussed, not scoped
[SUPERSEDED: YYYY-MM-DD] - Replaced by newer info
[CORRECTED: YYYY-MM-DD] - Was incorrect, fixed
[UNCONFIRMED] - Not yet verified
[ASSUMPTION] - Based on inference
[NEEDS CLARIFICATION] - Gap requiring input
- Keep SKILL.md under 400 lines
- Use tables over prose
- Include specific values (dates, numbers)
- Document the "why" not just the "what"
- Mark uncertainty explicitly
- Update changelogs religiously
- Fragment into multiple skills per project
- Delete information (use SUPERSEDED)
- Write narrative prose
- Leave empty required sections
- Update without reading maintenance doc
- Skip the verification checklist
The skill-generator meta-skill teaches Claude how to create skills. It includes:
~/.claude/skills/skill-generator/
├── SKILL.md # Main instructions
├── Reference/
│ ├── skill-maintenance.md # Self-governance
│ ├── phase-procedures.md # 6-phase creation process
│ └── formatting-standards.md # Formatting rules
└── Templates/
├── project-skill-template.md # SKILL.md template
├── maintenance-template.md # skill-maintenance template
└── entity-template.md # Entity file template
---
name: mortgage-coach
description: Knowledge base for the Mortgage Coach web application.
Use when working in mortgage-coach/ directory or discussing TCA
reports, loan calculations, or mortgage-related features.
---
# Mandatory: Read Before ANY Updates
**If you are about to modify ANY file in this skill:**
1. **STOP** — Read `Reference/skill-maintenance.md` first
[...]
# Mortgage Coach Knowledge Base
## Quick Reference
| Field | Value |
|-------|-------|
| **Project** | Mortgage Coach Clone |
| **Type** | Next.js Web Application |
| **Status** | [ACTIVE] |
| **Directory** | `mortgage-coach/` |
## Module Status
| Module | Status |
|--------|--------|
| Authentication | ⏳ PENDING |
| Presentation Builder | ⚠️ PARTIAL |
| Calculations Engine | ✅ BUILT |
| TCA Report | ⚠️ PARTIAL |
[...]Claude automatically discovers relevant skills by:
- Checking current working directory
- Matching skill descriptions to context
- Loading appropriate Reference/ files as needed
Skills are NOT loaded in full—Claude loads SKILL.md first, then specific Reference files based on the task at hand.