Claude-code-plugins-plus-skills doctor
install
source · Clone the upstream repo
git clone https://github.com/jeremylongshore/claude-code-plugins-plus-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jeremylongshore/claude-code-plugins-plus-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/analytics/promptbook/skills/doctor" ~/.claude/skills/jeremylongshore-claude-code-plugins-plus-skills-doctor && rm -rf "$T"
manifest:
plugins/analytics/promptbook/skills/doctor/SKILL.mdsource content
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
first/setup - 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
again/setup - 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
and direct user to✗ Config/setup - If consent is false, report
and direct user to✗ Consent/setup - If API key returns 401, report
and suggest re-running✗ API Key/setup - If no session files exist, report
and suggest starting a new session⚠ Activity - 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.