Skip to content
Back to skills

Doctor

ASecurity

Diagnose whether Skill Autopilot's hooks are actually firing and config is valid. Use when the autopilot seems inactive, suggestions never appear, after install or update to verify setup, or the user says "autopilot不工作", "check autopilot", "autopilot broken".

  • 6 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 6, 2026
ai-agentspython

Works with

  • claude code
  • cli

Security analysis

A100/100

Scanned September 6, 2026

npx -y skills add WinterDDo/claude-code-command-autopilot --skill doctor --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Doctor?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Doctor
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/winterddo-doctor-claude-code-skill-autopilot/badge)](https://www.skillsdirectory.com/skills/winterddo-doctor-claude-code-skill-autopilot)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: doctor
description: Diagnose whether Skill Autopilot's hooks are actually firing and config is valid. Use when the autopilot seems inactive, suggestions never appear, after install or update to verify setup, or the user says "autopilot不工作", "check autopilot", "autopilot broken".
---

# Autopilot health check

Two independent checks. Report both, then a one-line verdict.

## Check 1 — self report (only the model can confirm this)
State plainly, first: did the CURRENT prompt's context contain a block starting with `[AUTOPILOT]`? Yes or no. If yes, injection reaches the model — the core product works.

## Check 2 — the canary
Run:

```
sh "${CLAUDE_PLUGIN_ROOT}/hooks/run.sh" doctor-noop 2>/dev/null; python3 "${CLAUDE_PLUGIN_ROOT}/scripts/doctor.py" "$HOME/.claude/command-autopilot" "<current session id if known>"
```



Read the output. Key line is `router canary`: if it shows THIS session, the hook fired end-to-end. If it says NEVER FIRED, tell the user to restart Claude Code (hooks load at startup) and run this skill again.

## Check 3 — skills surfacing (read-only; the Skills Autopilot layer)
Report what the skill layer sees and has done. All read-only, no writes:

```
python3 - <<'EOF'
import json, os
d = os.path.expanduser("~/.claude/command-autopilot")
try:
    idx = json.load(open(d + "/skills-index.json")); b = idx.get("budget", {})
    print("skills indexed:", len(idx.get("skills", [])),
          "| parked (native can't auto-fire these):", b.get("parked_count"),
          "| over native budget:", b.get("over_budget"))
except Exception:
    print("no skills index yet — restart Claude Code so SessionStart builds it")
try:
    s = json.load(open(d + "/state.json")); w = s.get("counters", {}).get("wake", {})
    f = lambda k: sum(v.get(k, 0) for v in w.values())
    print("wake popups — shown:", f("shown"), "accepted:", f("accepted"), "declined:", f("declined"))
except Exception:
    pass
EOF
```

Report in one line: N skills installed, M parked (invisible to native — the ones the autopilot uniquely surfaces), and the wake shown/accepted tally. If `shown` is still 0 after real use, surfacing isn't firing yet — say so honestly; the real ledger is the judge, not assumptions.

## Verdict
- Both pass → "Autopilot is healthy." Show the config line so the user sees their current mode.
- Check 1 fails but files look fine → restart needed, or another hook is crowding the context; suggest restart first.
- Python missing in check 2 → explain stateless mode honestly: core rules still work, learning and evidence are paused until Python 3.8+ is installed.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.