Video Forge (video-forge)
A great work is not generated from a single sentence. This skill manages three things:
- Get it clear: Keep asking until vague requirements become concrete visuals for scene, character, emotion, and every detail.
- Confirm first, produce second: Only proceed to time-consuming production after the user has approved the style, setting, and storyboard.
- Let others review: Submit the final piece to independent judges who evaluate it against the user-confirmed "Review Standards Card" item by item. Do not substitute self-checks for peer review.
Production itself is delegated to existing pipelines (lemo-opuscar, mv-director, Remotion, three.js diorama). This skill only acts as the director and gatekeeper.
Hard Rules
- Do not start production with a single sentence. If any mandatory items from the interview checklist (
references/interview-checklist.md) have not been asked, do not proceed to production. For items where the user says "you decide," provide specific default values in the requirements card and show them to the user. - Replace vague words with visuals. "Warm," "premium," "vibey" are not answers. Give 2–4 concrete visual options for the user to choose from.
- After each round of questioning, display the requirements card (
references/card-templates.md) so the user can see at a glance what is decided and what is not. - The gate order must not be skipped: Requirements Card + Review Standards Card → Style (with sample reel) → Style Card / Style Frames → Setting Card → Storyboard Contact Sheet → Draft → Judge Loop → Archive. Pipelines may declare they skip a gate (e.g., dioramas have no storyboard), but this must be explicitly stated.
- Storyboard confirmation is required by default (lemo defaults to no confirmation; here it defaults to confirmation).
- Judges are independent sub-agents who receive only the work and the user-confirmed review standards card, not my conclusions. Judges must view the entire piece (sampling 1 frame every 2 seconds) and can only measure sound—they do not evaluate whether it "sounds good." The user's opinion takes precedence over judges'.
- Do not animate human performances. Code-generated expressions and hand movements will inevitably be stiff. Unless the pipeline supports character rigging, keep characters small, distant, static, or in simple loops.
- Include user's original words in the cards. Specific requirements stated by the user (e.g., "don't flatten the lighting") must be written verbatim into the forbidden items or hard requirements of the card.
- For large tasks, divide responsibilities among multiple agents (
references/division-of-labor.md): first define a skeleton file; each role only references IDs; arithmetic is validated with scripts. Do not rely on reducing thinking effort to avoid timeouts. - Archive the work to
~/video-forge, not a temporary directory. Temporary directories are lost on restart. - Network: The proxy on this machine is extremely slow. For large downloads, bypass with
curl --noproxy '*',env -u http_proxy -u https_proxy -u HTTP_PROXY -u HTTPS_PROXY. Ifgrepis broken in the shell, use/usr/bin/grep.
Steps
0. Dispatch
First, check ~/video-forge/recipes/: if the user mentions a specific recipe (e.g., "use the 3D-to-2D diorama recipe to make a train station"), read the recipe file and only ask questions about items not defined in that recipe.
Otherwise, choose the pipeline based on the request:
| Request | Pipeline | File |
|---|---|---|
| A short style film (30–90 seconds), with its own topic | Style Film | references/pipeline-style-film.md |
| Create a music video for a song | Music Video | references/pipeline-mv.md |
| Explain a concept, history, or data | Explainer | references/pipeline-explainer.md |
| A small 3D scene that can be dragged and rotated | Diorama | references/pipeline-diorama.md |
If the user has no idea: follow the beginner guide in references/style-picker.md (first show sample reels, then give content ideas).
1. Interview → Requirements Card
First, determine the video type and duration category, load the corresponding genre card from references/genres/ (see genres/README.md for the selection table). All subsequent questions, structure, word budget, and review standards card will start from this card.
Ask questions round by round according to references/interview-checklist.md. Use AskUserQuestion, with ≤ 4 questions per round. Options should be written as concrete visuals. After each round, display the requirements card. Once all mandatory items are collected, ask the user to confirm the requirements card.
2. Style
If the user hasn't chosen a style: recommend 2–3 styles from references/style-picker.md with sample links, and also present the full list of 66 styles (as plain text questions—do not use AskUserQuestion, which would hide the list with too few options).
Once a style is selected, read the corresponding STYLE.md and organize it into a Style Card (values: color values, line width, lighting ratio, font, camera grammar, sound). Present it to the user for confirmation.
3. Style Frames
Using the actual rendering code, generate 1–3 style frames (one shot or a corner, with lighting and color locked in). Do not proceed to full production until the user confirms.
4. Setting Card
For each character, location, or prop, create a setting card: appearance, proportions, color scheme, clothing, key props, forbidden elements. Generate a setting illustration. The user must confirm.
5. Storyboard Contact Sheet
Create a single sheet of 6–9 thumbnail panels (each panel: time, visual, camera, sound, subtitle). Only proceed to animation after user confirmation.
6. Draft → Judge Loop
Produce a draft according to the pipeline. Open two judges per references/review.md. Evaluate every criterion from the review standards card (pass / partial / fail + evidence frames). Only rework items that failed. Show the user after every round.
Stop when: all mandatory items pass AND the user is satisfied, OR after 3 rounds, OR when the user calls a stop.
7. Archive
Place in ~/video-forge/works/<slug>/: source code or project link, final piece / screenshots, requirements card, style card, storyboard, and scores.md. Write a retrospective in ~/video-forge/retros/. If the approach is reusable, write a new recipe from recipes/_template.md and add a row to the "🎞 Works" table in ~/video-forge/README.md. If new external libraries were used, register them in deps.json and rebuild index/.
Approximately one week after release, ask the user to check the platform's analytics (e.g., Douyin Creator Service Center) for completion rate, average watch time, drop-off points (seconds), and rewatched segments. Backfill this data into the "Published Data" section of the work's scores.md, and write one sentence in the retrospective: which retention design worked and where the drop-off occurred. Use these real data, not just judges' opinions, to inform future scripts and storyboards.
Reference Files
| Stage | File | When to Use |
|---|---|---|
| 1 Interview | references/interview-checklist.md | Every time you start work; before each round of questions, check what's still missing |
| 1–5 Cards | references/card-templates.md | When presenting requirements card, style card, setting card, or storyboard contact sheet |
| 2 Style | references/style-picker.md | When the user hasn't chosen a style or doesn't know what content to make |
| 3–6 Production | references/pipeline-style-film.md | To make a short film with the lemo-opuscar style pipeline |
| references/pipeline-mv.md | To make a music video | |
| references/pipeline-explainer.md | To make an informational or explainer video with Remotion | |
| references/pipeline-diorama.md | To make a three.js 3D diorama scene | |
| 3–6 Division of Labor | references/division-of-labor.md | When using multiple agents to write a Treatment or do production: responsibility boundaries, skeleton files, validation scripts |
| Genre Cards (by type / duration) | references/genres/README.md | After determining the type and duration during interview, load the corresponding card for duration budget, structure, visual/sound guidelines, validation logic, and prompt templates |
| Music | references/music.md | To select a music approach (code composition / royalty-free library / open source model), tool tools/music/code_score.py usage |
| Style & Effects Selection | ~/video-forge/index/catalog.md (machine-readable: index.json) | All style libraries, effect cards, narration syntax, and your own styles in one table; if a library is missing, run bash ~/video-forge/bootstrap.sh <id> |
| 1 / 6 Review | references/review-standards.md | During interview, provide default review items by video type, and work with the user to finalize the review standards card |
| 6 Review | references/review.md | To open judges, evaluate item by item, and decide whether to stop |
| Troubleshooting | references/troubleshooting.md | When dependency installation, rendering, screenshots, or network issues arise |
| Archive | ~/video-forge/README.md, ~/video-forge/recipes/_template.md | After completion |