At a glance
What it does
An interactive setup wizard for configuring Ouroboros development workflows in Claude Code, with CLI guidance for other runtimes.
Before you choose it
Use this skill in a Claude Code session to check Python and runtime prerequisites, explain the Claude/MCP profile boundary, optionally add an Ouroboros command reference to CLAUDE.md, verify bundled skills and agents, and scan local repositories for brownfield interview context. It also documents separate terminal commands for Codex and GitHub Copilot CLI users.
Best for
Developers adopting Ouroboros in Claude Code, or preparing its CLI-based setup in Codex or GitHub Copilot CLI.
Common tasks
- Configure an Ouroboros runtime after checking Python 3.12+ and package-runner availability.
- Optionally add a backed-up Ouroboros quick reference to a project CLAUDE.md.
- Register local Git repositories as optional context for future interviews.
- Set up a GitHub Copilot CLI runtime and MCP registration through the documented CLI path.
Permissions and data
The guided flow inspects local tooling and can update local Ouroboros files; some steps are optional.
Permissions- Check installed Python, uvx, Claude CLI, repository directories, skills, and bundled agent files.
- Create or update ~/.ouroboros/prefs.json and runtime configuration.
- Optionally back up and append an Ouroboros reference block to a project's CLAUDE.md.
- Optionally register locally discovered Git repositories as brownfield context.
- Reads local environment and repository metadata during setup.
- Preserves existing preference keys when updating the star prompt state.
- Optional GitHub API request to star the Ouroboros repository through gh.
- GitHub Copilot model discovery may use gh auth token.
- The instructions list package-manager and vendor installation options for uv.
- GitHub authentication is needed only for the optional star action and Copilot model discovery.
Limitations
- This skill is designed to run inside Claude Code; Codex and other runtimes are directed to use the Ouroboros CLI instead.
- It requires Python 3.12+ or uv as a fallback runtime.
- It intentionally does not create, update, or remove ~/.claude/mcp.json.
- Its optional CLAUDE.md integration changes project documentation and creates a CLAUDE.md.bak backup.
What DSHub checked
- A complete setup skill document is pinned to commit 03714ba446186423dcb46e25d12bd19c3a2e82f6.
- The supplied source checks mark the pinned skill document and immutable source as passing.
- The repository license is MIT.
What DSHub did not check
- DSHub did not run the wizard, install dependencies, or validate setup on a local machine.
- No Harness version range is declared in the supplied evidence.
Pinned install
Primary action
This standalone skill does not have a DSH Plugin install action. Use its source documentation for the delivery method.
Maintainer source
Skill instructions
name: setup description: "Guided onboarding wizard for Ouroboros setup"
/ouroboros:setup
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.
Usage
ooo setup
/ouroboros:setup
/ouroboros:setup --uninstall
Note: 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.
Setup Wizard Flow
When the user invokes this skill, guide them through an enhanced 6-step wizard with progressive disclosure and celebration checkpoints.
Python Runtime (Required)
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() {
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 -->Step 0: Welcome & Motivation (The Hook)
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!
Step 0.5: Community Support
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
}]
}
- Star on GitHub: Run
gh api -X PUT /user/starred/Q00/ouroboros, then merge{"star_asked": true}into~/.ouroboros/prefs.json - Skip for now: Merge
{"star_asked": true}into~/.ouroboros/prefs.json - Other: Merge
{"star_asked": true}into~/.ouroboros/prefs.json
Create ~/.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')
PY
If star_asked is already true, skip this step silently.
Step 1: Environment Detection
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/null
For 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 setup
IMPORTANT: 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 setup
Celebration Checkpoint 1:
Great news! You're ready for the full Ouroboros experience.
Step 2: MCP Profile Boundary
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-free
Step 3: CLAUDE.md Integration (Optional)
Ask 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.53.0 -->
# 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:
- Backup existing CLAUDE.md to CLAUDE.md.bak
- Append the block above
- Confirm successful integration
Celebration Checkpoint 3:
CLAUDE.md updated! You now have instant Ouroboros reference
available in every project.
Step 4: Quick Verification
Run verification with visual feedback:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Verifying Setup...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Check skills are loadable:
ls skills/ | wc -l # Should show 12+ skills
Check agents are available:
ls src/ouroboros/agents/*.md | wc -l # Should show 20+ bundled agents
Confirm 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.
Step 5: Success Summary
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/ouroboros
Step 5.1: Model Choice (Claude Code)
Before 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
}]
}
- 바로 시작하기: Continue to Step 5.5.
- 직접 모델 설정하기: Read and follow
../config/SKILL.md. In the local Claude Code harness, it opens the same settings UI in the user's browser at a temporarylocalhostaddress. They can reopen it any time withooo config; this choice never permanently locks a model.
Step 5.5: Brownfield Repository Scan
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.
- Load the brownfield MCP tool:
tool discovery query: "+ouroboros brownfield" - Call scan+register:
This walksTool: ouroboros_brownfield Arguments: { "action": "scan" }scan_rootup 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:
- The filesystem walk starts at
scan_root; when omitted,scan_rootdefaults to the current user's home directory. - Repositories are discovered directly by walking directories inside
scan_root, at most two levels deep. - Dot-prefixed directories and known noisy directories such as
node_modulesare not walked as seed locations. - Both normal repos with a
.gitdirectory and linked worktrees with a.gitfile are registered when the walk reaches them. - Git worktree families are not expanded. A worktree is registered only when the depth-bounded walk finds it directly.
- Local repos, repos without remotes, and repos whose remotes are not named
originare 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-hotel
Include * 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:
- Numbers (any separator) → those indices
- "keep" (defaults exist) → skip the MCP call, confirm defaults unchanged, proceed to Step 6
- "none" → empty indices (clear all)
- Anything else → ask again in plain text; do not guess
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.
Step 6: First Project Nudge
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!
Progressive Disclosure Schedule
Reveal features gradually to avoid overwhelm:
Immediate (Plugin Mode)
ooo interview- Socratic clarificationooo seed- Specification generationooo unstuck- Lateral thinking
After a Supported MCP Host Setup
ooo run- TUI executionooo evaluate- 3-stage verificationooo status- Drift tracking
Power User (Discover organically)
- Evolutionary loop and ralph persistence
- Cost prediction and optimization
- Session replay and debugging
- Custom agents and skills
Uninstall
When 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:
- Leave
~/.claude/mcp.jsonuntouched - Remove
<!-- ooo:START -->to<!-- ooo:END -->block from CLAUDE.md (if exists) - Confirm: "Ouroboros plugin configuration removed. To remove plugin files, run: claude plugin uninstall ouroboros"
Setup Troubleshooting
"No compatible Python found"
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/downloads
"uvx: command not found"
uvx 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.
"~/.claude/mcp.json conflicts"
Ouroboros will merge with existing MCP servers.
If you see issues, share your ~/.claude/mcp.json content and
we'll help you resolve conflicts.
Conversion Metrics Track
Track these checkpoints for conversion optimization:
- Started setup (skill invoked)
- Environment detected successfully
- MCP/Claude profile boundary explained
- CLAUDE.md integration accepted
- Verification passed
- Brownfield repos scanned and registered
- Default brownfield repo selected
- First project started (ooo interview)
- First seed generated (ooo seed)
- First execution completed (ooo run)
A fully converted user = all checkpoints passed
RFC #1392 State Breadcrumb Footer
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.
Operate deliberately
Install and manage
Prerequisites and target Profile
Target: Claude Code Profile
Delivery: Skill Files — https://raw.githubusercontent.com/Q00/ouroboros/03714ba446186423dcb46e25d12bd19c3a2e82f6/skills/setup/SKILL.md。
Compatibility and access
Claude Code skill; CLI setup guidance is included for Codex and Copilot: Not declared in supplied evidence。
Review compatibility evidence ↗
Risk facts
The wizard can write Ouroboros preferences/configuration and optionally back up and modify a project's CLAUDE.md.
Evidence ↗If the user chooses to star the repository, it uses the authenticated GitHub CLI; Copilot setup can query GitHub's model API.
Evidence ↗Evidence and editorial reviewManifest, Bundle patch, distribution and freshness
Immutable evidence
Review status and source activity
Approved for publication after reviewing the source-linked content and immutable release record. AI assisted with the draft; the publication decision was human.
Human reviewed Sep 5, 2026, 5:20 PM UTC。GitHub facts last checked Sep 5, 2026, 4:31 PM UTC。
No material source change has been recorded since this evidence baseline.