motion-graphics
Skill6 starsChanged 28 days agoMITView on GitHub
Designed, animated graphics over footage in BashCut: stat and checklist cards, counters, lower thirds, diagrams, kinetic type; whether a sentence needs one, anchored and held, made with a graphics.render plugin. Triggers: "đồ hoạ", "motion graphic", "thẻ thông tin", "số liệu chạy", "counter", "lower third", "infographic", "animation chữ".
41 other projects use a version of this.
Adopted by
Most recently taken up by
- twglhk/gamedev-agent-skillstheir own version, first seen Nov 8, 2026
- OpenMontageInc/OpenMontagetheir own version, first seen Nov 8, 2026
- calesthio/OpenMontagetheir own version, first seen Nov 8, 2026
- Sma1lboy/rovetheir own version, first seen Nov 6, 2026
- edenfunf/reelmimictheir own version, first seen Nov 4, 2026
- BlackAngel242/skill-markettheir own version, first seen Nov 1, 2026
Used with
Projects with it also use website-to-video, hyperframes-studio 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.
jaron-goh-centrSkillwebsite-to-video
Capture a general website/URL and turn it into a video OF the site — tour, showcase, or social clip built from captured screenshots and the site's own brand assets. Use for portfolio / blog / docs / landing-page showcases. Not a product launch or promo, even from a URL (/product-launch-video). Unclear → /hyperframes.
Also in 9 projects that use this
eyaprakSkillhyperframes-studio
HyperFrames ile bir açılış hook'u (yatay 16:9 intro), dikey 9:16 Shorts ya da 16:9 animasyonlu slidedeck üretmek için hepsi bir arada studio. Ham konuşma klibini ve transcript'i (ya da bir konu/slide içeriğini) alır; koyu tema, tek marka rengi, self-hosted Manrope + JetBrains Mono fontlar ile bitmiş, oynatılabilir bir kompozisyon çıkarır (hook/shorts ayrıca 1080p/60fps MP4'e render edilir). Paket içinde tak-çalıştır starter template'ler gelir. ŞU DURUMLARDA MUTLAKA KULLAN, HyperFrames adı geçmese bile TETİKLE: hook oluştur, intro yap, video başına giriş, insanları hookta tutsun; shorts oluştur, dikey video, bu klibi shorts yap, reels; slidedeck oluştur, sunum yap, bu içeriği slide'la, yeni bir deck; ya da kullanıcı bir "-hook", "-shorts" veya "-slidedeck" klasörü açıp içine ham klip, transcript veya içerik koyduğunda. Başta AskUserQuestion ile hangi mod ve marka rengi sorulur, gerisi paketteki hazır starter'dan kurulur. Yalnızca bu üç HyperFrames video türü için kullan.
Also in 8 projects that use this
jaron-goh-centrSkilltalking-head-recut
Package an existing talking-head / interview / podcast video with timed, designed GRAPHIC OVERLAY cards — kinetic titles, lower-thirds, data callouts, quotes, side panels, picture-in-picture — synced to the transcript, on a 16:9 / 9:16 / 4:5 canvas of your choice; the clip plays untouched underneath. Trigger on "graphic overlays", "on-screen graphics", "package / dress up my video". Not plain subtitles (/embedded-captions). Unclear → /hyperframes.
Also in 10 projects that use this
anton-abyzovSkillhyperframes-media
Asset preprocessing for HyperFrames compositions — text-to-speech narration (Kokoro), audio/video transcription (Whisper), and background removal for transparent overlays (u2net). Use when generating voiceover from text, transcribing speech for captions, removing the background from a video or image to use as a transparent overlay, choosing a TTS voice or whisper model, or chaining these (TTS → transcribe → captions). Each command downloads its own model on first run.
Also in 8 projects that use this
LinHao-citySkillbfl-api
BFL FLUX API integration guide covering endpoints, async polling patterns, rate limiting, error handling, webhooks, and regional endpoints with Python and TypeScript code examples.
Also in 3 projects that use this
LinHao-citySkillflux-best-practices
Comprehensive guide for BFL FLUX image generation models. Covers prompting, T2I, I2I, structured JSON, hex colors, typography, multi-reference editing, and model-specific best practices for FLUX.2 and FLUX.1 families.
Also in 3 projects that use this
- +6 more from LinHao-city
Other versions41 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 41
- calesthio/OpenMontage★ 78ksame name
- OpenMontageInc/OpenMontage★ 78ksame name
- edenfunf/reelmimic★ 1.8ksame name
- ronak-create/FableCut★ 773same name
- EvovexAI/EvoFlow★ 612same name
- langchain-ai/design-agent★ 596same name
- rohitg00/manim-video-generator★ 305same name
- duyet/clickhouse-monitoring★ 303same name
- Sma1lboy/rove★ 184same name
- Mort1d/motion-graphics-skills★ 34same name
31 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 repository16 other files it gives its agents.
- audio-mixSkill
- beat-cutSkill
- captions-textSkill
- color-gradeSkill
- edit-workflowSkill
- effectsSkill
- footage-surveySkill
- librarySkill
- reviewSkill
- rough-cutSkill
- self-learnSkill
- setupSkill
- stock-imagesSkill
- style-studySkill
- visual-planSkill
- voiceoverSkill
The file
We split this skill into the rules it gives an agent
2 rules. 0 are common, 0 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 36 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 58
HyperFrames Graphics: read bashcut.hyperframes:hyperframes before the first graphic.
- Very specific: line 71
Numbers on a card: facts table first: Before searching the web, ask open data for every figure in one call: uv run …
“Common” is measured: kept by at least 6 in 10 of the 36 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
Motion graphics
Sources: T13 = motion-graphics study, T22 = renderer study. Choose inside each range from this video's speech, genre
and frame; say why. Captions and plain titles: bc:captions-text; transitions, punch-ins, item In/Out: bc:effects.
1. Does this sentence need a graphic?
With plan.visuals (bc:visual-plan), build its graphic rows at their at word, showing their show; question
a row only when building shows it fails, and update the plan. Without one: a graphic shows what the words don't
(example, number, relationship, consequence). Read transcript words: what did the speaker make the viewer imagine?
- Skip it when the card would restate the caption: captions and on-screen text take one role each, never both (openmontage). Leave some sentences bare so the next card lands (ghost-editor).
- Change the graphic when the content changes, never on a timer ("every 15 s" is an anti-pattern, digitalsamba).
- Graphics over talk keep the voice under them; never cut to a silent standalone card (vibetube).
- Vary the device; one card on every point reads as a template (T13).
2. Pick the cheapest tool that does it
- Native text (
bc:captions-text), first choice: titles, labels, keyword stickers, place and chapter cards. Editable, no render. - A library item:
library list --panel stickers/--kind text-preset(saved card, alpha movie). - A
graphics.renderplugin (§4): kinetic type, counter, chart, clicking pointer, mock screen, full-frame card, building diagram, speaker shrinking into a card. Rendered once to a.movwith alpha; re-render when its words change. Say which and why. A graphics-led reference or genre (a dense explainer short of designed type and cards) needs §4 for most sentences.
3. Timing (anchor to words, not seconds)
| What | Range | Sources and why it varies |
| Entrance lands on the payoff word | entrance end = the word's start; entrance 0.15–0.6 s | video-use, vibetube (~0.4 s), student-kit (0.15–0.6 s); shorter for energetic cuts, ≤0.15 s for impacts |
| Hold, one idea | 3–8 s, and at least its narration + about 1 s | video-use (floor 3, simple 5–7), vibetube (≥ narration + 1 s), openmontage (3–5 s cap). They conflict: tie the hold to the narration span |
| Hold, diagram that builds | 8–14 s | video-use; complexity and words on it |
| Accent hit | 0.5–2 s, recognisable not readable | video-use, openmontage; only for emphasis or music hits |
| Final-frame hold | 0.5–1.5 s | video-use (≥1 s); longer for a number the viewer must remember |
| Stagger between elements | 0.06–0.10 s opener, 0.3–0.4 s narrative, 0.5–0.6 s dramatic | student-kit; one new element at a time when each is read |
| Entrance / exit | 0.2–0.8 s / 0.15–0.5 s, entrance stronger | talkcraft |
| Words on a card | ≤ about 2–3 per second of hold | student-kit, guizang (6–9 CJK chars/s); measure the real text |
| Density, talking footage | 3–8 graphics a minute, sparser for long videos; a measured reference replaces it | openmontage (3–6/min), hyperframes (card every 6–20 s by length); high for tutorials and explainers, low for vlogs and when the face carries the emotion. Graphics-led explainer shorts run far above: one measured reference changed the picture every ~1.6 s with about 30 graphics a minute (blycreativs before/after, 2026-10-09). With a user reference, take the number from bc:style-study |
| First graphic | within the first ~5 s, usually the hook title | vibetube |
Taste stated as law ("never linear", "no bounce") is not a rule: linear suits constant pans and counters; overshoot 1.05–1.12 suits playful, none calm or premium (shotcraft, saas).
Steps: payoff word's timeline frame W → entrance length E → overlay starts at W − E (the composition's entrance takes E) → hold until the narration it illustrates ends + 0.5–1 s.
4. Make it with a graphics plugin
This kit decides what, where and when; a graphics.render plugin makes it (plugins list):
- HyperFrames Graphics: read
bashcut.hyperframes:hyperframesbefore the first graphic; its examples and catalog are raw material. Many graphics over a voice: rows inplan.cut.graphics, built in onebin/graphic plancall, never one by one, one sharedrender.framefor one look. Short rows: a graphic over more than ~10 s is one row per section (a growing diagram: samerender.sceneon each), so an edit re-renders one slice. Look before you render:bin/graphic plan --only ID --snapshot S1,S2,…shows a row as PNGs in seconds; tweak with snapshots, then one fullplan(a 40 s graphic takes about 3 min to render). Brand mascot: one pose per section. A place video (real estate, a venue): all location data from onebin/osm-mapcall into a copy ofamenity-radius; every count, minute and km on screen comes from its output. - None ready:
plugins search --capability graphics.render, install,plugins setupif its health asks. While the install waits or fails, use native text and say what is missing. - The user's Remotion or After Effects project: they render it (ProRes 4444 or HEVC with alpha); import with
library add --kind sticker --file. Never run Remotion renders for them (licence, T22).
Numbers on a card: facts table first. Before searching the web, ask open data for every figure in one call: uv
run <skill_dir>/fetch_facts.py --questions facts.jsonl --json, one question per number (a Wikidata property, a World
Bank indicator for a country, or a Wikipedia summary; --help for the fields). Check each matched the right place
or thing. Rows go straight into widget data: value → a counter's to or a bar's value, " " + unit → unit;
keep credit, date and source URL with the script line (the frame's credit only when the user asks). Answers are
cached in project data facts. Search the web only for rows that came back none, never to replace an answered one;
a figure the table cannot hold (a price, a fee) is a web row from the start.
Animated accents (Lottie): a check, an arrow, a loader, confetti. All of a video's in one call: uv run
<skill_dir>/fetch_lottie.py --words "check,arrow,loader,confetti" --dest <project>/media/lottie draws one sheet
(useAnimations MIT, Noto Animated CC BY 4.0, LottieFiles Lottie Simple License). One look, then --pick
"check=2;confetti=1"; one accent = one bin/graphic place lottie (options in the plugin skill). A Noto pick's
credit ("Google (Noto Emoji)") goes in the description only when the user asks. Never .lottie zips or animations
with image assets.
Hand the plugin a brief, not a template: words, payoff frame, what the viewer sees, hold, look (style profile, reference frames, the video's titles).
5. Check
- Landing frame and entrance:
ui frame W --phone,review window W --span E. Readable at phone size, on the word, face clear (media subjectsboxes vs the card's rectangle). review layoutfor the native text around it;review shotssees the overlay as a layer.- Re-timing the voice moves words, not the overlay: after cuts there, re-read
transcript words, move or re-render.
Report
Which sentences got a graphic and why, the tool for each (native, library, rendered), its timing against the word, the render numbers (seconds, size) and what was left bare on purpose.
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.

