arbiterforge/codearbiter-ca-doctor
Verify the active host install, package, command ownership, enforcement, wrapper self-test, and active-dispatch coverage gap. Read-only.
npx skills add https://github.com/arbiterForge/codeArbiter --skill ca-doctor
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.
/ca-doctor alias has already run the extension's structured Pi doctor report before sendingthis generated skill. Present the <codearbiter-doctor-report> block below verbatim.
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.
wrapper-self-test row submits only git add --all --dry-run directly to the stored governedPi 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.
active-dispatch row remains degraded because supported Pi 0.80.5/0.80.10 public extensionAPIs 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.
ca-pi from the approved pinned Git tag. For project-local packages, inspect /trustand grant trust only if you accept that source; codeArbiter never grants it.
/ca-init opts the repository in./ca-init --check./ca-status.Read-only. MUST NOT create markers, stage files, grant trust, weaken a block, or 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.
Take arbiterforge/codearbiter-ca-doctor from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.