Skip to content
Back to skills

Doctor

BSecurity

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

  • 2,691 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 2, 2026
ai-agentsgobashnodegitapisecurity

Works with

  • claude code
  • api

Security analysis

B88/100
  • criticalSends environment variables or credentials to an external URL

Pro shows the line behind each finding and how to fix it

Scanned September 2, 2026

npx -y skills add jeremylongshore/tons-of-skills-marketplace --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: B — Skills Directory](https://www.skillsdirectory.com/api/skills/jeremylongshore-doctor-tons-of-skills-marketplace/badge)](https://www.skillsdirectory.com/skills/jeremylongshore-doctor-tons-of-skills-marketplace)

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 Promptbook setup \u2014 check config, hooks, API key, and session\
  \ tracking health.\nUse when Promptbook seems broken or the user wants to verify\
  \ their setup.\nTrigger with \"/doctor\" or \"check promptbook health\".\n"
version: 1.4.0
author: Promptbook <contact@promptbook.gg>
license: MIT
allowed-tools: Bash(node:*), Bash(curl:*), Bash(ls:*), Bash(stat:*), Bash(cat:*),
  Read
tags:
- analytics
- telemetry
- diagnostics
- health-check
compatibility: Designed for Claude Code
---
# 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

```bash
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:

```bash
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:

```bash
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

- [Promptbook website](https://promptbook.gg)
- [Plugin repository](https://github.com/promptbookgg/claude-code-plugin)

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.