diff --git a/optional-skills/creative/hyperframes/SKILL.md b/optional-skills/creative/hyperframes/SKILL.md index 70d1ae240b..926358e515 100644 --- a/optional-skills/creative/hyperframes/SKILL.md +++ b/optional-skills/creative/hyperframes/SKILL.md @@ -75,7 +75,16 @@ Before touching code, articulate at a high level: - **Visual identity** — colors, fonts, motion character (explosive / cinematic / fluid / technical) - **Hero frame** — for each scene, the moment when the most elements are simultaneously visible. This is the static layout you'll build first. -If the user hasn't specified a visual style, ask three questions before writing HTML: mood, light/dark, any brand colors/fonts/references. Write a short `DESIGN.md` at the project root capturing the answers. +**Visual Identity Gate (HARD-GATE).** Before writing ANY composition HTML, a visual identity must be defined. Do NOT write compositions with default or generic colors (`#333`, `#3b82f6`, `Roboto` are tells that this step was skipped). Check in order: + +1. **`DESIGN.md` at project root?** → Use its exact colors, fonts, motion rules, and "What NOT to Do" constraints. +2. **User named a style** (e.g. "Swiss Pulse", "dark and techy", "luxury brand")? → Generate a minimal `DESIGN.md` with `## Style Prompt`, `## Colors` (3-5 hex with roles), `## Typography` (1-2 families), `## What NOT to Do` (3-5 anti-patterns). +3. **None of the above?** → Ask 3 questions before writing any HTML: + - Mood? (explosive / cinematic / fluid / technical / chaotic / warm) + - Light or dark canvas? + - Any brand colors, fonts, or visual references? + + Then generate a `DESIGN.md` from the answers. Every composition must trace its palette and typography back to `DESIGN.md` or explicit user direction. ### 2. Scaffold @@ -114,11 +123,14 @@ Multi-scene compositions require transitions. Rules: Use `npx hyperframes add ` to install shader transitions (`flash-through-white`, `liquid-wipe`, etc.). Full list: `npx hyperframes add --list`. -### 6. Audio, captions, TTS +### 6. Audio, captions, TTS, audio-reactive, highlighting - **Audio:** always a separate `