text-bubble-stack

Installation
SKILL.md

Text bubble stack

A stack of glossy chat bubbles behind the speaker, one per spoken phrase, over a white gradient wash. references/reference.jpg shows the finished look (violet theme, "No / Nope / Nooooope!") on a 9:16 talking-head clip. scripts/make_bubbles.py renders the bubble images and the wash.

1. Ask first

Read the transcript (get_transcript on the clip, word timings) to find the phrases that could be bubbles, then ask with one ask_form:

  • Bubble colour: a choice such as Match the speaker / captions (look at a frame and the video's captionStyle), Classic iMessage blue, Grey (received), Green (SMS), or a custom colour. Fill in your pick.
  • How many bubbles: a number (usually 2–4). Fill in the number of phrases you found.
  • What they say: one text field, one bubble per line, separated by /. Prefill it with the spoken words, written expressively when it suits the delivery (e.g. "No / Nope / Nooooope!"). Also confirm, in the same form, which spoken moment each bubble lands on when it isn't obvious.

2. Colour themes

Each theme is a vertical gradient (top light, mid, bottom) plus an outline, shadow and text colour:

  • Classic iMessage blue: top #E3F0FD, mid #B4D5F8, bottom #8DBCF1, outline #55779F, shadow #1D3557, text #000000.
  • Violet (matched to a lavender shirt and indigo-outlined captions): top #F3ECFF, mid #CDB8F4, bottom #A98AE8, outline #4A45A0, shadow #312E81, text #312E81.
  • Any other colour: derive a pale top, mid and saturated bottom from it, a darker outline (slightly lighter than the darkest shade, not near-black), and dark text in the same hue. Match a speaker or caption colour by sampling a frame and reading get_video settings.captionStyle.
Installs
6
First Seen
7 days ago