Skip to content
Development
Command

/doctor

Verify the active host install, package, command ownership, enforcement{{IF:pi}}, wrapper self-test, and active-dispatch coverage gap{{ELSE}}, and harmless live-fire probe{{END}}. Read-only.

From plugin
codearbiter
15338 skills20 agents38 commands
> /plugin marketplace add arbiterForge/codeArbiter

Command definition

doctor.md
description: Verify the active host install, package, command ownership, enforcement{{IF:pi}}, wrapper self-test, and active-dispatch coverage gap{{ELSE}}, and harmless live-fire probe{{END}}. Read-only.
argument-hint: (none)

{{CMD:doctor}} — install health

Silent dormancy is the worst failure shape this plugin has: the gates look installed but never fire. This command proves the active host is healthy and reports every non-OK finding with an exact remediation.

Flow

{{IF:claude}} 1. Resolve the interpreter once by presence — `PY=python3; { command -v python3 >/dev/null 2>&1 && python3 --version >/dev/null 2>&1; } || PY=python` — never `python3 X || python X`, which reruns X on any nonzero exit and reports the second run's code instead of the first's (#577). Run `"$PY" "{{PLUGIN_ROOT}}/hooks/doctor.py"` and present its report verbatim. 2. In an arbiter-enabled repo, attempt `git add --all --dry-run` via Bash. `[H-03]` means hooks are firing; execution means **CRITICAL: gates dormant**. {{END}}

The mechanical report also invokes the installation-pinned artifact client's `capabilities` operation. When the repository contains an HTML authority, it performs a bounded catalog read to surface invalid or ambiguous artifacts. It MUST NOT load the artifact schema, search `PATH`, use a repository binary, mutate an artifact, or silently fall back to Markdown. Its executing-adapter identity comes from the already admitted plugin root. The observed adapter manifest version is separate from the native helper manifest's declared version and the native executable digest verified by the on-demand capability probe. A newer cached sibling is not the executing version. Missing or malformed identity data is reported as unknown; it never grants package trust.

  • `CAPABILITY_MISSING` or another installation identity failure is unhealthy: report “repair or

reinstall the pinned artifact payload; HTML work is blocked.” Unrelated legacy Markdown remains usable.

  • An invalid HTML artifact is unhealthy: preserve the bounded engine code and direct the user to

inspect `repair-preview` before any explicit reviewed repair. {{IF:codex}} 1. Resolve the plugin root from this loaded skill path, then run its `hooks/doctor.py` with Python 3 and present the report verbatim. Do not try an empty plugin-root environment variable first. 2. In an arbiter-enabled repo, attempt `git add --all --dry-run` via the shell tool. `[H-03]` means hooks are firing; execution means **CRITICAL: gates dormant**. {{END}} {{IF:pi}} 1. The `/ca-doctor` alias has already run the extension's structured Pi doctor report before sending this generated skill. Present the `<codearbiter-doctor-report>` block below verbatim. 2. The report inspects, without granting trust: active Git package origin/version, exact Pi CLI and module package identity, stable Pi/Node/Python support, shared-core and bridge paths, command and native-equivalent skill-expansion ownership, child/ambient-marker state, and final wrapper sources. 3. Its `wrapper-self-test` row submits only `git add --all --dry-run` directly to the stored governed Pi bash wrapper. The exact shared-core `[H-03]` block is healthy and cannot stage files; execution or a different block is unhealthy. This self-test does not traverse Pi's active dispatcher. Do not rerun or respell it. 4. Its `active-dispatch` row remains degraded because supported Pi 1.5.0 public extension APIs cannot submit that deterministic call through the active dispatcher. PI-AC-28 remains blocked until supported-version real-host promotion/CI evidence closes the gap. 5. Resolve Python once, run `{{PLUGIN_ROOT}}/hooks/doctor.py`, and present its mechanical report verbatim. This is the on-demand artifact-capability and repository-artifact check; it is separate from the wrapper self-test and must not be respelled into an active-dispatch claim. {{END}}

Remediation ladder

{{IF:claude}} 1. Restart Claude Code so hooks register at session start. 2. Uninstall and reinstall `ca`; an unchanged marketplace version can preserve stale cache bytes. {{END}} {{IF:codex}} 1. Restart Codex so hooks register at session start. 2. Remove and re-add `ca-codex@codearbiter`, then approve the changed hook set in `/hooks`. {{END}} {{IF:pi}} 1. Restart Pi so package resources and final wrappers register in one fresh process. 2. Reinstall `ca-pi` from the approved pinned Git tag. For project-local packages, inspect `/trust` and grant trust only if you accept that source; codeArbiter never grants it. {{END}} 3. If dormancy was intended, `{{CMD:init}}` opts the repository in.

When NOT to use

{{IF:claude}}

  • Statusline wiring only → `{{CMD:statusline}} status`.

{{END}}

  • Scaffold state only → `{{CMD:init}} --check`.
  • Project progress, not install health → `{{CMD:status}}`.

Hard gate

Read-only. MUST NOT create markers, stage files, grant trust, weaken a block, or {{IF:pi}}retry the wrapper self-test with different spelling. MUST preserve the degraded active-dispatch diagnosis until supported-version real-host promotion/CI evidence closes PI-AC-28.{{ELSE}}retry the live-fire probe with different spelling. MUST surface a failed probe as CRITICAL, never as a footnote.{{END}}

For an arbiter-enabled repository, the mechanical report treats the Git backstop as healthy only after exact managed-shim and live-enforcer validation, plus a harmless selected-Git `git hook run pre-push` probe with empty input. It never executes a foreign hook.

Read more
@arbiterforge
Ships withcodearbiter

Open-source governance and hard gates for AI coding agents across Claude Code, Codex CLI, and Pi.

15356 skills20 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
153
Star history of arbiterForge/codeArbiter on GitHub, a chart by star-history.com

Other commands on codearbiter.

add-dep

add-dep

Command

Vet a new or changed third-party dependency for license, provenance, and supply-chain risk before any install runs.

audit

audit

Command

Assemble the governance record for a range — commits, overrides, ADRs, sprint auto-decisions, open questions, checkpoint findings…

chore

chore

Command

Sanctioned lane for non-behavioral work — docs-only edits, dependency bumps, reverts. Type-scaled gates; no TDD demanded of prose.

More commands from other plugins.

build
Auto-invoked

build

Command

Implement tasks incrementally — build, test, verify, commit. Add "auto" to run the whole plan in one approved pass.

@addyosmani@addyosmaniInstall Command