skills/video-creator/SKILL.md
Use this skill when creating complete videos from scratch - product demos, explainers, social clips, or announcements. Orchestrates the full workflow: deep interview, script generation, visual verification, Remotion project build, audio design, narration, and 4K rendering. Triggers on "make me a video", "create a video about", video production, and end-to-end video creation requests.
npx skillsauth add absolutelyskilled/absolutelyskilled video-creatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
4 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
When this skill is activated, always start your first response with the :movie_camera: emoji.
This is the orchestrator skill for end-to-end video creation. It coordinates a complete 7-step workflow that takes a user from "I need a video" to a finished 4K render. Each step delegates to companion skills (remotion-video, video-scriptwriting, video-audio-design, video-analyzer) while this skill manages sequencing, approval gates, and handoffs between stages.
You do NOT need to know Remotion internals or audio engineering - those are handled by companion skills. This skill's job is to run the process, ask the right questions, and make sure nothing gets skipped.
Trigger this skill when the user:
Do NOT trigger this skill for:
Visual-first: Get visuals approved before spending money on audio. Narration costs real dollars via ElevenLabs - never generate it until the visual layer is locked.
Interview exhaustively: Ask up to 30 questions to capture all context about the product, audience, goals, tone, assets, and visual preferences. Incomplete context leads to expensive re-work.
Structured handoff: The video-script.yaml file is the single source of
truth between all steps. Every scene, frame count, narration line, and SFX
cue lives in this file.
User approval gates: Explicit approval is required at each major step. Never auto-advance. The user must say "approved" or "looks good" before the next step begins.
4K default: Always render at 3840x2160 unless the user specifies otherwise. Downscaling is easy; upscaling is not.
Before anything else, the user must have a Remotion project set up. This is the
workspace where all video code will be written. Check if you are already inside
a Remotion project (look for remotion.config.ts or @remotion/cli in
package.json). If not, scaffold one:
npx create-video@latest
This creates a new folder with the starter project. Then install dependencies:
cd <project-name>
npm install
Do NOT proceed to Step 1 until a Remotion project exists and dependencies are installed. All subsequent steps write code into this project.
If the user already has a Remotion project, cd into it and continue.
Gather all context needed to write a complete script. Ask questions one at a time using an interactive conversational approach.
Question categories (aim for 15-30 questions total):
| Category | Example Questions | |---|---| | Product/subject | What does the product do? What is the core value prop? | | Audience | Who is the target viewer? Technical level? | | Video goals | What should the viewer do after watching? | | Tone/style | Playful or professional? Fast or slow-paced? | | Assets | Do you have logos, screenshots, brand colors, fonts? | | Content | What are the key features or messages to cover? | | Visual preferences | Any reference videos? Preferred animation style? | | Duration | How long should the video be? Where will it be published? |
Rules for Step 1:
Exit criteria: User confirms you have enough context.
Use patterns from the video-scriptwriting skill to produce a structured YAML script.
Frame count formula:
frames = duration_seconds * 30
All Remotion compositions use 30fps by default.
Generate a video-script.yaml file with this structure:
title: "Product Demo - Acme Widget"
fps: 30
resolution: { width: 3840, height: 2160 }
total_duration_seconds: 60
scenes:
- id: scene-01
title: "Hook"
duration_seconds: 5
frames: 150
narration: "Ever wished your widgets could think for themselves?"
visuals: "Dark background, glowing Acme logo fades in, particles"
animation_notes: "Logo scale 0->1 with spring, particles emit from center"
music_cue: "Ambient synth pad, low energy"
sfx: "Subtle whoosh on logo reveal"
transition_out: "crossfade"
- id: scene-02
# ... continue for all scenes
Rules for Step 2:
duration_seconds, frames, narration, visuals,
animation_notes, music_cue, and sfx fieldsduration_seconds * 30total_duration_secondsExit criteria: User approves the script.
Build a minimal Remotion project with visuals only - no audio layer yet.
What to build:
What NOT to build yet:
Process:
npx remotion studiohttp://localhost:3000Exit criteria: User explicitly approves the visuals.
Now that visuals are approved, flesh out the complete project.
Tasks:
src/
compositions/
Scene01Hook.tsx
Scene02Feature.tsx
...
components/
AnimatedLogo.tsx
TransitionWipe.tsx
...
Root.tsx
index.ts
video-script.yaml
Rules for Step 4:
components/video-script.yamlExit criteria: Full project builds without errors and matches approved visuals.
Use patterns from the video-audio-design skill.
Tasks:
Volume guidelines: | Layer | Base Volume | During Narration | |---|---|---| | Background music | 0.3-0.5 | 0.1-0.15 | | SFX | 0.5-0.8 | 0.4-0.6 | | Narration | N/A (Step 6) | 1.0 |
Exit criteria: User approves audio-visual sync.
This step involves paid API calls to ElevenLabs. Always confirm before proceeding.
Setup:
https://elevenlabs.ioProcess:
video-script.yaml with actual audio durationsRules for Step 6:
Exit criteria: User approves narration sync (or explicitly skips this step).
Process:
npx remotion render src/index.ts Main out/video.mp4 \
--width 3840 --height 2160
Format guidance: | Format | Use Case | |---|---| | MP4 (H.264) | Web, social media, general sharing | | MP4 (H.265) | Smaller file size, modern device playback | | ProRes | Further editing in Premiere, Final Cut, DaVinci | | WebM (VP9) | Web embedding with transparency support |
Exit criteria: Rendered video file delivered to user.
video-script.yaml as the single source of truth| Type | Duration | Scenes | Per Scene | |---|---|---|---| | Product demo | 30-120s | 6-15 | 5-10s | | Explainer | 60-180s | 8-20 | 5-12s | | Social clip | 15-60s | 3-8 | 3-8s | | Announcement | 15-45s | 3-6 | 4-8s |
| Anti-pattern | Why it fails | Correct approach |
|---|---|---|
| Generating narration before visual approval | Wastes money if visuals change | Complete Steps 1-4 first, then narration |
| Skipping the interview | Script lacks context, scenes feel generic | Ask 15-30 targeted questions |
| No YAML script file | No source of truth, timing drifts | Always generate video-script.yaml |
| Auto-advancing without approval | User loses control, re-work is expensive | Wait for explicit "approved" at each gate |
| Hardcoding values in Remotion | Cannot parametrize or reuse | Use Zod schemas for all configurable values |
| Rendering at 1080p by default | Cannot upscale later | Always default to 4K (3840x2160) |
| Building audio and visuals simultaneously | Makes iteration painful | Visual-first, audio after approval |
Frame count math matters. 60 seconds at 30fps = 1800 frames exactly. If
scene durations do not sum correctly, the video will be too short or too long.
Always verify: sum(scene.duration_seconds) == total_duration_seconds.
Remotion Studio needs a running dev server. After building compositions,
you must run npx remotion studio and tell the user to open
http://localhost:3000. Do not assume they can preview without this.
ElevenLabs narration durations are unpredictable. A 5-second script line might produce 4.2s or 6.1s of audio. Always measure actual durations after generation and adjust frame counts accordingly.
Volume ducking requires knowing narration timing. The ducking curves for background music depend on knowing exactly when narration starts and stops in each scene. This is why Step 5 sets up ducking infrastructure but Step 6 activates it.
4K rendering is slow. A 60-second video at 3840x2160 can take 10-30 minutes depending on complexity. Warn the user about render time before starting, and suggest a 1080p test render first if they want a quick check.
references/workflow-checklist.md - Detailed checklist for each of the 7
steps with sub-tasks, expected outputs, and approval criteriareferences/project-templates.md - Starter Remotion project structures for
each video type with file trees and component scaffoldsreferences/troubleshooting.md - Common issues and fixes for Remotion
rendering, audio sync, FFmpeg, ElevenLabs API, and performanceOn first activation of this skill in a conversation: check which companion skills are installed by running
ls ~/.claude/skills/ ~/.agent/skills/ ~/.agents/skills/ .claude/skills/ .agent/skills/ .agents/skills/ 2>/dev/null. Compare the results against therecommended_skillsfield in this file's frontmatter. For any that are missing, mention them once and offer to install:npx skills add AbsolutelySkilled/AbsolutelySkilled --skill <name>Skip entirely if
recommended_skillsis empty or all companions are already installed.
development
Diátaxis-driven documentation writing, improvement, and auditing for AI agents. Writes public-facing product docs (tutorials, how-to guides, reference, explanation) and repo developer docs (README, CONTRIBUTING, ARCHITECTURE, ADRs, changelogs, runbooks), improves existing pages to their quadrant's standard, and audits whole doc sites against the Diátaxis map. Detects the docs stack (Fumadocs, Docusaurus, Starlight, MkDocs, VitePress, Mintlify, plain Markdown) and follows its conventions. Triggers on "write docs", "document this", "write a tutorial", "write a README", "improve this doc", "audit our docs", "restructure the documentation", or "absolute-documentations this".
development
End-to-end, phase-gated software development lifecycle for AI agents. Turns a ticket, task, plan, or migration into a validated design, a dependency-graphed task board, and verified code. Triggers on "build this end-to-end", "plan and build", "break this into tasks", "pick up this ticket", "grill me on this", "run this migration", "absolute-work this", or any multi-step development task. Relentlessly interviews to a shared design, writes a reviewed spec, decomposes into atomic tasks on a persistent markdown board, then peels tasks one safe wave at a time with test-first verification. Handles features, bugs, refactors, greenfield projects, planning breakdowns, and migrations.
development
Use this skill when building user interfaces that need to look polished, modern, and intentional - not like AI-generated slop. Triggers on UI design tasks including component styling, layout decisions, color choices, typography, spacing, responsive design, dark mode, accessibility, animations, landing pages, onboarding flows, data tables, navigation patterns, and any question about making a UI look professional. Covers CSS, Tailwind, and framework-agnostic design principles.
development
Autonomously simplifies code in your working changes or targeted files. Detects staged or unstaged git changes, analyzes for simplification opportunities following clean code and clean architecture principles, applies improvements directly, runs tests to verify nothing broke, and shows a structured summary with reasoning. Triggers on "simplify this", "refactor this", "clean up my changes", "absolute-simplify", "simplify my code", "make this cleaner", "tidy this up", "reduce complexity", "flatten this", "remove dead code", or when code needs clarity improvements, nesting reduction, or redundancy removal. Language-agnostic at base with deep opinions for JS/TS/React, Python, and Go.