Skills / video-showcase
video-showcase
Part of the video library (loaded by /video, not run directly): a product showcase from the user's own running app: recorded demo, cursor, device frame, cuts on the beat.
- Author
- agentsaisle
- Latest
- v0.2.0
- Aisle
- video
- Works with
- Claude Code
- Source
- HazemSalah29/agentsaisle
- Stars
- 2
Install
video-showcase is a part of the video library. You do not run it yourself: you type /video and describe what you want, and Claude uses this part when it is needed. Installing the library installs this part too.
Install video
npx @agentsaisle/cli add videoRuns scriptsThis skill includes scripts
Your agent may run these scripts on your machine. A maintainer has read every one in full, and the CLI lists the files when you install. You can read them on GitHub first.
Read the files on GitHubAudit
Checked with aisle audit (version 0.2.0). Run it yourself: aisle audit video-showcase
- Critical
- 0
- High
- 0
- Medium
- 1
- Low
- 0
16 files · audited 2026-11-03 · rules 1.0.0
MediumAA-P02Can write files and run interpreters without disable-model-invocation
SKILL.md:5
Read Write Glob Grep Bash(node *)Why The agent may load this skill on its own and then write files and run code in one go.
Fix Set disable-model-invocation: true so the user starts it, or narrow the Bash patterns.
What this skill can use
Tools
- Read
- Write
- Glob
- Grep
- Bash(node *)
Scripts
- scripts/_beats.mjs
- scripts/_capture.mjs
- scripts/_demo.mjs
- scripts/_lib.mjs
- scripts/_plan.mjs
- scripts/beats.mjs
- scripts/capture.mjs
- scripts/ffwrap.mjs
- scripts/plan.mjs
- scripts/run.mjs
- scripts/status.mjs
Domains mentioned
None
Automated checks found the patterns listed here. An audit reduces risk; it is not a guarantee of safety. How audits work · Read the rules
Show this grade in a README
The badge updates when the registry is rebuilt. Paste this Markdown into the README:
[](https://www.agentsaisle.dev/skills/video-showcase)SKILL.md
Rendered from commit 2ee11a4
Video showcase
Turns a demo script into a polished screen demo. The recording, cursor path, camera and ripples all come from one interaction log, so the film shows what really happened. <skill> is the folder that holds this SKILL.md; <video-core> is the sibling video-core skill.
Use when
- The user has an app running on their machine (or their own deployed site) and wants a demo video of it.
- The user wants a demo of their own app, or has a screen recording and wants zooms, a cursor, a device frame or beat-timed cuts.
Don't use when
- The app or site is not theirs.
capture.mjsrecords localhost, or an own site with a stated reason; do not work around that. - The demo needs a native desktop app, a real mouse cursor or sound from the app. Say it cannot.
- The user wants an explainer, kids or story video, or another product's look, footage or logo. Offer original work.
- The page needs a real password, card or key typed. Use dummy data on a normal field.
Steps
node <skill>/scripts/status.mjs <project>shows what exists and what is next.- Get or write
demo.md(references/demo-script.md). Show it to the user and wait for approval: it drives a browser on their app. node <skill>/scripts/capture.mjs --url <app> --script demo.md --out <project>/capture. If it says the library is missing, give the user its install line and stop; never install it. A failed step names the line to fix.node <skill>/scripts/plan.mjs --log capture/interaction-log.json --video capture/capture.webm --out assets/demo.mp4 --into video.json --scene demo --device laptop(--device phoneonly for a site recorded at a phone size; a wide recording on a 9:16 video gets a taller window that follows the cursor). It writes the narration times (narrationAt) from eachsayinto the scene. Then addcalloutsto the scene: one per feature, 2 to 4 words, at the time its line starts.- Add title or list scenes for the features, then, if the user has a licensed track,
node <skill>/scripts/beats.mjs --audio <track> --out beats.json --into video.json --snap(references/workflow.md). node <video-core>/scripts/check.mjs <project>, thenrender.mjs --draft; look at one frame per scene before the final render.
Budget
-
Search first (grep, glob, symbol search). Read line ranges, not whole files.
-
Read at most 8 files per step. If you need more, write down what you learned and narrow the question.
-
Do not re-read a file you just wrote or edited.
-
Prefer the smallest command output that answers the question: head, tail, quiet flags, filtered lists.
-
Run each script once per change. Do not read
interaction-log.jsonor the scene props by hand;plan.mjssummarises them.
Output
- The status table, the demo script as approved, and each script's printed summary.
- The film's length, camera moves, clicks and, for beats, the tempo and how many scene lengths moved.
Done when
capture.mjsandplan.mjsran,check.mjsexits 0 and a draft frame of thescreenscene was looked at.- Nothing was installed or fetched, no other site was recorded, and any proof number or quote in the film is in
facts.md.
Version history
| Version | Commit | Install |
|---|---|---|
| 0.2.0latest | 2ee11a4 | add video-showcase |