Hermes Mission Control
Th0rgal/sandboxed.sh
Teaches Hermes to monitor and steer long-running sandboxed.sh missions: spot where a model is stuck, switch backends or models between turns, and send targeted hints.
Starts, monitors or rewinds an evolutionary development loop that refines an ontology and acceptance criteria generation by generation until it converges, using the Ouroboros MCP tools.
$ npx skills add Q00/ouroboros --skill evolve -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Q00/ouroboros evolve --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Q00/ouroboros.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/evolve .claude/skills/evolve && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "evolve" agent skill from https://github.com/Q00/ouroboros/tree/main/skills/evolve into .claude/skills/evolve/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "evolve", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Q00/ouroboros/tree/main/skills/evolveType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Q00/ouroboros --skill evolve -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Q00/ouroboros evolve --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Q00/ouroboros.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/evolve .agents/skills/evolve && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "evolve" agent skill from https://github.com/Q00/ouroboros/tree/main/skills/evolve into .agents/skills/evolve/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "evolve", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Q00/ouroboros --skill evolve -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Q00/ouroboros evolve --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Q00/ouroboros.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/evolve .cursor/skills/evolve && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "evolve" agent skill from https://github.com/Q00/ouroboros/tree/main/skills/evolve into .cursor/skills/evolve/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "evolve", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Q00/ouroboros.git --path skills/evolve--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Q00/ouroboros --skill evolve -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Q00/ouroboros evolve --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Q00/ouroboros.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/evolve .gemini/skills/evolve && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "evolve" agent skill from https://github.com/Q00/ouroboros/tree/main/skills/evolve into .gemini/skills/evolve/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "evolve", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Q00/ouroboros evolveInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Q00/ouroboros --skill evolve -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Q00/ouroboros.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/evolve .github/skills/evolve && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "evolve" agent skill from https://github.com/Q00/ouroboros/tree/main/skills/evolve into .github/skills/evolve/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "evolve", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Q00/ouroboros --skill evolve -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Q00/ouroboros evolve --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Q00/ouroboros.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/evolve .opencode/skills/evolve && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "evolve" agent skill from https://github.com/Q00/ouroboros/tree/main/skills/evolve into .opencode/skills/evolve/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "evolve", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
evolveStarts, monitors or rewinds an evolutionary development loop that refines an ontology and acceptance criteria generation by generation until it converges, using the Ouroboros MCP tools.
The loop works in generations. The first seeds an ontology, executes every node, judges the results and applies a gate. The second asks about the failed nodes, reflects on the active ones, executes only those and gates everything. Later generations repeat with a smaller active set, and nodes that already passed are frozen and re-verified instead of regenerated. You start it with `ooo evolve` and a goal, use a fast `--no-execute` mode that builds the ontology only, check a lineage with `--status`, or go back with `--rewind` to a chosen generation.
Before choosing between the MCP path and the fallback path, the agent must load the Ouroboros tools through the runtime's tool discovery, since they are often deferred and not listed at first. Only if they are genuinely absent does it fall back. The skill also describes a benchmark control run, which calls the evolve step with a control flag on an existing lineage from a clean Git directory and a separate clean worktree, and notes that normal calls never start a control arm.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 0df5b98. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Ouroboros Evolve Loop loads about 3.2k tokens when it runs. Until then it costs about 14 tokens; SKILL.md has 1,564 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Q00/ouroboros at commit 0df5b98, republished under its MIT licence (© Q00). 1,564 words, ~3,190 tokens.
.claude/skills/evolve/SKILL.md (or your agent's skills folder).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 reachedooo evolve "build a task management CLI"ooo evolve "build a task management CLI" --no-executeooo 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 execute: true response using
step 6. Stop only on converged, stagnated, exhausted, or failed.converged: ◆ 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 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 --runtime claude-cliThen 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.insufficient_data. Evidence reads and provider-call capture are capped;
oversized or non-finite individual/subtotal/combined usage, cap overflow, and
Wonder-only early stops also produce non-PASS durable receipts.
Evolve never launches the control automatically because doing so would consume
the production savings being measured.stagnated 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 disableYour 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.
© Q00, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/evolve of Q00/ouroboros.
Open the folder on GitHubat commit 0df5b98
Ouroboros Evolve Loop next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ouroboros Evolve Loop this skillQ00/ouroboros | 6.2k | — | ~3.2k | Automated safety check: Pass | MIT | |
| Hermes Mission ControlTh0rgal/sandboxed.sh | 515 | — | ~8.6k | Automated safety check: Pass | None | |
| Agent Native Architecturesandgardenhq/sgai | 137 | — | ~2k | Automated safety check: Pass | Custom licence | |
| Peer Review Loophashgraph-online/awesome-codex-plugins | 1.2k | — | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Improving MCP ToolsPostHog/posthog-foss | 721 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Strandsstrands-agents/harness-sdk | 8.7k | — | ~1k | Automated safety check: Pass | Apache-2.0 |
Th0rgal/sandboxed.sh
Teaches Hermes to monitor and steer long-running sandboxed.sh missions: spot where a model is stuck, switch backends or models between turns, and send targeted hints.
sandgardenhq/sgai
Build AI agents using prompt-native architecture where features are defined in prompts, not code.
hashgraph-online/awesome-codex-plugins
Peer Review Ralph Loop — combines Cavekit kits with a Ralph Loop and true cross-model peer review using Codex (OpenAI).
PostHog/posthog-foss
Run an improve-my-MCP campaign: an autoresearch-style loop that measures the MCP agent experience with the eval harness, picks the highest-impact tool problem from production data, makes one bounded…
strands-agents/harness-sdk
Build, extend, evaluate, or migrate applications with Strands Agents in Python or TypeScript.
hashgraph-online/awesome-codex-plugins
Patterns for using a second AI agent or model to challenge the primary builder agent's work.
Q00/ouroboros
Triages and works through GitHub issues and pull requests in the Q00/ouroboros repo as a maintainer, within a stated review boundary and clear limits on what it may change.
Q00/ouroboros
Runs a guided product-manager interview that classifies each question automatically and produces a Product Requirements Document.
Q00/ouroboros
Scans a directory for existing git repositories and worktrees, then registers and manages which ones serve as default context during interviews.
Q00/ouroboros
Scores an agent's finished work with a three-stage pipeline: free mechanical checks, an advisory semantic review, and an optional multi-model consensus vote.
Q00/ouroboros
Opens or drives the Ouroboros settings GUI, picking a browser, TUI or chat-based approach depending on whether the user can reach a browser window.
Q00/ouroboros
Reference guide to the Ouroboros commands and agents, covering interviews, seed specs, evaluation, lateral-thinking personas and the evolutionary loop.
Works with
Categories
Starts, monitors or rewinds an evolutionary development loop that refines an ontology and acceptance criteria generation by generation until it converges, using the Ouroboros MCP tools. The loop works in generations. The first seeds an ontology, executes every node, judges the results and applies a gate.
Ouroboros Evolve Loop fits situations like: starting an iterative build loop that refines requirements across generations; checking the status of an existing evolution lineage; rewinding to an earlier generation after a bad round.
Run `npx skills add Q00/ouroboros --skill evolve -a claude-code`. Or copy the skill folder (skills/evolve in Q00/ouroboros) into .claude/skills/evolve in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Q00/ouroboros --skill evolve -a codex`. Or copy the skill folder (skills/evolve in Q00/ouroboros) into .agents/skills/evolve in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Q00/ouroboros --skill evolve -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/evolve, .gemini/skills/evolve, .github/skills/evolve and .opencode/skills/evolve in your project.
SKILL.md names no scripts, command-line tools or credentials: Ouroboros Evolve Loop is instructions for the agent only. Our summary lists: The Ouroboros MCP server and its tools available in the runtime.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Ouroboros Evolve Loop is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Ouroboros Evolve Loop: Hermes Mission Control (Th0rgal/sandboxed.sh, 515 stars), Agent Native Architecture (sandgardenhq/sgai, 137 stars), Peer Review Loop (hashgraph-online/awesome-codex-plugins, 1.2k stars) and Improving MCP Tools (PostHog/posthog-foss, 721 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Q00 (a GitHub user) maintains it in Q00/ouroboros, which has 6,189 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on October 6, 2026.
Source: Q00/ouroboros on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.