skills/qsd-doctor/SKILL.md
Validate qsd installation health — checkpoint schemas, LATEST.json, settings.json hook matchers, no-symlink discipline, hook log tail, intel manifest. Run before/after long-session work or any time `/qsd-resume` feels off.
npx skillsauth add thecomputer07/qsd qsd-doctorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Runs a battery of sanity checks over .planning/ artifacts and the installed
qsd fork. Exits 0 on PASS (WARNs allowed), non-zero on FAIL.
Delegate the full check to the qsd CLI — the skill itself stays side-effect-free:
MSYS_NO_PATHCONV=1 node "$HOME/.claude/qsd/bin/qsd-tools.cjs" doctor
The CLI performs eight checks and prints one line per result plus a final summary:
| Check | What it validates |
|----------------------|-----------------------------------------------------------------------|
| checkpoints | Every .planning/checkpoints/*.md has valid frontmatter, supported schema_version. |
| latest.json | Per-branch .planning/checkpoints/<branch>/LATEST.json exists, parseable, required fields present (legacy root-level file also validated if present). |
| settings.hooks | Every qsd hook matcher in ~/.claude/settings.json is the literal Task\|Agent — never * or Bash. Event-only hooks (UserPromptSubmit, SessionStart) may omit matcher. |
| no-symlink | No fs.symlink(Sync) calls anywhere under ~/.claude/qsd/bin/ (Windows-restricted, JANITOR-03). |
| hook-log | Tails last 20 lines of .planning/logs/qsd-hooks.log; flags non-zero-exit entries (P18). |
| intel-manifest | .planning/intel/.intel-manifest.json parseable if present (forward-compat Phase 3). |
| checkpoint-bloat | WARN if any branch has more than 40 un-pruned .md checkpoints (P22). Doctor never auto-prunes — run qsd checkpoint prune --branch <slug> manually. |
| policy-drift | FAIL if any file under ~/.claude/qsd/bin/ contains a real code reference to api.anthropic.com, @anthropic-ai/sdk, or require("anthropic") (P20 kill-switch; 06.2.4). Comments are ignored. |
0 — overall PASS (WARNs allowed — e.g., log tail had non-zero exits).1 — at least one FAIL (offending hook matcher, corrupt checkpoint, forbidden symlink, …).MSYS_NO_PATHCONV=1 for Windows Git-Bash safety (WIN-05).
Forward slashes inside quoted paths only (P9).
Read-only: the doctor never writes to .planning/ or ~/.claude/.
To test a candidate settings.json without installing it:
MSYS_NO_PATHCONV=1 node "$HOME/.claude/qsd/bin/qsd-tools.cjs" doctor --settings ./candidate-settings.json
tools
Manage parallel workstreams — list, create, switch, status, progress, complete, and resume
testing
Validate built features through conversational UAT
testing
Retroactively audit and fill Nyquist validation gaps for a completed phase
testing
Update qsd to latest version with changelog display