Verify the animation plugin's prerequisites: ffmpeg with the libx264 encoder, ffprobe, Node, playwright-core with Chromium, numpy and opencv at the pinned versions, and the playwright_core option when set. Use when: 'set up animation', 'is animation working', 'check the animation prerequisites', a render or rotoscope script stopped with exit 2 and a remedy line, or before a first rotoscope run. Action: check (read-only, default). Prints a PASS/FAIL/INFO table with one remediation line per FAI...
Pro scans all 2 files and shows the line behind each finding
Scanned 10/4/2026
npx -y skills add melodic-software/claude-code-plugins --skill setup --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Setup?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/melodic-software-setup-a4690698)More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.
---
description: "Verify the animation plugin's prerequisites: ffmpeg with the libx264 encoder, ffprobe, Node, playwright-core with Chromium, numpy and opencv at the pinned versions, and the playwright_core option when set. Use when: 'set up animation', 'is animation working', 'check the animation prerequisites', a render or rotoscope script stopped with exit 2 and a remedy line, or before a first rotoscope run. Action: check (read-only, default). Prints a PASS/FAIL/INFO table with one remediation line per FAIL. Check-only: installs nothing (the SessionStart hook installs the Python packages; the rest are the operator's)."
argument-hint: "[check]"
user-invocable: true
disable-model-invocation: true
---
## Purpose
This is a **check-only setup** under the plugin contract's carve-out for external prerequisites
setup can only verify (`docs/plugin-philosophy.md`, "Setup is explicit and repeatable"). The
plugin owns no consumer-project configuration; its one `userConfig` option, `playwright_core`, is
set through Claude Code's plugin settings, never written here. Everything else it needs (ffmpeg,
Node, playwright-core and its Chromium) is installed by the operator, and the Python packages are
installed by the plugin's SessionStart hook, so there is nothing an `apply` could conformingly
write.
Non-interactive: never prompt. Run the probe, print the table, stop.
## `check` (read-only)
`${CLAUDE_PLUGIN_ROOT}/scripts/prereq.py` owns every probe, its threshold and its remedy text;
the same rows stop `render.py` and `decode.py` with exit 2 when a tool is missing. Run it, do not
restate it:
```bash
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/pydeps.py run --data-dir "${CLAUDE_PLUGIN_DATA}" -- \
${CLAUDE_PLUGIN_ROOT}/scripts/prereq.py --playwright-core '${user_config.playwright_core}'
```
It prints the PASS/FAIL/INFO table with one remediation line per FAIL and exits 1 when any row
fails. An unset `playwright_core` option (empty, or left as the literal placeholder) is skipped;
a set one gets its own row. Report the table as printed. An INFO on numpy or opencv means a
version other than the pin in `${CLAUDE_PLUGIN_ROOT}/requirements.in` is installed: scripts run,
but statistics may differ from the shipped pack and regression, so say so.
When the Python packages are not installed, `pydeps.py run` exits 2 with the repair line instead of
the table: report that line as the one FAIL (the SessionStart hook installs the packages, and a
failed install was reported as a notice at session start), and run
`python3 ${CLAUDE_PLUGIN_ROOT}/scripts/prereq.py` for the tool rows (it needs only the standard
library; numpy and opencv then read FAIL).
Do not install anything, and do not change the `playwright_core` option.
## Next
/animation:rotoscope <clip> <work dir>
## Gotchas
- The Chromium row launches the browser through `capture.mjs --probe`, so it takes a few seconds
and is the one row that proves playwright-core and its browser resolve together.
- A PASS on the Chromium row with an unset option can come from the working directory or a
playwright-cli install on PATH: `capture.mjs` owns that lookup order.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!