/brag
Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag", "let's brag about this", "make a launch video", "turn this into a video", or wants to share what they built. Reads the project code directly — no
$ npx -y skills add latent-spaces/brag --skill brag --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/brag
Context preview
The summary Claude sees to decide when to auto-load this skill.
Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag", "let's brag about this", "make a launch video", "turn this into a video", or wants to share what they built. Reads the project code directly — no
SKILL.md
brag.SKILL.mdname: brag
description: Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag", "let's brag about this", "make a launch video", "turn this into a video", or wants to share what they built. Reads the project code directly — no live URL or screenshots needed.
/brag
You built it. Now let's brag about it.
Invocation dispatch (must happen first)
Before inspecting the project, parse the complete `/brag` invocation. If the invocation contains `--voice`, set `voice.enabled = true`. Enable narration only for that run. Do not enable narration automatically and do not fall back to the normal no-voice workflow.
`/brag` turns the current project website or app into a short, polished, shareable launch video using Hyperframes. It is narrow, opinionated, and fun.
What this skill does
1. Reads the current project code to understand the app. 2. Plans a short brag concept specific to this project. 3. Scripts and storyboards the video. 4. Hands a focused composition brief to Hyperframes. 5. Validates, renders, and writes share copy.
Parsing the invocation
The user may invoke with natural language or flags:
/brag
/brag --tone chaotic
/brag --tone polished --format vertical
/brag this. Make it feel like a ridiculous startup launch.
Parse these options:
| Option | Values | Default | |---|---|---| | `--tone` | preset or freeform description | inferred | | `--format` | `landscape`, `vertical`, `square` | `landscape` | | `--duration` | seconds | auto (15-25s) | | `--no-music` | flag | music on | | `--no-sfx` | flag | sfx on | | `--title` | string | inferred from project | | `--voice` | flag | narration off |
Voice is opt-in. If `--voice` is present, use Kokoro via Hyperframes and do not add any provider-selection logic. The voice workflow is intentionally single-provider in this PR.
Tone can be a preset (`default`, `polished`, `yc-parody`, `chaotic`, `deadpan`, `cinematic`, `app-store`) or a creative direction such as "fake Series A launch from 2016", "museum exhibit", or "overproduced mobile game ad".
When the user gives freeform tone direction, map it to the nearest preset for pacing and structure, but preserve the user's direction in the plan and composition brief.
Narration guidance
When `--voice` is enabled, write narration that complements the visuals, does not simply read visible text, matches scene pacing, sounds natural and conversational, and moves smoothly between scenes. Keep the script concise and specific to the product so the voice feels like part of the edit rather than a separate narration track.
---
Output directory
By default, output goes to `brag-output/`. To avoid overwriting previous runs, use a timestamped directory:
brag-output-2026-05-04-143022/
Use a timestamp when:
- The user explicitly asks for a new run without overriding previous results
- A `brag-output/` directory already exists in the project
Generate the timestamp at the start of the run (`YYYY-MM-DD-HHmmss`) and use it consistently for all output paths in that run: plan, brief, composition, render, and share copy.
---
Step 1: Inspect the project
**Read:** [references/step-1-inspect.md](references/step-1-inspect.md)
Scan the project directory and extract the information needed to plan the brag video.
**Gate:** You can answer all 9 questions in the brag planning rubric.
---
Step 2: Plan and storyboard
**Read:** [references/step-2-plan.md](references/step-2-plan.md)
Write `<output-dir>/brag-plan.md` (where `<output-dir>` is `brag-output/` or the timestamped variant chosen above). Answer the planning rubric. Commit to a creative angle. Write the beat-by-beat storyboard including scenes, text, timing, transitions, and SFX cues.
When music is selected, include a compact `Music cue guidance` section: read the bundled track's cue preset from `assets/music/cues/` if present, otherwise note cues will be detected at composition time (any track now supports beat sync — see `references/audio.md`). Cue metadata is optional timing guidance only: story, readability, pacing, and product clarity stay primary.
**Gate:** `<output-dir>/brag-plan.md` exists with a full storyboard. Scene durations sum to 15–25 seconds.
---
Step 3: Hand off to Hyperframes
**Read:** The Hyperframes domain skills — `hyperframes-core`, `hyperframes-animation`, `hyperframes-creative`, `hyperframes-keyframes`, `hyperframes-cli`. /brag is its own workflow: do not enter the `hyperframes` entry-point intent interview or route into its generic promo / launch-video workflow. **Read:** [references/step-3-compose.md](references/step-3-compose.md) **Read:** [references/audio.md](references/audio.md)
Write the composition brief and use Hyperframes to create the video implementation in `<output-dir>/composition/`.
`/brag` owns the product angle, source material, storyboard, tone, format, audio selection, music cue guidance, and delivery expectations. Hyperframes owns the concrete composition structure, exact animation timing, animation mechanics, runtime choices, linting rules, and render workflow.
**Gate:** `npx hyperframes check` passes with zero errors inside `<output-dir>/composition/` (the single browser gate before render — see hyperframes-cli for what it audits).
---
Step 4: Validate, render, and deliver
**Read:** [references/step-4-deliver.md](references/step-4-deliver.md)
Validate, preview, render to `<output-dir>/brag.mp4`, pick the best poster frame into `<output-dir>/brag.jpg`, bake that poster as the video's frame 0 so it's the idle thumbnail everywhere, and write `<output-dir>/share-copy.txt`.
**Gate:** `<output-dir>/brag.mp4` exists. A best-frame poster `<output-dir>/brag.jpg` is picked (not an arbitrary frame) and baked as frame 0 of `brag.mp4`. Share copy is written.
---
Tone system
Seven tone presets ship with `/brag`. Each changes scripting energy, pacing, typography personality, and transi
Read more
name: brag description: Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag", "let's brag about this", "make a launch video", "turn this into a video", or wants to share what they built. Reads the project code directly — no live URL or screenshots needed.
/brag
You built it. Now let's brag about it.
Invocation dispatch (must happen first)
Before inspecting the project, parse the complete `/brag` invocation. If the invocation contains `--voice`, set `voice.enabled = true`. Enable narration only for that run. Do not enable narration automatically and do not fall back to the normal no-voice workflow.
`/brag` turns the current project website or app into a short, polished, shareable launch video using Hyperframes. It is narrow, opinionated, and fun.
What this skill does
1. Reads the current project code to understand the app. 2. Plans a short brag concept specific to this project. 3. Scripts and storyboards the video. 4. Hands a focused composition brief to Hyperframes. 5. Validates, renders, and writes share copy.
Parsing the invocation
The user may invoke with natural language or flags:
/brag /brag --tone chaotic /brag --tone polished --format vertical /brag this. Make it feel like a ridiculous startup launch.
Parse these options:
| Option | Values | Default | |---|---|---| | `--tone` | preset or freeform description | inferred | | `--format` | `landscape`, `vertical`, `square` | `landscape` | | `--duration` | seconds | auto (15-25s) | | `--no-music` | flag | music on | | `--no-sfx` | flag | sfx on | | `--title` | string | inferred from project | | `--voice` | flag | narration off |
Voice is opt-in. If `--voice` is present, use Kokoro via Hyperframes and do not add any provider-selection logic. The voice workflow is intentionally single-provider in this PR.
Tone can be a preset (`default`, `polished`, `yc-parody`, `chaotic`, `deadpan`, `cinematic`, `app-store`) or a creative direction such as "fake Series A launch from 2016", "museum exhibit", or "overproduced mobile game ad".
When the user gives freeform tone direction, map it to the nearest preset for pacing and structure, but preserve the user's direction in the plan and composition brief.
Narration guidance
When `--voice` is enabled, write narration that complements the visuals, does not simply read visible text, matches scene pacing, sounds natural and conversational, and moves smoothly between scenes. Keep the script concise and specific to the product so the voice feels like part of the edit rather than a separate narration track.
---
Output directory
By default, output goes to `brag-output/`. To avoid overwriting previous runs, use a timestamped directory:
brag-output-2026-05-04-143022/
Use a timestamp when:
- The user explicitly asks for a new run without overriding previous results
- A `brag-output/` directory already exists in the project
Generate the timestamp at the start of the run (`YYYY-MM-DD-HHmmss`) and use it consistently for all output paths in that run: plan, brief, composition, render, and share copy.
---
Step 1: Inspect the project
**Read:** [references/step-1-inspect.md](references/step-1-inspect.md)
Scan the project directory and extract the information needed to plan the brag video.
**Gate:** You can answer all 9 questions in the brag planning rubric.
---
Step 2: Plan and storyboard
**Read:** [references/step-2-plan.md](references/step-2-plan.md)
Write `<output-dir>/brag-plan.md` (where `<output-dir>` is `brag-output/` or the timestamped variant chosen above). Answer the planning rubric. Commit to a creative angle. Write the beat-by-beat storyboard including scenes, text, timing, transitions, and SFX cues.
When music is selected, include a compact `Music cue guidance` section: read the bundled track's cue preset from `assets/music/cues/` if present, otherwise note cues will be detected at composition time (any track now supports beat sync — see `references/audio.md`). Cue metadata is optional timing guidance only: story, readability, pacing, and product clarity stay primary.
**Gate:** `<output-dir>/brag-plan.md` exists with a full storyboard. Scene durations sum to 15–25 seconds.
---
Step 3: Hand off to Hyperframes
**Read:** The Hyperframes domain skills — `hyperframes-core`, `hyperframes-animation`, `hyperframes-creative`, `hyperframes-keyframes`, `hyperframes-cli`. /brag is its own workflow: do not enter the `hyperframes` entry-point intent interview or route into its generic promo / launch-video workflow. **Read:** [references/step-3-compose.md](references/step-3-compose.md) **Read:** [references/audio.md](references/audio.md)
Write the composition brief and use Hyperframes to create the video implementation in `<output-dir>/composition/`.
`/brag` owns the product angle, source material, storyboard, tone, format, audio selection, music cue guidance, and delivery expectations. Hyperframes owns the concrete composition structure, exact animation timing, animation mechanics, runtime choices, linting rules, and render workflow.
**Gate:** `npx hyperframes check` passes with zero errors inside `<output-dir>/composition/` (the single browser gate before render — see hyperframes-cli for what it audits).
---
Step 4: Validate, render, and deliver
**Read:** [references/step-4-deliver.md](references/step-4-deliver.md)
Validate, preview, render to `<output-dir>/brag.mp4`, pick the best poster frame into `<output-dir>/brag.jpg`, bake that poster as the video's frame 0 so it's the idle thumbnail everywhere, and write `<output-dir>/share-copy.txt`.
**Gate:** `<output-dir>/brag.mp4` exists. A best-frame poster `<output-dir>/brag.jpg` is picked (not an arbitrary frame) and baked as frame 0 of `brag.mp4`. Share copy is written.
---
Tone system
Seven tone presets ship with `/brag`. Each changes scripting energy, pacing, typography personality, and transi
You built it. Now brag. /brag is a Claude Code skill that turns the project you created into a short, shareable launch video — music, motion, and share copy included. One command, powered by Hyperframes.
Repo: latent-spaces/brag

