원클릭으로
remotion
Remotion video creation in React - dynamic concept catalog for video briefs, cold audience optimization, and technical best practices
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Remotion video creation in React - dynamic concept catalog for video briefs, cold audience optimization, and technical best practices
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Detects AI-written text, scores it against a detection rubric, provides line-by-line edit recommendations, and rewrites content to sound genuinely human. Use when the user asks to 'humanize' text, detect AI writing, remove 'AI voice,' make copy 'less robotic,' pass AI detection tools, or rewrite content to 'sound human.'
When the user wants to create AI-generated image or video content: a faceless influencer or persona for TikTok and Instagram, a faceless YouTube channel, an AI clone or talking-head of themselves, or AI ad creative (UGC, product video, static images). Also use when the user mentions 'faceless influencer,' 'faceless channel,' 'AI avatar,' 'AI UGC,' 'talking head,' 'clone myself,' 'AI ad creative,' 'AI video ads,' or tools like Veo, Google Flow, Kling, Higgsfield, Seedance, Runway, ElevenLabs, HeyGen, Arcads, Nano Banana, Midjourney, or Ideogram. Gives step-by-step, copy-paste-prompt playbooks for each use case plus the realism rules that beat AI slop. For paid-ad strategy and targeting, see performance-marketing or paid-ads.
Creates complete product marketing measurement frameworks. Use when the user wants to 'measure product marketing,' 'PMM metrics,' 'measurement framework,' 'north star metric,' 'marketing KPIs,' 'measurement plan,' or 'how do I report PMM impact.'
Plans, reviews, and optimizes paid advertising campaigns across Google, Meta, LinkedIn, TikTok, YouTube, Reddit, X, Snapchat, and ChatGPT / AI answer engines. Use when the user mentions "paid ads," "performance marketing," "ad campaign," "creative strategy," "ad copy," "media buying," "ROAS," "CPA," "campaign audit," "client onboarding," "launch checklist," "campaign reporting," or platform-specific ad help.
When the user wants to generate, iterate, or scale ad creative — headlines, descriptions, primary text, or full ad variations — for any paid advertising platform. Also use when the user mentions 'ad copy variations,' 'ad creative,' 'generate headlines,' 'RSA headlines,' 'bulk ad copy,' 'ad iterations,' 'creative testing,' or 'ad performance optimization.' This skill covers generating ad creative at scale, iterating based on performance data, and enforcing platform character limits. For campaign strategy and targeting, see paid-ads. For landing page copy, see copywriting.
Creates landing page copy using modular section templates. Use when the user wants to 'write a homepage,' 'create landing page copy,' 'landing page sections,' or 'homepage template.'
| name | remotion |
| version | 4.0.0 |
| description | Remotion video creation in React - dynamic concept catalog for video briefs, cold audience optimization, and technical best practices |
| metadata | {"tags":"remotion, video, react, animation, composition, programmatic-video"} |
Use this skill when:
When creating a new Remotion video, follow this 8-step process. Step 2 selects 3-5 concepts from the catalog based on the brief and cold audience optimization. Steps 4 and 5 are approval gates. Do not write code until both are approved.
For the full process document with templates and decision matrices, read references/video-creation-process.md.
Before any creative work, identify the brand. Ask the user: "What brand is this video for?"
If the brand has a preset below, use it directly. No further brand questions needed.
If the brand is not listed, ask the user to provide a brand website URL or brand guidelines. Extract: background color, primary accent, secondary accent, text colors, font family, and theme (light/dark). If no guidelines exist, ask for at minimum: primary color, background color, and font preference.
Gather and lock before any creative work:
Purpose: [Why this video exists]
Audience: [Who is watching]
Core message: [One sentence]
Content type: [blog-post, case-study, webinar, podcast, lead-magnet, product-update, tool-launch, industry-report, event-recap, client-testimonial, playbook, template, ai-demo, custom-gpt]
Channels: [Where it will be distributed]
CTA: [What the viewer should do next]
Source assets: [Files, components, or URLs to reference]
Tone: [Descriptive words for the feel]
Brand: [Brand name from Step 0]
After locking the creative brief, analyze it to select the best video concepts for this specific use case. Do not present a fixed set of variants. Draw from the concept catalog in references/concept-catalog.md.
The catalog contains 18 primary concepts, 8 visual style modifiers, and 5 cold audience hook patterns. Read it before generating recommendations.
Score concepts against the brief. For each concept in the catalog, evaluate:
Apply the cold audience filter. For each scored concept, evaluate:
Select a hook pattern. For each recommended concept, pair it with a hook pattern from the catalog:
Present 3-5 recommended concepts as one-page briefs. For each:
Rank the recommendations. Mark the top recommendation and explain why.
User selects one (or a hybrid of two). Lock the selected concept before proceeding to Step 3.
These rules apply to all concept recommendations and override content-type defaults when they conflict:
Resolve from the brief and selected variant using the format decision matrix:
| Channel | Dimensions | Duration |
|---|---|---|
| LinkedIn/Instagram feed | 1080x1080 | 15-30s |
| Website/presentation | 1920x1080 | 15-60s |
| Reels/TikTok/Stories | 1080x1920 | 15-60s |
| Email (GIF) | 600x600 or 800x450 | 5-10s |
Default FPS: 30. Only use 60 if smooth motion is critical.
Dimensions: [width]x[height]
Duration: [X] seconds ([X * fps] frames)
FPS: 30
Composition ID: [PascalCase]
Loop: [yes/no]
Output formats: [mp4, gif, webm]
Selected concept: [concept-id from catalog, or hybrid]
Define every scene before writing code. Use the selected variant's scene template as the starting structure, then customize for the specific content.
Present the scene table for approval.
Scene table format:
| # | Name | Time | Copy | Animation | Purpose |
|---|---|---|---|---|---|
| 1 | Hook | 0-3s | Exact text | Motion description | Why it exists |
Timing guidelines:
| Duration | Scene Count | Avg Per Scene |
|---|---|---|
| 10s | 3-4 | 2.5-3.3s |
| 15s | 4-6 | 2.5-3.75s |
| 30s | 8-12 | 2.5-3.75s |
| 60s | 12-20 | 3-5s |
Lock copy, timing, and narrative structure before proceeding.
Lock before implementation:
Color palette (minimum required roles):
Brand theme presets (use for known brands, skip color questions):
| Brand | Background | Primary Accent | Secondary Accent | Text Primary | Text Muted | Font | Theme |
|---|---|---|---|---|---|---|---|
| FunnelEnvy | #FFFFFF / #1a1a2e (terminal) | #3B82F6 (Blue) | #8B5CF6 (Purple) | #000000 | #6B7280 | Inter, system | Light |
| Reform | #FFFFFF / #1a1a2e (terminal) | #48EC80 (Green) | #EDE630 (Yellow) | #000000 | #6B7280 | Inter, system | Light |
| GrowthNode | #0f0a1a (all scenes) | #8B5CF6 (Purple) | #3B82F6 (Blue) | #FFFFFF | #a1a1aa | Inter, system | Dark |
| MIA | #F7F4FA / #1c1422 (dark) | #F1DE71 (Yellow) | #7184F1 (Purple) | #1c1422 / #f7f4fa (dark) | rgba(28,20,34,0.62) | system-ui, -apple-system, Segoe UI | Light |
MIA accent palette: Blue #71C4F1, Purple #7184F1, Pink #F171C4, Green #71F19E
Custom brands: If the brand is not listed above, define colors from the brand website or guidelines provided in Step 0. Fill the same roles: background, primary accent, secondary accent, text primary, text muted, font, theme.
Typography: Font family, weight hierarchy, sizes at target resolution.
Animation style: Spring (bouncy/smooth/snappy), linear, or ease-based. Pick a dominant style.
Source of truth: If matching an existing design, reference the source file.
Agent resolves this based on scene complexity:
| Condition | Approach |
|---|---|
| Under 15 scenes | Single file |
| 15+ scenes or reusable parts | Multi-file with scenes/ directory |
| Shared elements across scenes | Persistent layer with opacity envelope |
Always use a centralized timing constant (const T = { ... }).
Write code against locked decisions. All animation must follow Remotion rules (see Technical Reference below).
Generate a reference doc covering: specs, selected variant, preview/render commands, scene breakdown, color palette, timing config, architecture notes, iteration guide.
Read individual rule files for API details and code examples.
useCurrentFrame(). No CSS transitionsinterpolate(), spring(), easing functions, spring configs<Sequence> and <Series> for timing, delay, and duration controlfrom) and ends (durationInFrames)<TransitionSeries> with fade, slide, wipe, flip, clockWipestaticFile() for public folder assets<Video> with trimming, volume, speed, looping, pitch<Audio> with trimming, volume, speed, pitch<Img> component (ensures load before render)<AnimatedImage> for GIF/APNG/AVIF/WebP@remotion/google-fonts, local fonts via @remotion/fontsmeasureText(), fitText(), fillTextBox().srt files with parseSrt()<Composition>, <Still>, <Folder>, defaultProps<ThreeCanvas> with React Three FiberuseCurrentFrame()<Lottie> component with @remotion/lottietransition-* or animate-* classes)useCurrentScale() for accurate measurementsThese apply to all Remotion code. Violations will produce incorrect output.
useCurrentFrame(). No CSS transitions, no Tailwind animate-* or transition-* classes, no React Three Fiber useFrame()<Img>, <Video>, <Audio>) not native HTML elementsstaticFile() for all assets in the public/ folderfps from useVideoConfig() to get framesuseCurrentFrame() instead)