AI Marketing Videos
NeverSight/learn-skills.dev
Create AI marketing videos for ads, promos, product launches, and brand content.
Builds marketing and explainer videos in Remotion from rendered scenes, with one real product capture as proof, and cuts them for each platform's formats.
$ npx skills add ooiyeefei/ccc --skill motion-video -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ooiyeefei/ccc motion-video --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ooiyeefei/ccc.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/motion-video .claude/skills/motion-video && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "motion-video" agent skill from https://github.com/ooiyeefei/ccc/tree/main/skills/motion-video into .claude/skills/motion-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "motion-video", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ooiyeefei/ccc/tree/main/skills/motion-videoType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ooiyeefei/ccc --skill motion-video -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ooiyeefei/ccc motion-video --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ooiyeefei/ccc.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/motion-video .agents/skills/motion-video && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "motion-video" agent skill from https://github.com/ooiyeefei/ccc/tree/main/skills/motion-video into .agents/skills/motion-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "motion-video", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ooiyeefei/ccc --skill motion-video -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ooiyeefei/ccc motion-video --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ooiyeefei/ccc.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/motion-video .cursor/skills/motion-video && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "motion-video" agent skill from https://github.com/ooiyeefei/ccc/tree/main/skills/motion-video into .cursor/skills/motion-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "motion-video", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ooiyeefei/ccc.git --path skills/motion-video--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ooiyeefei/ccc --skill motion-video -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ooiyeefei/ccc motion-video --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ooiyeefei/ccc.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/motion-video .gemini/skills/motion-video && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "motion-video" agent skill from https://github.com/ooiyeefei/ccc/tree/main/skills/motion-video into .gemini/skills/motion-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "motion-video", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ooiyeefei/ccc motion-videoInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ooiyeefei/ccc --skill motion-video -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ooiyeefei/ccc.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/motion-video .github/skills/motion-video && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "motion-video" agent skill from https://github.com/ooiyeefei/ccc/tree/main/skills/motion-video into .github/skills/motion-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "motion-video", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ooiyeefei/ccc --skill motion-video -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ooiyeefei/ccc motion-video --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ooiyeefei/ccc.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/motion-video .opencode/skills/motion-video && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "motion-video" agent skill from https://github.com/ooiyeefei/ccc/tree/main/skills/motion-video into .opencode/skills/motion-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "motion-video", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
motion-videoBuilds marketing and explainer videos in Remotion from rendered scenes, with one real product capture as proof, and cuts them for each platform's formats.
The skill inverts the usual screen-recording approach. A motion video renders most of its scenes, such as motion graphics, rebuilt product UI, animated charts and brand-matched titles, and stitches in one real capture as the proof beat. Four rules govern the work: rendered scenes are the wrapper and the real capture is the proof, with illustrative figures labeled on screen; every animation runs on Remotion's frame clock; the brand's real font, logo and palette come from the product's own repository; and mocked figures must still reconcile.
A screenshot with a camera move does not count as proof, since the proof beat needs motion the product itself produced. The skill ships Remotion components for captions, rolling digits, flash cuts, page camera moves and vertical tickers, plus motion helpers, reference notes on Remotion, brand matching and platform formats, and a render-formats.mjs script that cuts one film to the aspect ratios and safe zones of Instagram Reels, TikTok, YouTube Shorts and the 4:5 feed. It is not for filming the real app, pitch decks or editing existing footage.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c0fd926. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (TypeScript and JavaScript, from the files we listed), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Motion Video in Remotion loads about 2.9k tokens when it runs, and up to ~8k if it reads all its reference files. Until then it costs about 243 tokens; SKILL.md has 1,587 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from ooiyeefei/ccc at commit c0fd926, republished under its MIT licence (© ooiyeefei). 1,587 words, ~2,876 tokens.
.claude/skills/motion-video/SKILL.md (or your agent's skills folder). This skill also uses 16 other files; get the full folder from GitHub.A demo-video films the real product to prove it. A motion video renders the story to sell or explain it. The mix is the opposite: a marketing film is mostly rendered scenes with one real capture stitched in as proof. Get that inversion wrong and you have either a screen-recording that bores or a cartoon that convinces no one.
Four rules. They are the ones an agent under time pressure abandons first, which is why they are not optional. Repeat the bolded phrase in your reasoning as you work; it is the behaviour.
Wrapper, not proof. Rendered and mocked scenes are the WRAPPER; the real capture is the
PROOF. Never pass a rendered UI off as a live screen recording. When a figure is illustrative,
say so on screen. This is demo-video's "annotate never substitute" ethic moved up one level:
mocks are legitimate in the wrapper, banned inside the proof beat.
A screenshot with a camera move is NOT the proof beat. This is the failure this rule exists to catch, and it is seductive because PageCam over a still looks expensive. It is still a photograph. A film built entirely of glides over stills feels dead on the first watch and the client says so: nothing is ever being USED. The proof beat must contain MOTION THE PRODUCT MADE
Frame-clock, not wall-clock. Every animation is driven by Remotion's useCurrentFrame().
framer-motion, CSS transitions, requestAnimationFrame, setTimeout, Date.now() all render
FROZEN, because Remotion seeks a synthetic clock frame by frame. This is the single biggest
surprise; internalise it before you write a scene. (references/remotion.md.)
Brand-match verbatim. Pull the real font, logo mark, wordmark, and palette from the
product's OWN repo and use them exactly. An approximated brand reads as fake and undoes the
film. (references/brand-match.md.)
Figures reconcile. A mocked ledger still balances; a mocked chart's bars still sum to its headline. No fabricated numbers, no prices the brand keeps private, no success rates or compliance claims, and nothing that reveals HOW a sensitive capability works if the brand does not want it shown. Marketing gets a warmer voice, never a pass on truth.
Node + ffmpeg present. Locate the product's repo (you need its real brand assets) and confirm it
runs with demo data (you need one real beat). Remotion is free for teams of 3 or fewer; 4+ needs a
paid licence - flag it before promising a Remotion build.
One row per scene: scene | shows | real or rendered | motion | narration | dur. Mark every scene
real or rendered, and name the ONE real proof beat. Show it and stop until the user approves.
This is the cheapest point to change the film; after scenes are rendered every edit re-renders and
re-times. (Storyboard format: demo-video/references/storyboard.md, adapted - the "proof" column
becomes "real or rendered".)
A film rarely ships as one file: the same story goes to 16:9 YouTube, 9:16 TikTok/Reels/Shorts, and
4:5 feed. Ask which platforms and placements it ships to (a multi-select), collapse them to the
minimal master-ratio set - almost always a subset of {9:16, 16:9, 4:5, 1:1} - and note each one's UI
safe zone. Two rules the agent under pressure breaks: reframe, never crop the extremes (16:9 to
9:16 discards ~56% of the frame and must be re-authored, not cropped), and compose inside the safe
box (keep every title and logo clear of the caption bar, action rail, and CTA button the platform
paints over the video). Decide this BEFORE building scenes - it sets how each scene lays out in
vertical vs landscape. Remotion makes the cut cheap: one component set renders at any width/height via
useVideoConfig(). (references/platform-formats.md.)
Find the real font (next/font or tailwind config), logo (SVG/component), wordmark, and palette in
the product repo. Wire them into the Remotion project. Do this FIRST - it changes every scene.
(references/brand-match.md.)
An isolated Remotion project, one component per scene, everything on useCurrentFrame(). If the film
targets more than one aspect ratio, branch each scene's layout on orientation (useVideoConfig()) and
keep content inside the safe box - do not author for 16:9 and crop to 9:16 later. Setup, the
frame-clock discipline, fonts, and rendering are in references/remotion.md; the format matrix and
safe zones are in references/platform-formats.md.
Start from the carried motion kit, not from scratch. assets/motion/ holds the shotcraft
pieces every film reuses, already brand-parameterised and format-aware: PageCam (2.5D camera over
a real screenshot), DigitRoll (a number landing), FlashCut (a hard tonal break), Caption,
VerticalTicker (volume), and deterministic helpers/. Copy what the storyboard needs into the
project's src/motion/ and pass the brand tokens in. Read assets/motion/README.md first - it says
when each one earns its place, and which two upstream defaults (hardcoded 1920x1080 framing, and the
Ink Press amber) are deliberately parameterised because a naive re-copy breaks rules 1.5 and 3.
Reach past the kit for anything it does not cover: the remaining ~100 shot cards, the preview
gallery, and the SFX/BGM set stay REFERRED, shopped per beat from the installed video-shotcraft
skill per references/shotcraft-bridge.md. Our guardrails and three ratios wrap all of it.
Rendered scenes only - the real-proof beat stays demo-video, which shotcraft cannot record.
A beat that shows a figure should usually ROLL it (DigitRoll), not fade it in: a rolling number
reads as the system computing, a fading number reads as a caption. This is the most common miss.
The proof: the real product doing the real thing, captured crisply with the demo-video skill's harness. Do not rebuild the product's own screen in Remotion when the real one can be filmed - that is the wrapper-not-proof line.
"ONE beat" is the floor, not the target. A marketing film carries as many real beats as it has claims; a 60s hero comfortably holds three or four, and they are what make it feel alive. Budget them at the storyboard gate, not after the rendered scenes are built.
What to capture, in order of how alive it reads: typing (characters landing one at a time in a real input), filtering (a list collapsing as the query lands - it proves the data is real and the app is responding), navigating (pages actually loading, nav highlighting), then plain scrolling. Record the cursor: a visible pointer that TRAVELS to its target sells the interaction, and a cursor that teleports is the giveaway that a "recording" was faked. Move the mouse in steps.
Keep every take READ-ONLY on a real tenant - type but do not send, filter but do not save, navigate but do not submit. A take that would mutate needs the owner's explicit go-ahead, and on a production tenant the answer is usually a staging one instead.
Two things that ruin otherwise good footage, both cheap to prevent:
--kiosk is unreliable under automation; crop the top band in
ffmpeg instead. Crop the TOP only, then PAD back to the target ratio - cropping the sides to
"fix" the aspect slices the app's own nav rail and reads as a broken capture.Rendered scenes + the real beat, crossfaded with ffmpeg. scripts/stitch.mjs is the reusable
xfade chain; edit its clip list. Derive final timestamps from the DELIVERED mp4, never from
planned scene lengths (same Gate-3 rule as demo-video). Assembly variants and the ffmpeg recipe:
pitch-package/references/stitching.md.
A marketing film often ships silent (motion + on-screen text, autoplay-muted). If it needs a voiceover, write it in the pitch-craft marketing register, timed to the encoded mp4.
Watch every scene as an image. Figures reconcile. Brand matches the real app. No scene overclaims
or leaks. The real beat is unmistakably the real product. Render each selected format
(scripts/render-formats.mjs) and watch it at its TRUE ratio - a layout that reads in 16:9 can
collapse in 9:16, and nothing critical may sit inside a platform safe zone.
references/remotion.md - the Remotion setup that works: isolated project, the frame-clock
discipline, brand fonts, rendering. Read before writing a scene.references/brand-match.md - how to find and wire the product's real font, logo, and palette.scripts/stitch.mjs - the ffmpeg xfade stitcher for rendered scenes + the real beat.references/platform-formats.md - target-platform picker, the minimal master-ratio set, per-placement
UI safe zones, the export/codec rule, and the Remotion multi-format recipe. Read when the film ships
to more than one placement (any ad or multi-channel post).assets/motion/ - the CARRIED motion kit: PageCam, DigitRoll, FlashCut, Caption, VerticalTicker,
and deterministic helpers, brand-parameterised and format-aware, with LICENSE.upstream. Copy into
the film's project. Read its README before building a scene.references/shotcraft-bridge.md - how to leverage the rest of the external video-shotcraft
motion/sound library (what is carried vs referred, the RENDERED-vs-RECORDED boundary, the
card-to-beat map, and the guardrail overlay). Read when a scene needs motion the kit does not carry.scripts/render-formats.mjs - render every chosen ratio from one Remotion project (Film-<id> compositions).© ooiyeefei, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 16 other files (scripts, references, assets) in skills/motion-video of ooiyeefei/ccc.
Open the folder on GitHubat commit c0fd926
Motion Video in Remotion next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Motion Video in Remotion this skillooiyeefei/ccc | 494 | — | ~2.9k | Automated safety check: Pass | MIT | |
| AI Marketing VideosNeverSight/learn-skills.dev | 216 | 3 repos | ~2.1k | Automated safety check: Pass | None | |
| Video Downloaderisjiamu/jiamu-skills | 139 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Universal Video DownloaderCraftOS-dev/CraftBot | 392 | — | ~469 | Automated safety check: Pass | MIT | |
| Video Downloaderredfox-data/redfox-community | 425 | — | ~990 | Automated safety check: Pass | None | |
| Paw Cra Agent Video Producerpawbytes/skill-suites | 113 | — | ~2.3k | Automated safety check: Pass | MIT |
NeverSight/learn-skills.dev
Create AI marketing videos for ads, promos, product launches, and brand content.
isjiamu/jiamu-skills
Download videos from 1000+ websites (YouTube, Bilibili, Twitter/X, TikTok, etc.) using yt-dlp.
CraftOS-dev/CraftBot
Download videos from YouTube, Instagram, TikTok, Twitter/X, and 1000+ other sites using yt-dlp.
redfox-data/redfox-community
短视频下载器 — 支持抖音、小红书、快手、视频号、B站、YouTube、Instagram 等主流平台无水印视频下载. An agent skill from redfox-data/redfox-community.
pawbytes/skill-suites
Video production specialist for short-form, long-form, episodic, and motion graphics video.
mohitagw15856/pm-claude-skills
Write a short-form video script for TikTok, Instagram Reels, or YouTube Shorts — built on the hook→retention→payoff structure that drives watch-time.
ooiyeefei/ccc
Turns meeting recordings into notes with a chain of custody from audio to claim, auditing transcripts for gaps and low-confidence numbers and names.
ooiyeefei/ccc
Records a sharp product demo video by driving the real app with a browser agent, from storyboard to Xvfb capture and a narration script synced to the frames.
ooiyeefei/ccc
Generates architecture diagrams as .excalidraw files by analyzing a codebase, with optional PNG or SVG export through Playwright.
ooiyeefei/ccc
Sets up GA4 on a website and wires one real conversion event end to end, verified in DebugView before any money goes into ads.
ooiyeefei/ccc
Builds or rewrites SaaS landing pages by researching the real product, positioning it against alternatives and writing buyer-focused copy, then implementing it in the codebase.
ooiyeefei/ccc
Walks a site owner through installing the Meta Pixel, firing one conversion event and verifying it with the Pixel Helper before any ads run.
Categories
Builds marketing and explainer videos in Remotion from rendered scenes, with one real product capture as proof, and cuts them for each platform's formats. The skill inverts the usual screen-recording approach. A motion video renders most of its scenes, such as motion graphics, rebuilt product UI, animated charts and brand-matched titles, and stitches in one real capture as the proof beat.
Motion Video in Remotion fits situations like: making a launch or website hero video from rendered scenes; building an animated explainer with data-driven charts in Remotion; cutting one film for Reels, Shorts, TikTok and feed placements; matching a video's fonts, logo and colors to a product's brand.
Run `npx skills add ooiyeefei/ccc --skill motion-video -a claude-code`. Or copy the skill folder (skills/motion-video in ooiyeefei/ccc) into .claude/skills/motion-video in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ooiyeefei/ccc --skill motion-video -a codex`. Or copy the skill folder (skills/motion-video in ooiyeefei/ccc) into .agents/skills/motion-video in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ooiyeefei/ccc --skill motion-video -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/motion-video, .gemini/skills/motion-video, .github/skills/motion-video and .opencode/skills/motion-video in your project.
Going by SKILL.md and its folder, Motion Video in Remotion needs TypeScript and JavaScript for the scripts in its folder. Our summary lists: A Remotion project; Node.js, to run the render-formats.mjs script; Access to the product's repository for its font, logo and palette.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Motion Video in Remotion is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Motion Video in Remotion: AI Marketing Videos (NeverSight/learn-skills.dev, 216 stars), Video Downloader (isjiamu/jiamu-skills, 139 stars), Universal Video Downloader (CraftOS-dev/CraftBot, 392 stars) and Video Downloader (redfox-data/redfox-community, 425 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ooiyeefei (a GitHub user) maintains it in ooiyeefei/ccc, which has 494 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on July 29, 2026.
Source: ooiyeefei/ccc on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.