Not in the top 1,000 by GitHub stars
GoldLegendW80/llm-video-maker
Turn one prompt into a finished MP4. An AI agent skill for Claude Code, Cursor, Codex & Windsurf that generates TikTok/Reels/Shorts, YouTube intros, startup hero loops & data explainers — with AI voiceover, captions, music & real assets. Deterministic HTML/GSAP render. Prompt-driven, Remotion-style.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/edit-video/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → cee12add2431
No earlier version was observed for comparison.
skills/make-video/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → cee12add2431
No earlier version was observed for comparison.
Heat
3.1- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- edit-video
skills/edit-video - make-video
skills/make-video
How it works
edit-video
When your agent uses it
Edit one chapter or section of an already-generated video without redoing the whole thing. Change the script, visuals, captions, or timing of a single scene, then re-render and re-verify - iterate on AI-generated videos, social clips, promos and explainers. Companion to make-video. Use when asked to change, fix, redo or tweak a section, scene or chapter of an existing video. Trigger - /edit-video <project-id> <chapter-id> "<instruction>".
What it loads into context
Frontmatter
104 tokensAlways available to the agent
SKILL.md
1,666 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Input handling (security — read first)
- Resolve the request
- Invariants — what an edit must NEVER do
- Execute
- Done means
Files
SKILL.mdcore6,932 bytesSKILL.mdcore6,932 bytesSKILL.mdcore6,932 bytesSKILL.mdcore6,932 bytes
Read SKILL.md
# /edit-video — chapter-scoped edit loop (v0)
**`$MAKE_VIDEO_SKILL`** = the companion `make-video` skill's directory (sibling of this one;
it bundles the pipeline scripts under `scripts/`). This skill is its editing companion —
install them together.
Input: a project id (a directory under `projects/`), a chapter id (from that project's
`storyboard.json`), and a natural-language instruction. Output: a re-rendered video where ONLY
that chapter's visuals changed, plus an updated report.
This is the editing model's executable contract: chapters are the unit of editability.
v0 re-renders the FULL video after re-composing the chapter (simple, always correct);
per-chapter render caching is the M2 upgrade.
View the complete source on GitHubmake-video
When your agent uses it
Turn a prompt or brief into a fully rendered MP4 video. Generate AI videos and social clips (TikTok, Reels, YouTube Shorts), YouTube intros, startup website hero loops, product promos, marketing videos, explainers and animated data visualizations - with AI voiceover (text-to-speech), word-synced captions/subtitles, music, and real assets (icons, brand logos, stock photos, video b-roll, GIFs, memes); record live website or app demos via Playwright screen capture; render code snippets with syntax highlighting; and composite it all deterministically from HTML/GSAP. Use when asked to make, generate, create or render a video, turn a script, topic, codebase or recorded narration into a video, or produce social, marketing or explainer video content. Trigger - /make-video <brief.json|inline description>.
What it loads into context
Frontmatter
196 tokensAlways available to the agent
SKILL.md
7,121 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Dependencies (one-time setup)
- Inputs
- Resume semantics
- Run-log + progress
- Project layout
- Stages
- Non-negotiables
Scripts executed separately
scripts/analyze-codebase.mjsscripts/capture-demo.mjsscripts/fetch-assets.mjsscripts/normalize-transcript.mjsscripts/plan-scenes.mjsscripts/validate-brief.mjs
Files
SKILL.mdcore28,279 bytesSKILL.mdcore28,279 bytesSKILL.mdcore28,279 bytesSKILL.mdcore28,279 bytesSKILL.mdcore28,279 bytesSKILL.mdcore28,279 bytesSKILL.mdcore28,279 bytesSKILL.mdcore28,279 bytesSKILL.mdcore28,279 bytesSKILL.mdcore28,279 bytesSKILL.mdcore28,279 bytesSKILL.mdcore28,279 bytesSKILL.mdcore28,279 bytesSKILL.mdcore28,279 bytesSKILL.mdcore28,279 bytesSKILL.mdcore28,279 bytesSKILL.mdcore28,279 bytesSKILL.mdcore28,279 bytesSKILL.mdcore28,279 bytesschema.jsonasset9,399 bytesscripts/analyze-codebase.mjsruns7,555 bytesscripts/capture-demo.mjsruns6,379 bytesscripts/fetch-assets.mjsruns17,680 bytesscripts/normalize-transcript.mjsruns6,452 bytesscripts/plan-scenes.mjsruns8,317 bytesscripts/validate-brief.mjsruns9,764 bytes
Read SKILL.md
# /make-video — brief → rendered video
You are the pipeline orchestrator. Deterministic work runs through scripts/CLIs; creative work
(design, storyboard, composition) is yours, guided by the `hyperframes` skill. Every stage writes
its artifact into the project directory so the run is resumable and auditable.
**`$SKILL_DIR`** below means this skill's own directory (shown as "Base directory for this
skill" when the skill loads). All pipeline scripts are bundled in `$SKILL_DIR/scripts/` — the
skill is fully self-contained and works in any repository.
## Dependencies (one-time setup)
- Node ≥ 22, ffmpeg, Chrome — verified by `npx hyperframes@0.6.91 doctor` in preflight.
- Engine: `hyperframes` **0.6.91 exact** (pin it in the host repo's package.json; never floatView the complete source on GitHubSkills included
- edit-video
- make-video
Repository facts
- License
- MIT
- Created
- Jun 17, 2026
- Last pushed
- Jun 17, 2026
- Forks
- 6
- Open issues
- 0
- Project activity
- Slowing
Before you install
Local scriptsAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 21 notes
skills/edit-video/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/edit-video/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/edit-video/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/make-video/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/make-video/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/make-video/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/make-video/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/make-video/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/make-video/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/make-video/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/make-video/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/make-video/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/make-video/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/make-video/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/make-video/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/make-video/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/make-video/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/make-video/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/make-video/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/make-video/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 46 network referencesin 4 files: make-video/scripts/fetch-assets.mjs:12 make-video/scripts/capture-demo.mjs:20 make-video/SKILL.md:256 and 1 more
- No hidden or obfuscated text
- No instruction overrides
- 6 executable scriptsin 6 files: make-video/scripts/analyze-codebase.mjs:1 make-video/scripts/capture-demo.mjs:1 make-video/scripts/fetch-assets.mjs:1 and 3 more
- 25 references to secretsin 2 files: make-video/scripts/fetch-assets.mjs:20 make-video/SKILL.md:31
- No requests to vote in Hot
Show all 77 signals by file
skills/make-video/SKILL.md
- Access to secretsline 31
[Credential-related source omitted] - Access to secretsline 32
[Credential-related source omitted] - Access to secretsline 33
[Credential-related source omitted] - Network accessline 256
3. **`capture` — recorded demonstrations.** `"type": "capture"` drives the user's real Chrome via Playwright over any URL — including `http://localhost:*` to demo a local app — executing - Network accessline 257
via Playwright over any URL — including `http://localhost:*` to demo a local app — executing
skills/make-video/schema.json
skills/make-video/scripts/analyze-codebase.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/make-video/scripts/capture-demo.mjs
- Executable scriptline 1
#!/usr/bin/env node - Network accessline 20
// ] } // // Works on any URL — including http://localhost:* for demonstrating a local app. - Network accessline 21
// // Works on any URL — including http://localhost:* for demonstrating a local app. // The recording is SOURCE FOOTAGE: the determinism contract applies to the final - Network accessline 22
// Works on any URL — including http://localhost:* for demonstrating a local app.
skills/make-video/scripts/fetch-assets.mjs
- Executable scriptline 1
#!/usr/bin/env node - Network accessline 12
// { "type": "video", "query": "typing on laptop", "out": "vid/typing.mp4", "orientation": "landscape", "max_s": 15 } // { "type": "sfx", "query": "whoosh transition", "out": "sfx/whoosh.mp3", "max_s": 4 } // Freesound CC0 // { "t - Network accessline 13
// { "type": "sfx", "query": "whoosh transition", "out": "sfx/whoosh.mp3", "max_s": 4 } // Freesound CC0 // { "type": "web", "url": "https://…/file.png", "out": "img/chart.png", // "license": "CC-BY 4.0", "source": "https://…/ - Network accessline 14
// { "type": "web", "url": "https://…/file.png", "out": "img/chart.png", - Network accessline 15
// "license": "CC-BY 4.0", "source": "https://…/page" } // license fields REQUIRED - Network accessline 16
// { "type": "capture", "url": "https://myapp.dev", "out": "demo/tour.mp4", - Access to secretsline 20
[Credential-related source omitted] - Access to secretsline 21
[Credential-related source omitted] - Access to secretsline 22
[Credential-related source omitted] - Network accessline 70
const color = e.color ? `?color=${encodeURIComponent(e.color)}` : ""; const url = `https://api.iconify.design/${encodeURIComponent(e.set)}/${encodeURIComponent(e.name)}.svg${color}`; - Network accessline 71
const url = `https://api.iconify.design/${encodeURIComponent(e.set)}/${encodeURIComponent(e.name)}.svg${color}`; - Network accessline 79
const url = `https://cdn.simpleicons.org/${encodeURIComponent(e.slug)}${e.color ? "/" + encodeURIComponent(e.color.replace("#", "")) : ""}`; - Access to secretsline 85
[Credential-related source omitted] - Network accessline 87
[Credential-related source omitted] - Access to secretsline 87
[Credential-related source omitted] - Network accessline 88
[Credential-related source omitted] - Access to secretsline 88
[Credential-related source omitted] - Network accessline 89
const u = new URL("https://pixabay.com/api/"); - Network accessline 107
[Credential-related source omitted] - Access to secretsline 107
[Credential-related source omitted] - Network accessline 108
[Credential-related source omitted] - Access to secretsline 108
[Credential-related source omitted] - Network accessline 109
const u = new URL("https://api.pexels.com/v1/search"); - Network accessline 123
async function imagegen(e, ctx) { if (ctx.imageGen === "openai" && ctx.env.OPENAI_API_KEY) { const r = await fetchOk(ctx, "https://api.openai.com/v1/images/generations", { - Network accessline 124
[Credential-related source omitted] - Access to secretsline 124
[Credential-related source omitted] - Network accessline 125
const r = await fetchOk(ctx, "https://api.openai.com/v1/images/generations", { - Access to secretsline 127
[Credential-related source omitted] - Network accessline 146
[Credential-related source omitted] - Access to secretsline 146
[Credential-related source omitted] - Network accessline 147
const u = new URL("https://api.giphy.com/v1/gifs/search"); - Access to secretsline 148
[Credential-related source omitted] - Network accessline 164
} if (ctx.env.TENOR_API_KEY) { const u = new URL("https://tenor.googleapis.com/v2/search"); - Network accessline 165
[Credential-related source omitted] - Access to secretsline 165
[Credential-related source omitted] - Network accessline 166
const u = new URL("https://tenor.googleapis.com/v2/search"); - Access to secretsline 167
[Credential-related source omitted] - Access to secretsline 184
[Credential-related source omitted] - Network accessline 190
const j = await (await fetchOk(ctx, "https://api.imgflip.com/get_memes")).json(); - Network accessline 193
const hit = j.data.memes.find(m => m.name.toLowerCase() === want) || j.data.memes.find(m => m.name.toLowerCase().includes(want)); if (!hit) throw new Error(`no imgflip template matching "${e.template}" — browse https://imgflip.com/mem - Network accessline 194
|| j.data.memes.find(m => m.name.toLowerCase().includes(want)); if (!hit) throw new Error(`no imgflip template matching "${e.template}" — browse https://imgflip.com/memetemplates`); const buf = await fetchBuf(ctx, hit.url); - Network accessline 195
if (!hit) throw new Error(`no imgflip template matching "${e.template}" — browse https://imgflip.com/memetemplates`); - Network accessline 196
const buf = await fetchBuf(ctx, hit.url); save(ctx, e.out + ".credit.json", JSON.stringify({ template: hit.name, source: `https://imgflip.com/meme/${hit.id}`, provider: "imgflip", - Network accessline 197
save(ctx, e.out + ".credit.json", JSON.stringify({ template: hit.name, source: `https://imgflip.com/meme/${hit.id}`, provider: "imgflip", license: "Meme template — rights vary by underlying image; user assumes editorial-use responsi - Network accessline 198
template: hit.name, source: `https://imgflip.com/meme/${hit.id}`, provider: "imgflip", - Access to secretsline 206
[Credential-related source omitted] - Network accessline 208
[Credential-related source omitted] - Access to secretsline 208
[Credential-related source omitted] - Network accessline 209
[Credential-related source omitted] - Access to secretsline 209
[Credential-related source omitted] - Network accessline 210
const u = new URL("https://api.pexels.com/videos/search"); - Network accessline 229
[Credential-related source omitted] - Access to secretsline 229
[Credential-related source omitted] - Network accessline 230
[Credential-related source omitted] - Access to secretsline 230
[Credential-related source omitted] - Network accessline 231
const u = new URL("https://pixabay.com/api/videos/"); - Network accessline 251
[Credential-related source omitted] - Access to secretsline 251
[Credential-related source omitted] - Network accessline 252
[Credential-related source omitted] - Access to secretsline 252
[Credential-related source omitted] - Network accessline 253
const u = new URL("https://freesound.org/apiv2/search/text/"); - Network accessline 285
// Live browser demonstration (any URL, incl. http://localhost — local app demos).
skills/make-video/scripts/normalize-transcript.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/make-video/scripts/plan-scenes.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/make-video/scripts/validate-brief.mjs
- Executable scriptline 1
#!/usr/bin/env node
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 9 facts
- Contacts cdn.simpleicons.org, which SKILL.md, the README and the plugin manifest do not mentionmake-video/scripts/fetch-assets.mjs:79High confidence
- Contacts pixabay.com, which SKILL.md, the README and the plugin manifest do not mentionmake-video/scripts/fetch-assets.mjs:89High confidence
- Contacts api.pexels.com, which SKILL.md, the README and the plugin manifest do not mentionmake-video/scripts/fetch-assets.mjs:109High confidence
- Contacts api.openai.com, which SKILL.md, the README and the plugin manifest do not mentionmake-video/scripts/fetch-assets.mjs:125High confidence
- Contacts api.giphy.com, which SKILL.md, the README and the plugin manifest do not mentionmake-video/scripts/fetch-assets.mjs:147High confidence
- Contacts tenor.googleapis.com, which SKILL.md, the README and the plugin manifest do not mentionmake-video/scripts/fetch-assets.mjs:166High confidence
- Contacts api.imgflip.com, which SKILL.md, the README and the plugin manifest do not mentionmake-video/scripts/fetch-assets.mjs:190High confidence
- Contacts imgflip.com, which SKILL.md, the README and the plugin manifest do not mentionmake-video/scripts/fetch-assets.mjs:195High confidence
- Contacts freesound.org, which SKILL.md, the README and the plugin manifest do not mentionmake-video/scripts/fetch-assets.mjs:253High confidence
Signal confidence: 75 facts
- Access to secrets in prose of the SKILL.md: a variable, placeholder or call, not a stored valuemake-video/SKILL.md:31Low confidence
- Access to secrets in prose of the SKILL.mdmake-video/SKILL.md:32Low confidence
- Access to secrets in prose of the SKILL.mdmake-video/SKILL.md:33Low confidence
- Network access in prose of the SKILL.mdmake-video/SKILL.md:256Low confidence
- Network access in prose of the SKILL.mdmake-video/SKILL.md:257Low confidence
- Executable script in code of a file that runsmake-video/scripts/analyze-codebase.mjs:1High confidence
- Executable script in code of a file that runsmake-video/scripts/capture-demo.mjs:1High confidence
- Network access in a comment of a file that runsmake-video/scripts/capture-demo.mjs:20Low confidence
- Network access in a comment of a file that runsmake-video/scripts/capture-demo.mjs:21Low confidence
- Network access in a comment of a file that runsmake-video/scripts/capture-demo.mjs:22Low confidence
- Executable script in code of a file that runsmake-video/scripts/fetch-assets.mjs:1High confidence
- Network access in a comment of a file that runsmake-video/scripts/fetch-assets.mjs:12Low confidence
- Network access in a comment of a file that runsmake-video/scripts/fetch-assets.mjs:13Low confidence
- Network access in a comment of a file that runsmake-video/scripts/fetch-assets.mjs:14Low confidence
- Network access in a comment of a file that runsmake-video/scripts/fetch-assets.mjs:15Low confidence
- Network access in a comment of a file that runsmake-video/scripts/fetch-assets.mjs:16Low confidence
- Access to secrets in a comment of a file that runs: a variable, placeholder or call, not a stored valuemake-video/scripts/fetch-assets.mjs:20Low confidence
- Access to secrets in a comment of a file that runs: a variable, placeholder or call, not a stored valuemake-video/scripts/fetch-assets.mjs:21Low confidence
- Access to secrets in a comment of a file that runs: a variable, placeholder or call, not a stored valuemake-video/scripts/fetch-assets.mjs:22Low confidence
- Network access in code of a file that runsmake-video/scripts/fetch-assets.mjs:70High confidence
- Network access in code of a file that runsmake-video/scripts/fetch-assets.mjs:71High confidence
- Network access in code of a file that runsmake-video/scripts/fetch-assets.mjs:79High confidence
- Access to secrets in code of a file that runsmake-video/scripts/fetch-assets.mjs:85High confidence
- Network access in code of a file that runsmake-video/scripts/fetch-assets.mjs:87High confidence
- Access to secrets in code of a file that runsmake-video/scripts/fetch-assets.mjs:87High confidence
- Network access in code of a file that runsmake-video/scripts/fetch-assets.mjs:88High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuemake-video/scripts/fetch-assets.mjs:88Low confidence
- Network access in code of a file that runsmake-video/scripts/fetch-assets.mjs:89High confidence
- Network access in code of a file that runsmake-video/scripts/fetch-assets.mjs:107High confidence
- Access to secrets in code of a file that runsmake-video/scripts/fetch-assets.mjs:107High confidence
- Network access in code of a file that runsmake-video/scripts/fetch-assets.mjs:108High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuemake-video/scripts/fetch-assets.mjs:108Low confidence
- Network access in code of a file that runsmake-video/scripts/fetch-assets.mjs:109High confidence
- Network access in code of a file that runsmake-video/scripts/fetch-assets.mjs:123High confidence
- Network access in code of a file that runsmake-video/scripts/fetch-assets.mjs:124High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuemake-video/scripts/fetch-assets.mjs:124Low confidence
- Network access in code of a file that runsmake-video/scripts/fetch-assets.mjs:125High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuemake-video/scripts/fetch-assets.mjs:127Low confidence
- Network access in code of a file that runsmake-video/scripts/fetch-assets.mjs:146High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuemake-video/scripts/fetch-assets.mjs:146Low confidence
- Network access in code of a file that runsmake-video/scripts/fetch-assets.mjs:147High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuemake-video/scripts/fetch-assets.mjs:148Low confidence
- Network access in code of a file that runsmake-video/scripts/fetch-assets.mjs:164High confidence
- Network access in code of a file that runsmake-video/scripts/fetch-assets.mjs:165High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuemake-video/scripts/fetch-assets.mjs:165Low confidence
- Network access in code of a file that runsmake-video/scripts/fetch-assets.mjs:166High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuemake-video/scripts/fetch-assets.mjs:167Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuemake-video/scripts/fetch-assets.mjs:184Low confidence
- Network access in code of a file that runsmake-video/scripts/fetch-assets.mjs:190High confidence
- Network access in code of a file that runsmake-video/scripts/fetch-assets.mjs:193High confidence
and 25 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md skills/edit-video/SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md skills/edit-video/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/edit-video/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/edit-video/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/edit-video/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/edit-video/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.