Help us improve
Share bugs, ideas, or general feedback.
From olympus
Creation — evolutionary loop that refines specs/designs generation by generation
npx claudepluginhub devy1540/olympus --plugin olympusHow this skill is triggered — by the user, by Claude, or both
Slash command
/olympus:genesisThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
<Purpose>
Starts, monitors, or rewinds evolutionary development loops that iteratively refine ontologies and criteria using Ouroboros MCP tools until convergence. For evolving complex project specs.
Socratic 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%.
Authors structured NLSpec specifications using multi-AI research and consensus across Codex, Gemini, and Claude. Use when you need a structured specification from multi-AI research.
Share bugs, ideas, or general feedback.
<Execution_Policy>
<Team_Structure> team_name: "genesis-${CLAUDE_SESSION_ID}" (When called from Odyssey, use the Odyssey team instead)
Teammates:
| Agent | Role | Why Teammate |
|---|---|---|
| metis | Wonder (inquiry) | Remembers previous generations' questions — builds on insights |
| eris | Reflect (audit) | Tracks mutation patterns — catches recurring fallacies |
Direct communication:
Call ToolSearch("+olympus pipeline") to load MCP tools.
1. IF standalone:
TeamCreate(team_name: "genesis-${CLAUDE_SESSION_ID}")
ELSE:
Use existing Odyssey team (${TEAM})
2. olympus_start_pipeline(skill: "genesis", pipeline_id: ...)
3. Create artifact directory: .olympus/genesis-{YYYYMMDD}-{short-uuid}/
4. Extract initial ontology from spec.md:
- Core concepts/terms
- Each: { name, type, description, relationships }
Save as gen-1/ontology.json + gen-1/spec.md
5. Spawn teammates (if not already in team):
Note: metis and eris are spawned FOREGROUND per generation (see Step 2).
This ensures reliable result capture using SendMessage(to: "team-lead") for reliable delivery.
FOR each generation n:
a. Create generation directory:
mkdir -p ${ARTIFACT_DIR}/gen-{n}/
b. Wonder (Metis — FOREGROUND):
metis_wonder = Agent(name: "metis", team_name: ${TEAM},
subagent_type: "olympus:metis",
prompt: "You are Metis in team ${TEAM}. Artifact directory: ${ARTIFACT_DIR}/
LEADER_NAME: team-lead
IMMEDIATE TASK: Wonder analysis for generation {n} — answer the 4 fundamental questions.
Generation {n}. DO NOT write files — you are read-only.
Read ${ARTIFACT_DIR}/gen-{n}/spec.md and ontology.json.
{If n > 1: 'Previous reflection: Read gen-{n-1}/reflect.md.'}
Answer 4 fundamental questions:
1. Essence: What is the essential nature of each concept?
2. Root Cause: Are we addressing root causes or symptoms?
3. Preconditions: What must be true for this to work?
4. Hidden Assumptions: What unvalidated assumptions exist?
SEQUENTIAL CONTEXT: Eris is spawned AFTER you complete — skip peer SendMessage to eris.
Your wonder analysis is handed to Eris via wonder.md. Deliver directly to team-lead.
When done: SendMessage(to: 'team-lead', summary: 'metis wonder gen-{n} 완료', '{wonder analysis}')")
olympus_register_agent_spawn(pipeline_id, "metis")
→ Write gen-{n}/wonder.md from metis SendMessage
olympus_record_execution(pipeline_id, "genesis", "metis", ...)
c. Reflect (Eris — FOREGROUND, receives metis wonder):
Leader compares gen-{n-1} vs gen-{n} ontologies, identifies mutations.
eris_reflect = Agent(name: "eris", team_name: ${TEAM},
subagent_type: "olympus:eris",
prompt: "You are Eris in team ${TEAM}. Artifact directory: ${ARTIFACT_DIR}/
LEADER_NAME: team-lead
IMMEDIATE TASK: Reflect on Metis's wonder analysis for generation {n} — challenge weak points.
Generation {n}. DO NOT write files — you are read-only.
Read ${ARTIFACT_DIR}/gen-{n}/wonder.md (metis's analysis).
{If n > 1: 'Compare gen-{n-1}/ontology.json vs gen-{n}/ontology.json to identify mutations. Read gen-{n-1}/wonder.md to track question evolution.'}
{If n == 1: 'First generation — no previous ontology to compare. Focus on challenging the initial wonder analysis.'}
Read docs/shared/fallacy-catalog.md. Validate logical soundness per the 22 fallacy patterns.
Challenge weak points in metis's wonder analysis.
SEQUENTIAL CONTEXT: Metis has already completed — do NOT SendMessage to metis expecting a reply.
Challenge wonder.md directly. Deliver reflection to team-lead.
When done: SendMessage(to: 'team-lead', summary: 'eris reflect gen-{n} 완료', '{reflect results}')")
olympus_register_agent_spawn(pipeline_id, "eris")
→ Write gen-{n}/reflect.md from eris SendMessage
olympus_record_execution(pipeline_id, "genesis", "eris", ...)
olympus_log_collaboration(pipeline_id, "metis", "eris", "Wonder/Reflect 다이얼로그 gen-{n}")
d. Seed (Crystallization):
Based on wonder.md + reflect.md:
- Apply ontology mutations
- Update spec with new understanding
Save gen-{n+1}/ontology.json + gen-{n+1}/spec.md
e. Convergence Check:
similarity = name_sim * 0.5 + type_sim * 0.3 + exact_sim * 0.2
olympus_gate_check(pipeline_id, "convergence", similarity)
IF similarity >= 0.95:
→ BREAK: evolution converged → Step 3
IF stagnation detected:
next = olympus_next_action(pipeline_id)
# next.action: retry_phase (with persona hint), advance_phase, or pipeline_complete
- Spinning (same hash 3×): → Contrarian persona
- Oscillation (A↔B 2-cycle): → Simplifier persona
- Diminishing (delta < 0.01 for 3 rounds): → Researcher persona
With --interactive: AskUserQuestion for persona selection
→ Re-spawn metis with persona perspective for next generation
Hard cap: 30 generations → forced stop with warning
Save convergence.json after each generation:
{ "generation": n, "similarity": <value>, "converged": <bool>, "name_sim": <n>, "type_sim": <n>, "exact_sim": <n> }
# Note: 'similarity' field is required for validate-gate.sh gate check
Generate lineage.json:
{
"id": "{id}",
"total_generations": n,
"convergence_score": 0.97,
"generations": [
{ "gen": 1, "mutations": [], "similarity_to_prev": null },
{ "gen": 2, "mutations": ["added: X", "refined: Y"], "similarity_to_prev": 0.45 },
...
],
"final_spec": "gen-{n}/spec.md",
"final_ontology": "gen-{n}/ontology.json"
}
Rewind support: select generation from lineage → load that gen's spec.md
Note: metis and eris are spawned FOREGROUND per generation and complete automatically.
No explicit shutdown needed — they are not persistent background agents.
IF standalone:
TeamDelete(team_name: "genesis-${CLAUDE_SESSION_ID}")
ELSE:
Team persists for Odyssey's next phase (Pantheon)
← generation history in artifacts retained for downstream analysis
<Tool_Usage> MCP Tools:
Team Tools:
<Artifact_Contracts>
| File | Step | Writer | Readers |
|---|---|---|---|
| gen-{n}/ontology.json | 2d | Leader | Convergence check |
| gen-{n}/spec.md | 2d | Leader | Next generation |
| gen-{n}/wonder.md | 2b | Leader (from metis) | eris |
| gen-{n}/reflect.md | 2c | Leader (from eris) | Next seed |
| lineage.json | 3 | Leader | Rewind support |
| convergence.json | 2e | Leader | Evolution halt decision |
| </Artifact_Contracts> |