From ouroboros
Starts an evolutionary development loop that iteratively refines ontology and acceptance criteria across generations until convergence. Use for open-ended generation tasks that benefit from iterative self-critique.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ouroboros:evolveThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Start, monitor, or rewind an evolutionary development loop. The loop iteratively
Start, monitor, or rewind an evolutionary development loop. The loop iteratively refines the ontology and acceptance criteria across generations until convergence.
Gen 1: Interview → Seed(O₁) → Execute → Evaluate
Gen 2: Wonder → Reflect → Seed(O₂) → Execute → Evaluate
Gen 3: Wonder → Reflect → Seed(O₃) → Execute → Evaluate
...until ontology converges (similarity ≥ 0.95) or max 30 generations
ooo evolve "build a task management CLI"
ooo evolve "build a task management CLI" --no-execute
ooo evolve --status <lineage_id>
ooo evolve --rewind <lineage_id> <generation_number>
The Ouroboros MCP tools are often registered as deferred tools that must be explicitly loaded before use. You MUST perform this step before deciding between Path A and Path B.
ToolSearch tool to find and load the evolve MCP tools:
ToolSearch query: "+ouroboros evolve"
mcp__plugin_ouroboros_ouroboros__ (e.g., ouroboros_evolve_step, ouroboros_interview, ouroboros_generate_seed). After ToolSearch returns, the tools become callable.IMPORTANT: Do NOT skip this step. Do NOT assume MCP tools are unavailable just because they don't appear in your immediate tool list. They are almost always available as deferred tools that need to be loaded first.
CRITICAL — deferred-schema guard (prevents "Invalid tool parameters"):
This skill makes ouroboros_* MCP calls across multiple turns, and each turn runs
in a fresh tool context. A deferred tool's schema loaded on one turn is NOT
guaranteed to still be loaded on the next. If you call any ouroboros_* MCP tool
while its schema is not loaded in the current turn, the runtime rejects the
call with "Invalid tool parameters" before it ever reaches the server.
Therefore: immediately before EVERY ouroboros_* MCP call in this skill, re-run
the tool-discovery load query for the specific MCP tool or documented tool family
you are about to call. Use "+ouroboros evolve" for ouroboros_evolve_step,
ouroboros_lineage_status, and the evolve flow's documented tool family;
use "+ouroboros interview" before ouroboros_interview, "+ouroboros seed"
before ouroboros_generate_seed, and "+ouroboros lateral" before
ouroboros_lateral_think. If a load returns no matching tool, switch to the
documented fallback / Path B instead of retrying the failing call.
Starting a new evolutionary loop:
initial_contextouroboros_interview with initial_contextouroboros_generate_seed with the session_idouroboros_evolve_step with:
lineage_id: new unique ID (e.g., lin_<seed_id>)seed_content: the generated seed YAMLexecute: true (default) for full Execute→Evaluate pipeline,
false for fast ontology-only evolution (no seed execution)action in the response:
continue → Call ouroboros_evolve_step again with just lineage_idconverged → Evolution complete! Display final ontologystagnated → Ontology unchanged for 3+ gens. Consider ouroboros_lateral_thinkexhausted → Max 30 generations reached. Display best resultfailed → Check error, possibly retrycontinueconverged: 📍 Next: Ontology converged! Run ooo evaluate for formal verificationstagnated: 📍 Next: ooo unstuck to break through, then ooo evolve --status <lineage_id> to resumeexhausted: 📍 Next: ooo evaluate to check best result — or ooo unstuck to try a new approachfailed: 📍 Next: Check the error above. ooo status to inspect session, or ooo unstuck if blockedChecking status:
ouroboros_lineage_status with the lineage_idRewinding:
ouroboros_evolve_step with:
lineage_id: the lineage to continue from a rewind pointseed_content: the seed YAML from the target generation
(Future: dedicated ouroboros_evolve_rewind tool)If MCP tools are not available, explain the evolutionary loop concept and suggest installing the Ouroboros MCP server. See Getting Started for install options, then run:
ouroboros mcp serve
Then add to your runtime's MCP configuration (e.g., ~/.claude/mcp.json for Claude Code).
true (default) runs full Execute→Evaluate each generation.
false skips execution for fast ontology exploration. Previous generation's
execution output is fed into Wonder/Reflect for informed evolutionexecute=true and skip_qa is not set). Use the QA score to track
quality progression across generations. Pass skip_qa: true to disablenpx claudepluginhub q00/ouroboros --plugin ouroborosSocratic interview to clarify evolution tasks before execution. Asks targeted questions across four dimensions, scores ambiguity, produces initial.py, evaluate.py, config.json when ambiguity drops below 20%.
Evolves any measurable artifact (prompt, skill, code) through autonomous mutation-evaluate-gate loops. Supports GT case suites and scalar metric loops with automatic keep/revert.
Drives an iterative background evolution loop until QA passes or convergence is reached. Useful for automated refinement workflows that must keep running until a quality threshold is met.