Skip to main content

status

Daily fleet picture — one row per instance, with HEALTH and LIVENESS as two independent verdicts Arguments: [selector] [--deep] [--json].

Source facts

Repository
Agents-Store/codex-plugins
Last source activity
November 1, 2026 at 02:46
Detected SKILL.md language
English
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
status
description
Daily fleet picture — one row per instance, with HEALTH and LIVENESS as two independent verdicts Arguments: [selector] [--deep] [--json].
# Fleet status Read-only, always: no mutation, no restart, and never `models status --probe`, which needs a stopped gateway and is a mutation wearing the word status. Parse `[selector] [--deep] [--json]` from "$ARGUMENTS"; an empty selector means every managed instance. Selector grammar lives in `${CLAUDE_PLUGIN_ROOT}/skills/fleet-model/SKILL.md`. ## Fast path — seconds, the one you run daily ```bash python3 "${CLAUDE_PLUGIN_ROOT}/scripts/fleet.py" resolve "<selector>" --table ``` Columns `NAME STATE PROFILE ROLE MANAGED PORT VERSION HEALTH LOG-AGE NOTE`. Here HEALTH is the container's own verdict and LOG-AGE is the only liveness evidence available cheaply. A green HEALTH beside a LOG-AGE of days is the zombie signature — that pair is the reason to run `--deep`, not a rendering artefact to explain away. ## Deep path — `--deep` ```bash python3 "${CLAUDE_PLUGIN_ROOT}/scripts/healthcheck.py" "<selector>" --table --snapshot ``` Several in-container reads per instance, so run it on purpose, not by reflex. `--snapshot` persists the run (mode 0600) so the next one can show a delta. Exit codes: 0 clean · 5 at least one error finding · 6 warnings only · 1/2/3/4 runtime, config, refused selector, empty selector. ## Reading the two verdicts They are computed from disjoint evidence, and **the disagreement is the result**: HEALTH is what the instance says about itself, LIVENESS what an outside observer sees it do. Which signal answers what, and what each one is blind to, is the "Health is not liveness" table in the `fleet-diagnostics` skill. `HEALTH ok` + `LIVENESS stale` is `fleet.liveness.zombie`. `HEALTH degraded` + `LIVENESS active` is a subsystem down under a gateway still working — usually auth or memory. Both green with a `warn` finding still means someone has to read the finding. ## Under every finding, print the repair line The battery emits `{id, severity, instance, evidence}`, severity being one of `critical` `high` `warn` `info` — the same four names the findings catalog uses. Print each non-info finding as one line and put the ready-to-run funnel call directly beneath it: ``` /openclaw-ops:repair <instance> --issue <finding-id> ``` The id is the one the battery emitted. That funnel is the only repair entry point, and an id with no row in `fleet-diagnostics/references/findings-catalog.md` is not repairable yet — it needs a catalog row with its documentation citation first. Do not improvise a fix here, and never append `--yes` to a line you just printed. ## `--json` Pass `--json` straight through to whichever script ran and hand back the envelope unedited — it is already scrubbed, and re-serialising it by hand is how a value leaks back in. Fields are the instance record from `fleet-model`; findings carry the delta-stable `finding_id` (`<instance>/<id>`). ## When the table is not the answer Symptom without an id → skill `fleet-diagnostics`. Whole-fleet sweep with priorities → `/openclaw-ops:audit`. One instance's raw log → `/openclaw-ops:logs <name>`. Version drift across rows → skill `instance-upgrade`.
View on GitHub