crew-doctor · git:20260924.a457823 · 2026-09-24 · sha256 67bf96aca5574195
crew-doctor git:20260924.a457823A
Immutable. This exact content never changes and is served at /api/v1/blob/67bf96aca5574195.
--- name: crew-doctor description: Health-check the installed kit — hooks executable, core.hooksPath set, gates wired, discipline loaded. metadata: kind: command --- # /crew-doctor Verify the kit is actually *active* in this project (not just present on disk): 1. Run `bash .claude/eval/doctor.sh`. 2. Read its report. It checks: VERSION present · every hook executable · the required git hooks (pre-commit, commit-msg) present · **guard-bash actually blocks a force-push** (catches a hook that is present but neutered) · `core.hooksPath` points at `.claude/hooks` (else the §4.1/§4.2 commit trace + secret/bloat scan never runs) · `settings.json` valid and wiring the PreToolUse / UserPromptSubmit / Stop gates to **non-empty** hook arrays (an empty `[]` wires nothing); SessionStart (rehydration) is reported as a warning if absent · **`./CLAUDE.md` actually imports `.claude/DISCIPLINE.md`** — without that line the discipline sits on disk and never loads, which every other check is blind to. 3. For each ❌, apply the printed fix. Anything that changes git config or file permissions needs approval first — show the exact command and wait. 4. Read the **Readiness** block too. It is advisory (never changes the verdict) and asks a different question — is this *project* set up to be worked on by agents: CLAUDE.md project section filled in · a project-specific skill alongside the kit's generic ones · a devcontainer to sandbox agent commands · an MCP server · CLAUDE.md not drifted behind the code. Report the gaps as suggestions, not as failures, and never "fix" them unasked — adding a devcontainer or an MCP server is the user's call. 5. Summarise: **healthy**, or the precise fixes applied/needed, plus the readiness score. If it's not a git repo, note that the commit-time gates need `git init` + `git config core.hooksPath .claude/hooks`. If the output contains a line starting with ⭐, pass it to the user verbatim as the LAST line of your summary — it prints once per kit version, and it is meant for the user, not for you. If `.claude/eval/doctor.sh` doesn't exist, this is not a full (start.sh / adopt.sh) install — the kit is likely running as a **plugin**, whose hooks are managed by Claude Code itself; there's nothing for the doctor to check. **The eval scripts are installer-only, by decision.** `eval/` — `doctor.sh`, `smoke-test.sh`, `routing-eval.sh`, `scan-skill.sh`, `utilization.sh` — ships with `start.sh` and `adopt.sh` and NOT with the plugin edition. The eval scripts are developer instruments: they inspect an installation from outside it, and the plugin edition has no installation to inspect. Say this plainly when someone asks why `/crew-doctor` reports nothing on a plugin install, rather than treating it as a defect. The Studio panel ships in both editions (`/crew-studio`).