Communitygithub.com

SJbuilds04/vybe-typography

Typography for motion — type systems, font pairing with bundled OFL fonts, scale and readability rules for video, kinetic typography techniques, per-letter/word animation, captions design and safe zones, in HyperFrames compositions. Use when choosing fonts, sizing or animating text in a VYBE video, building kinetic type or lyric videos, styling captions, or when text overlaps, clips, is unreadable or looks generic.

What is vybe-typography?

vybe-typography is a Claude Code agent skill that typography for motion — type systems, font pairing with bundled OFL fonts, scale and readability rules for video, kinetic typography techniques, per-letter/word animation, captions design and safe zones, in HyperFrames compositions. Use when choosing fonts, sizing or animating text in a VYBE video, building kinetic type or lyric videos, styling captions, or when text overlaps, clips, is unreadable or looks generic.

Works with~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/SJbuilds04/VYBE/tree/HEAD/skills/vybe-typography

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

VYBE Typography

In motion graphics, type is often the main actor. Treat it like footage: it has weight, scale, rhythm and a camera.

Bundled fonts (OFL, in vybe/assets/fonts/, copied into every project)

FamilyCharacterGood for
Inter (variable 100–900)neutral, preciseapple-minimal, corporate, UI, captions
Space Grotesk (300–700)technical, quirkyscientific, experimental, tech
Fraunces (variable serif)warm, literary, high contrastcinematic, documentary, editorial
JetBrains Mono (100–800)code, datalabels, numbers, terminal looks
Anton (400, condensed)loud, posterkinetic typography, social hooks
Orbitron (variable)sci-fi displaycyberpunk titles (short words only)

Every named family needs @font-face { src: url("assets/fonts/<file>.woff2") } in the file that uses it (HyperFrames lint). A user brand font: copy the file into assets/fonts/ and declare it the same way; check its license allows embedding.

Pairings: Fraunces + Inter (cinematic) · Inter + JetBrains Mono (product/tech) · Space Grotesk + JetBrains Mono (science) · Anton + Space Grotesk (social/kinetic) · Orbitron (titles only) + Space Grotesk (everything else).

Readability rules for video (enforced by hyperframes check craft audits)

  • Minimum reading size: 2.6% of the short side → 2.7cqmin (28px at 1080p). Body 2.8–3.4cqmin; headlines 6–12cqmin; hero words 15–34cqmin.
  • Hold time ≈ 0.3s per word + 0.5s; a closing line ≥ 2s.
  • ≤ 3.2 on-screen words per second across a scene; ≤ ~10 words per line.
  • Contrast WCAG AA (4.5:1 body, 3:1 large). Over imagery, add a scrim or shadow.
  • No <br> in body copy; use max-width (e.g. 78cqw) and let it wrap. Display titles may break deliberately with block <span>s per line.
  • Tracking: tighten large display (−0.02 to −0.05em), open up small caps labels (+0.2 to +0.5em). Never animate letter-spacing (it snaps) — spread glyphs with x.
  • Safe zones: vertical video keeps reading text out of the top 12%, bottom 22% and right 14%.

Kinetic techniques

TechniqueHow
Blur-to-sharp wordswords in inline-block spans, fromTo {opacity:0,y:30,filter:blur(14px)}, stagger 0.12–0.16
Slamone word per beat, scale 2.4 → 1 with back.out(1.6), color field flips behind
Mask riseline wrapper overflow:hidden, inner text yPercent 110 → 0
Center-out revealclipPath: inset(0 50% 0 50%) → inset(0)
Glyph spreadper-letter x offsets toward center collapsing to 0
TypewriterclipPath inset with steps(n) ease, or per-char opacity sets
Outline echoduplicate word with -webkit-text-stroke, transparent fill, offset trail
Type as camerascale/rotate the whole word stack past the frame into the next scene
Word swapstack two words in a fixed box; yPercent the old out and new in
Highlightinline-block .hl span scales with back.out or a marker bar scaleX 0→1 behind it
Count-uptabular-nums + onUpdate writing Math.round(v)

Captions (word-synced)

vybe audio injects <script type="application/json" id="vybe-captions"> cues ({start, end, text, words:[{text,start,end}]}) and every VYBE template contains a caption builder that creates one element per cue and lights each word at its transcribed start. Style per brand:

  • Position inside the safe zone, above lower-third graphics, never covering the subject.
  • 3–6 words per cue, max 2 lines, 3–3.4cqmin, weight 600+, scrim or shadow.
  • Highlight the active word (opacity 0.45 → 1, or accent color via a class).
  • Social: uppercase, bold, pop scale on each cue; cinematic: sentence case, subtle fade.
  • Never caption with estimated word timings; line-level timing must look line-level.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

SJbuilds04/vybe-audio-design

Sound design and music direction for VYBE / HyperFrames videos — choosing music by mood and arc, spotting sound effects to picture, voiceover direction and provider choice (HeyGen, ElevenLabs, Kokoro, Gemini), ducking, loudness targets, beat-synced editing and caption sync. Use when planning or fixing the audio of a video, when a video feels silent, cheap, cluttered or out of sync, or when choosing a voice or music provider.

SJbuilds04/vybe-cinematic-3d

Deterministic Three.js / WebGL for HyperFrames videos — 3D scenes, particle systems, procedural geometry, product turntables, scientific models (molecules, planets, black holes), lighting rigs, camera paths and camera cuts, rendered frame-exactly from HyperFrames time. Use when a VYBE storyboard calls for 3D, depth, particles, space, a rotating product, a data sculpture, or when a Three.js layer renders black, flickers or differs between renders.

SJbuilds04/vybe-image-to-motion

Animate a still image into video. Analyzes the image, plans the motion, and picks the right technique — programmatic 2.5D (camera moves, depth-map parallax, subject/background layer separation, particles, fog, light) or AI image-to-video (Runway Gen-4.5 / Veo 3.1 / Kling 3.0, Luma Ray 3.2, Gemini Omni Flash) for organic motion like walking, faces, water or hair — then composes the result in HyperFrames with music, SFX and text. Use when someone supplies an image and asks to animate it, bring it

SJbuilds04/vybe-motion-design

Motion design craft for VYBE / HyperFrames videos — animation principles, easing and timing, choreography and staggering, scene transitions, camera movement, and visual effects (blur, glow, masks, grain, light leaks), written as seek-safe GSAP recipes. Use when designing or fixing how things move in a video — entrances, exits, transitions between scenes, camera moves, rhythm, or when motion feels generic, floaty, stiff or repetitive.

Related Skills