doctor

"Diagnose Promptbook setup \u2014 check config, hooks, API key, and session\

6 Tools
promptbook Plugin
business tools Category

Allowed Tools

Bash(node:*)Bash(curl:*)Bash(ls:*)Bash(stat:*)Bash(cat:*)

Provided by Plugin

promptbook

Opt-in Claude Code analytics. After setup consent, Promptbook sends session metrics to promptbook.gg and publishes shareable build cards.

business tools v1.4.0
View Plugin

Installation

This skill is included in the promptbook plugin:

/plugin install promptbook@claude-code-plugins-plus

Click to copy

Instructions

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 /setup first
  • 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 /setup again
  • 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 ✗ Config and direct user to /setup
  • If consent is false, report ✗ Consent and direct user to /setup
  • If API key returns 401, report ✗ API Key and suggest re-running /setup
  • If no session files exist, report ⚠ Activity and 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.

Resources

Ready to use promptbook?