Skip to content

Commit 051c9c9

Browse files
committed
chore(skill): drop visual-vocabulary.md + use published npx hyperframes
- Delete `references/visual-vocabulary.md` and scrub the four call sites that referenced it. The 6-axis lookup framing it introduced contradicted the rest of the skill's "design from the brand, not from a table" stance. - Replace all `npx tsx packages/cli/src/cli.ts <cmd>` invocations with `npx hyperframes <cmd>` in step-0-capture.md, step-5-build.md, step-6-validate.md, and beat-builder-guide.md. The capture- and snapshot-pipeline improvements that previously required the local CLI now ship in the published CLI via the stack's PRs heygen-com#987 and heygen-com#988, so once the stack lands the published CLI is the right invocation for the skill prose. - Remove the now-contradictory "ALWAYS use the local CLI — never npx hyperframes" warnings in step-0-capture.md and step-6-validate.md.
1 parent a1ffb6e commit 051c9c9

8 files changed

Lines changed: 16 additions & 181 deletions

File tree

skills/website-to-hyperframes/SKILL.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ Write DESIGN.md — a brand cheat sheet covering the visual identity: colors, ty
9595

9696
## Step 2: Strategy & Messaging
9797

98-
**Read:** [references/step-2-brief.md](references/step-2-brief.md), [references/visual-vocabulary.md](references/visual-vocabulary.md), [references/capabilities.md](references/capabilities.md) (scan the Table of Contents — deep-dive sections only as needed)
98+
**Read:** [references/step-2-brief.md](references/step-2-brief.md), [references/capabilities.md](references/capabilities.md) (scan the Table of Contents — deep-dive sections only as needed)
9999

100100
Align with the user on **what the video must communicate** before talking visuals or assets. Parse the user's prompt — they probably already gave you the video type and style. Ask only what's missing: the ONE thing this video must say, the narrative arc, and the audience.
101101

@@ -184,7 +184,6 @@ Beat count is not in this table intentionally — it should come from the storyb
184184
| [step-1-design.md](references/step-1-design.md) | Step 1 — write DESIGN.md brand cheat sheet (6 sections, 250-350 lines) |
185185
| [step-2-brief.md](references/step-2-brief.md) | Step 2 — align on message, narrative arc, audience with user |
186186
| [capabilities.md](references/capabilities.md) | Steps 2 & 5 — full inventory of what HyperFrames can do (24 sections). Scan the TOC during the brief, deep-dive specific sections during build |
187-
| [visual-vocabulary.md](references/visual-vocabulary.md) | Step 2 & 3 — translate subjective terms to concrete techniques. Composable building blocks, not rigid presets |
188187
| [step-3-storyboard.md](references/step-3-storyboard.md) | Step 3 — storyboard + script (combined) with user review gate |
189188
| [step-4-vo.md](references/step-4-vo.md) | Step 4 — TTS provider choice, generation, timing |
190189
| [step-5-build.md](references/step-5-build.md) | Step 5 — build index.html + compositions |

skills/website-to-hyperframes/references/beat-builder-guide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ Fix ALL errors. Zero errors required.
9595
## Step 4: Snapshot and verify
9696

9797
```bash
98-
npx tsx packages/cli/src/cli.ts snapshot . --frames 3
98+
npx hyperframes snapshot . --frames 3
9999
```
100100

101101
**READ the contact sheet** (`snapshots/contact-sheet.jpg`). For each frame:

skills/website-to-hyperframes/references/step-0-capture.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,10 @@ If the user provides the key or already has one set, proceed. If they skip it, p
1313
Create a project directory for your video if it doesn't exist yet, then capture the website into a `capture/` subfolder within it:
1414

1515
```bash
16-
# ⚠ ALWAYS use the local CLI — never `npx hyperframes capture`:
17-
npx tsx packages/cli/src/cli.ts capture <URL> -o <project-dir>/capture
16+
npx hyperframes capture <URL> -o <project-dir>/capture
1817
```
1918

20-
Example: `npx tsx packages/cli/src/cli.ts capture https://stripe.com -o videos/stripe-launch/capture`
19+
Example: `npx hyperframes capture https://stripe.com -o videos/stripe-launch/capture`
2120

2221
Keeping the capture artifacts (`screenshots/`, `assets/`, `extracted/`, `AGENTS.md`, `CLAUDE.md`) in a dedicated `capture/` subfolder keeps them isolated from the later build files (`SCRIPT.md`, `STORYBOARD.md`, `DESIGN.md`, `compositions/`, `index.html`, `narration.wav`, `transcript.json`, `renders/`, `snapshots/`), which all live at `<project-dir>/` root.
2322

skills/website-to-hyperframes/references/step-2-brief.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Ask the user to describe what they want — or react to concrete framings that d
3535

3636
Do NOT present a labeled menu of styles with pre-filled descriptions ("Cinematic = dark + glow + Apple keynote energy"). Those descriptions become the brief even when they don't match the brand. "Cinematic" for a wellness brand should look completely different from "cinematic" for a security tool — but a label with a baked-in description collapses that distinction.
3737

38-
Instead, ask them across the six axes from [visual-vocabulary.md](visual-vocabulary.md) — framed as approachable questions, not a form:
38+
Instead, ask them approachable open-ended questions:
3939

4040
> "A few questions to get the direction right:
4141
>
@@ -44,7 +44,7 @@ Instead, ask them across the six axes from [visual-vocabulary.md](visual-vocabul
4444
> - **Narration:** Should a voice guide viewers through the video, or let the visuals carry it?
4545
> - **Anything specific?** Any moments, techniques, or references you're drawn to? Or say 'surprise me' and I'll work from what I found in the capture."
4646
47-
Their answers modify the brand-derived baseline you built in Step 1. Don't override the brand with their words — let the brand and their direction converge. See [visual-vocabulary.md](visual-vocabulary.md) for how to handle conflicts.
47+
Their answers modify the brand-derived baseline you built in Step 1. When the user's words conflict with the brand, don't blindly override — let the brand and their direction converge. If the conflict is sharp (user says "dark cinematic" for a brand whose entire identity is white-and-pastel light), surface it and ask before resolving.
4848

4949
### Question 3: What's the ONE thing this video must communicate?
5050

@@ -118,7 +118,7 @@ With that minimum in hand, still write an ambitious storyboard. "Surprise me" me
118118

119119
### Specific direction
120120

121-
Map their words to visual-vocabulary.md dimensions. If they say something vague ("make it really cool"), push back gently:
121+
If they say something vague ("make it really cool"), push back gently:
122122

123123
> "I want to make sure I nail what you're imagining. When you say 'cool' — do you mean: dramatic/cinematic(slow reveals and dark atmosphere)? Or high-energy (fast cuts and bold motion)? Or something else entirely?"
124124
@@ -157,7 +157,7 @@ Lock all of these before moving to Step 3. The first three are the strategic fra
157157
3. **Audience** — who's watching, where they're watching. (Required.)
158158
4. **Video type** — social ad / product demo / launch teaser / brand reel / feature announcement / etc. Infer from prompt.
159159
5. **Duration** — infer from type if not stated (demo: 30-45s, social: 15-20s, teaser: 15-25s).
160-
6. **Style direction**map their words to visual-vocabulary dimensions.
160+
6. **Style direction**pace / mood / specifics — from the user's words, layered onto the brand baseline from Step 1.
161161
7. **Specific requests** — any scenes/effects/beats they explicitly asked for.
162162
8. **Narration** — yes / no / minimal.
163163
9. **Format** — landscape unless specified otherwise.

skills/website-to-hyperframes/references/step-3-storyboard.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,7 @@ Beat 3: composed kanban (4 cards-as-divs per column) + counter chip on In-Progre
6161
**Re-read these files before writing:**
6262

6363
- **DESIGN.md** — your color palette, font rules, components, Do's/Don'ts. Every visual must be grounded in this brand identity. If it says "white backgrounds with purple accent" — plan light scenes, not dark moody ones.
64-
- **[visual-vocabulary.md](visual-vocabulary.md)** — translate the user's style direction into concrete dimension values (pacing, density, transitions, mood, motion, audio). Note any per-beat overrides the user requested.
65-
- **Asset discovery — use the contact sheets.** View `capture/assets/contact-sheet-*.jpg` and `capture/assets/svgs/contact-sheet-*.jpg`. Each grid cell is labeled with the filename. This is how you browse what's available without opening 50 individual files. When you find an asset that earns its place as a brand accent, note the filename from the label and reference it as `capture/assets/<filename>`. If an asset looks promising but you need to check resolution or detail, THEN open the individual file. Also read `capture/extracted/asset-descriptions.md` for one-line summaries. **Understand what each asset IS before using it.** Product screenshots show what the product does — useful for understanding the brand, but **compose the UI from divs/CSS in your beats rather than pasting the screenshot** (see Per-Beat Direction below). The strongest captured assets for video accents are usually the brand logo (SVG), the hero illustration, and gradient/texture backgrounds. **Never use contact sheets or scroll screenshots in the video** — contact sheets have grid labels and headers baked in, scroll screenshots are raw browser captures. Both are for AI to BROWSE and understand the site, not to place in compositions.
64+
- **Asset discovery — use the contact sheets.** View `capture/assets/contact-sheet-*.jpg` and `capture/assets/svgs/contact-sheet-*.jpg`. Each grid cell is labeled with the filename. This is how you browse what's available without opening 50 individual files. When you find an asset that earns its place in a beat, note the filename from the label and reference it as `capture/assets/<filename>`. If an asset looks promising but you need to check resolution or detail, THEN open the individual file. Also read `capture/extracted/asset-descriptions.md` for one-line summaries. **Never use contact sheets or scroll screenshots in the video** — contact sheets have grid labels and headers baked in, scroll screenshots are raw browser captures. Both are for AI to BROWSE and understand the site, not to place in compositions.
6665
- **[techniques.md](../../hyperframes/references/techniques.md)** — 20 visual techniques with code patterns. Pick for beats, these are starting points to adapt, not templates to copy.
6766
- **[text-effects.md](../../hyperframes/references/text-effects.md)** — 24 named text animation effects bundled in the repo. Read the catalog now and assign a specific effect ID to every headline, label, and copy element in every beat — not generic "fades in" descriptions.
6867

skills/website-to-hyperframes/references/step-5-build.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ FIRST: Read skills/website-to-hyperframes/references/beat-builder-guide.md end t
302302
It has your full workflow, all rules, easing vocabulary, and file references.
303303
Follow its workflow exactly:
304304
build → lint (`npx hyperframes lint .`)
305-
→ snapshot (`npx tsx packages/cli/src/cli.ts snapshot . --frames 3`)
305+
→ snapshot (`npx hyperframes snapshot . --frames 3`)
306306
→ view contact sheet AND read snapshots/descriptions.md
307307
→ fix issues
308308

skills/website-to-hyperframes/references/step-6-validate.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -70,17 +70,15 @@ After lint and validate pass, capture snapshot frames to SEE your own output. **
7070

7171
Scale snapshot count to the video — not a fixed number. Formula: `max(beats × 3, ceil(duration_seconds / 2))`. A 3-beat 10s video: max(9, 5) = 9 frames. An 8-beat 60s video: max(24, 30) = 30 frames. Aim for at least 3 frames per beat: entrance, hold, and near-exit.
7272

73-
**⚠ NEVER use `npx hyperframes snapshot`.** The published CLI (0.6.6) is missing critical fixes: sub-comps load before capturing, local-time seek for last beats, Gemini vision descriptions. Always use the local CLI below or all beats after the first may appear black and descriptions.md won't be generated.
74-
7573
```bash
76-
# The local CLI auto-loads .env from the current working directory, so a
77-
# .env file in <project-dir> with GEMINI_API_KEY=... is enough — no explicit
78-
# export needed. If you've set GEMINI_API_KEY directly in your shell env that
79-
# also works.
80-
npx tsx packages/cli/src/cli.ts snapshot <project-dir> --frames <N>
74+
# The CLI auto-loads .env from the current working directory, so a
75+
# .env file in <project-dir> with GEMINI_API_KEY=... is enough — no
76+
# explicit `export` needed. If you've set GEMINI_API_KEY in your shell
77+
# environment, that works too.
78+
npx hyperframes snapshot <project-dir> --frames <N>
8179

8280
# Pass a custom question to Gemini instead of the default prompt:
83-
npx tsx packages/cli/src/cli.ts snapshot <project-dir> --frames <N> \
81+
npx hyperframes snapshot <project-dir> --frames <N> \
8482
--describe "Is the brand logo visible in every beat? Is any beat showing a black or blank frame?"
8583
```
8684

0 commit comments

Comments
 (0)