From swiftclip-remotion
Guides users through aligning SwiftClip video briefs, selecting optimal Remotion templates via routing, confirming storyboards, and preparing new compositions before code generation.
npx claudepluginhub zz41354899/swiftclip --plugin swiftclip-remotionThis skill uses the workspace's default tool permissions.
Use this skill for the SwiftClip repository to keep the conversation aligned before code generation.
Generates product demo, architecture, or release videos by analyzing codebase for frameworks/UI/features, planning scenarios, creating AI images, and rendering with Remotion. Invoke explicitly via /generate-video after Remotion setup.
Provides best practices for Remotion video creation in React, including project setup, studio preview, animations, audio handling, charts, compositions, and 3D with Three.js.
Creates motion graphics and videos using Remotion (React) with audio sync, web fonts, TailwindCSS, animations, charts, 3D, subtitles, and rendering. For product demos, explainers, data viz.
Share bugs, ideas, or general feedback.
Use this skill for the SwiftClip repository to keep the conversation aligned before code generation.
lib/templates.tsremotion/Root.tsxremotion/*.tsx./references/template-catalog.mdBefore template alignment or code generation, confirm the workspace is already a Remotion project.
Minimum requirements:
remotion is installed in package.jsonremotion/Root.tsx existsIf these requirements are missing, stop and tell the user to install or scaffold Remotion first. Do not pretend the skill can generate runnable output without a Remotion project.
Use this standard response when the prerequisite check fails:
npx create-video@latestStart with a short routing pass before the full workflow.
Ask only these 3 questions first:
Then propose one best-fit internal core template first, plus at most one fallback.
Use this quick routing table before asking any deeper follow-up questions:
| user intent | preferred internal base template | fallback | routing reason |
|---|---|---|---|
| product promo, launch, brand announcement | ProductLaunch | TutorialIntro | strongest internal base for polished hero-led marketing beats |
| tutorial, course intro, walkthrough opener | TutorialIntro | SaaSPromo | clean framed intro with a compact copy surface |
| social short, vertical brand post, quick hook | SocialStory | none | only internal 9:16 execution base |
| speaker nameplate, event lower-third, broadcast ID | LowerThird | ProductLaunch | direct match for overlay-style compositions |
| SaaS feature showcase, product capabilities, multi-beat feature story | SaaSPromo | ProductLaunch | strongest internal base for multi-scene feature storytelling |
If the user answer already maps cleanly to one internal base template, do not ask the full 5-question alignment set immediately. Confirm the likely base template first, then ask only the missing questions needed for Step 3.
If fast onboarding did not produce a confident base template, ask only the minimum questions needed to reduce ambiguity:
If the user already provided enough detail, do not repeat questions. Summarize the brief in 4-6 lines.
If fast onboarding already identified a strong internal base template, compress Step 1 into only the missing details:
Read lib/templates.ts and ./references/template-catalog.md and shortlist the best 2-3 templates based on:
Treat ./references/template-catalog.md as the source of truth for:
For each recommendation, explain:
Then ask the user to choose one template.
When possible, keep the Step 2 response in this order:
Do not show three equal options by default. Bias toward a single recommended internal base template so the user can move into briefing faster.
Before code generation, produce a compact plan with:
Wait for explicit confirmation before generating code.
When you write the plan, use canonical prop names from ./references/template-catalog.md, not ad hoc field names.
Use the same preflight JSON contract as the builder agent so the handoff shape stays identical.
If the chosen template is an external reference, do not present it as directly generatable. Instead:
If the chosen template is an internal core template or has been mapped to an internal core template, include the preflight block in this shape:
{
"selectedTemplate": "TemplateName",
"selectedTemplateClass": "internal-core | external-reference",
"internalBaseTemplate": "TemplateName",
"mappingReason": "short explanation",
"newComponentName": "CustomTemplateName",
"compositionId": "CustomTemplateName",
"dimensions": {
"width": 1920,
"height": 1080,
"fps": 30,
"durationInFrames": 240
},
"storyboard": [
{
"beat": 1,
"startFrame": 0,
"endFrame": 60,
"purpose": "Hero intro",
"content": "headline enters",
"motion": "fade + rise"
}
],
"props": {
"canonical": {},
"legacyAliasesAccepted": []
}
}
Rules:
selectedTemplate is the template or reference the user actually chose.selectedTemplateClass must be internal-core or external-reference.internalBaseTemplate must always be one of the 5 internal core templates.mappingReason is required when selectedTemplateClass is external-reference.storyboard must describe the planned beat order before builder handoff.beat, startFrame, endFrame, purpose, content, and motion.dimensions.durationInFrames.props.canonical must use the exact canonical keys of the internal base template.props.legacyAliasesAccepted must list compatibility inputs only.After the brief is confirmed, delegate implementation to the remotion-builder agent.
The agent should:
remotion/remotion/Root.tsxExpected output result:
remotion/ unless the user explicitly asked to modify an existing oneComposition registration to remotion/Root.tsxThe builder agent should only generate directly from internal core templates. If the user chose an external reference, the skill must first map it to an internal core base template.
The internal core templates for end-to-end automatic generation are:
ProductLaunch -> headline, subheadlineTutorialIntro -> headline, durationLabelSocialStory -> headline, subheadline, brandHandleLowerThird -> headline, subheadlineSaaSPromo -> headline, featureItemsDo not present external references as part of the direct code-generation surface.
./references/template-catalog.md../references/template-catalog.md.