Skip to content

Commit a1ffb6e

Browse files
committed
feat(skill): website-to-hyperframes — concept-first authoring + per-beat read protocol
Rewrite of the website-to-hyperframes skill that came out of 11 evaluation rounds. The honest read of those evals: prose-only guidance had hit its ceiling — sub-agents kept reporting "0 errors, looks good" without doing the work, producing slideshow-quality videos with mismatched brand colors, missing logos, and beats that didn't serve the storyboard. This restructure addresses the failure modes that real videos showed, not theoretical ones. **Step structure (replaces 7-step layout with concept-first 6-step)** Old: capture → design → script → storyboard → vo → build → validate New: capture → design → brief → storyboard → vo → build → validate The brief step (Step 2) is new: a conversation-shaped step that aligns message + audience + arc before any beat-writing happens. Concept-first throughout — message → arc → beats that serve the arc → which assets and techniques bring each beat to life. **Step 0 (capture)** - "View the contact sheets — carefully, every cell, not a glance" closes the failure mode where agents reported "viewed the contact sheet" after one scroll and later wrote beats referencing assets that didn't exist or missed the brand logo. - Names the right artifacts to read in order (tokens.json → design-styles.json → asset-descriptions.md → fonts-manifest.json), with read-on-demand guidance for the rest. **Step 1 (design)** - DESIGN.md authoring guide. Restored component CSS sections (Component Stylings, Spacing & Layout, Depth & Elevation) that earlier batches over-collapsed. **Step 2 (brief)** - Strategy/messaging step. Clear instruction for "Surprise me" / minimal direction: state the minimum context (where the video runs, who it's for) and proceed bold. **Step 3 (storyboard + script)** - Concept gate at the top — answer "what makes this video distinct" before writing beat 1. - Brand-floor MUST rules (logo in opener + closer; signature visual somewhere in the video). - Captured assets (SVG logos, illustrations, hero art, gradients) are first-class beat content alongside composed UIs — many of them carry beats outright. The constraint is only that you start from the message, not the asset inventory. **Step 4 (vo)** - TTS ranking: HeyGen first (auto word timestamps), ElevenLabs second, Kokoro free. Audio timing reconciliation gate: if actual audio duration ≠ storyboard planned ±15%, rescale beats or trim script before Step 5. **Step 5 (build) + beat-builder-guide.md** - Sub-agent template now pastes brand values inline rather than telling the sub-agent to re-read DESIGN.md. Targeted file reads with specific sections + line ranges. - "Patterns that ARE shots" affirmative list (captured logo draw-on, hero illustration push-in, captured screenshot with parallax layers, kinetic typography over captured asset). - Webpage-mimicry patterns (full CSS browser chrome, parked-camera composition, ±2px breathing motion) marked ⚠ rather than ❌ — fine when the storyboard genuinely calls for them as the subject. - Required cinematography per beat: shot type, camera move, depth strategy, purpose. **Step 6 (validate) — per-beat read protocol** This replaces the previous "spawn verify-beats CLI" gate. A grep of composition HTML can catch structural lies (missing hex codes, wrong asset paths) but it can't catch boring beats, off-screen logos, GSAP timelines that only cover the first 2 seconds, or camera moves that don't match the storyboard. Those failures only surface when somebody opens the file and reads it. Per-beat verdict template names the brand hex codes used, captured asset paths referenced, headline `font-size`, GSAP timeline coverage, and storyboard alignment. Critic sub-agent scores a "Captured asset utilization" dimension specifically so the eval captures whether captured SVGs/illustrations carried beats or got recreated as divs. **Asset bundle** - 20 Pixabay-licensed SFX files with `CREDITS.md` documenting provenance. SFX assignment moved to Step 3 (creative decision) so Step 5 implements rather than improvises. - Capabilities reference + html-in-canvas-patterns updated: Three.js 0.181.2 + ESM jsm imports, mulberry32 seeded PRNG for deterministic shatter, 24-effect text-animation catalog referenced (catalog itself lands in the hyperframes-skill PR). - Visual vocabulary rewritten: replaces user-word lookup tables with brand-first derivation across 6 axes; user words land as modifiers, not replacements.
1 parent 2c9544f commit a1ffb6e

39 files changed

Lines changed: 3276 additions & 864 deletions

skills/website-to-hyperframes/SKILL.md

Lines changed: 118 additions & 49 deletions
Large diffs are not rendered by default.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# SFX Credits
2+
3+
All sound effects in this directory are sourced from [Pixabay](https://pixabay.com/sound-effects/) and used under the [Pixabay Content License](https://pixabay.com/service/license-summary/).
4+
5+
The Pixabay license allows free use for commercial and non-commercial purposes without attribution, but attribution is appreciated and given here for transparency.
6+
7+
## Files
8+
9+
The following `.mp3` files are bundled with this skill:
10+
11+
- `chime.mp3`
12+
- `click.mp3` / `click-soft.mp3`
13+
- `error.mp3`
14+
- `glitch-1.mp3` / `glitch-2.mp3` / `glitch-3.mp3`
15+
- `impact-bass-1.mp3` / `impact-bass-2.mp3`
16+
- `key-press.mp3`
17+
- `notification.mp3`
18+
- `ping.mp3`
19+
- `pop.mp3`
20+
- `riser.mp3`
21+
- `sparkle.mp3`
22+
- `typing.mp3`
23+
- `whoosh.mp3` / `whoosh-short.mp3` / `whoosh-cinematic.mp3`
24+
25+
See `manifest.json` for per-file metadata (duration, energy character, recommended use).
26+
27+
## License
28+
29+
All files are distributed under the [Pixabay Content License](https://pixabay.com/service/license-summary/), which permits:
30+
31+
- Commercial and non-commercial use
32+
- Modification and remixing
33+
- Redistribution as part of derivative works (such as videos rendered with HyperFrames)
34+
35+
without any attribution requirement.
26.7 KB
Binary file not shown.
11.4 KB
Binary file not shown.
11.4 KB
Binary file not shown.
50.6 KB
Binary file not shown.
82.4 KB
Binary file not shown.
110 KB
Binary file not shown.
96.8 KB
Binary file not shown.
66.1 KB
Binary file not shown.

0 commit comments

Comments
 (0)