ouroboros
Agent OS: the agent gets smarter on its own. We just hold the line: Interview-gated, staged evaluation, budgeted evolution loop. MCP server, 14 runtimes: Claude Code, Codex CLI, Gemini CLI, OpenCode, Copilot, Kiro and more.
Install / Use
npx skills add Q00/ouroborosInstalls into whichever agent you are using.
CLAUDE.md
Claude Code project instructions
Quality Score
Category
AI & Machine LearningSupported Platforms
Skill content
View source on GitHubTurn a vague idea into a verified, working codebase -- across Claude Code, Codex CLI, OpenCode, Hermes, Gemini, Kiro, Copilot, Pi, Zcode, Goose, GJC, Antigravity, and Grok.
Ouroboros is an Agent OS for AI coding: a local-first runtime layer that turns non-deterministic agent work into a replayable, observable, policy-bound execution contract. It replaces ad-hoc prompting with a structured specification-first workflow: interview, crystallize, execute, evaluate, evolve.
The Ouroboros Agent OS Stack
Like any OS, Ouroboros is split into a stable OS layer of primitives, an application layer of domain workflows, and a shell that humans actually sit in front of. Three repos, one stack:
| Layer | Repo | Role | What it gives you |
| :--- | :--- | :--- | :--- |
| Shell (terminal client) | Q00/ourocode | Native terminal UI for running ooo workflows across Claude / Codex / Gemini CLIs in one session | TUI, wonderTool decision pickers, MCP pane state, command discovery |
| Apps (domain workflows) | Q00/ouroboros-plugins | UserLevel plugin contract — composes core primitives into installable domain programs (PR ops, Jira sync, incidents, releases) | Plugin manifest, scoped permissions, audit/provenance, reference plugins |
| OS (this repo) | Q00/ouroboros | Agent OS core — Seed, Ledger, Runtime, MCP, safety boundaries | ooo commands, spec-first workflow engine, multi-runtime adapter |
How they connect:
ourocode ──► ooo / ouroboros-plugins ──► ouroboros core (Seed · Ledger · MCP · Runtime)
shell user-level apps kernel
- The kernel (
ouroboros) owns the contract: every action becomes a Seed-bound, ledger-recorded, replayable event — regardless of which LLM executes it. - Plugins (
ouroboros-plugins) declare scoped capabilities against that contract, so domain workflows (review a PR, triage a Linear ticket, run a release) stay auditable and policy-bound instead of being one-off prompts. - Ourocode is the terminal shell: it surfaces MCP state, interview questions, and wonderTool decisions as first-class TUI elements, so you can drive the OS without leaving the keyboard or switching between CLIs.
Use ouroboros alone with any supported CLI, layer plugins on for domain
workflows, or install ourocode when you want a unified terminal cockpit.
Disclaimer. The Ouroboros project and community are not affiliated with any cryptocurrency, token, memecoin, or trading community — including, but not limited to, any "ouroboros" tickers on pump.fun or other launchpads. This is an open-source developer tool. We do not issue, endorse, or hold any coins. Any token claiming association with this project is unauthorized.
Why Ouroboros?
Most AI coding fails at the input, not the output. The bottleneck is not AI capability -- it is human clarity.
| Problem | What Happens | Ouroboros Fix | | :------------ | :------------------------------- | :-------------------------------------------- | | Vague prompts | AI guesses, you rework | Socratic interview exposes hidden assumptions | | No spec | Architecture drifts mid-build | Immutable seed spec locks intent before code | | Manual QA | "Looks good" is not verification | 3-stage automated evaluation gate |
Quick Start
Install — one command, everything auto-detected:
curl -fsSL https://raw.githubusercontent.com/Q00/ouroboros/main/scripts/install.sh | bash
First use — open your AI coding agent and type:
> ooo
If a one-time setup is needed, Ouroboros asks before it makes changes. After
setup, Codex follows its currently selected model and Claude Code starts with
its recommended model settings. Choose Directly configure models only when
you want to pin a stage to a specific model; it opens the local settings screen
in your browser. You can return to those settings any time with ooo config.
Build — then go:
> ooo interview "I want to build a task management CLI"
<details> <summary><strong>Codex plugin quick start</strong></summary>Works with Claude Code, Codex CLI, GitHub Copilot CLI, OpenCode, Hermes, Gemini, Kiro CLI, Pi CLI, Zcode, Goose, GJC, Antigravity CLI, and Grok Build CLI. The installer detects available runtimes and registers the MCP server where the host supports it. For explicit selection, run
ouroboros setup --runtime <opencode|kiro|copilot|gemini|pi|zcode|goose|gjc|antigravity|grok>after installation. The Copilot CLI runtime live-discovers its model catalog via the GitHub Copilot models API and lets you pick a default during setup.
codex plugin marketplace add Q00/ouroboros
codex plugin add ouroboros@ouroboros
Start a new Codex session, then enter ooo. On first use, Ouroboros offers to
prepare the runtime before it changes anything. Once ready, it follows Codex's
current default model; choose Directly configure models only when you want
to pin a specific model for a pipeline stage.
pipx install 'ouroboros-ai[mcp]' # or: uv tool install 'ouroboros-ai[mcp]'
ouroboros setup --runtime kiro # detects Kiro CLI, registers MCP server, and
# writes OUROBOROS_RUNTIME=kiro into
# ~/.kiro/settings/mcp.json (the trusted,
# setup-managed location -- a project .env
# is untrusted input and this key is ignored there)
Then use ooo commands inside a Kiro CLI session.
gh auth login # one-time GitHub auth (used for live model discovery)
pipx install 'ouroboros-ai[mcp]' # or: uv tool install 'ouroboros-ai[mcp]'
ouroboros setup --runtime copilot # discovers models live, picks a default,
# registers MCP server in ~/.copilot/mcp-config.json
Restart your Copilot CLI session, then use ooo commands inside it. Hyphenated Anthropic model IDs (claude-opus-4-6) used elsewhere in your config are auto-mapped to the dotted Copilot form (claude-opus-4.6) at runtime, so existing configs keep working when you switch backends.
See the GitHub Copilot CLI runtime guide for full details.
</details> <details> <summary><strong>Other install methods</strong></summary>Claude Code plugin only (no system package):
claude plugin marketplace add Q00/ouroboros && claude plugin install ouroboros@ouroboros
Then run ooo setup inside a Claude Code session.
pip / uv / pipx:
pip install ouroboros-ai # base
pip install 'ouroboros-ai[claude]' # + default Claude Agent SDK profile (MCP 1.x)
pip install 'ouroboros-ai[claude-cli]' # + dependency-free Claude CLI worker profile
pip install 'ouroboros-ai[claude-sdk]' # + explicit alias for the Claude SDK profile
pip install 'ouroboros-ai[litellm]' # + LiteLLM multi-provider; Python 3.12-3.13
pip install 'ouroboros-ai[mcp]' # + MCP server/client support
pip install 'ouroboros-ai[tui]' # + Textual terminal UI
pip install 'ouroboros-ai[all]' # MCP 1.x app bundle; excludes the MCP 2 server
ouroboros setup # configure runtime
Core and non-LiteLLM installs support Python 3.12-3.14. LiteLLM-bearing installs ([litellm], [all], and source --extra all) support Python 3.12-3.13; use Python 3.13 for current examples. See Platform Support.
[claude] preserves the in-process Agent SDK and its MCP 1.x dependency graph;
[claude-sdk] is its explicit alias. The MCP 2 server runs from a separate
[mcp] environment and selects the [claude-cli] subprocess worker when
Claude is the host. Never install [mcp,claude], [mcp,claude-sdk], or
[all,mcp] in one interpreter. See the package compatibility and migration matrix.
pip install 'ouroboros-ai[mcp]' is valid for embedding the MCP client/server library in an already isolated Python environment, but host registration requires uvx or pipx. Use pipx install 'ouroboros-ai[mcp]' or uv tool install 'ouroboros-ai[mcp]' before ouroboros setup --runtime <kiro|copilot|hermes>; setup exits without changing runtime configuration when neither isolated launcher is available.
Legacy compatibility: ouroboros-ai[dashboard] is still accepted as a compatibility alias/no-op; it does not install dashboard runtime payload. ouroboros-ai[all] includes that no-op alias only for compatibility.
See runtime guides: Claude Code · Codex CLI · Hermes · OpenCode · Kiro CLI · Gemini CLI · GitHub Copilot CLI · Zcode · Pi JSON mode · Goose · GJC · Antigravity CLI · Grok Build CLI
</details> <details> <summary><strong>Uninstall</strong></summary>ouroboros uninstall
Removes all configuration, MCP registration, and data. See UNINSTALL.md for details.
</details>Python >= 3.12 required. LiteLLM-bearing profiles support Python 3.12-3.13. See Platform Support and pyproject.toml.
What You Get
After one loop of the Ouroboros cycle, a vague idea be
Truncated for display — read the full file on GitHub.
Related Skills
caveman
107.4k🪨 why use many token when few token do trick. Viral skill + proxy for coding agents that cuts 65% of tokens by talking like a caveman.
claude-mem
94.5kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Agent-Reach
84.8kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Understand-Anything
83.8kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
