MCP Server Builder
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
Guided onboarding wizard for Ouroboros setup. An agent skill from Q00/ouroboros.
$ npx skills add Q00/ouroboros --skill setup -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Q00/ouroboros setup --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/setup .claude/skills/setup && 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 "setup" agent skill from https://github.com/Q00/ouroboros/tree/main/skills/setup into .claude/skills/setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup", 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/setupType 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 setup -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Q00/ouroboros setup --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/setup .agents/skills/setup && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "setup" agent skill from https://github.com/Q00/ouroboros/tree/main/skills/setup into .agents/skills/setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup", 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 setup -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Q00/ouroboros setup --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/setup .cursor/skills/setup && 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 "setup" agent skill from https://github.com/Q00/ouroboros/tree/main/skills/setup into .cursor/skills/setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup", 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/setup--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 setup -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Q00/ouroboros setup --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/setup .gemini/skills/setup && 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 "setup" agent skill from https://github.com/Q00/ouroboros/tree/main/skills/setup into .gemini/skills/setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup", 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 setupInstalls 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 setup -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/setup .github/skills/setup && 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 "setup" agent skill from https://github.com/Q00/ouroboros/tree/main/skills/setup into .github/skills/setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup", 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 setup -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 setup --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/setup .opencode/skills/setup && 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 "setup" agent skill from https://github.com/Q00/ouroboros/tree/main/skills/setup into .opencode/skills/setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup", 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.
setupGuided onboarding wizard for Ouroboros setup. An agent skill from Q00/ouroboros.
Setup is an agent skill from Q00/ouroboros. Guided onboarding wizard for Ouroboros setup
Its SKILL.md is about 5.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows. It works with Python and Model Context Protocol. The repository describes itself as: 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… The licence is MIT.
10 steps, taken from the step headings 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.
Shell commands in SKILL.md call:
uvuvxpipxpythonpippython3brewcurlshghFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
astral.shFrom 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.
Setup loads about 5.9k tokens when it runs. Until then it costs about 13 tokens; SKILL.md has 1,726 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 noted patterns worth knowing about, such as sudo or a known installer.
curl -LsSf https://astral.sh/uv/install.sh | sh # vendor one-liner (last resort)curl -LsSf https://astral.sh/uv/install.sh | sh # vendor one-liner (last resort)Ubuntu: sudo apt install python3.12Automated 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,726 words, ~5,916 tokens.
.claude/skills/setup/SKILL.md (or your agent's skills folder).Guided onboarding wizard that converts users into power users.
Standalone users (Codex, pip install): Use
ouroboros setup --runtime codexin your terminal instead. This skill runs inside a Claude Code session. For other runtime backends, the CLIouroboros setupcommand handles configuration. For full install and onboarding instructions, see Getting Started.
GitHub Copilot CLI users: Run
ouroboros setup --runtime copilot(afterpipx install 'ouroboros-ai[mcp]'oruv tool install 'ouroboros-ai[mcp]'). Setup will:
- Live-discover available models from the GitHub Copilot models API (uses
gh auth token) and let you pick a default. A bundled fallback list is used when offline.- Write
orchestrator.runtime_backend = copilotandllm.backend = copilotplus your chosen default into~/.ouroboros/config.yaml.- Register the MCP server in
~/.copilot/mcp-config.jsonso the nextcopilotsession can callooo ...skills.Hyphen Anthropic IDs that the Ouroboros defaults use (for example
claude-opus-4-6) are auto-mapped at runtime to the dotted form Copilot CLI expects (claude-opus-4.6), so existing config files keep working when you switch backends.
ooo setup
/ouroboros:setup
/ouroboros:setup --uninstallNote: Claude setup does two things:
- Runtime configuration — selects the Claude Agent SDK profile on MCP 1.x
- CLAUDE.md integration (optional) — per-project, adds an Ouroboros command reference block
It deliberately leaves
~/.claude/mcp.jsonuntouched because marketplace plugin wiring owns that file.[claude]and its explicit[claude-sdk]alias use MCP 1.x. The plugin launches[mcp]in a separate MCP 2 process with the dependency-free[claude-cli]worker.
When the user invokes this skill, guide them through an enhanced 6-step wizard with progressive disclosure and celebration checkpoints.
Before running any shell snippet below, define this resolver in the same shell.
It accepts only Python 3.12 or newer, prefers python3 and then python, and
uses uv as the final fallback. Call ouroboros_python directly and quote every
argument passed to it; the function preserves arguments and heredoc/stdin input.
Only the probe and child interpreter discard inherited CPython path-selection
overrides; the caller shell keeps its environment unchanged.
<!-- ouroboros-python-resolver:start -->
ouroboros_python() {
if command -v python3 >/dev/null 2>&1 &&
(unset PYTHONHOME PYTHONPATH PYTHONPLATLIBDIR PYTHONEXECUTABLE __PYVENV_LAUNCHER__; command python3 -c 'import sys; raise SystemExit(sys.version_info < (3, 12))') >/dev/null 2>&1
then
(unset PYTHONHOME PYTHONPATH PYTHONPLATLIBDIR PYTHONEXECUTABLE __PYVENV_LAUNCHER__; command python3 "$@")
return
fi
if command -v python >/dev/null 2>&1 &&
(unset PYTHONHOME PYTHONPATH PYTHONPLATLIBDIR PYTHONEXECUTABLE __PYVENV_LAUNCHER__; command python -c 'import sys; raise SystemExit(sys.version_info < (3, 12))') >/dev/null 2>&1
then
(unset PYTHONHOME PYTHONPATH PYTHONPLATLIBDIR PYTHONEXECUTABLE __PYVENV_LAUNCHER__; command python "$@")
return
fi
if command -v uv >/dev/null 2>&1; then
(unset PYTHONHOME PYTHONPATH PYTHONPLATLIBDIR PYTHONEXECUTABLE __PYVENV_LAUNCHER__; command uv run --no-project --quiet --python '>=3.12' python "$@")
return
fi
printf '%s\n' 'Ouroboros skills require Python >= 3.12 or uv on PATH.' >&2
return 127
}<!-- ouroboros-python-resolver:end -->
Start with energy and clear value:
Welcome to Ouroboros Setup!
Let's unlock your full AI development potential.
What you'll get:
- Visual TUI dashboard for real-time progress tracking
- 3-stage evaluation pipeline for quality assurance
- Drift detection to keep projects on track
- Cost optimization (85% savings on average)
Setup takes ~2 minutes. Let's go!Before we begin, check ~/.ouroboros/prefs.json for star_asked. If not true, use AskUserQuestion:
{
"questions": [{
"question": "Ouroboros is free and open-source. A GitHub star helps other developers discover it. Star the repo?",
"header": "Community",
"options": [
{
"label": "Star on GitHub",
"description": "Takes 1 second — helps the project grow"
},
{
"label": "Skip for now",
"description": "Continue with setup"
}
],
"multiSelect": false
}]
}gh api -X PUT /user/starred/Q00/ouroboros, then merge {"star_asked": true} into ~/.ouroboros/prefs.json{"star_asked": true} into ~/.ouroboros/prefs.json{"star_asked": true} into ~/.ouroboros/prefs.jsonCreate ~/.ouroboros/ directory if it doesn't exist. Preserve any existing keys such as welcomeShown, welcomeCompleted, and welcomeVersion when updating star_asked:
ouroboros_python - <<'PY'
import json, os
path = os.path.expanduser('~/.ouroboros/prefs.json')
os.makedirs(os.path.dirname(path), exist_ok=True)
try:
with open(path, encoding='utf-8') as f:
prefs = json.load(f)
if not isinstance(prefs, dict):
prefs = {}
except Exception:
prefs = {}
prefs['star_asked'] = True
with open(path, 'w', encoding='utf-8') as f:
json.dump(prefs, f, indent=2)
f.write('\n')
PYIf star_asked is already true, skip this step silently.
Check the user's environment with clear feedback:
ouroboros_python --version
which uvx 2>/dev/null && uvx --version 2>/dev/null
which claude 2>/dev/nullFor diagnostics, list uv-managed Python installations when uv is available:
uv python list 2>/dev/null | grep "cpython-3.1[2-9]"The resolver already rejects system Python below 3.12 and provisions a
compatible uv-managed Python when needed. This does not make the isolated
[claude-sdk] and MCP 2 profiles import-compatible.
Report results with personality:
Environment Detected:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Skill Python 3.12+ [✓] Resolver-selected
uv Python 3.12+ [✓] Available
uvx package runner [✓] Available
Runtime backend [✓] Detected
→ Full Mode Available (via uvx + uv-managed Python >= 3.12)Decision Matrix:
| Environment | Mode | Action |
|---|---|---|
| Python >= 3.12 + Claude CLI | Ready | Configure [claude] SDK/MCP 1 and skills |
| uvx + Python >= 3.12 | MCP-capable elsewhere | Use a supported CLI-backed runtime setup for isolated ouroboros-ai[mcp] |
| Python < 3.12 only | Install needed | Run uv python install 3.12 then proceed |
| No package runner or Ouroboros package | Install needed | Install uv first, then proceed |
If deps are missing and the user doesn't want to fix manually, recommend uv. Prefer package-manager paths over the vendor pipe-to-shell when the user's environment supports them (pipx > pip > brew > vendor one-liner):
Or install uv (recommended — handles deps automatically). Any one of:
pipx install uv
pip install --user uv
brew install uv # macOS / Linuxbrew
curl -LsSf https://astral.sh/uv/install.sh | sh # vendor one-liner (last resort)
Then re-run: ooo setupIMPORTANT: Never install [mcp,claude], [mcp,claude-sdk], or [all,mcp]
together and never write a direct
ouroboros or python -m ouroboros MCP fallback. MCP 2 launchers must use an
isolated uvx --isolated --python '>=3.12' --from 'ouroboros-ai[mcp]' ... or
pipx run --spec 'ouroboros-ai[mcp]' ... process. Only [mcp,claude-cli] is
supported because the CLI worker is out of process. Do not write
an Ouroboros entry to ~/.claude/mcp.json; the plugin owns that registration.
If prerequisites are missing, show:
Ouroboros requires uvx (recommended) or the ouroboros package installed.
Quick install (< 1 minute) — install uv via any of:
pipx install uv
pip install --user uv
brew install uv # macOS / Linuxbrew
curl -LsSf https://astral.sh/uv/install.sh | sh # vendor one-liner (last resort)
Then:
uv python install 3.12
Then re-run: ooo setupCelebration Checkpoint 1:
Great news! You're ready for the full Ouroboros experience.Show progress:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Verifying Runtime Boundary...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
The default Claude SDK profile stays on MCP 1.x. The plugin-owned MCP server
runs MCP 2 separately and selects the `[claude-cli]` worker.
This setup enables:
Visual TUI Dashboard [Watch execution in real-time]
3-Stage Evaluation [Mechanical → Semantic → Consensus]
Drift Detection [Alert when projects go off-track]
Session Replay [Debug any execution from events]Do not create, update, or remove ~/.claude/mcp.json. Existing entries may
be user-managed or belong to another compatible runtime. Explain that advanced
MCP workflows require a host-managed isolated [mcp] launcher. The Claude
marketplace plugin or another supported host setup owns that registration.
Celebration Checkpoint 2:
Runtime boundary verified! You can now:
- Use Claude-native ooo interview, seed, evaluate, and unstuck workflows
- Use the Claude SDK on MCP 1.x with isolated MCP 2 tools
- Keep the Claude SDK and MCP 2 dependency graphs conflict-freeAsk with clear value proposition:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CLAUDE.md Integration
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Add Ouroboros quick-reference to your CLAUDE.md?
This gives you instant command reminders without leaving
your project context.
What gets added (~40 lines):
- Philosophy and pipeline overview
- Command routing table with lazy-loaded agents
- Agent catalog summary
A backup will be created: CLAUDE.md.bak
[Integrate / Skip / Preview first]If "Preview first", show:
<!-- ooo:START -->
<!-- ooo:VERSION:0.55.6 -->
# Ouroboros — Specification-First AI Development
> Before telling AI what to build, define what should be built.
> As Socrates asked 2,500 years ago — "What do you truly know?"
> Ouroboros turns that question into an evolutionary AI workflow engine.
Most AI coding fails at the input, not the output. Ouroboros fixes this by
**exposing hidden assumptions before any code is written**.
1. **Socratic Clarity** — Question until ambiguity ≤ 0.2
2. **Ontological Precision** — Solve the root problem, not symptoms
3. **Evolutionary Loops** — Each evaluation cycle feeds back into better specs
```
Interview → Seed → Execute → Evaluate
↑ ↓
└─── Evolutionary Loop ─────┘
```
## ooo Commands
Each command loads its agent/MCP on-demand. Details in each skill file.
| Command | Loads |
|---------|-------|
| `ooo` | — |
| `ooo interview` | `ouroboros:socratic-interviewer` |
| `ooo seed` | `ouroboros:seed-architect` |
| `ooo run` | MCP required |
| `ooo evolve` | MCP: `evolve_step` |
| `ooo evaluate` | `ouroboros:evaluator` |
| `ooo unstuck` | `ouroboros:{persona}` |
| `ooo status` | MCP: `session_status` |
| `ooo setup` | — |
| `ooo help` | — |
## Agents
Loaded on-demand — not preloaded.
**Core**: socratic-interviewer, ontologist, seed-architect, evaluator,
wonder, reflect, advocate, contrarian, judge
**Support**: hacker, simplifier, researcher, architect
<!-- ooo:END -->If Integrate:
Celebration Checkpoint 3:
CLAUDE.md updated! You now have instant Ouroboros reference
available in every project.Run verification with visual feedback:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Verifying Setup...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Check skills are loadable:
ls skills/ | wc -l # Should show 12+ skillsCheck agents are available:
ls src/ouroboros/agents/*.md | wc -l # Should show 20+ bundled agentsConfirm the saved Ouroboros config selects the default Claude Agent SDK runtime
on MCP 1.x while ~/.claude/mcp.json was not mutated by this setup. The
dependency-free Claude CLI worker remains a distinct, explicit [claude-cli]
selection for the isolated MCP 2 process.
Display with celebration:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Ouroboros Setup Complete!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Mode: Claude Agent SDK (MCP 1.x)
Skills Registered: 15 workflow skills
Agents Available: 9 specialized agents
MCP Server: Host-owned (config not mutated)
CLAUDE.md: ✓ Integrated
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
You're Ready to Go!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Start your first project:
ooo interview "your project idea"
Learn what's possible:
ooo help
Try the interactive tutorial:
ooo tutorial
Join the community:
Star us on GitHub! github.com/Q00/ouroborosBefore continuing to repository setup, give Claude Code users the same optional control over models without making it a requirement. Ask in the user's language; for Korean, use:
{
"questions": [{
"question": "설정이 완료됐어요. 기본 모델 설정으로 바로 시작할 수 있고, 모델은 언제든 나중에 바꿀 수 있어요.",
"header": "모델 설정",
"options": [
{
"label": "바로 시작하기 (권장)",
"description": "기본 모델 설정으로 바로 작업을 시작해요"
},
{
"label": "직접 모델 설정하기",
"description": "단계별로 모델을 바꾸거나 목록에 없는 모델 ID를 입력해 고정해요"
}
],
"multiSelect": false
}]
}../config/SKILL.md. In the
local Claude Code harness, it opens the same settings UI in the user's
browser at a temporary localhost address. They can reopen it any time with
ooo config; this choice never permanently locks a model.Scan a root directory for existing git repositories and linked worktrees, then register them in the Ouroboros DB. This enables interviews to use brownfield context for existing projects.
Show scanning indicator:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Scanning for Existing Projects...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Looking for git repositories and worktrees up to two directories below the scan root.
Only repositories and worktrees reached directly by this depth-bounded walk are registered.
Local repos and repos with any remote name are eligible.
This may take a moment...Implementation — use MCP tools only, do NOT use CLI or Python scripts:
CRITICAL — deferred-schema guard (prevents "Invalid tool parameters"):
setup can call ouroboros_brownfield before and after a user-selection turn.
A deferred schema loaded before scan is NOT guaranteed to remain loaded for the
later set_defaults call. Immediately before EVERY ouroboros_brownfield call
in this section, re-run tool discovery query: "+ouroboros brownfield" (idempotent —
a no-op when already loaded). If the 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), use the
non-MCP setup fallback instead of retrying the failing call.
tool discovery query: "+ouroboros brownfield"Tool: ouroboros_brownfield
Arguments: { "action": "scan" }scan_root up to two directory levels deep for valid seed repos/worktrees and registers them in DB. Each repo or worktree reached directly by the walk is registered self-only. Git worktree families are not expanded, so main or sibling worktrees outside the depth-bounded walk are not pulled in. Existing defaults are preserved.Scan boundaries:
scan_root; when omitted, scan_root defaults to the current user's home directory.scan_root, at most two levels deep.node_modules are not walked as seed locations..git directory and linked worktrees with a .git file are registered when the walk reaches them.origin are all eligible.The scan response text already contains a pre-formatted numbered list with [default] markers. Do NOT make any additional MCP calls to list or query repos.
Display the repos in a plain-text 2-column grid (NOT a markdown table). Use a code block so columns align. Example:
Scan complete. 8 repositories registered.
1. repo-alpha 5. repo-epsilon
2. repo-bravo * 6. repo-foxtrot
3. repo-charlie 7. repo-golf *
4. repo-delta 8. repo-hotelInclude * markers for defaults exactly as they appear in the scan response. Do not summarize or truncate the list. The user needs to see all repo numbers to pick defaults.
If no repos found, skip the default selection prompt and proceed to Step 6.
Default repo selection — end the turn with the list:
Do NOT use AskUserQuestion for this selection. Assistant text emitted
between tool calls is not guaranteed to render, so a question dialog fired in
the same turn can appear without the repo list the user needs to answer it.
Option preview fields cannot hold the list either — the preview box has a
fixed height and silently truncates long lists.
Instead, end the turn with the repo grid as the final message so its display is guaranteed, and collect the selection as a plain chat reply.
Immediately below the grid, append the selection prompt:
If defaults exist:
Current defaults: <current default names> (numbers <current default numbers>)
Reply with repo numbers to change defaults (e.g. "6, 18, 19"),
"keep" to keep the current defaults, or "none" to clear them.If no defaults exist:
No defaults set.
Reply with repo numbers to set defaults (e.g. "6, 18, 19"),
or "none" to run interviews in greenfield mode.Then end the turn — no tool calls after the grid.
On the next turn, parse the user's reply:
Then re-run tool discovery query: "+ouroboros brownfield" and use ONE MCP call to update all defaults at once:
Tool: ouroboros_brownfield
Arguments: { "action": "set_defaults", "indices": "<comma-separated IDs>" }Example: if the user picks IDs 6, 18, 19 → { "action": "set_defaults", "indices": "6,18,19" }
This clears all existing defaults and sets the selected repos as default in one call.
If "none" → { "action": "set_defaults", "indices": "" } to clear all defaults.
Celebration Checkpoint 5.5:
Brownfield defaults updated!
Defaults: podo-app, podo-backend, grape
These repos will be used as context in interviews.Or if "none" selected:
No default repos set. interviews will run in greenfield mode.
You can set defaults anytime by running ooo setup again.Encourage immediate action:
Your first Ouroboros project is waiting!
The best way to learn is by doing. Try:
ooo interview "Build a CLI tool for [something you need]"
Or explore examples:
ooo tutorial
You're going to love seeing vague ideas turn into
crystal-clear specifications. Let's build something amazing!Reveal features gradually to avoid overwhelm:
ooo interview - Socratic clarificationooo seed - Specification generationooo unstuck - Lateral thinkingooo run - TUI executionooo evaluate - 3-stage verificationooo status - Drift trackingWhen invoked with --uninstall:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Ouroboros Uninstall
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This will remove:
- Ouroboros block from CLAUDE.md
This will NOT remove:
- Plugin files in .claude-plugin/
- Any generated seeds or projects
- Your project data
Uninstall Ouroboros configuration? [Yes / No]If Yes:
~/.claude/mcp.json untouched<!-- ooo:START --> to <!-- ooo:END --> block from CLAUDE.md (if exists)Plugin mode works without a global Python when uv is on PATH. The skill
resolver uses a compatible python3, then python, then uv-managed Python >= 3.12.
If neither a compatible interpreter nor uv is available, install one:
macOS: brew install python@3.12
Ubuntu: sudo apt install python3.12
Windows: python.org/downloadsuvx is recommended but not required. Alternative:
For the default Claude SDK runtime:
pip install 'ouroboros-ai[claude]'
`[claude-sdk]` is an explicit alias. Use `[claude-cli]` only for the isolated
MCP 2 server worker. Do not combine `[claude]`, `[claude-sdk]`, or `[all]` with
`[mcp]`, and do not add a direct Python fallback to mcp.json.Ouroboros will merge with existing MCP servers.
If you see issues, share your ~/.claude/mcp.json content and
we'll help you resolve conflicts.Track these checkpoints for conversion optimization:
A fully converted user = all checkpoints passed
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.
© 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/setup of Q00/ouroboros.
Open the folder on GitHubat commit 0df5b98
Setup 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 |
|---|---|---|---|---|---|---|
| Setup this skillQ00/ouroboros | 6.2k | — | ~5.9k | Automated safety check: Notes | MIT | |
| MCP Server Builderanthropics/skills | 180k | 62 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| MCP Server BuildershareAI-lab/learn-claude-code | 78k | 5 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Fastmcp Client CLIPrefectHQ/fastmcp | 28k | 1 repos | ~823 | Automated safety check: Pass | Apache-2.0 | |
| MemPalace Setup and OperationMemPalace/mempalace | 59k | — | ~2.2k | Automated safety check: Pass | MIT | |
| Google Antigravity SDKgoogle-antigravity/antigravity-sdk-python | 3.6k | — | ~2.1k | Automated safety check: Notes | Apache-2.0 |
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
shareAI-lab/learn-claude-code
Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.
PrefectHQ/fastmcp
Query and invoke tools on MCP servers using fastmcp list and fastmcp call.
MemPalace/mempalace
Installs and configures MemPalace as a private local palace, a shared-brain hub or a client of an existing hub, including MCP registration and version-correct initialization.
google-antigravity/antigravity-sdk-python
Design, implement, and debug autonomous AI agents and multi-agent systems using the Google Antigravity (AGY) SDK.
Tommy-yw/RunbookHermes
Build, test, inspect, install, and deploy MCP servers with FastMCP in Python.
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
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.
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.
Works with
Categories
Guided onboarding wizard for Ouroboros setup. An agent skill from Q00/ouroboros. Setup is an agent skill from Q00/ouroboros.
Setup fits situations like: agent Workflows work in your project.
Run `npx skills add Q00/ouroboros --skill setup -a claude-code`. Or copy the skill folder (skills/setup in Q00/ouroboros) into .claude/skills/setup in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Q00/ouroboros --skill setup -a codex`. Or copy the skill folder (skills/setup in Q00/ouroboros) into .agents/skills/setup 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 setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/setup, .gemini/skills/setup, .github/skills/setup and .opencode/skills/setup in your project.
Going by SKILL.md and its folder, Setup needs the command-line tools its instructions call (uv, uvx, pipx, python, pip and python3). Our summary lists: Python 3.
SKILL.md names 1 domain. In commands or code: astral.sh; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pipes a well-known installer script into a shell; runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Setup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.9k tokens (SKILL.md is roughly 24k 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 Setup: MCP Server Builder (anthropics/skills, 180k stars), MCP Server Builder (shareAI-lab/learn-claude-code, 78k stars), Fastmcp Client CLI (PrefectHQ/fastmcp, 28k stars) and MemPalace Setup and Operation (MemPalace/mempalace, 59k 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.