video
Skill24 starsChanged 2 months agoMITView on GitHub
Work with video files — understand what's in a clip, pull frames you can actually look at, edit (trim/join/retime/overlay/re-encode), verify a cut is clean, and deliver it over iMessage. Use whenever someone sends a video, asks for edits to one, or you're producing/forwarding a clip.
61 other projects use a version of this.
Adopted by
Most recently taken up by
- guaardvark/guaardvarktheir own version, first seen Nov 5, 2026
- xeroc/skillstheir own version, first seen Nov 4, 2026
- letsloose501/sqs-agent-memorytheir own version, first seen Nov 3, 2026
- GAPZ787/claude-skillstheir own version, first seen Nov 1, 2026
- Hela-Ecosystem/designer-mcptheir own version, first seen Nov 1, 2026
- adrienlupo/Claude-code-configtheir own version, first seen Oct 30, 2026
Used with
Projects with it also use popups, co-marketing and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
CesarjoquinSkillpopups
When the user wants to create or optimize popups, modals, overlays, slide-ins, or banners for conversion purposes. Also use when the user mentions "exit intent," "popup conversions," "modal optimization," "lead capture popup," "email popup," "announcement banner," "overlay," "collect emails with a popup," "exit popup," "scroll trigger," "sticky bar," or "notification bar." Use this for any overlay or interrupt-style conversion element. For forms outside of popups, see cro. For general page conversion optimization, see cro.
Also in 22 projects that use this
CesarjoquinSkillco-marketing
When the user wants to find co-marketing partners, plan joint campaigns, or brainstorm partnership opportunities. Use when the user says 'co-marketing,' 'partner marketing,' 'joint campaign,' 'who should we partner with,' 'integration marketing,' 'cross-promotion,' 'collaborate with another company,' 'partnership ideas,' or 'co-brand.' For customer referral programs, see referrals. For launch-specific partnerships, see launch.
Also in 24 projects that use this
coreyhaines31Skillmarketing-council
When the user wants multiple expert perspectives on a marketing question — a simulated board of advisors staffed by legendary marketers (Seth Godin, David Ogilvy, Eugene Schwartz, April Dunford, Rory Sutherland, Alex Hormozi, Byron Sharp, and more). Also use when the user mentions 'marketing council,' 'board of advisors,' 'advisory board,' 'what would Seth Godin say,' 'what would Ogilvy think,' 'channel Hormozi,' 'get multiple perspectives,' 'debate this,' 'have the council review,' 'marketing mentors,' or asks how a famous marketer would approach their problem. The council gives each advisor's take through their documented frameworks, surfaces where they disagree, and synthesizes a recommendation. For executing the winning direction, hand off to positioning, offers, copywriting, ads, or the relevant skill.
Also in 17 projects that use this
ukunal91appSkillcommunity-marketing
Build and leverage online communities to drive product growth and brand loyalty. Use when the user wants to create a community strategy, grow a Discord or Slack community, manage a forum or subreddit, build brand advocates, increase word-of-mouth, drive community-led growth, engage users post-signup, or turn customers into evangelists. Trigger phrases: "build a community," "community strategy," "Discord community," "Slack community," "community-led growth," "brand advocates," "user community," "forum strategy," "community engagement," "grow our community," "ambassador program," "community flywheel.
Also in 26 projects that use this
roerohanSkillemails
When the user wants to create or optimize an email sequence, drip campaign, automated email flow, or lifecycle email program. Also use when the user mentions "email sequence," "drip campaign," "nurture sequence," "onboarding emails," "welcome sequence," "re-engagement emails," "email automation," "lifecycle emails," "trigger-based emails," "email funnel," "email workflow," "what emails should I send," "welcome series," or "email cadence." Use this for any multi-email automated flow. For cold outreach emails, see cold-email. For in-app onboarding, see onboarding.
Also in 19 projects that use this
- +7 more from Cesarjoquin
Other versions61 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 61
- coreyhaines31/marketingskills★ 59ksame name
- runesleo/x-reader★ 988same name
- Nexus-JPF/note-companion★ 874same name
- smixs/visual-skills★ 635same name
- iBigQiang/feedgrab★ 622same name
- guaardvark/guaardvark★ 306same name
- ohad6k/emulo★ 292same name
- Cesarjoquin/Marketing-Skills★ 190same name
- guimatheus92/mcp-video-analyzer★ 115same name
- Rylaispirit/rylai-codex-hermes-skills★ 56same name
51 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository27 other files it gives its agents.
- persona.example/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- agentsSkill
- cloudflareSkill
- deep-researchSkill
- fishingSkill
- frontend-designSkill
- generationSkill
- gifgrepSkill
- hikeSkill
- historySkill
- image-genSkill
- instant-shareSkill
- iterative-designSkill
- kitchenSkill
- printingSkill
- radaromega-proSkill
- radaromegaSkill
- remindersSkill
- skycamSkill
- summarizeSkill
- compare-optionsSkill
- research-trioSkill
- teamsSkill
- trading-loopSkill
- voice-memoSkill
- web-design-guidelinesSkill
The file
We split this skill into the rules it gives an agent
1 rule. 0 are common, 1 is distinctive, and 0 are very specific to this project.
0
Common
Most of the 52 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 56
Read its cost section before you roll a second take: video is priced per second, and most "can you change one thing" requests are an ffmpeg …
“Common” is measured: kept by at least 6 in 10 of the 52 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
video
You can SEE images but not video — so every video task runs on the same loop:
probe → extract frames → look at them → act → re-extract → verify → send.
ffmpeg/ffprobe are installed; run them with Bash in the sandbox.
Understand a video you received
The envelope usually already carries [video: 0:14 · 1080×1920 · h264+aac · 18 MB — speech: "…"] — duration, size, and what was said. From there:
- Probe (if you need more detail):
ffprobe -v error -print_format json -show_format -show_streams IN.mov - Look at it — extract a contact sheet of small frames and Read them:
mkdir -p frames && ffmpeg -v error -i IN.mov -vf "fps=1/2,scale=300:-1" frames/f_%02d.jpg -y(1 frame every 2s at 300px is cheap; ~8–30 frames covers most clips. For a fast moment usefps=6over a-ss START -t DURwindow.) - Semantic questions ("what's happening", "is this funny", reading on-screen text in motion):
analyze_video(file_path, prompt, async:true)— Gemini watches the whole clip with sound. - Speech only: it's usually already in the envelope; otherwise
transcribe_audio(file_path)works on video (audio track is extracted automatically;async:truepast ~1 min).
Edit a video
Work in the sandbox; keep the original untouched; name outputs for what they are.
- Trim (frame-accurate, re-encode):
ffmpeg -v error -ss 12.5 -to 31.0 -i IN.mov -c:v libx264 -preset veryfast -crf 22 -c:a aac -pix_fmt yuv420p OUT.mp4(-c copyis faster but cuts land on keyframes — only for rough cuts.) - Join clips: re-encode each piece to IDENTICAL codec/size/fps first, then concat.
Stream-copy concat of mismatched clips causes smeared/glitchy boundaries — if you
see smear at a joint, re-encode the pieces (or use the
concatFILTER, not the demuxer). - Speed: video
-vf "setpts=PTS/2"+ audio-af "atempo=2"(0.5–2.0 per atempo stage, chain for more). For slow-mo without judder addminterpolateor accept the source fps. - Text/title plate:
drawtext=text='RUSH 2026':fontcolor=white:fontsize=64:x=(w-text_w)/2:y=(h-text_h)/2:enable='between(t,0,2.5)'— or render a PNG card andoverlayit (fade withformat=rgba,fade=...:alpha=1). - Audio: normalize speech with
-af loudnorm=I=-16:TP=-1.5; duck/replace music by mixing withamix/volume. - Captions: burn an .srt with
-vf subtitles=subs.srt(write the .srt from the transcript).
Verify EVERY render before calling it done: re-extract a contact sheet of the
OUTPUT and look at it — check cut boundaries (grab fps=8 for ±1s around each
joint), title timing, and that motion is real (adjacent frames must differ).
Bad renders you can catch this way: frozen video, smeared joints, black frames,
wrong aspect. Listen-check isn't possible — check loudness stats instead:
ffmpeg -i OUT.mp4 -af volumedetect -f null - 2>&1 | grep -E "mean|max".
Send a video
send_attachment(path) — the harness auto-re-encodes anything too heavy or in an
iMessage-hostile format (webm/mkv/vp9/av1) to h264+aac mp4 ≤ ~15 MB. Still, prefer
exporting deliverable files yourself: -c:v libx264 -crf 23 -pix_fmt yuv420p -c:a aac -movflags +faststart and keep casual clips ≤ 1080p / a couple of minutes. The
tool result tells you if a converted copy was sent.
Generate a video from scratch / from a photo
That's the generation skill (generate_video, OpenRouter models) — not this one.
Read its cost section before you roll a second take: video is priced per second,
and most "can you change one thing" requests are an ffmpeg edit here, not a new
render.
Pace yourself honestly
Long renders are fine inline — the session stays locked to you while you're actively working, however long that takes. But the human is waiting: send_message a one-line heads-up ("cutting it now, ~2 min") before a slow multi-render pass, and again if the plan changes. Don't narrate every command.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

