New agent evolution
Genetic exploration of solution spaces for AI coding agents (Claude Code, Gemini CLI, GitHub Copilot, OpenCode) — gather a verifiable objective, evolve variants, apply the winner.
npx -y skills add fmind/agent-evolutions --skill new-agent-evolutionAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Capture phase of an agent evolution — discuss the objective, gates, rubric, scope, and budget; write `.agents/evolutions/<id>-<slug>/{evolution.yaml, EVOLUTION.md}` only on explicit user agreement. Pairs with `/run-agent-evolution` (next) and `/apply-agent-evolution` (later).
SKILL.md
3.9 KB, as published. Nobody here has run it
new-agent-evolution
Capture a verifiable optimization brief for <title>. Writes nothing until the user explicitly agrees.
0. Pre-flight
Resolve the argument. If it matches an existing .agents/evolutions/<id>-*/ (pure integer id or slug fragment), stop with "Evolution <id> already exists. Run /run-agent-evolution <id> (or /apply-agent-evolution <id> if the winner is set)." This skill only seeds new evolutions.
Read-only setup: AGENTS.md, README.md, the user ask, any spec the ask points at. Identify project test/build/lint commands — candidate gates. Confirm the cwd is a git repo (git rev-parse --is-inside-work-tree) — variants default to git worktrees.
1. Dialog first
First-turn output is chat-only: clarifying questions and a draft brief inline. Don't create files until the user explicitly agrees ("looks good", "ship it", edits incorporated).
Five elements. Propose concrete answers; ask only when irreducible (cap at 5 questions).
- Objective. One sentence — "Optimize X for Y." Reject vague answers; insist on a measurable Y.
- Gates. Hard pass/fail shell commands (exit 0 = pass). 2–4 typical (
pnpm typecheck,pnpm test,cargo build, custom verifiers). A variant failing any gate is excluded from ranking. - Rubric. Numeric ranking dimensions (≥ 1, typically 1–3). Each:
direction(minimize | maximize),cmd, optionalextract(regex with one capture group, orwall_clock_seconds). Composite is the rank-normalized weighted mean across axes, recomputed on read. - Scope.
kind: worktree(default —git worktree add HEAD) orfiles(copy listed paths). Forworktree, listincludeinformationally so apply knows what to diff. Forfiles,includeis required.excludeblocks paths apply must not touch. - Budget.
max_variants(total),parallel(concurrent per generation; sets the learning cadence). Optionalmax_minutes,plateau_generations(early stop on no-improvement). Defaultparallel = ceil(max_variants / 5)so the loop runs ~5 generations.
Reply in chat with: clarifying questions, a draft brief inline, a one-line apply summary. No file writes.
2. Commit on agreement
After explicit agreement:
<id>= highest leading integer in.agents/evolutions/<n>-*/, +1 (start at 1).- Slug the objective to lower snake_case ≤ 40 chars.
mkdir -p .agents/evolutions/<id>-<slug>/variants/.- Add
.agents/evolutions/*/variants/to.gitignoreif missing — workspaces are large and ephemeral.
Write two files (validate evolution.yaml against evolution.schema.json):
evolution.yaml— seed withevolution_id,slug,created_at,updated_at(same),objective,scope,budget,gates,rubric,variants: []. Field shape lives inevolution.schema.json; mirror its required keys.EVOLUTION.md— single human/agent surface. §TL;DR (objective, budget summary, next-step pointer to/run-agent-evolution <id>); §Brief — the verbatim context every variant sub-agent receives — with subsections Objective, Held fixed (stack, public surface, deps, tests, anything that must not change), Variants may change (the design space — specific files / dimensions), Scope (filesystemkind/include/exclude), Gates, Rubric, Budget, Out of scope (explicit non-goals); §Variants (empty); §Results (empty). Short, declarative, no prose explaining why.
End with "Brief captured. Run /run-agent-evolution <id> to begin generation 1." If the user abandons before agreement, write nothing.