Skills — Reusable Workflows for Claude Code¶
Skills are on-demand prompts that Claude loads when invoked. They live in .claude/skills/<name>/SKILL.md and follow a progressive disclosure pattern: a tiny YAML frontmatter (always loaded), a medium SKILL.md body (loaded on invocation), and optional reference files (loaded on demand).
Skills Overview¶
| Skill | Command | Description |
|---|---|---|
| handover | /handover |
Generate a session handover document for continuity between sessions |
| code-review | /code-review |
Multi-pass code review with P0-P3 severity levels |
| skill-creator | /skill-creator |
Meta-skill for creating new skills with proper structure |
| update-report | /update-report |
Regenerate summary report files after project changes |
handover¶
---
name: handover
description: Generate a session handover document summarizing work done, decisions made, and next steps for the next Claude session. Use when user says "handover", "session summary", "end session", or "context transfer".
---
Handover -- Session Continuity¶
Generate a handover document so the next Claude Code session can pick up where this one left off.
Usage¶
/handover # Full handover with all sections
/handover quick # Brief summary (goal, done, next steps, files)
Output¶
Writes to .claude/handover/HANDOVER.md (preserves previous as HANDOVER.previous.md).
Process¶
- Analyze conversation history
- Identify completed work, decisions, blockers
- List changed files and their purpose
- Write structured handover document
Full Handover Format¶
# Session Handover
**Date:** YYYY-MM-DD
**Branch:** branch-name
## Goal
What the user wanted to accomplish this session.
## What Was Done
- [x] Completed task 1
- [x] Completed task 2
- [ ] Partial task 3
## What's In Progress
- Task currently being worked on
- State of implementation
## Blockers & Issues
- Any blockers encountered
- Unresolved issues
## Failed Approaches
- What was tried and didn't work (and why)
## Key Decisions
- Decision 1: chose X over Y because Z
- Decision 2: ...
## Next Steps
1. First thing to do next session
2. Second priority
3. Third priority
## Files Changed
| File | Change |
|------|--------|
| `path/to/file.py` | Added feature X |
| `path/to/other.py` | Fixed bug in Y |
## Environment Notes
- Any environment setup needed
- Running services, database state, etc.
Quick Handover Format¶
# Session Handover (Quick)
**Date:** YYYY-MM-DD | **Branch:** branch-name
## Goal
[One sentence]
## Done
- [x] Task 1
- [x] Task 2
## Next Steps
1. First priority
2. Second priority
## Files Changed
- `path/to/file.py` — what changed
Next Session¶
Start the next session with:
code-review¶
---
name: code-review
description: Multi-pass code review with P0-P3 severity levels. Checks security, error handling, performance, code quality, and SOLID principles. Use when user says "code review", "review my code", "check before commit", or "pre-commit review".
---
Code Review¶
Multi-pass code review against engineering best practices. Reviews in 6 phases, outputs findings grouped by severity (P0-P3), and asks how to proceed before making any changes.
Usage¶
/code-review [path]
/code-review # Review git diff changes
/code-review src/services/ # Review specific directory
Severity Levels¶
P0 = Critical → Security vulnerability, data corruption risk (MUST FIX)
P1 = High → Logic error, missing access control (FIX BEFORE MERGE)
P2 = Medium → Code smell, missing validation, performance issue (FIX OR FOLLOW-UP)
P3 = Low → Style, naming, minor improvement (OPTIONAL)
Process¶
| Pass | Focus | Severities |
|---|---|---|
| 1. Preflight | Scope and context | -- |
| 2. Security | SQL injection, XSS, hardcoded secrets, auth | P0/P1 |
| 3. Error Handling | Swallowed exceptions, boundary conditions | P1/P2 |
| 4. Performance | N+1 queries, missing indexes, memory leaks | P2 |
| 5. Code Quality | SOLID principles, code smells, duplication | P2/P3 |
| 6. Testing | Test gaps, edge cases, flaky patterns | P2/P3 |
Output Format¶
# Code Review: [scope]
**Date:** YYYY-MM-DD
**Branch:** branch-name
**Files reviewed:** N files, M lines changed
**Assessment:** APPROVE | REQUEST_CHANGES | COMMENT
---
## Summary
| Severity | Count |
|----------|-------|
| P0 Critical | N |
| P1 High | N |
| P2 Medium | N |
| P3 Low | N |
---
## P0 — Critical (must fix)
### 1. [Category] Brief title
**File:** `path/to/file.py:42`
**Issue:** Description of the problem
**Fix:** Corrected code
**Why:** Brief explanation
---
## Next Steps
**How would you like to proceed?**
1. **Fix all** — address every finding
2. **Fix P0/P1 only** — critical and high priority
3. **Fix specific items** — tell me which ones
4. **No changes** — review only, I'll fix manually
CRITICAL: Does NOT implement any fixes until the user explicitly chooses an option.
Reference Files¶
Detailed checklists in references/ -- loaded automatically when needed:
references/security-checklist.md-- Injection, XSS, secrets, auth, race conditionsreferences/quality-checklist.md-- Error handling, boundaries, performancereferences/solid-checklist.md-- SOLID principles, code smells, refactoring heuristics
skill-creator¶
---
name: skill-creator
description: Meta-skill for creating new Claude Code skills with proper structure, YAML frontmatter, and progressive disclosure. Use when user says "create skill", "new skill", "make a skill", or "skill template".
---
Skill Creator -- Build New Skills¶
Guide for creating well-structured Claude Code skills that follow best practices.
Usage¶
/skill-creator <skill-name> # Interactive skill creation
/skill-creator <skill-name> quick # Minimal skill template
Process¶
- Ask what the skill should do and when it triggers
- Create directory and SKILL.md with proper structure
- Add reference files if needed (progressive disclosure)
- Verify YAML frontmatter and trigger phrases
- Sync docs -- update SKILLS_QUICK_REFERENCE.md and CLAUDE.md if they exist
Skill Structure¶
.claude/skills/
└── my-skill/
├── SKILL.md # Required — skill definition
├── references/ # Optional — detailed checklists, rules
│ ├── checklist-a.md
│ └── checklist-b.md
└── scripts/ # Optional — helper scripts
└── helper.py
Progressive Disclosure (3 Levels)¶
| Level | Where | Size | When Loaded |
|---|---|---|---|
| 1 | YAML frontmatter | ~100 tokens | Every conversation |
| 2 | SKILL.md body | <5,000 tokens | When skill invoked |
| 3 | references/ files |
Unlimited | On demand during execution |
Naming Conventions¶
| Convention | Example | Notes |
|---|---|---|
| Directory | code-review |
kebab-case |
| Skill file | SKILL.md |
Exact case, always SKILL.md |
| References | security-checklist.md |
kebab-case |
| Scripts | validate.py |
snake_case or kebab-case |
Template¶
---
name: {{skill-name}}
description: {{One sentence}}. Use when user says "{{trigger1}}", "{{trigger2}}", or "{{trigger3}}".
---
# {{Skill Title}}
{{Brief description}}.
## Usage
```
/{{skill-name}} [args]
```
## Process
1. {{Step 1}}
2. {{Step 2}}
3. {{Step 3}}
## Output Format
{{Describe output}}
update-report¶
---
name: update-report
description: Regenerate summary report files in report/ directory after project changes. Use when user says "update report", "regenerate summary", "refresh report", or "sync report".
---
Update Report -- Regenerate Summary Reports¶
Scan the entire project and regenerate both report/SUMMARY-EN.md (English) and report/SUMMARY-TH.md (Thai) to reflect the current state of the repository.
Usage¶
Process¶
- Scan the full project tree -- all directories, files, skills, hooks, guides, templates, agents
- Read every file to understand current contents (descriptions, sections, purposes)
- Regenerate
report/SUMMARY-EN.mdwith all content in English - Regenerate
report/SUMMARY-TH.mdwith all content in Thai - Update the date in both files to today's date
- Report what changed compared to the previous version
Output¶
Overwrites both files in report/:
| File | Language |
|---|---|
report/SUMMARY-EN.md |
English |
report/SUMMARY-TH.md |
Thai |
Report Structure¶
Both files follow this structure (translated per language):
- Title & metadata -- project name, date, location
- What Is This? -- one-paragraph project description
- Sources -- table of sources and what was taken from each
- Project Structure -- full directory tree with annotations
- What's Inside -- detailed breakdown of each category (guides, templates, skills, hooks, agents)
- How to Use -- setup commands and priority table
- What's NOT Included -- intentional exclusions
- Key Design Decisions -- decision/reason table
Rules¶
- Scan the actual project -- do NOT rely on cached or outdated information
- Keep the same structure and table formats in both files
- Thai version must be fully translated (headings, descriptions, table contents) -- not bilingual
- English version must be clean English -- no Thai mixed in
- Update file/directory counts to match the actual project
- Preserve source attribution links exactly as they are