用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/Q00/ouroboros --skill evolve命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | evolve |
| description | Start or monitor an evolutionary development loop |
Start, monitor, or rewind an evolutionary development loop. The loop iteratively refines the ontology and acceptance criteria across generations until convergence.
Gen 1: Seed(O₁) → Execute(all nodes) → Judge → Gate
Gen 2: Wonder(failed nodes) → Reflect(active nodes only) → Execute(active) → Gate(all)
Gen 3: Repeat with a smaller active set; frozen PASS nodes are reverified, not regenerated
...until the outcome gate passes, the working set stagnates, ontology converges,
or max 30 generations is reached
ooo evolve "build a task management CLI"
ooo evolve "build a task management CLI" --no-execute
ooo evolve --status <lineage_id>
Call ouroboros_evolve_step for an existing Gen 2+ lineage with
benchmark_control: true, execute: true, and an explicit clean Git
project_dir. Use a distinct clean worktree at the treatment commit. Normal
evolve calls keep benchmark_control false and never launch a control arm.
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.
tool discovery query: "+ouroboros evolve"
mcp__plugin_ouroboros_ouroboros__ (e.g., ouroboros_evolve_step, ouroboros_interview, ouroboros_generate_seed). After runtime tool discovery 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 (and the tool is not already callable — an empty load for an already-exposed tool is an expected no-op, not absence), 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)benchmark_control: false (default). Set true only for a deliberate
Gen 2+ full-graph control in an explicit clean Git project/worktree.action in the response:
continue → Inspect active_ac_indices, then call ouroboros_evolve_step
again with just lineage_id. Only active failed/reopened nodes evolve;
frozen PASS nodes stay immutable and are boundary-reverified.ontology_stable → This is not success. Call ouroboros_evolve_step
again for the same lineage_id with execute: true so the stable Seed
goes through Execute→Evaluate. Do not call standalone evaluate or report
convergence before that step returns converged.converged → Evolution complete! Display final ontologystagnated → Ontology unchanged for 3+ gens. Consider ouroboros_lateral_thinkexhausted → Max 30 generations reached. Display best resultfailed → Check error, possibly retry. If the error reports an expired
lineage owner, first confirm that the prior owner process is dead, then
make one explicit recovery call with recover_expired_claim: true.
Never set this flag for a merely slow or still-running owner.continue. Treat ontology_stable as the
explicit transition above, then process the response using
step 6. Stop only on , , , or .Checking 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 --runtime claude-cli
Then add to your runtime's MCP configuration (e.g., ~/.claude/mcp.json for Claude Code).
ontology_stable handoff and the same lineage must run once with
execute: true. Judge-score plateau and the 30-generation cap are also
non-success stops.Your final response MUST end with exactly one breadcrumb footer line:
◆ <current state> → next: <recommended action>
Derive <current state> from live session state via ouroboros_session_status when that MCP projection is available; otherwise derive it from this skill's actual outcome. Never use a linear Step N of M footer because Ouroboros is an evolutionary loop. When the next action is genuinely a choice, list 2-3 honest options in the next: clause. The breadcrumb line must be the last line of the response.
execute: trueconvergedstagnatedexhaustedfailedconverged: ◆ Current state → next: Ontology converged! Run ooo evaluate for formal verificationontology_stable: ◆ Current state → next: Run the same lineage with execute=true for Execute→Evaluate; this is not verified convergence yetstagnated: ◆ Current state → next: ooo unstuck to break through, then ooo evolve --status <lineage_id> to resumeexhausted: ◆ Current state → next: ooo evaluate to check best result — or ooo unstuck to try a new approachfailed: ◆ Current state → next: Check the error above. ooo status to inspect session, or ooo unstuck if blockedinsufficient_datastagnated and hand off to ooo unstuck
instead of spending the 30-generation cap.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 evolution. An
ontology_stable response from execute: false must be followed by the same
lineage with execute: true; ontology stability alone is never convergence.execute=true and skip_qa is not set). Use the QA score to track
quality progression across generations. Pass skip_qa: true to disable