skills/video-composer/SKILL.md
Produce rich, finished video content with React Remotion by orchestrating the repository's media-generation skills (nanobanana for images, veo for video clips, lyria for BGM, gemini-tts for narration) and composing them on a data-driven Remotion timeline. Follows an approval-gated workflow: first return a video composition plan for the user to approve, then generate assets, compose, run a multimodal self-review loop, and deliver only when the result meets the quality bar. Use when the user wants to "create a video", "make a promo / explainer / social clip", or combine images, video, music, and voiceover into one polished video.
npx skillsauth add danishi/claude-code-config video-composerInstall 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.
This skill turns a request into a finished .mp4 by combining four media
skills on a Remotion (React) timeline:
| Layer | Skill | |---|---| | Images / backgrounds | nanobanana | | Video clips | veo | | Background music | lyria | | Narration / voiceover | gemini-tts |
It is an orchestrator: it does not generate media itself, it directs the skills above and assembles their output.
Run the availability check first:
python scripts/check_skills.py
npx skills add). Prompt them to
install the missing skills using the commands the script prints (from the
repo README), or offer a documented fallback (see
references/asset-pipeline.md → "Missing skills"). Do not silently skip a
requested asset type — surface the choice.Also confirm tooling: Node.js ≥ 18 (node -v) and npx. Remotion bundles
its own ffmpeg, so ffmpeg is not required. API access for the media skills needs
GEMINI_API_KEY (or Vertex AI). See references/asset-pipeline.md.
Interview the user (use AskUserQuestion for anything ambiguous) to pin down:
Produce a concise, structured plan and present it to the user. Do not generate anything or render until the user approves. The plan must include:
Iterate on the plan with the user until they explicitly approve. Only then proceed.
python scripts/scaffold.py <project-dir>
This writes a self-contained, data-driven Remotion project (see
references/remotion-template.md for the structure and the props schema). A
fresh project is scaffolded per video.
Following the approved plan, call each sibling skill and place output under
<project-dir>/public/{images,video,audio}/. Exact commands and timing tips are
in references/asset-pipeline.md. Keep a consistent visual style across images.
BGM lives only in the lyria layer. Veo clips keep their native audio (SE, ambience, dialogue) playing on the timeline, so when generating veo clips you must always suppress embedded music — pass
--negative-prompt "background music, soundtrack, musical score, BGM"and never ask for music in the prompt. Otherwise a clip's own BGM would clash with the global lyria BGM. SE/ambience are kept; only music is suppressed. Details:references/asset-pipeline.md→ "Never let veo clips carry their own BGM".
Copy props.sample.json → props.json and fill in the scenes: reference assets
by path relative to public/, set each scene's durationInFrames
(round(seconds * fps)), captions, voiceover, transitions, and BGM. Schema and
timing rules: references/remotion-template.md.
python scripts/render_video.py --project <project-dir> \
--props <project-dir>/props.json --install --review-frames 6
Then read the exported review stills with vision and score them against the
rubric in references/self-review.md. Iterate autonomously — fixing the cheapest
layer first (props → asset regen) — until all criteria pass or the iteration cap
(default 3) is reached.
When the result meets the bar, deliver the final .mp4 to the user (use
SendUserFile for the artifact). If you stopped at the iteration cap with known
issues, deliver the best version and list the remaining issues plus
suggested next steps.
| Script | Purpose |
|---|---|
| scripts/check_skills.py | Detect sibling skills; print install guidance / fallbacks |
| scripts/scaffold.py | Scaffold a fresh data-driven Remotion project |
| scripts/render_video.py | npm install + render + export review stills |
| File | Contents |
|---|---|
| references/asset-pipeline.md | Exact commands to drive each media skill; timing; missing-skill handling |
| references/remotion-template.md | Project structure & the props.json timeline schema |
| references/self-review.md | Multimodal review rubric & the autonomous iteration loop |
{
"fps": 30, "width": 1920, "height": 1080,
"bgm": { "src": "audio/bgm.mp3", "volume": 0.22 },
"scenes": [
{
"durationInFrames": 150,
"media": { "type": "image" | "video", "src": "images/x.png", "fit": "cover" },
"kenBurns": true,
"captions": [ { "text": "…", "fromFrame": 0, "toFrame": 140, "position": "bottom" } ],
"voiceover": { "src": "audio/vo1.wav", "volume": 1.0, "delayInFrames": 6 },
"transitionToNext": { "type": "fade" | "slide" | "wipe" | "none",
"durationInFrames": 18, "direction": "from-right" }
}
]
}
src paths are relative to public/ (http(s) URLs pass through).tools
Generate videos using Google Gemini Veo 3.1. Defaults to the cost-effective Veo 3.1 Lite model; the premium (Veo 3.1) and Fast models are used only when explicitly requested via --pro / --fast. Supports text-to-video and image-to-video (first frame + optional last frame), 16:9 / 9:16, 720p / 1080p (4k on Pro), 4-8s clips, and 1-4 videos per request. Works with both the Gemini Developer API and Vertex AI.
tools
Package a skill directory into a distributable `.skill` archive placed on the Desktop. Use when the user asks to "package", "bundle", "zip up", "export", "distribute", or "ship" a skill, or mentions creating a `.skill` file from `~/.claude/skills/<skill-name>/`.
tools
Salesforce CLIを使ってSalesforceのデータ操作・管理を行うスキル。 取引先・商談・プロジェクト・外注管理のCRUD操作、SOQLクエリ、パイプライン分析、レポート生成を実行する。 ユーザーがSalesforceのデータを照会・更新・分析したいとき、商談のステージを確認・変更したいとき、 プロジェクトや外注の状況を確認したいとき、売上・粗利・パイプラインのレポートが必要なとき、 取引先や案件の情報を調べたいとき、SOQLクエリを実行したいときに使用する。 「Salesforce」「SF」「商談」「取引先」「パイプライン」「案件」「プロジェクト」「外注」「粗利」 「売上」「受注」「失注」「ステージ」「SOQL」などのキーワードが含まれる場合はこのスキルを使う。 Salesforceに関する質問や操作依頼であれば、明示的にスキル名を言及していなくても積極的にこのスキルを使用すること。
development
Generate and edit images using Google Gemini (Nano Banana Pro / Nano Banana 2). Automatically selects the best model based on prompt complexity. Supports text-to-image generation, image editing with reference images, configurable aspect ratios, 1K/2K/4K output, Google Search grounding, and batch generation. Works with both Gemini Developer API and Vertex AI.