Skills / video-core
video-core
Part of the video library (loaded by /video, not run directly): check, time and render a video.json to MP4 with the Remotion engine (build.mjs, render, review, credits); holds every scene kind and the look.
- Author
- agentsaisle
- Latest
- v0.21.0
- Aisle
- video
- Works with
- Claude Code
- Source
- HazemSalah29/agentsaisle
- Stars
- 2
Install
video-core 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.21.0). Run it yourself: aisle audit video-core
- Critical
- 0
- High
- 0
- Medium
- 1
- Low
- 0
49 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
- assets/arch/import.mjs
- assets/film/resolve.mjs
- assets/film/rules.mjs
- assets/film/sound.mjs
- assets/remotion/src/Film.tsx
- assets/remotion/src/Root.tsx
- assets/remotion/src/fonts.ts
- assets/remotion/src/index.ts
- assets/remotion/src/lib/Background.tsx
- assets/remotion/src/lib/Captions.tsx
- assets/remotion/src/lib/Grain.tsx
- assets/remotion/src/lib/Stage.tsx
- assets/remotion/src/lib/motion.tsx
- assets/remotion/src/lib/transitions.tsx
- assets/remotion/src/scenes/dev.tsx
- assets/remotion/src/scenes/diagrams.tsx
- assets/remotion/src/scenes/index.ts
- assets/remotion/src/scenes/kinetic.tsx
- assets/remotion/src/scenes/media.tsx
- assets/remotion/src/scenes/text.tsx
- assets/remotion/src/types.ts
- assets/seq/parse.mjs
- assets/sim/rate-limit.mjs
- assets/vendor/shiki.mjs
- scripts/_lib.mjs
- scripts/build.mjs
- scripts/check.mjs
- scripts/credits.mjs
- scripts/engine.mjs
- scripts/render.mjs
- scripts/review.mjs
- scripts/run.mjs
- scripts/schema-check.mjs
- scripts/timing.mjs
- scripts/words-data.mjs
Domains mentioned
- github.com
- html.spec.whatwg.org
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-core)SKILL.md
Rendered from commit 2ee11a4
Video core
The engine under the video library. A project is a folder with a video.json (the plan); scripts check it, set scene lengths from the voice, turn it into a film (assets/film/resolve.mjs), render the picture with Remotion (assets/remotion/), then mix the voice, a music bed and sound effects with ffmpeg. You edit video.json; the code draws the frames, so the same file gives the same video. <skill> below is the folder that holds this SKILL.md.
Use when
- The user has or wants a
video.jsonand asks to check, render, re-render or credit it. - Another video skill hands over a project folder to render.
- The Remotion engine needs setting up (
engine.mjs).
Don't use when
- The user wants the script, the voice, a diagram's data or a screen capture. Those are separate skills; do not draw frames by hand.
- The engine or FFmpeg is missing and the user has not set them up. Run
engine.mjs statusand/video doctor; never install anything yourself.
Steps
- Engine:
node <skill>/scripts/engine.mjs status. Not ready:node <skill>/scripts/engine.mjs setupwrites the pinned package.json to~/.aisle-video/remotionand prints the two commands for the user to run there. Say the Remotion licence line it prints. - Write or edit
<project>/video.json(references/video-json.md; kinds and props inreferences/scene-kinds.md; schema in<skill>/assets/video.schema.json). Look settings live instyle(preset, captions, music). - Run
node <skill>/scripts/build.mjs <project> --draft(check, timing and render in one call; no flag for the final, which also writes credits). It stops at the first step that fails and shows its message: fix it and run again. The steps by hand:check.mjs,timing.mjs(after the voice),render.mjs [--draft] [--preset name]. - Look at the draft:
node <skill>/scripts/review.mjs stills <project> --at 0.5,3,7(one time per scene), once. When it is accepted,node <skill>/scripts/review.mjs approve <project>; the final refuses to run if the project changed since, unless--ignore-approval. Every render writesout/<name>.validation.json; fix a failed one. - The final writes
out/<name>.mp4,out/<name>.srtand.vtt(when there are captions), andcredits.mjswritescredits.jsonandCREDITS.txt; it fails if an asset has no licence.
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
out/rm/ortiming.jsonto check them; the scripts print what matters. -
Render a draft before the final, and re-render only after
check.mjspasses. A draft renders at half size, so it is about 4 times faster.
Output
- The path of the MP4, its length and size, the subtitle files and the credits files.
- The disclosure advice from
credits.mjs, in its words, and anynote:lines render printed.
Done when
check.mjsexits 0,render.mjsprinted the output path, andcredits.mjsexited 0.- No asset lacks a licence and nothing was installed or fetched by the scripts.
Version history
| Version | Commit | Install |
|---|---|---|
| 0.21.0latest | 2ee11a4 | add video-core |