Claude Code skills go stale. Claude Skill Evo makes them evolve.
Install ยท Quick Start ยท How It Works ยท Self-Evolution ยท ไธญๆๆๆกฃ
For Claude Code users who want their skill system to grow with their project โ not decay into obsolete instructions.
One command. Your entire project gets a tailored skill system โ and every skill learns, detects staleness, and proposes its own updates.
/skill-evoNo config files. No templates to fill. No YAML to write. Claude Skill Evo scans your codebase, asks smart questions, and forges skills that actually match how you work.
| Without Claude Skill Evo | With Claude Skill Evo |
|---|---|
| Manually write CLAUDE.md and skills from scratch | Auto-generated from project scanning + guided Q&A |
| Skills go stale as your project evolves | Skills detect their own staleness and propose fixes |
| Copy-paste generic templates | Every path, command, and convention is your project's real data |
| One-time setup, then forgotten | Run /skill-evo again anytime โ it only gets better |
| "I forgot to update the skill" | Skills learn from your corrections in real-time |
# Install (one time)
claude plugin marketplace add atompilot/claude-skill-evo
claude plugin install claude-skill-evo@claude-skill-evo
# Use (as many times as you want)
/skill-evo # Full scan โ initialize or optimize
/skill-evo add API conventions # Focus on a specific area
/skill-evo review # Audit all skills quality
/skill-evo review {prefix}-debug # Audit a specific skillEvery /skill-evo run starts by detecting your project state:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ /skill-evo โ
โ โ
โ Phase 0: State Detection โ
โ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ No .claudeโ โ Has CLAUDE.mdโ โ Has CLAUDE.md + skillsโ โ
โ โ directory โ โ but no skillsโ โ โ โ
โ โโโโโโฌโโโโโโ โโโโโโโโฌโโโโโโโโ โโโโโโโโโโโโโฌโโโโโโโโโโโโ โ
โ โผ โผ โผ โ
โ Initialize Supplement Optimize โ
โ (full setup) (add skills) (scan & improve) โ
โ โ
โ Phase 1: Project Scan (auto-detect everything) โ
โ Phase 2: Skill Planning (propose what to create/update) โ
โ Phase 3: Guided Q&A (smart questions with defaults) โ
โ Phase 4: Generate / Update (surgical edits, never nuke) โ
โ Phase 5: Verify & Report โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Claude Skill Evo scans your project and pre-fills answers before asking:
I scanned your project and found:
๐ Type: TypeScript monorepo
๐ ๏ธ Framework: Next.js + tRPC
๐ฆ Package manager: pnpm
๐ณ Docker: Yes (docker-compose.yml)
๐ Suggested prefix: myapp (from package.json)
Confirm and fill in what I couldn't detect...
Compares your project's current state against existing skills:
๐ Skill System Health Report
Existing skills:
โ
myapp-skill v1.0.3 โ healthy
โ ๏ธ myapp-debug v1.0.1 โ 1 stale reference found
โ
myapp-digest v1.0.0 โ healthy
Content health check:
โ ๏ธ myapp-debug references src/utils/ but directory is now src/lib/
โ
All skill terminology consistent with CLAUDE.md
Improvement opportunities:
1. ๐ Detected Vitest but no test skill โ create one?
2. ๐ myapp-debug has stale path reference โ update?
Which ones? (1,2 / all / skip)
.claude/
โโโ CLAUDE.md # Project-level Claude instructions
โโโ commands/
โ โโโ {prefix}-commit.md # Git commit conventions
โ โโโ {prefix}-review.md # Multi-agent code review
โ โโโ {prefix}-research.md # Tech research workflow
โโโ knowledge/ # Project knowledge base
โ โโโ decisions/ # Architecture decisions
โ โโโ research/ # Tech research notes
โ โโโ pitfalls/ # Known pitfalls & lessons learned
โ โโโ conventions/ # Project conventions
โ โโโ references/ # External references
โโโ skills/
โ โโโ {prefix}-skill/SKILL.md # Meta-skill + evolution engine
โ โโโ {prefix}-debug/SKILL.md # Bug fix workflow + experience DB
โ โโโ {prefix}-digest/SKILL.md # Knowledge capture
โ โโโ {prefix}-todo/SKILL.md # Project task management
โโโ evolution/ # Cross-session evolution system
โโโ hooks/capture.sh # Layer 1: event capture
โโโ hooks/digest.py # Layer 2: signal extraction
โโโ evolution-digest.md # Layer 3: analysis checkpoint
โโโ session-meta.json # Session counter + trigger state
{prefix} is auto-detected from your project (package.json, go.mod, Cargo.toml, etc.) โ you just confirm.
Skills and commands are tailored to your project โ not every template applies to every project. The meta-skill ({prefix}-skill) includes a built-in evolution engine โ run /{prefix}-skill evolve to trigger a full skill health scan.
Review mode audits existing skills with 4 parallel agents (structure, content quality, consistency, security):
/skill-evo review # Audit all skills
/skill-evo review {prefix}-debug # Audit a specific skillThis is what makes Claude Skill Evo different from every other scaffolding tool.
Every generated skill is a living document with three built-in evolution mechanisms:
Skills listen for learning signals during normal use:
| Signal | Example | What happens |
|---|---|---|
| User correction | "Don't use var, use const" |
Proposes adding the rule to the skill |
| Repeated pattern | Same file structure used 3 times | Proposes as a convention |
| Explicit instruction | "Remember: always use UTC" | Proposes writing to skill |
| Toolchain change | New dependency added | Proposes updating related skill |
Skills detect when their own content goes out of date:
| Signal | Example |
|---|---|
| Dead paths | src/utils/ referenced but directory renamed to src/lib/ |
| Failed commands | pnpm test changed to pnpm vitest |
| API changes | Framework method deprecated in new version |
| Norm conflicts | Skill says "use tabs" but codebase uses spaces |
At the end of long sessions, skills proactively ask:
๐ Session Review โ I noticed things worth capturing:
1. [New pattern] AppError class adopted across all handlers โ write to myapp-skill?
2. [Bug fix] OAuth token refresh race condition โ write to myapp-debug/records/?
Write all? Or confirm one by one?
All updates require your confirmation. Skills propose, you decide.
The three mechanisms above work within a single session. But what about corrections you made last week? Patterns that emerge over months?
Claude Skill Evo includes a three-layer incremental digest chain that captures interaction data across sessions and gets smarter over time โ without ever re-reading all historical data.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Three-Layer Evolution Architecture โ
โ โ
โ Layer 1: CAPTURE (async, every session) โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ SessionStart โ โUserPrompt โ โ PostToolUse โ โ
โ โ (count+triggerโ โSubmit โ โ (Edit/Write/Bash/Read) โ โ
โ โ conditions) โ โ(full prompt) โ โ selective capture โ โ
โ โโโโโโโโฌโโโโโโโโ โโโโโโโโฌโโโโโโโโ โโโโโโโโโโโโฌโโโโโโโโโโโโโโ โ
โ โ โ โ โ
โ โผ โผ โผ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ raw/prompts-{sid}.jsonl + tools-{sid}.jsonl โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ Layer 2: DIGEST (SessionEnd, Python) โ
โ โผ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Extract signals from raw data: โ โ
โ โ โข corrections ("ไธๅฏน", "should be", "wrong") โ โ
โ โ โข instructions ("่ฎฐไฝ", "always", "never") โ โ
โ โ โข patterns (hot files โฅ3 edits, frequent cmds) โ โ
โ โ โข failures (exit code โ 0, command not found) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โผ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ pending-signals.jsonl (append-only) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ Layer 3: EVOLVE (next SessionStart, Claude) โ
โ โผ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Trigger conditions: โ โ
โ โ pending signals โฅ 5 OR sessions since last โฅ 3 โ โ
โ โ โ โ
โ โ Claude reads: โ โ
โ โ evolution-digest.md (checkpoint of all past analysis) โ โ
โ โ + pending-signals.jsonl (only new signals) โ โ
โ โ + .claude/skills/ (current skill content) โ โ
โ โ โ โ
โ โ โ Proposes updates โ User confirms โ Skills evolve โ โ
โ โ โ Updates digest checkpoint (never grows unbounded) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Layer 1 โ Capture runs as async Claude Code hooks with zero latency impact. It selectively records:
| Hook Event | What's Captured | Why |
|---|---|---|
UserPromptSubmit |
Full prompt text | Detect corrections and explicit instructions |
PostToolUse (Edit/Write) |
File path + input preview | Track hot files (edited โฅ3 times) |
PostToolUse (Bash) |
Command + result preview | Track frequent commands, detect failures |
PostToolUse (Read) |
File path only | Understand what you reference |
Stop |
Response preview (500 chars) | Correlate responses with prompts |
Glob, Grep, and Agent calls are intentionally skipped โ they're exploratory noise. This selective approach reduces captured data by ~80%.
Layer 2 โ Digest runs automatically at SessionEnd. A Python script scans the raw captured data and extracts structured evolution signals using regex pattern matching (supports both Chinese and English). Signals are appended to pending-signals.jsonl. Raw files older than 30 days are auto-cleaned.
Layer 3 โ Evolve triggers conditionally at the next SessionStart:
- Only when
pending_signal_count โฅ 5orsessions_since_last_analysis โฅ 3(with at least 1 pending signal) - Claude reads the digest checkpoint (
evolution-digest.md) โ a summary of everything already analyzed โ plus only the new pending signals - Compares against current skill content and proposes targeted updates
- After analysis, updates the checkpoint and clears pending signals
Key innovation: the digest checkpoint means Claude never re-reads history. Analysis stays fast regardless of how many months you've been using it.
.claude/evolution/
โโโ hooks/
โ โโโ capture.sh # Unified hook entry point
โ โโโ digest.py # Signal extraction engine
โโโ raw/ # Per-session capture (auto-cleaned after 30 days)
โ โโโ prompts-{session}.jsonl
โ โโโ tools-{session}.jsonl
โ โโโ responses-{session}.jsonl
โโโ pending-signals.jsonl # Accumulated signals awaiting analysis
โโโ evolution-digest.md # Checkpoint โ summary of all past analysis
โโโ session-meta.json # Session counter + trigger state
All data stays local (never uploaded). Add raw/ and pending-signals.jsonl to .gitignore โ only evolution-digest.md is worth committing as team knowledge.
# Manual triggers
/{prefix}-skill ่ฟๅ # Run evolution analysis now
/{prefix}-digest # Capture knowledgeStandalone installation (for projects with existing skills):
curl -fsSL https://raw.githubusercontent.com/atompilot/claude-skill-evo/main/evolution/install.sh | bashClaude Skill Evo doesn't interrogate you โ it guides you:
- Every question comes with options, examples, and recommendations
- Answers are pre-filled from project scanning when possible
- "Not sure" is always valid (sensible defaults are used)
- Skipped questions can be filled in on the next
/skill-evorun - Questions help you discover what you actually need, not just collect data
Auto-detection works for all major stacks:
| Language | Frameworks | Databases |
|---|---|---|
| TypeScript/JavaScript | Next.js, React, Vue, Svelte, Hono, Express, tRPC | PostgreSQL, MySQL, MongoDB, SQLite |
| Python | Django, Flask, FastAPI | PostgreSQL, MySQL, SQLite |
| Go | Gin, Echo, Fiber, GoFrame | PostgreSQL, MySQL |
| Rust | Axum, Actix | PostgreSQL |
| Swift | SwiftUI, UIKit | CoreData, SwiftData, GRDB |
| Java/Kotlin | Spring Boot | PostgreSQL, MySQL |
| Ruby | Rails | PostgreSQL, MySQL, SQLite |
Other stacks work too โ Claude Skill Evo asks more targeted questions to compensate.
# Plugin marketplace (recommended)
claude plugin marketplace add atompilot/claude-skill-evo
claude plugin install claude-skill-evo@claude-skill-evo
# Or copy manually
cp -r skills/claude-skill-evo ~/.claude/skills/| Principle | What it means |
|---|---|
| Run repeatedly, improve incrementally | Every /skill-evo makes your skills better |
| Detect more, ask less | Scan the project before asking questions |
| Guide, don't interrogate | Options with explanations, not blank fields |
| Concrete over generic | Real paths, real commands, real framework names |
| Start minimal, evolve naturally | v1.0.0 skills are lean โ they grow through use |
| Never overwrite | Optimize mode edits surgically, never replaces wholesale |
| Skills that learn | Every skill detects, proposes, and evolves with confirmation |
MIT