
skill-evolution
Global evolution system for ship-faster skills. Uses hooks to capture context, failures, and session summaries, then generates patch suggestions (no auto edits) via skill-improver. Use when you want the skills to self-improve safely and continuously.
- Installs
- 56
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/heyvhuang/ship-faster --skill skill-evolution- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads skill-evolution automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Evolution
This skill makes the skills library evolve based on real development signals without auto-editing skills. The default output is a patch suggestion only.
Why it exists (solving "too passive")
Default hooks can only "log events" without automatically consolidating experience into skills.
The goal of this skill is to turn retrospectives into a fixed closing action:
- At the end of each "big task", spend 60 seconds on Q&A confirmation: whether to optimize skills and which areas to prioritize
- When user chooses "yes to optimize", use
skill-improverto generate minimal patch suggestions based on real run artifacts (still no auto-editing of skill library)
Default strategy
- Capture context and failures into run artifacts
- Generate evolution candidates
- Use
skill-improverto propose a minimal patch - Human reviews and applies the patch
Global hooks (recommended)
Hooks live in: ~/.claude/skills/skill-evolution/hooks/
Add to your global settings (or project settings) so hooks run automatically.
Example (merge into ~/.claude/settings.json or <project>/.claude/settings.json):
Evolution settings
Configure behavior via ~/.claude/skills/skill-evolution/hooks/settings.json:
{
"min_fail_count": 2,
"ignore_tool_errors": true,
"noise_filters": {
"ignore_patterns": [
"typescript: type.*already exists",
"eslint:.*no-unused-vars.*react",
"prettier:.*prettier-ignore"
],
"max_failures_per_run": 20,
"recent_only": true,
"recent_window_minutes": 60
},
"output_format": {
"summary_only": false,
"include_context": true,
"include_recent_failures": 20,
"sort_by": "frequency"
}
}
Settings explanation:
min_fail_count: Minimum occurrences of a single error type before generating a candidateignore_tool_errors: Whether to ignore tool-level errors (vs user code errors)noise_filters.ignore_patterns: List of regex patterns to ignoremax_failures_per_run: Maximum failures to record per session (prevent explosion)recent_only: Only look at failures within recent time windowrecent_window_minutes: Only count failures within the last N minutesoutput_format: Controls evolution-candidates.md output format
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash|Write|Edit",
"hooks": [
{
"type": "command",
"command": "bash ~/.claude/skills/skill-evolution/hooks/pre-tool.sh"
}
]
}
],
"PostToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "bash ~/.claude/skills/skill-evolution/hooks/post-bash.sh \"$TOOL_OUTPUT\" \"$EXIT_CODE\""
}
]
},
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "bash ~/.claude/skills/skill-evolution/hooks/post-tool.sh \"$TOOL_OUTPUT\" \"$EXIT_CODE\""
}
]
}
],
"Stop": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "bash ~/.claude/skills/skill-evolution/hooks/session-end.sh"
}
]
}
]
}
}
Run artifacts
Hooks write to project-local run folders:
<project-root>/runs/evolution/<run_id>/
logs/
events.jsonl
failures.jsonl
state.json
context.json
evolution-candidates.md
evolution-review.md
run_id is stored in <project-root>/runs/evolution/.current so all hooks in a session write to the same run.
Evolution checkpoint (default action at end of big tasks)
When you have just completed a "deliverable big task" (e.g., you have already written final.md or filled the run’s tasks.md Delivery summary), you must do a brief retrospective when closing, and give the choice to the user.
In the conversation, ask only 3 questions (prefer multiple choice to reduce cost):
-
Do you want to optimize skills based on this run?
- A. Yes, propose a patch now (recommend using
skill-improverfirst to generate minimal patch) - B. Record the issue first, optimize later
- C. Not needed
- A. Yes, propose a patch now (recommend using
-
What was the biggest blocker this time?
- A. Missing input/context fields (need clearer I/O contracts)
- B. Unclear plan/granularity too large (need to split or clarify validation steps)
- C. Environment/dependency/command issues (need scripting or fixed commands)
- D. UI/design iterations (need clearer design-system or UI subtask splitting)
- E. External service/permissions/configuration (need clearer confirmation points and verification)
- F. Other (explain in one sentence)
-
Which direction do you want to prioritize for optimization?
- A. I/O contracts: Fix artifact names, fields, paths
- B. Index/summary: Less context, better resume navigation (proposal/tasks)
- C. Scripts/templates: Turn repetitive steps into deterministic scripts
- D. Confirmation points: Reduce risky actions, confirm earlier/more clearly
Execution rules:
- If user chooses 1A: Immediately run
skill-improver, only giverun_dirpath as input (don't paste logs into conversation) - If user chooses 1B: Write "blocker + desired optimization direction" to
evolution-review.md(or corresponding workflow run'sfinal.md/tasks.md), process collectively next time - If user chooses 1C: Don't interrupt, just end (but still keep run artifacts for future retrospectives)
When to evolve (Ship Faster focus)
- Next.js upgrade or migration issue solved
- Guardrails problem fixed (lint/typecheck/build)
- Supabase error or migration pattern learned
- Stripe setup or billing flow resolved
- Vercel deploy or GitHub CI issue resolved
- AI SEO setup or indexing issue solved
How to evolve
- Hooks create
evolution-candidates.md+evolution-review.mdwith the latest signals. - At the end of a big task, ask the 3 checkpoint questions (above) and let the user decide.
- If user chooses to evolve: run
skill-improverwith the bestrun_dir(the workflow run_dir is usually better than evolution run_dir). - Apply the patch manually and re-validate skills.
Example event
{"ts":"2026-01-11T12:00:00Z","event":"post-bash","category":"build","exit_code":1,"summary":"next build failed: Module not found","artifacts":["logs/failures.jsonl"]}
Outputs
evolution-candidates.md(auto-generated)evolution-review.md(auto-generated, includes the 3 questions)- Suggested patch from
skill-improver(manual apply)
No skills are edited automatically.
FAQ
What does the skill-evolution skill do?
Global evolution system for ship-faster skills. Uses hooks to capture context, failures, and session summaries, then generates patch suggestions (no auto edits) via skill-improver. Use when you want the skills to self-improve safely and continuously.
How do I install skill-evolution?
Run npx skills add https://github.com/heyvhuang/ship-faster --skill skill-evolution in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/skill-evolution/ (personal) or .claude/skills/skill-evolution/ (project).
Which AI agents can use skill-evolution?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is skill-evolution safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains skill-evolution?
It is published by heyvhuang in heyvhuang/ship-faster. It has 56 recorded installs.
More from heyvhuang/ship-faster
mcp-stripe
heyvhuang/ship-faster
Stripe MCP transaction operations skill. Execute transaction operations via Stripe MCP server (https://mcp.stripe.com): customer management, products/prices, invoices, payment links, subscriptions, refunds, dispute handling, balance queries. Triggers: user requests Stripe operations including create customer, create product, create invoice, generate payment link, query transactions, process refunds, manage subscriptions, view disputes, check balance, etc.
mcp-supabase
heyvhuang/ship-faster
Execute database operations via Supabase MCP (query/write/migration/logs/type generation). Triggers: query/statistics/export/insert/update/delete/fix/backfill/migrate/logs/alerts/type generation. Does not trigger for: pure architecture discussion or code planning. Write operations require confirmation; UPDATE/DELETE without WHERE is refused.
review-doc-consistency
heyvhuang/ship-faster
Documentation consistency reviewer that checks alignment between code implementation and documentation. Use when user requests reviewing documentation vs code consistency, checking if README/docs are outdated, verifying API documentation accuracy. Applicable for (1) reviewing README vs implementation consistency (2) checking if docs/ directory content is outdated (3) verifying API/config documentation accuracy (4) generating documentation consistency reports. Trigger words include doc review, documentation consistency, check outdated docs, verify docs.
tool-ast-grep-rules
heyvhuang/ship-faster
Write AST-based code search and rewrite rules using ast-grep YAML. Create linting rules, code modernizations, and API migrations with auto-fix. Use when the user mentions ast-grep, tree-sitter patterns, code search rules, lint rules with YAML, AST matching, or code refactoring patterns.
tool-openclaw
heyvhuang/ship-faster
Help users install, configure, operate, and migrate OpenClaw (gateway, channels, nodes, plugins, model/auth setup). Use when answering OpenClaw setup/debug questions or model migration questions; use the local docs snapshot bundled with this skill as the source of truth. Triggers: openclaw, clawdbot, clawd, clawdhub, gateway, onboard, channels login, whatsapp, telegram, discord, mattermost, pairing, nodes, sandboxing, tailscale, provider migration, Claude to GPT, model swap.
tool-ui-ux-pro-max
heyvhuang/ship-faster
Use when you need concrete UI/UX inputs (palette, typography, landing patterns, UX/a11y constraints) to drive design or review. Searchable UI/UX design intelligence (styles, palettes, typography, landing patterns, charts, UX/a11y guidelines + stack best practices) backed by CSV + a Python search script. Triggers: UIUX/uiux, UI/UX, UX design, UI design, design system, design spec, color palette, typography, layout, animation, accessibility/a11y, component styling. Actions: search, recommend, review, improve UI.
Popular other skills
hyperframes-cli
heygen-com/hyperframes
The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.
triage
mattpocock/skills
Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.
ask-matt
mattpocock/skills
Ask which skill or flow fits your situation. A router over the skills in this repo.
to-questionnaire
mattpocock/skills
Turn a decision you can't fully answer into a questionnaire for someone else to fill in.
loop-me
mattpocock/skills
Grill me about specs for the workflows I want to build, within this workspace.