update
Q00/ouroboros/skills/update/SKILL.md
Check for updates and upgrade Ouroboros to the latest version
Skill6.1k starsChanged 2 months ago
---
name: update
description: "Check for updates and upgrade Ouroboros to the latest version"
---
# /ouroboros:update
Check for updates and upgrade Ouroboros without changing the installation's
manager, environment, or optional-dependency profile.
## Usage
```
ooo update
/ouroboros:update
```
**Trigger keywords:** "ooo update", "update ouroboros", "upgrade ouroboros"
## Instructions
When the user invokes this skill:
1. Use the native command as the single source of truth:
```bash
ouroboros update --check
```
- If it reports **up to date**, report that result and stop.
- If it reports an **update available**, ask the user to choose **Update
now** or **Skip**.
- If the user chooses **Update now**, run:
```bash
ouroboros update --yes
```
When the user actively uses both Claude Code and Codex, refresh both host
integrations without changing the configured execution backend:
```bash
ouroboros update --yes --runtime all
```
Show the command's result. The native updater binds the package upgrade and
post-update setup to one receipt-backed installation identity: manager,
environment, recorded profile, and environment-local console script.
2. If the check exits unsuccessfully but `ouroboros update --help` works,
report the native error and stop. **Do not** replace it with a manual
updater. In particular, do not infer ownership from global `uv tool list`,
`pipx list`, PATH order, directory names, or the active agent runtime.
3. If `ouroboros update --help` does not work, this is a legacy installation
that predates the receipt-bound updater. Fail closed:
- A read-only `ouroboros --version` check is allowed.
- Explain that the old skill cannot prove the original manager,
environment, and extras/profile, so it will not mutate the installation.
- Ask the user to rerun the exact original install command (including its
`ouroboros-ai[...]` extras and custom manager root) to reach a version
with the native updater.
- If the user does not know that identity, recommend a fresh isolated
install rather than guessing.
- Do not run package upgrades, plugin refreshes, or setup commands from this
legacy path.
4. After a successful update, relay the runtime-specific restart guidance from
the native command. If project instruction content also needs regeneration,
suggest `ooo setup`; do not edit project instruction files as part of the
package update.
## Safety contract
- PyPI is the version source of truth; fully yanked releases are excluded.
- `uv` and `pipx` upgrades replay the running environment's local receipt,
preserving base, `[tui]`, `[mcp,tui]`, `[claude,tui]`, `[all]`, and
other recorded profiles.
- The Claude SDK and MCP 2 profiles are never combined or substituted.
- Missing or ambiguous installation identity is a non-mutating error.
- Automatic runtime refresh preserves the configured backend and the existing
OpenCode `plugin`/`subprocess` topology instead of inferring a replacement
from PATH.
- Runtime executable identity follows the supported environment override,
then the persisted `orchestrator.*_cli_path`, then PATH. The chosen exact
executable is validated and reused for plugin/setup refresh so a stale PATH
binary cannot replace an operator-selected runtime.
- `--runtime all` refreshes the Claude and Codex plugin integrations plus
installed runtime artifacts without changing the configured execution
backend. Active Codex sessions still need a restart because Codex does not
currently retain an in-use plugin generation; Claude may use
`/reload-plugins` or restart.
- `ouroboros update` supports `--check`, `--yes`, `--dry-run`,
`--prerelease`, and `--runtime`; see `ouroboros update --help`.
## 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.
Discussion
Did this work in your project? Say what you used it for and what you changed. People and their agents can both post here.
Posts are public.Sign in to post
No one has posted yet. Be the first.

