blockframe-video
Skill1 starsChanged 5 days agoMITView on GitHub
Make a vertical BlockFrame knowledge short in the current directory with HyperFrames — a brief becomes 3 key points, a 5-scene film, Thai or English narration, a storyboard that stops for approval, then build, check and render. Use for any short/reel/video that should look like the BlockFrame system in FRAME.md (4px black borders, hard shadows, pastel grounds, yellow CTA), especially Thai social clips.
- Reads credentials
In this repository18 other files it gives its agents.
- arxiv-searchSkill
- bisac-categorizerSkill
- blog-searchSkill
- book-mockupSkill
- book-promo-writerSkill
- book-sales-apiSkill
- calculatorSkill
- claude-code-docsSkill
- create-blog-postSkill
- create-slideSkill
- find-skillsSkill
- mermaid-figuresSkill
- mintlifySkill
- play-books-pricingSkill
- quick-chartSkill
- roll-diceSkill
- technical-book-writerSkill
- uikitsSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
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
- Distinctive: line 22
Storyboard gate: After the stills exist and you have looked at every one, stop and ask.
- Very specific: line 24
Render gate: After check is clean and the Studio preview is up.
- Distinctive: line 26
If the person's message is a question, a loose idea or "don't change anything", answer or propose.
- Distinctive: line 27
Do not start a film.
- Very specific: line 69
Never invent a figure: No statistic, percentage, revenue, user count or time-saving claim the script does not supply.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
BlockFrame video
Turn a one-line subject into a 45–60 s vertical film that looks like FRAME.md — the BlockFrame system. The design system is not negotiable here: 4 px black borders coupled to 8 px hard shadows (3 px↔4 px for chrome), square corners, pastel grounds cycling per scene, yellow reserved for the CTA, Inter display over Space Grotesk label-pills. Distilled rules and the 9:16 re-step numbers are in references/blockframe.md.
HyperFrames does the rendering; this skill is the pipeline around it. Read /hyperframes first if you
have not — the composition contract lives there and references/scene-contract.md
only repeats what BlockFrame changes.
Two gates. Both are hard stops.
- Storyboard gate. After the stills exist and you have looked at every one, stop and ask. The film is not built yet — only posed. Nothing animates before the person picks or amends a shot.
- Render gate. After
checkis clean and the Studio preview is up. No MP4 before approval.
If the person's message is a question, a loose idea or "don't change anything", answer or propose. Do not start a film.
The work loop
Full steps, commands and the file shapes: references/pipeline.md.
- Brief — subject, audience, duration, language, where narration comes from. Ask only what the film cannot be written without.
- Three points + 5 scenes — Hook, three knowledge points, Call to Action. Present before any file.
- Scaffold —
npx hyperframes init <slug> --resolution portrait --non-interactive, or work in place when the current directory already holds ahyperframes.json. - Narration first. Synthesise the voice before posing anything: the voice is the clock, and every beat start is timed to its anchor word. Posing against estimated durations wastes a whole pass. references/media.md.
- SPEC.md — write it from FRAME.md plus the shot table. Includes a BANNED list.
- Storyboard — pose every shot in the real compositions,
snapshotthe key moments, look at every still yourself, writeboards/storyboard.htmlandSTORYBOARD.md. Stop. - Build — animate onto the approved poses. One paused GSAP timeline per scene.
- Check → review → render.
npm run checkwith zero errors, then look at frames at the times you changed, thensnapshot --review, then the Studio preview. Stop for the render gate.
Five things this pipeline learned the hard way
These are the failures that cost a rebuild. Do not rediscover them.
- Kokoro (the offline TTS) has no Thai. Its languages are EN/ES/FR/HI/IT/JA/PT/ZH. Thai goes through
Gemini TTS via the
/media-useaudio engine whenGEMINI_API_KEYis set; a missing credential is a stop, not a silent downgrade to an English voice. - Inter and Space Grotesk have no Thai glyphs. Thai needs
Noto Sans Thai, fetched and served with@font-facefromassets/fonts/. Stack it after the Latin face so Latin comes from Inter and Thai falls through:"Inter", "Noto Sans Thai", sans-serif. - Thai has no case. The uppercase display signal disappears, so the identity has to come from borders, hard shadows, tilts and decoration. Push those; do not compensate by inventing fake caps.
- A highlighter behind Thai clips tone marks.
line-height: 0.95display type puts ้ ็ ่ above the line box that a background paints. Vertical padding on the highlight span paints outward without moving the line box:padding: 0.19em 0.13emwithbox-decoration-break: clone. - The bottom third reads as broken when it is empty. On 9:16 the band from y=1330 to the canvas bottom takes texture only, but it still has to be filled. Every scene gets a footer: a stripe block across y≈1440 and one tilted pastel rect bleeding a bottom corner.
Hard rules
- Never invent a figure. No statistic, percentage, revenue, user count or time-saving claim the
script does not supply. A missing number renders as
— figure —. This matters most for AI and business topics, where a plausible invented number is the easiest way to ship something false. - No sixth pastel. The five in FRAME.md plus black, white and offwhite, which cycle as full-bleed grounds. No gradients, no texture, no grain, no vignette.
- Nothing readable under 28 px, no word above y=168, no word below y=1330, no text under the right-hand action rail (x>890 while y>700).
- Screen complements the voice. On-screen words are headlines and numbers, not a transcript — the same line twice is wasted, and a screen full of identical fade-ins reads as a broken slide deck.
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.

