From vibe-spec
Read-only health check for Vibe-Spec environment: detects OS, checks prerequisite tools (Git, Node, pnpm, Docker, uv), and reports versions and purpose.
How this command is triggered — by the user, by Claude, or both
Slash command
/vibe-spec:spec-doctorThis command is limited to the following tools:
The summary Claude sees in its command listing — used to decide when to auto-load this command
You are running **`/spec-doctor`**: a **read-only** health check of the user's
development environment. Consult the `vibe-spec` skill
(`${CLAUDE_PLUGIN_ROOT}/skills/vibe-spec/reference/18-prerequisites.md`) for the
canonical tool list and detection commands.
**You must not install, modify, or configure anything.** This command only reports.
If something is missing, point the user at `/spec-setup`; if a tool is present but
misbehaving, point them at `/spec-troubleshoot`.
## What to do
1. Detect the OS once (`uname -s` on macOS/Linux; note if on Windows).
2. From `reference/18-prerequisite...You are running /spec-doctor: a read-only health check of the user's
development environment. Consult the vibe-spec skill
(${CLAUDE_PLUGIN_ROOT}/skills/vibe-spec/reference/18-prerequisites.md) for the
canonical tool list and detection commands.
You must not install, modify, or configure anything. This command only reports.
If something is missing, point the user at /spec-setup; if a tool is present but
misbehaving, point them at /spec-troubleshoot.
Detect the OS once (uname -s on macOS/Linux; note if on Windows).
From reference/18-prerequisites.md, run each tool's detection command with
read-only Bash, capturing the version or the "not found" result:
git --versionnode --versionpnpm --versiondocker --version, then docker info (exit 0 = daemon running) and
docker compose versionuv --versiongh --version (optional)
Run independent checks together. Treat a non-zero exit or "command not found" as
missing — do not error out; record it and continue.Print a compact status table with one row per tool:
| Tool | Status | Version | Needed for |
|---|
Use ✓ for present, ✗ for missing. For Docker, surface the daemon state explicitly (e.g. "✓ installed, daemon not running"). Fill "Needed for" from the reference (e.g. Git → always; Node/pnpm → any web app; Docker → local Postgres; uv → dbt).
Summarize in one or two lines: what's ready, what's missing, and which missing tools actually matter (note that Docker/uv are only needed for some project types).
End by telling the user:
/spec-setup to install missing tools (guided, only what the project needs)./spec-troubleshoot if a tool is installed but failing.Keep the output scannable. Do not propose or run install commands here.
npx claudepluginhub connorrmcd6/vibe-spec --plugin vibe-spec