Install
$ agentstack add skill-chemny-cmm-content-factory-cmm-remotion-video ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Remotion Short Video Skill
Use this skill to convert user-provided articles, ideas, or topics into a publish-ready vertical short video package. The skill should keep creative reasoning and deterministic rendering separate:
- The active agent handles understanding, research, scripting, storyboarding, and quality judgment.
- The bundled workflow and Remotion project handle structured files, media assets, timing, rendering, cover export, and packaging.
This separation lets the skill run inside Claude Code, Codex, OpenClaw, or another agent without requiring an internal LLM API. If an LLM API is available, it can be used as an optional backend for standalone or batch runs.
Default Target
Unless the user specifies otherwise, use these defaults:
- Platform: Xiaohongshu and Douyin compatible
- Format: vertical video, 3:4 (1080×1440) by default — 账号选定的默认竖版比例。
(注:抖音/小红书原生全屏是 9:16;本账号默认用 3:4,需全屏再显式指定 9:16。)
- Duration: 90-130 seconds
- FPS: 30
- Language: Chinese
- Style: knowledge explainer or opinion analysis
- Visual approach: AI images or sourced stills, animated typography, simple data graphics, keyword-highlight captions
- Outputs:
video.mp4,cover.png,script.md,captions.srt,publish.md,metadata.json
Core Workflow
Follow this sequence:
- Parse the input.
- Identify whether the user gave an article, a rough idea, a topic, or a partial script.
- If an upstream
cmm-video-productionvideo_packageis provided (script,
storyboard, captions, asset specs), consume it — adopt its scenes/voiceover/ visual direction and skip re-deriving the script (steps 2-4); jump to producing video-plan.json. Only fill gaps the package leaves open. When no video_package is supplied (standalone use), derive everything yourself via steps 2-4 below.
- Extract topic, audience, platform, tone, expected duration, and constraints.
- Ask only if the missing information materially changes the output; otherwise use the defaults.
- Research and analyze.
- For current, factual, financial, legal, medical, technical, or news-like topics, verify with reliable sources before writing the script.
- Capture the angle, audience pain point, core claim, supporting evidence, risk notes, and recommended narrative structure.
- Save or produce an
analysis.json-compatible structure.
- Write the short-video script.
- Build for a 90-130 second spoken video, not an article summary.
- Use a strong hook in the first 3-6 seconds.
- Keep one central thesis and 2-4 supporting points.
- Include voiceover, on-screen caption text, visual direction, emotional tone, and estimated duration per scene.
- Convert the script into a storyboard.
- Split the video into scenes.
- Each scene should include narration, caption text, visual prompt or asset direction, layout type, motion style, and transition intent.
- Prefer 5-9 scenes for a 2 minute video.
- Generate audio and timing.
- Treat narration audio as the master timeline.
- Generate TTS audio or instruct the user/agent to generate it using the configured TTS provider.
- Default to Volcengine 火山 TTS(账号默认,需
VOLCENGINE_TTS_*凭证)。火山不可用或失败时回退 Edge TTS(免费、无需密钥)。火山已知坑(角色音色可能未开通 / HTTP 无词时间戳→字幕对轴差)一旦出现,即回退 Edge。HTTP adapter 可选。 - Use transcription or forced alignment to produce word-level or sentence-level timestamps.
- Use those timestamps to build captions and scene boundaries.
- Prepare visuals.
- Use AI-generated still images, sourced images/video, or Remotion-native graphics.
- For MVP work, prefer still images plus motion, typography, charts, and transitions over AI-generated video clips.
- Check licensing and factual fidelity when using sourced assets.
- AI 配图:
node scripts/generate-images.mjs [--cover] [--scenes] [--force]
用 GPT-Image-2 兼容 API(凭证在 ~/.cmm/.env 的 GPT_IMAGE2_*)生成封面背景 (写入 cover.backgroundAsset)和场景图(apple-text-video 用 16:9、image-overlay 用 9:16, 写入各 scene.visual.asset)。dark-card 不需要场景图,只生成封面。
- Build
video-plan.json.
- Convert analysis, script, captions, audio, visual assets, style, and cover plan into a single Remotion input file.
- Use the schema in
references/video-plan-schema.md. - Choose the template and per-scene effects using
references/templates.md:
pick style.template from the content type, then fill the fields that template needs (e.g. scene.data for data-punch, scene.visual.asset for image templates) and set each scene's transition. Missing fields silently disable the matching animation, so fill them deliberately.
- Render and package.
- Generate a first-frame preview first when the user has not explicitly confirmed full rendering.
- Render the video through Remotion.
- Render the cover still.
- Export the publish package with script, captions, metadata, and platform copy.
- Quality check.
- Verify duration, audio presence, caption timing, missing assets, unreadable text, aspect ratio, and cover readability.
- If issues are detected, fix the plan or assets and render again.
Recommended File Layout
For each video job, create a job folder:
jobs//
input.md
analysis.json
script.json
storyboard.json
audio/
voiceover.mp3
bgm.mp3
captions/
captions.json
captions.srt
assets/
scene-01.png
scene-02.png
video-plan.json
output/
video.mp4
cover.png
script.md
publish.md
metadata.json
Dependency Policy
Required:
- Node.js
- Remotion
- FFmpeg and ffprobe
- TTS provider: Volcengine 火山 is the account default (creds required); Edge TTS is the fallback when 火山 is unavailable or fails. HTTP adapter optional.
- Caption alignment or transcription capability
Recommended:
- Image generation or image sourcing capability
- Search API or browser research capability
Optional:
- LLM API for standalone or batch execution
- AI video generation API
- Stock media API
- Automatic publishing API
Agent vs API Responsibility
When running inside Claude Code, Codex, or OpenClaw:
- Use the active agent model for content understanding, research synthesis, script writing, and storyboard planning.
- Do not require an internal LLM API unless the user asks for standalone/batch automation.
- Prefer deterministic scripts for validation, media copying, Remotion rendering, and packaging.
When running standalone:
- Read provider keys from environment variables.
- Keep provider choice configurable.
- Never hardcode API keys.
Quality Bar
The result is acceptable only if:
- Video is vertical 3:4 (1080×1440) by default, or the requested aspect ratio.
- Duration is close to target, normally 90-130 seconds.
- Voiceover, captions, and scene timing are aligned.
- Captions are readable on mobile.
- Visuals support the narration instead of being generic decoration.
- Cover is readable at small thumbnail size.
publish.mdincludes platform-ready title, body copy, tags, and optional comment prompt.
References
- Read
references/mvp-spec.mdbefore designing or implementing the first version. - Read
references/video-plan-schema.mdbefore generating Remotion input data. - Read
references/templates.mdto choose a template and activate its effects. - Use
examples/input.mdas the first smoke-test input.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: chemny
- Source: chemny/cmm-content-factory
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.