$npx -y skills add bluzir/claude-code-design --skill doctorFirst-run setup + health check. Verifies Chrome DevTools MCP, installs optional deps (monolith, pptxgenjs, puppeteer), creates working dirs, runs smoke test. Use on fresh clone or when things feel broken.
| 1 | # Doctor |
| 2 | |
| 3 | Cold-start health check + optional auto-install. Safe to run multiple times. |
| 4 | |
| 5 | ## Phase 1 — Inventory |
| 6 | |
| 7 | Run in parallel where possible: |
| 8 | |
| 9 | 1. `Bash(claude mcp list)` — parse output, look for `chrome-devtools: ✓ Connected` |
| 10 | 2. `Bash(which monolith)` — existence check |
| 11 | 3. `Bash(which node)` — required |
| 12 | 4. `Bash(which gh)` — for `/ingest-github` |
| 13 | 5. `Bash(test -f package.json && echo yes || echo no)` |
| 14 | 6. `Bash(test -d starters && echo yes || echo no)` — expect yes |
| 15 | 7. `Bash(test -d artifacts && echo yes || echo no)` |
| 16 | 8. `Bash(test -d .claude/skills && echo yes || echo no)` — expect yes |
| 17 | |
| 18 | ## Phase 2 — Report |
| 19 | |
| 20 | Print structured report: |
| 21 | |
| 22 | ``` |
| 23 | Chrome DevTools MCP: ✓ / ✗ (if ✗, show install command) |
| 24 | monolith CLI: ✓ / ✗ (optional; needed for /export-standalone) |
| 25 | Node: ✓ / ✗ (required) |
| 26 | gh CLI: ✓ / ✗ (needed for /ingest-github) |
| 27 | package.json: exists / missing |
| 28 | starters/ dir: exists / missing |
| 29 | artifacts/ dir: will create |
| 30 | .claude/skills/: N skills found |
| 31 | FIGMA_TOKEN env: set / not set (only needed for /ingest-figma) |
| 32 | ``` |
| 33 | |
| 34 | ## Phase 3 — Repair (with user consent) |
| 35 | |
| 36 | For each missing item, ask the user with `AskUserQuestion`: "Install X now?" (yes/skip/all). |
| 37 | |
| 38 | Repair commands (only on yes): |
| 39 | - **Chrome DevTools MCP:** `Bash(claude mcp add chrome-devtools -s user -- npx chrome-devtools-mcp@latest)` — note: requires Claude Code restart to take effect |
| 40 | - **monolith:** `Bash(brew install monolith)` (macOS) or tell user for linux |
| 41 | - **pptxgenjs + puppeteer:** |
| 42 | ``` |
| 43 | Bash(test -f package.json || npm init -y) |
| 44 | Bash(npm install -D pptxgenjs puppeteer) |
| 45 | ``` |
| 46 | - **artifacts/ dir:** `Bash(mkdir -p artifacts assets/thumbs test)` |
| 47 | |
| 48 | ## Phase 4 — Smoke test |
| 49 | |
| 50 | If everything is green (and user didn't just run install → restart): |
| 51 | 1. Write `test/smoke-deck.html`: |
| 52 | ```html |
| 53 | <!doctype html> |
| 54 | <html><head><meta charset="utf-8"/><title>Smoke</title> |
| 55 | <script src="../starters/deck_stage.js"></script></head> |
| 56 | <body><deck-stage width="1920" height="1080"> |
| 57 | <section style="padding:60px;font:48px/1.2 Georgia"><h1>One</h1></section> |
| 58 | <section style="padding:60px;font:48px/1.2 Georgia;background:#f4e4d7"><h1>Two</h1></section> |
| 59 | <section style="padding:60px;font:48px/1.2 Georgia;background:#4a5d2e;color:#fff"><h1>Three</h1></section> |
| 60 | </deck-stage></body></html> |
| 61 | ``` |
| 62 | 2. Run `/done test/smoke-deck.html` |
| 63 | 3. If Chrome DevTools MCP is connected — check screenshot at `.claude/last-preview.png` exists and console is clean |
| 64 | 4. Report pass/fail |
| 65 | |
| 66 | ## Phase 5 — Hint sheet |
| 67 | |
| 68 | Print one-liner hints: |
| 69 | ``` |
| 70 | Available commands & skills: |
| 71 | /make-deck <brief> — build a slide deck |
| 72 | /interactive-prototype <brief> — clickable React prototype |
| 73 | /wireframe <thing> — low-fi variants |
| 74 | /create-design-system <src> — extract style guide |
| 75 | /ingest-github <url> — pull tokens from repo |
| 76 | /ingest-screenshot <path> — extract tokens from image |
| 77 | /ingest-figma <url> — pull from Figma (needs FIGMA_TOKEN) |
| 78 | /make-tweakable <html> — add live tweak panel |
| 79 | /apply-tweaks <html> — persist panel changes |
| 80 | /register-asset <html> — add to assets.html overview |
| 81 | /verify-artifact <html> — vision-based QA |
| 82 | /export-pdf /export-pptx /export-standalone /handoff |
| 83 | /preview /done /screenshot — operational atomics |
| 84 | ``` |