Doctor
Skill jeremylongshore/claude-code-plugins-plus-skills/skills/.curated/doctor
425 plugins, 2,810 skills, 200 agents for Claude Code. Open-source marketplace at tonsofskills.com with the ccpi CLI package manager.
npx -y skills add jeremylongshore/claude-code-plugins-plus-skills --skill doctorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Diagnose Promptbook setup \u2014 check config, hooks, API key, and session\ \ tracking health. Use when Promptbook seems broken or the user wants to verify\ \ their setup. Trigger with "/doctor" or "check promptbook health".
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
3.7 KB, as published. Nobody here has run it
Promptbook Doctor
Overview
Run diagnostics to verify Promptbook is set up correctly. Checks config, consent, API key validity, and recent session activity. Presents a clear pass/fail report.
Prerequisites
- Promptbook must have been set up via
/setupfirst - Node.js installed (used for config parsing)
- Internet access (for API key verification)
Instructions
Run these checks in order via Bash and report each result.
1. Config file exists
if [ -f "$HOME/.promptbook/config.json" ]; then
echo "CONFIG_FOUND"
# Check permissions — should be 600 for security
stat -f "%Lp" "$HOME/.promptbook/config.json" 2>/dev/null || stat -c "%a" "$HOME/.promptbook/config.json" 2>/dev/null
# Check required fields exist (without displaying values)
node -e "const c=JSON.parse(require('fs').readFileSync('$HOME/.promptbook/config.json','utf8'));console.log('has_api_key:',!!c.api_key);console.log('has_api_url:',!!c.api_url);console.log('auto_summary:',c.auto_summary);console.log('telemetry_consent:',c.telemetry_consent===true)"
else
echo "NO_CONFIG"
fi
If no config file found or telemetry_consent is false: tell the user to run /setup first.
2. API key is valid
Test the API key without displaying it:
API_KEY=$(node -e "console.log(JSON.parse(require('fs').readFileSync('$HOME/.promptbook/config.json','utf8')).api_key)")
curl -sL -o /dev/null -w "%{http_code}" -X POST "https://promptbook.gg/api/auth/verify-setup" \
-H "Authorization: Bearer $API_KEY"
- 200 = valid and verified
- 401 = invalid key — suggest running
/setupagain - Other = network issue — suggest checking connectivity
3. Last session activity
Check for recent session data files to verify hooks are firing:
ls -lt ~/.promptbook/sessions/ 2>/dev/null | head -5
If no session files found: hooks may not be firing. Suggest starting a new Claude Code session.
Output
Present results as a clear diagnostic report:
Promptbook Doctor
─────────────────
✓ Config: Found (~/.promptbook/config.json)
✓ Consent: Granted during setup
✓ API Key: Valid and verified
✓ Activity: Last session 2 hours ago
Use ✓ for passing checks, ✗ for failures, ⚠ for warnings.
Error Handling
- If config file is missing, report
✗ Configand direct user to/setup - If consent is false, report
✗ Consentand direct user to/setup - If API key returns 401, report
✗ API Keyand suggest re-running/setup - If no session files exist, report
⚠ Activityand suggest starting a new session - Never display the API key in the report
Examples
User: /doctor
Agent: Promptbook Doctor
─────────────────
✓ Config: Found (~/.promptbook/config.json), permissions 600
✓ Consent: Granted during setup
✓ API Key: Valid and verified (HTTP 200)
✗ Activity: No recent sessions found
Everything looks good except no sessions have been tracked yet.
Start a new Claude Code session to see your first build.