video-production/SKILL.md
Generate long-form videos (more than 10 minutes) by following user instructions and invoking related skills only when needed (`openai-text-to-image-storyboard`, `docs-to-voice`, `remotion-best-practices`). For text inputs, extract a complete long-form story arc, generate fresh storyboard images (no reuse of previously generated pictures), and render a 16:9 animated long-form video.
npx skillsauth add laitszkin/apollo-toolkit video-productionInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
remotion-best-practices for final composition and rendering.openai-text-to-image-storyboard when visuals must be generated and docs-to-voice when narration or subtitles must be generated.16:9, reuse role identities correctly, and never reuse previously generated storyboard images.16:9 (default resolution: 1920x1080).<project_dir>/roles/roles.json exists before any prompt generationprompts.json schemaopenai-text-to-image-storyboard: generate storyboard images when user did not provide usable visualsdocs-to-voice: generate narration/timeline/SRT when user did not provide audio or subtitlesremotion-best-practices: compose and render the final long-form output<project_dir>/docs/long-video-plans/ and wait for explicit user confirmation.When this skill is triggered, run the production stages in this order:
openai-text-to-image-storyboard (fresh generation only, no reuse of previously generated pictures).docs-to-voice when usable audio is not already provided.remotion-best-practices to combine prepared assets (images, audio/subtitles, and planned animations) into the final 16:9 long-form video.Before running generation commands, check whether details are sufficient. If not, ask concise targeted questions and wait for user replies. Do not guess preference-sensitive options.
Prioritize asking these missing items:
<project_dir>/pictures/<content_name>/prompts.json) when recurring roles are expectedAsk only the minimum set required to unblock progress.
Collect only what is needed for the requested job (not everything by default):
project_dircontent_nameprompts.json, character roster, or user-defined role prompts)Create a concise execution checklist:
When the request includes source text and the user did not lock a specific structure:
If the user already provides an exact chapter structure, reuse it directly and skip abstraction for those parts.
roles.json exists before prompt generationBefore generating or updating prompts.json:
<project_dir>/roles/roles.jsonroles.json exists, read it first and reuse matching rolesroles.json does not exist, create it first using references/roles-json.md
{"characters": []}<project_dir>/pictures/<content_name>/prompts.json (if present)references/roles-json.mdreferences/roles-json.mdcharacters + scenes when recurring roles existBefore generating images/audio/subtitles/video:
<project_dir>/docs/long-video-plans/ if missing<YYYY-MM-DD>-<content_name>.mdassets/plan-template.mdYYYY-MM-DD; sanitize content_name for filename safety<project_dir>/docs/plans/)## Meta Data## Reference Text## Images Needed To Be Generated## Animation Plan For Audience RetentionMeta Data, include compact runtime/layout/output metadata and keep aspect ratio at 16:9Reference Text, include only source references (file paths/URLs + range/scope + purpose), not full long textImages Needed To Be Generated, list every image required for this run and mark all as fresh generation (no generated-image reuse)Animation Plan For Audience Retention, include chapter-level animation type, transition, and focus goalAfter plan confirmation:
openai-text-to-image-storyboard for all approved storyboard assets that need generation in the current rundocs-to-voice when neededremotion-best-practices
16:9 outputDefault workspace:
<project_dir>/video/<content_name>/remotion/Keep Remotion sources by default unless the user explicitly requests cleanup.
Git hygiene (required):
<project_dir>/video/<content_name>/remotion/.gitignorenode_modules/.cache/dist/build/out/.DS_Store*.logReturn absolute paths for produced artifacts:
<project_dir>/docs/long-video-plans/<YYYY-MM-DD>-<content_name>.md)roles.json file used for role reuse/initialization (<project_dir>/roles/roles.json)prompts.json file used for generation16:9 with planned animations.gitignore file pathAlso report:
development
Review a pull request — interactive PR selection via `gh`, 4-dimension code review (hallucinated code, architecture, performance, test validity), then post severity-graded comments with fix suggestions on the PR. Not for spec-based review — use `review` instead.
development
Read a user-specified PDF that marks the week's key financial events, deeply research each marked event with current sources, capture any additional breaking financial developments, and produce a concise Chinese-capable PDF briefing that explains what happened and why it matters.
documentation
Generate long-form videos (more than 10 minutes) by following user instructions and invoking related skills only when needed (`openai-text-to-image-storyboard`, `docs-to-voice`, `remotion-best-practices`). For text inputs, extract a complete long-form story arc, generate fresh storyboard images (no reuse of previously generated pictures), and render a 16:9 animated long-form video.
tools
協助完成自動化版本發佈。同步文檔、更新版本號、推送 tag 並建立 GitHub Release。