Built by /blog-post-GM — a Claude Code skill we evolved with our own Evolution engine to write every post in the Godmode voice.
Get free skill (account)
Deep Dive ⏱️ 4 min read

Evolution Engine v2.0: Evolve, Mutate, or Splice Your Claude Code Skills

TL;DR

Three modes. Pick your move:
🔄 [E] Evolve — Keep pushing your best variant forward. Archives before changing.
🌿 [M] Mutate — Fork into a new branch. Original untouched.
🧬 [S] Splice — Cross-breed two skills into a specialised hybrid.

Every change is benchmark-tested. Originals are sacred. 🔒
BENCH · SCORE · MUT · SPLICE · FORK — one continuous gene-capsule loop

Claude Code skills are markdown files that tell Claude how to approach a task. The Evolution Engine scores them against real tasks and keeps improving them — and v2.0 adds three distinct modes plus a brand new Splice capability for cross-breeding skills.

⚙️ What Is the Evolution Engine?

01
A skill that improves other skills.

Score sessions, log feedback, identify weak spots, and propose benchmark-tested mutations. The original file is never touched.

The Evolution Engine (godmode-evolution) is a skill that improves other skills. Point it at any skill file and it will:

Core principle: original skill files are sacred. Evolution never modifies them — it creates variants (modified copies) that evolve independently.

Think of it like dog breeding: You start with a good dog (your skill). Evolve is training — same dog, better tricks. Mutate is breeding — create a puppy with different traits. Splice is crossbreeding — combine the best of two breeds into something new.

Parent A/refactor-pro
Child v2.1awaiting splice
Parent B/security-hawk
Splice algorithm: child[i] = max(A[i], B[i]) for every dimension

⚠️ The Problem With v1

v1 had one mode: fork a skill and evolve the fork. Every change meant a brand new copy, so you couldn't keep iterating on one that was already performing well. And there was no way to combine strengths from different skills.

change request "add feature" v1 forks new copy made copy sprawl no iteration line stuck cannot combine
Every v1 change meant a new fork. No way to push one variant forward, no way to merge strengths.

🎯 Three Modes for Skill Evolution

When you trigger the evolution engine or run /evo-loop, you choose a mode:

EVO-LOOP -- MODE SELECT
Skill: one-shot
Variants found:
  1. one-shot-alpha   v1.0.4   => 0.93 avg

How do you want to proceed?
  [E] Evolve -- continue progressing one-shot-alpha (modifies in-place, archives previous version)
  [M] Mutate -- fork one-shot-alpha into a new variant (original variant untouched)
  [S] Splice -- fork one-shot-alpha + merge traits from another skill into it
function dispatchMode(skill, mode) { if (mode === "E") return evolveInPlace(skill); if (mode === "M") return forkVariant(skill); if (mode === "S") return splice(skill, donors); throw new Error("unknown mode"); }
A entry-point picks the strategy · B Mutate copies bytes verbatim, original sacred · C Splice merges donor sections into the target
EVOLVEuses ALL 5 stages · iteration in place
[E] Evolve

Iterate in Place

Keep pushing a variant forward. The engine saves a backup to skill-versions/ before making changes, so you can always roll back. The variant name stays the same — v1.0.4 becomes v1.0.5, building a clean history of improvements.

[M] Mutate

Fork Into a New Variant

Want to try something different without risking your current best? The engine creates a whole new copy — the original is never touched. Names follow Greek letters (alpha through omega), then numbers (evo-25, evo-26).

[S] Splice

Cross-Breed With Donor Skills

The headline feature of v2.0. Create a new variant by merging your selected skill with one or more donor skills — genetic cross-breeding for AI instructions.

🧬 Splice Protocol

Select donor skill(s) Pick one or more skills from ~/.claude/skills/ to splice in. Want better security? Splice in a security skill.
Check compatibility The engine checks where the donor's strengths fit into the target's structure and flags anything that clashes.
Intelligent merge Donor instructions get woven into matching sections — not dumped at the bottom. Instructions go where they belong, when rules disagree the stricter one wins, and nothing gets removed.
Record the family tree Every splice logs its full family tree in evolution-log.jsonl — which skill was the target, which were the donors, and which sections changed.
Benchmark The spliced variant is tested immediately against the pre-splice version. If it didn't actually help, you'll know straight away.
[E] Evolve
[M] Mutate
[S] Splice
archives previous
creates new variant
touches donors
benchmark gate
stricter rule wins
family tree logged

🔧 Under the Hood: How It All Fits Together

04
All evolution data lives in .evo/ inside the project.

Per-variant feedback, weak-spot flags, mutation log, and a full version archive sit beside your code. Roll back with one file, audit with grep.

v2.0 also tidies up how /evo-loop and the evolution engine talk to each other. Key changes:

.evo/
  benchmarks/<skill>/          # Test tasks
  <skill>/scoring.json         # Per-skill quality categories
  <skill>/<variant>/
    feedback.jsonl             # Full scorecard history
    flags.md                   # Weak spot warnings
    evolution-log.jsonl        # Mutation + splice history
    skill-versions/            # Version archive for rollback

🔓 What This Unlocks

Evolve mode Mutate mode Splice mode benchmark gate 10-cycle rotation improving library full traceability
Three modes converge on the same gate. Pass it and the library moves forward.
3
FORK preserves diversity · original stays, new variants ship · hover/focus a node for dims

Start Evolving Your Skills

Pick a skill you use regularly. Run evo init --skill <path> to set up scoring and benchmarks. Then run /evo-loop and choose your mode — Evolve, Mutate, or Splice.

Get Evolution

// promote_godmode

Got value from this post? Become an affiliate. Auto-approved in 60 seconds, 30 to 40% recurring commission, your audience gets 10% off automatically with code AFFILIATE10. 90-day cookie, monthly payouts.

Become an affiliate →