skills/tutorial-video-creator/SKILL.md
This skill should be used when the user asks to "create a tutorial video", "make an educational video", "combine screen recording with voiceover", "add face circle overlay to video", "create vertical video with captions", "make a Remotion video", "add subtitles to screen recording", or needs to produce vertical social media videos from screen recordings and talking head footage.
npx skillsauth add m0rg0t/tutorial-video-creator-skill Tutorial Video CreatorInstall 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.
Create polished vertical (1080x1920) tutorial videos by compositing a screen recording with a talking head circle overlay and synced TikTok-style captions using Remotion.
This skill depends on the remotion-best-practices skill for Remotion-specific patterns and API knowledge. Install it first:
npx skills add remotion-dev/skills
When working on Remotion compositions, also load the remotion-best-practices skill for detailed rules on animations, timing, videos, and audio components.
Collect from the user:
Create the project directory structure:
mkdir -p <target-directory>/remotion-video/{src/components,public,scripts,out}
Then create the source files from references/project-structure.md and install dependencies:
cd <target-directory>/remotion-video && npm install
For the full project structure and component code, consult references/project-structure.md.
H.265 (HEVC) videos from iPhones cannot be decoded by browsers. Convert to H.264:
# Screen recording → H.264
ffmpeg -i source-screen.MOV -c:v libx264 -crf 18 -c:a aac -y public/screen-recording.mp4
# Voiceover → H.264
ffmpeg -i source-voiceover.MOV -c:v libx264 -crf 18 -c:a aac -y public/voiceover.mp4
# Extract audio for transcription (16kHz mono WAV for Whisper)
ffmpeg -i source-voiceover.MOV -ar 16000 -ac 1 -f wav scripts/voiceover-audio.wav
# Extract high-quality audio for enhancement (48kHz stereo)
ffmpeg -i source-voiceover.MOV -vn -c:a pcm_s16le -ar 48000 public/voiceover-audio.wav
Key gotcha: iPhone portrait videos store rotation as metadata (displaymatrix: rotation of -90.00 degrees). FFmpeg applies this automatically during transcoding — a 1920x1080 landscape source becomes 1080x1920 portrait output.
Use the transcription script with local Whisper API:
python3 scripts/transcribe.py
Configure the Whisper API URL and model in the script. Default: http://localhost:12017.
If only segment-level timestamps are returned (no word-level), the script distributes time evenly across words within each segment — approximate but visually acceptable.
Post-transcription: Review public/captions.json for recognition errors. Common fixes for Russian: brand names, technical terms (промпт vs промпут), proper nouns.
The project creates multiple variants with configurable props. For component implementation details, consult references/components.md.
Face Circle — circular crop of talking head video overlaid on screen recording:
objectFit: "cover" + objectPosition: "center N%" on a square <Video> elementCaptions — TikTok-style word-by-word highlighting:
createTikTokStyleCaptions() from @remotion/captionsAudio — can use either video file or separate enhanced audio:
<Audio src={staticFile("voiceover-audio.wav")} /> for enhanced audio<Video> to avoid double audio| Variant | Face Position | Captions Position | |---------|--------------|-------------------| | CircleBottomLeft | bottom-left | bottom (raised above circle) | | CircleTopRight | top-right | bottom | | CaptionsOnly | none | bottom |
npx remotion studio --port 3333
Common adjustments during preview:
objectPosition percentageCIRCLE_SIZE constantBOTTOM_WITH_FACE offsetpublic/captions.json directlyExtract frames for quick visual checks without the studio:
ffmpeg -i public/screen-recording.mp4 -vf "fps=2,scale=296:-1" out/frames/frame_%03d.jpg
# Single variant
npx remotion render CircleBottomLeft out/circle-bottom-left.mp4
# All variants
npm run render:all
references/project-structure.md — Full project scaffold, package.json, tsconfig, component codereferences/components.md — Detailed component implementations (FaceCircle, Captions, ScreenRecording)references/troubleshooting.md — Common issues and solutionsscripts/scaffold.sh — Creates complete Remotion project structurescripts/transcribe-template.py — Whisper API transcription script (Python 3, no dependencies)scripts/convert-videos-template.sh — FFmpeg conversion script templatetesting
Create, edit, improve, or audit AgentSkills. Use when creating a new skill from scratch or when asked to improve, review, audit, tidy up, or clean up an existing skill or SKILL.md file. Also use when editing or restructuring a skill directory (moving files to references/ or scripts/, removing stale content, validating against the AgentSkills spec). Triggers on phrases like "create a skill", "author a skill", "tidy up a skill", "improve this skill", "review the skill", "clean up the skill", "audit the skill".
testing
Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, OpenClaw cron scheduling for periodic checks, or version status checks on a machine running OpenClaw (laptop, workstation, Pi, VPS).
testing
Create, edit, improve, or audit AgentSkills. Use when creating a new skill from scratch or when asked to improve, review, audit, tidy up, or clean up an existing skill or SKILL.md file. Also use when editing or restructuring a skill directory (moving files to references/ or scripts/, removing stale content, validating against the AgentSkills spec). Triggers on phrases like "create a skill", "author a skill", "tidy up a skill", "improve this skill", "review the skill", "clean up the skill", "audit the skill".
testing
Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, OpenClaw cron scheduling for periodic checks, or version status checks on a machine running OpenClaw (laptop, workstation, Pi, VPS).