Agent skills for vos, the open video engine
and the vos CLI. Install once and your coding agent records the real
product, cuts it as data, and ships the release's media from one take: the
demo, the store listing, the Product Hunt gallery, the social cuts, the OG
card, kept current with every release. It can also author and remix vos
animation programs.
npx skills add vosjs/skillsWorks with any agent that reads the Agent Skills
format (Claude Code, Cursor, Codex, and friends). Claude Code users can also
add the repo as a plugin marketplace: /plugin marketplace add vosjs/skills.
| Skill | What it does | Needs |
|---|---|---|
product-video |
Record and produce a shippable product demo video of a website, app, or feature: the agent drives the browser from a JSON script, the recording auto-plans zooms, and every edit is a JSON patch on doc.json. One take also yields exact-size store screenshots, tiles, and social stills. |
npm i -D @vosjs/cli, a Chromium, network |
vos-authoring |
Author vos animation programs (VosConfigJson) from scratch: schema, dialect rules, params/presets knobs, local validation with @vosjs/core. |
npm i @vosjs/core (validation), @vosjs/cli (render) |
vos-remix |
Remix a program from the vos.so gallery: fetch its config, edit knobs or code, validate locally, push a private copy back with lineage — then iterate it as versions. Ships the params/Looks doctrine (2–4 intent-named knobs, every knob verified to act). | npm i -D @vosjs/cli, a content key or remix grant |
vos-create |
Create vos programs in the user's own style: pull their vos.so folder, read every recipe (.md) and exemplar in it, find the declared seed, author work that follows them, check and render and judge locally, and push into that folder as attributed private versions. Recipes carry the style; the user's ask decides what gets made. |
npm i -D @vosjs/cli, a content key, a folder on vos.so |
vos-cut |
Cut a screen recording somebody made into a product video, from its evidence: vos digest lists the moments the cursor track says mattered with a footage frame and a crop each, the agent narrates them into beats, edits doc.json by exception over the planners, verifies with stills, pushes an attributed version, and iterates with the human through the version chain. A signed-off take becomes a series' seed: its folder's CUT.md carries the judgment, vos plan --style carries the numbers. |
npm i -D @vosjs/cli, a Chromium, a content key for hosted takes |
launch-kit |
One take → the full launch asset kit: YouTube demo + thumbnail, X/LinkedIn cuts, Chrome Web Store screenshots + tiles, Product Hunt gallery, GitHub README loop, OG cards. Per-channel specs ship as data and every asset is verified against them in a kit.json manifest. |
npm i -D @vosjs/cli, ffmpeg, a finished take |
vos-migrate |
Turn an existing Loom, Screen Studio, Cap, or plain mp4/webm screen demo into an editable vosso take, so the next version is a re-render instead of a re-recording. | npm i -D @vosjs/cli, the file |
vos-footage |
Hand a Remotion, HyperFrames, or any video composition a clean full-bleed clip of the real product, recorded and auto-zoomed with vos, always backed by an editable take on the maker's shelf. | npm i -D @vosjs/cli, a Chromium, a content key |
One CLI, one package: @vosjs/cli is the MIT vos binary with the engine
verbs (local, no account), the take pipeline (record, plan, frames, render
on screen recordings) and the vos.so platform verbs (fetch, push, pull,
login). Everything that runs on your machine is open source, and vos.so,
the hosted platform,
is the product. (The plugin was previously published as @vosso/cli; that
name keeps working as a forwarding shim.)
- Real footage, witnessed.
product-videodrives a real browser over a real page. The output is a recording of software actually working, not a synthesized imitation of it. - Edits are data. A take's every decision (zoom spans, trims, speed,
tilt, audio) lives in
doc.json. Agents patch JSON and re-render; nothing re-runs the browser. - Deterministic renders. Same take, same doc, same frames, on any machine. Video work becomes reviewable the way code diffs are.
Every skill ships with eval scenarios in evals/, run before each
release on two model tiers; a launch-kit run ends on one deterministic
number, the kit verifier's problem count (evals/count.mjs), published on
the release's changelog entry. The product-video skill carries the taste
rubric its outputs are judged against; if a run ships something ugly, that
failure becomes a new eval scenario.
- Engine: github.com/vosjs/vos · vos.so/engine
- Agent docs: vos.so/llms.txt · vos.so/agents
- The gallery (every video is a program): vos.so/gallery
Issues and PRs welcome. Keep SKILL.md under 500 lines, references one level
deep, and run node scripts/check.mjs before pushing. Skill text must match
what the released CLI actually does; a claim the CLI can't honor is a bug.