Skip to content
Back to skills

Crafted Girth Hyperframes

ASecurity

Use when building a short HyperFrames promo with a word-by-word highlighted caption track (karaoke-style), including captions sub-composition wiring, seek-safe state changes and the final check/render gates.

  • 4 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 15, 2026
ai-agentsgonode

Works with

  • cli

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 15, 2026

npx -y skills add mohessaid/girth --skill crafted-girth-hyperframes --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Crafted Girth Hyperframes?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Crafted Girth Hyperframes
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mohessaid-crafted-girth-hyperframes/badge)](https://www.skillsdirectory.com/skills/mohessaid-crafted-girth-hyperframes)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: girth-hyperframes
description: Use when building a short HyperFrames promo with a word-by-word highlighted caption track (karaoke-style), including captions sub-composition wiring, seek-safe state changes and the final check/render gates.
metadata:
  girth:
    sources:
      - path-or-repo: ~/.claude/skills/hyperframes-creative
        sections: [frame-presets/coral/caption-skin.html]
      - path-or-repo: ~/.claude/skills/hyperframes-core
        sections: [SKILL.md pitfalls, references/sub-compositions.md, references/minimal-composition.md]
      - path-or-repo: ~/.claude/skills/hyperframes-studio
        sections: [2. One caption track, safe zones]
      - path-or-repo: ~/.claude/skills/hyperframes-cli
        sections: [development loop]
    crafted_for: short HyperFrames promo with word-by-word caption highlighting
    created: 2026-10-14
    last_used: 2026-10-14
---
# HyperFrames promo + word-highlight captions

Word timings (`{text,start,end}` per word, grouped into short lines) come from TTS/transcription (`npx hyperframes transcribe` / `tts`). Never invent timings.

## Structure
- Root `index.html`: `data-composition-id`, `data-start`, `data-width`, `data-height`, `data-duration`; holds only timed hosts, media and audio. Each scene with nested markup is its own file via `data-composition-src`.
- Captions: ONE sub-composition host, one `data-track-index`, `data-track-kind="captions"`, carrying every caption group. Never one row per group, never mixed with other kinds.
- Host needs `data-composition-id` (must equal the inner file's id), `data-composition-src="compositions/captions.html"`, `data-start`, `data-duration`, `data-track-index`, `data-width`, `data-height`.
- Sub-comp file: everything (markup, style, script) goes INSIDE `<template>`; head is discarded.
- Register `window.__timelines["captions"] = tl` (id must match the root `data-composition-id`), single paused GSAP timeline.

## Rules
- Seek-safe only: change word state with `tl.set(el, {className: ...}, time)`. NEVER `tl.call()` callbacks (seek does not fire them, wrong state on render).
- Exactly one group visible at a time (groups absolutely stacked, opacity set 1/0).
- Three word states: upcoming (faint), `.is-active` (highlight fill), `.is-spoken` (solid). Highlight via `box-shadow` spread, so no layout shift.
- Add a full-span anchor `tl.to({}, {duration: DURATION}, 0)`.
- Captions stay inside the title-safe box (80%, 10% inset per edge); everything else inside action-safe (90%).
- No scene-exit `tl.set(..., {visibility:"hidden"})`; use opacity fades.
- Don't center with CSS `translate(-50%,-50%)` on nodes GSAP animates (`gsap_css_transform_conflict`); use flex/`inset`.
- Full-bleed backgrounds go on a `class="clip"` layer, not `#root`.
- Don't add extra scenes, music or transitions the request didn't ask for.
- Source skills disagree on nothing material here; coral skin is the most specific caption source.

## Build loop
1. Write the brief and storyboard; get word timings.
2. Write `compositions/captions.html` from [references/caption-skin.md](references/caption-skin.md) (fill `GROUPS`, `DURATION`).
3. `npx hyperframes check` (runs lint first; deprecated aliases: validate/inspect/layout). Fix `caption_*` findings.
4. `npx hyperframes preview --background`, give the user the URL, wait for approval.
5. Render only after approval: `--quality draft` while iterating, `npx hyperframes render --quality looks --output out.mp4`, `delivery` for final.
6. Verify the file exists and its duration matches the root `data-duration`.

Files in this skill

  • SKILL.md3.5 KB
  • references/caption-skin.md3.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.