Skip to content
Back to skills

Doctor

ASecurity

Check every flowreel prerequisite (Node.js, @playwright/test, Playwright Chromium, ffmpeg with libx264/AAC, a macOS Premium voice, optional psql), explain what each is for, and offer the exact install command. Installs only after the user confirms each command. Use when the user runs /flowreel:doctor, sets flowreel up on a new machine, or a run says a tool is missing.

  • 4 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 17, 2026
testingshellbashsqlnodedatabase

Works with

  • terminal

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 2 files and shows the line behind each finding

Scanned October 17, 2026

npx -y skills add Confidee/flowreel --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: A — Skills Directory](https://www.skillsdirectory.com/api/skills/confidee-doctor/badge)](https://www.skillsdirectory.com/skills/confidee-doctor)

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: Check every flowreel prerequisite (Node.js, @playwright/test, Playwright Chromium, ffmpeg with libx264/AAC, a macOS Premium voice, optional psql), explain what each is for, and offer the exact install command. Installs only after the user confirms each command. Use when the user runs /flowreel:doctor, sets flowreel up on a new machine, or a run says a tool is missing.
argument-hint: "(no arguments)"
allowed-tools: Read, Bash(bash "${CLAUDE_PLUGIN_ROOT}/scripts/check-prereqs.sh" --report)
disable-model-invocation: true
---

# /flowreel:doctor

Checks what flowreel needs on this machine and in this project, explains
it, and helps install what is missing. **It installs nothing without the
user's explicit yes for that command.**

## 1. Check (read-only)

Run the plugin's check in report mode with Bash:

```bash
bash "${CLAUDE_PLUGIN_ROOT}/scripts/check-prereqs.sh" --report
```

It only reads (versions, the project's `"type"`, the Playwright download
cache, `ffmpeg -encoders`, `say -v '?'`), never installs and always exits 0. The project is `$CLAUDE_PROJECT_DIR`. Each line is `ok`, `missing`
(required: Node.js, `@playwright/test`, Chromium), `video-only` (ffmpeg,
ffprobe: only the MP4s need them), `voice-only` (`say`, a Premium voice:
only the narration), `optional` or `unchecked`. A `note:` line explains
the item above it. The last line counts the missing required items out of
three, and any unchecked ones.

`unchecked` means the tool resolves to a version manager's shim (Volta,
mise, asdf, nodenv, proto) or to a path inside the project, so the check
did not run it: those shims read project files, and a cloned repository
could make them download or run code. Do not run the tool silently. Tell
the user why, and either ask them to run the command the line names
(e.g. `node --version`) in the project, or offer to run it yourself
through the normal permission prompt after saying it runs the project's
version-manager configuration. Then apply the same rule as for a checked
version. Details: "Version managers" in
[reference/prerequisites.md](reference/prerequisites.md).

## 2. Explain

Show a short table: item, status, what flowreel uses it for, and the
install command from the check's output. The details per item (why, the
macOS and Linux commands, the voice download steps, what works without
it) are in [reference/prerequisites.md](reference/prerequisites.md); read
it when the user asks or an item is missing.

Say plainly what is optional: without ffmpeg there are no videos, but every
verdict still works; without a Premium voice narration falls back to a
standard voice; off macOS videos are silent; psql is only for a Postgres
per-run database copy.

Node.js is checked against what the project needs: the runtime is
ESM-only, so a CommonJS project (no `"type": "module"`) needs Node 20.19+
/ 22.12+ / 23+, while an ESM project runs on any 20+. If the check says
Node is too old for a CommonJS project, offer upgrading Node first; adding
`"type": "module"` is the user's call (it changes how every `.js` file in
the project loads) and is never made by this skill.

## 3. Offer, then ask

For each missing item, propose its command and ask the user which ones to
run (e.g. "Install ffmpeg with `brew install ffmpeg`? yes / no"). Then:

- Run ONLY the commands the user confirmed, one at a time, showing each
  before it runs. Never combine them into one line the user did not see.
- Never run `sudo`, a curl-pipe-to-shell, or a global `npm i -g` unless the
  user confirmed that exact command.
- `npm i -D @playwright/test` (or `npm i -D @playwright/test@latest` to
  upgrade an older one) and `npx playwright install chromium` change the
  project (package.json, lockfile) or download a browser: say so before
  asking. On Linux the check proposes `npx playwright install --with-deps
chromium`, which also installs system libraries through `sudo apt`: say
  that too.
- Homebrew's `libpq` is keg-only: the check proposes `brew install libpq
&& brew link --force libpq`; show both commands, ask for each.
- The Premium voice cannot be installed from the terminal: give the
  System Settings steps and wait for the user.
- A failed install is reported with its last lines; never retry it on your
  own and never try an alternative installer without asking.

## 4. Re-check

Run the check again and report what is now `ok` and what is still missing.
If the project has no flowreel setup yet, suggest `/flowreel:init` next.

## Never

- Never install, upgrade or download anything without a yes for that exact
  command. The SessionStart hook never installs; neither does this skill
  on its own.
- Never read `.env*` files or the project's secrets file to "check" the
  staging configuration: that is diagnosed by a run's own messages.

Files in this skill

  • SKILL.md4.7 KB
  • reference/prerequisites.md7.2 KB

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.