Skip to content
Back to skills

Config

ASecurity

Open or drive the Ouroboros settings GUI (browser, TUI, or conversational fallback)

  • 6,185 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added August 31, 2026
ai-agentspythonbashbackend

Works with

  • claude code
  • cli
  • mcp

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned October 1, 2026

npx -y skills add Q00/ouroboros --skill config --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Config?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Config
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/q00-config/badge)](https://www.skillsdirectory.com/skills/q00-config)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ouroboros-config
description: "Open or drive the Ouroboros settings GUI (browser, TUI, or conversational fallback)"
---

# /ouroboros:ouroboros-config

Settings for `~/.ouroboros/config.yaml`: per-stage runtime/model selects,
global runtime + LLM backend, install badges for missing CLIs, and
env-override warnings.

## Usage

```
ooo config
/ouroboros:ouroboros-config
```

**Trigger keywords:** "ooo config", "open settings", "configure ouroboros", "change model", "change agent"

## Instructions

Pick the branch that matches where you (the agent) are running. The decisive
question: **can the user open a browser pointed at this machine?**

### Branch A — local harness (Claude Code / Codex on the user's own machine)

1. Launch in the background (the command serves until stopped):

   ```bash
   if command -v ouroboros >/dev/null 2>&1; then
     ouroboros config
   else
     uvx --python '>=3.12' --from 'ouroboros-ai[tui]' ouroboros config
   fi
   ```

   The command detects the non-interactive context itself and serves the
   settings app over a local web server, auto-opening the user's browser. The
   `uvx` fallback is required for a Marketplace-plugin-only install, where the
   MCP server exists but `ouroboros` is not on `PATH`. In a development
   checkout use `uv run ouroboros config`.

2. Relay the `http://localhost:<port>` line from the output so the user can
   open it manually if the browser did not pop up.

3. Tell the user: edit → Save → then ask you to stop the server. Remind them
   a running MCP server may need a reconnect to pick up backend changes. Tell
   them they can reopen these settings any time with `ooo config`; saving a
   model choice never locks it permanently.

### Branch B — remote host the user can reach over the network (SSH box, home server)

The user cannot see a browser opened *here*, but may be able to reach this
host. Serve without auto-open and hand over the URL:

```bash
ouroboros config --web --host 0.0.0.0 --no-browser
```

Relay the printed URL with this host's address substituted, plus the SSH
tunnel fallback the command prints
(`ssh -L <port>:localhost:<port> <this-host>`).

### Branch C — chat gateway, no browser path at all (e.g. hermes driven from Discord)

Do NOT start a server nobody can reach. Drive the same settings
conversationally over the scriptable surface:

1. Show the current state:

   ```bash
   ouroboros config show
   ```

2. Present the user a short menu in chat (default agent, per-stage agents,
   and models: `auto`, a tier, or a model id for every role) with the current
   values, and ask what to change.

3. Apply each choice with the validated setter (same write path as the GUI):

   ```bash
   ouroboros config set orchestrator.runtime_backend <agent>
   ouroboros config set orchestrator.runtime_profile.stages.<interview|execute|evaluate|reflect> <agent>
   ouroboros config set models.default <auto|frugal|standard|frontier|model>  # every role
   ouroboros config set models.pin true                            # run the per-role ids below
   ouroboros config set clarification.default_model <model>        # interview & seed
   ouroboros config set execution.default_model <model>            # execute
   ouroboros config set evaluation.semantic_model <model>          # evaluate
   ouroboros config set resilience.reflect_model <model>           # reflect
   ouroboros config set llm.backend <backend>                      # internal LLM calls
   ```

4. Confirm with `ouroboros config show` and summarize what changed.

If a `set` is rejected, relay the validation error verbatim — it lists the
valid keys/values.

### All branches

If the command fails with a missing-dependency hint, relay it verbatim
(`pip install 'ouroboros-ai[tui]'`). Scriptable edits always remain on
`ouroboros config show|set|backend|init|validate`.

End your final message with the state breadcrumb footer (RFC #1392), e.g.:

```
◆ Settings GUI serving at <url> → next: Save in browser, then stop the server
◆ Config updated via chat (<keys>) → next: reconnect MCP if the backend changed
```

## 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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.