config
Adjust Skill Autopilot settings — mute it, change aggressiveness (teaching/normal/quiet), switch guidance language (en/zh), or…
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".
Claude Code
$ npx -y skills add WinterDDo/claude-code-skill-autopilot --skill doctor --agent claude-code
Codex
$ npx skills add WinterDDo/claude-code-skill-autopilot --skill doctor -a codex -y
Cursor
$ npx skills add WinterDDo/claude-code-skill-autopilot --skill doctor -a cursor -y
Gemini CLI
$ npx skills add WinterDDo/claude-code-skill-autopilot --skill doctor -a gemini-cli -y
GitHub Copilot
$ npx skills add WinterDDo/claude-code-skill-autopilot --skill doctor -a github-copilot -y
OpenCode
$ npx skills add WinterDDo/claude-code-skill-autopilot --skill doctor -a opencode -y
Windsurf
$ npx skills add WinterDDo/claude-code-skill-autopilot --skill doctor -a windsurf -y
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".
Two independent checks. Report both, then a one-line verdict.
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.
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.
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
EOFReport 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.
Use the skills you've installed — not just the ones you remember. You install skills to extend Claude Code — then forget which ones you have, or when they fit.
Adjust Skill Autopilot settings — mute it, change aggressiveness (teaching/normal/quiet), switch guidance language (en/zh), or…
Distill Skill Autopilot's accumulated usage evidence into personalized rules — the self-evolution step. Use when the autopilot…
Show the Skill Autopilot dashboard — what it did for you, before/after comparison, learned rules with evidence, mastered…
Guided first tour of Skill Autopilot — see auto plan mode happen, learn the 4 habit commands (/clear, /btw, /rewind, plan mode),…
Explain what's newly possible — new Claude Code commands after a knowledge-base update, and installed-but-never-used skills. Use…
Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…
Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…