/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:
Use the native command as the single source of truth:
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:
ouroboros update --yes
When the user actively uses both Claude Code and Codex, refresh both host
integrations without changing the configured execution backend:
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.
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.
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.
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.
1---2name: update3description: Check for updates and upgrade Ouroboros to the latest version4---5
6# /ouroboros:update
7
8Check for updates and upgrade Ouroboros without changing the installation's
9manager, environment, or optional-dependency profile.
10
11## Usage
12
13```
14ooo update
15/ouroboros:update
16```
17
18**Trigger keywords:** "ooo update", "update ouroboros", "upgrade ouroboros"
19
20## Instructions
21
22When the user invokes this skill:
23
241. Use the native command as the single source of truth:
25
26 ```bash
27 ouroboros update --check
28 ```
29
30 - If it reports **up to date**, report that result and stop.
31 - If it reports an **update available**, ask the user to choose **Update
32 now** or **Skip**.
33 - If the user chooses **Update now**, run:
34
35 ```bash
36 ouroboros update --yes
37 ```
38
39 When the user actively uses both Claude Code and Codex, refresh both host
40 integrations without changing the configured execution backend:
41
42 ```bash
43 ouroboros update --yes --runtime all
44 ```
45
46 Show the command's result. The native updater binds the package upgrade and
47 post-update setup to one receipt-backed installation identity: manager,
48 environment, recorded profile, and environment-local console script.
49
502. If the check exits unsuccessfully but `ouroboros update --help` works,
51 report the native error and stop. **Do not** replace it with a manual
52 updater. In particular, do not infer ownership from global `uv tool list`,
53 `pipx list`, PATH order, directory names, or the active agent runtime.
54
553. If `ouroboros update --help` does not work, this is a legacy installation
56 that predates the receipt-bound updater. Fail closed:
57
58 - A read-only `ouroboros --version` check is allowed.
59 - Explain that the old skill cannot prove the original manager,
60 environment, and extras/profile, so it will not mutate the installation.
61 - Ask the user to rerun the exact original install command (including its
62 `ouroboros-ai[...]` extras and custom manager root) to reach a version
63 with the native updater.
64 - If the user does not know that identity, recommend a fresh isolated
65 install rather than guessing.
66 - Do not run package upgrades, plugin refreshes, or setup commands from this
67 legacy path.
68
694. After a successful update, relay the runtime-specific restart guidance from
70 the native command. If project instruction content also needs regeneration,
71 suggest `ooo setup`; do not edit project instruction files as part of the
72 package update.
73
74## Safety contract
75
76- PyPI is the version source of truth; fully yanked releases are excluded.
77- `uv` and `pipx` upgrades replay the running environment's local receipt,
78 preserving base, `[tui]`, `[mcp,tui]`, `[claude,tui]`, `[all]`, and
79 other recorded profiles.
80- The Claude SDK and MCP 2 profiles are never combined or substituted.
81- Missing or ambiguous installation identity is a non-mutating error.
82- Automatic runtime refresh preserves the configured backend and the existing
83 OpenCode `plugin`/`subprocess` topology instead of inferring a replacement
84 from PATH.
85- Runtime executable identity follows the supported environment override,
86 then the persisted `orchestrator.*_cli_path`, then PATH. The chosen exact
87 executable is validated and reused for plugin/setup refresh so a stale PATH
88 binary cannot replace an operator-selected runtime.
89- `--runtime all` refreshes the Claude and Codex plugin integrations plus
90 installed runtime artifacts without changing the configured execution
91 backend. Active Codex sessions still need a restart because Codex does not
92 currently retain an in-use plugin generation; Claude may use
93 `/reload-plugins` or restart.
94- `ouroboros update` supports `--check`, `--yes`, `--dry-run`,
95 `--prerelease`, and `--runtime`; see `ouroboros update --help`.
96
97## RFC #1392 State Breadcrumb Footer
98
99Your final response MUST end with exactly one breadcrumb footer line:
100
101```
102◆ <current state> → next: <recommended action>
103```
104
105Derive `<current state>` from live session state via `ouroboros_session_status`
106when that MCP projection is available; otherwise
107derive it from this skill's actual outcome. Never use a linear `Step N of M` footer
108because Ouroboros is an evolutionary loop. When the next action is
109genuinely a choice, list 2-3 honest options in the `next:` clause. The
110breadcrumb line must be the last line of the response.