brag-personal — one person, Brent's words, his voice
Proven prototypes: Becca (positive-post style) · Chrissy (personalized THE MACHINE). Fast path: clone a proven composition, personalize, voice, mix.
Brent's order format (parse exactly)
- WHO — recipient FIRST NAME only (Brent's law 2026-07-23: personal videos use first names everywhere — screen and voice; warmer, and kills the surname-spelling risk). Relationship for context. NAME-SPELLING LAW (Brent, 2026-07-23): never render a name without confirming the exact spelling first — dictation mangles names (Mac/Mack, Chrissy). One quick question before the build: "spell the name for me?" Applies to on-screen text; the voice only says the spoken form.
- QUOTED MESSAGE — text in quotes is spoken VERBATIM. Nothing outside quotes is ever voiced. If unclear what's quote vs context, ask ONE question before generating.
- SIGNATURE — on-screen ONLY (e.g. "— Uncle Brent"). The voice NEVER reads the signature (law, 2026-07-23: "that was meant to be a signature").
- Optional VALUE BEAT — a quick tip/thought to include as its own scene.
Build lane
- Clone base: a past run's
composition/ from the brag-machine repo's runs/ history (fresh clone of github.com/bbrysonelite-max/brag-machine — THE MACHINE reveal, personalized like Chrissy's) or a positive-post render (gentle, like Becca's). Personalize: name in hook, $ ./claw "for <Name>" terminal line, message lines as cards, on-screen signature, closing wink line.
npx hyperframes check → render silent.mp4 (free).
- VO via Voicebox profile 18836009-0527-4b9f-9837-3d58c2a0dc76 (see brag-voice skill): one intro line + the quoted message, CONTINUOUS sentences, no ellipses, no signature. Delay ~1500ms; timing law applies.
- Mix: ffmpeg duck-mix (music 0.35, vo 1.5,
-movflags +faststart).
- Verify playable (ffprobe duration) BEFORE delivering. Fresh unique filename every version (
for-<name>-FINAL.mp4) — NEVER overwrite a file QuickTime may have open.
- Deliver to Desktop +
open. Brent's ears approve; voice-drift = regenerate.
Laws
Rules are forward-looking. When Brent amends a rule, apply it to the NEXT video. Never redo a sent/approved video unless he explicitly asks — redos are the expensive part (ticket #10).
NEVER queue personal videos to any channel. They are gifts Brent sends himself.
Voice reads only quoted words + intro. Signature on screen only.
Iterate free: text swaps + re-render cost nothing; only his words are sacred.
Color convention (Brent, 2026-07-25)
Colors are dialed by what Brent SAYS in the order — nothing else:
- Says nothing → DEFAULT palette (personal warm: cream
#F2EADD on #0B0A08, accent #FF6B1A) — the hardcoded look Pat/Chrisie got.
- "Use the brand colors" → primitives tokens.json:
#0A0A0A bg · #f5f5f5 ink · #E8722A accent · #4ADE80 signal green (payoff lines only).
- Any mood/color words ("soft", "navy and gold", "her favorite color is purple") → agent mixes a custom palette from those words.
- "Your call" / "go wild" → agent has full creative license — and MUST USE IT (ticket #15): push PAST comfortable. Unexpected palette, dramatic motion, at least one choice that surprises. Tasteful-default = failing the instruction.
Rails that always hold: hyperframes check contrast gate (WCAG AA) must pass; tone matches the message (sympathy never gets neon); Brent's eyes are the final gate before he sends — a rejected palette costs one free re-render.
Mechanics: clone base templates/brag-personal/composition/ — ALL colors are CSS variables in one :root block at the top (default + brand values listed in the comment beside it). Swap the block, never hunt scattered hex codes. Glow/gradient rgba tints derive from --accent — swap together.
1---2name: brag-personal3description: Personal message videos - THE MACHINE personalized for one recipient with Brent's voice carrying his exact words. Use when Brent says "make one for <name>", "send a personal video", "do one like Chrissy's/Becca's", or gives a quoted message for a specific person. HIGH-VALUE lane (Brent - "a million uses"). NEVER queued to social - gift files only.4---56# brag-personal — one person, Brent's words, his voice78Proven prototypes: Becca (positive-post style) · Chrissy (personalized THE MACHINE). Fast path: clone a proven composition, personalize, voice, mix.910## Brent's order format (parse exactly)11121. **WHO** — recipient FIRST NAME only (Brent's law 2026-07-23: personal videos use first names everywhere — screen and voice; warmer, and kills the surname-spelling risk). Relationship for context. **NAME-SPELLING LAW (Brent, 2026-07-23): never render a name without confirming the exact spelling first** — dictation mangles names (Mac/Mack, Chrissy). One quick question before the build: "spell the name for me?" Applies to on-screen text; the voice only says the spoken form.132. **QUOTED MESSAGE** — text in quotes is spoken VERBATIM. Nothing outside quotes is ever voiced. If unclear what's quote vs context, ask ONE question before generating.143. **SIGNATURE** — on-screen ONLY (e.g. "— Uncle Brent"). The voice NEVER reads the signature (law, 2026-07-23: "that was meant to be a signature").154. Optional **VALUE BEAT** — a quick tip/thought to include as its own scene.1617## Build lane18191. Clone base: a past run's `composition/` from the brag-machine repo's `runs/` history (fresh clone of `github.com/bbrysonelite-max/brag-machine` — THE MACHINE reveal, personalized like Chrissy's) or a `positive-post` render (gentle, like Becca's). Personalize: name in hook, `$ ./claw "for <Name>"` terminal line, message lines as cards, on-screen signature, closing wink line.202. `npx hyperframes check` → render silent.mp4 (free).213. VO via Voicebox profile 18836009-0527-4b9f-9837-3d58c2a0dc76 (see brag-voice skill): one intro line + the quoted message, CONTINUOUS sentences, no ellipses, no signature. Delay ~1500ms; timing law applies.224. Mix: ffmpeg duck-mix (music 0.35, vo 1.5, `-movflags +faststart`).235. **Verify playable** (ffprobe duration) BEFORE delivering. Fresh unique filename every version (`for-<name>-FINAL.mp4`) — NEVER overwrite a file QuickTime may have open.246. Deliver to Desktop + `open`. Brent's ears approve; voice-drift = regenerate.2526## Laws2728- **Rules are forward-looking.** When Brent amends a rule, apply it to the NEXT video. Never redo a sent/approved video unless he explicitly asks — redos are the expensive part (ticket #10).2930- NEVER queue personal videos to any channel. They are gifts Brent sends himself.31- Voice reads only quoted words + intro. Signature on screen only.32- Iterate free: text swaps + re-render cost nothing; only his words are sacred.3334## Color convention (Brent, 2026-07-25)3536Colors are dialed by what Brent SAYS in the order — nothing else:37381. **Says nothing** → DEFAULT palette (personal warm: cream `#F2EADD` on `#0B0A08`, accent `#FF6B1A`) — the hardcoded look Pat/Chrisie got.392. **"Use the brand colors"** → primitives tokens.json: `#0A0A0A` bg · `#f5f5f5` ink · `#E8722A` accent · `#4ADE80` signal green (payoff lines only).403. **Any mood/color words** ("soft", "navy and gold", "her favorite color is purple") → agent mixes a custom palette from those words.414. **"Your call" / "go wild"** → agent has full creative license — and MUST USE IT (ticket #15): push PAST comfortable. Unexpected palette, dramatic motion, at least one choice that surprises. Tasteful-default = failing the instruction.4243Rails that always hold: `hyperframes check` contrast gate (WCAG AA) must pass; tone matches the message (sympathy never gets neon); Brent's eyes are the final gate before he sends — a rejected palette costs one free re-render.4445Mechanics: clone base `templates/brag-personal/composition/` — ALL colors are CSS variables in one `:root` block at the top (default + brand values listed in the comment beside it). Swap the block, never hunt scattered hex codes. Glow/gradient rgba tints derive from `--accent` — swap together.