Agent skill · Testing & QA

render-imessage-chat

Assemble an iMessage chat-reveal video ad from a thread JSON — one continuous Playwright recording of the conversation animating in (typing dots, composer typing, bubble pops, auto-scroll) crossfaded into a designed end card, with iMessage send/receive SFX and an optional ducked music bed. FREE assembly (Playwright + ffmpeg); the recipe supplies the per-brand thread + product + end-card config and gates the paid product-image/music calls to their own capabilities. Use for the imessage-chat format.

gooseworks-aigithub.com/gooseworks-aiGitHub ↗
claude-codecodexcursorships scriptsMIT
Install
npx skills add gooseworks-ai/goose-skills --skill render-imessage-chat --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 15
SKILL.md size: 5 KB
Bundled scripts: yes
Path: skills/ads/capabilities/render-imessage-chat/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 1,091
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# render-imessage-chat The free renderer for the **imessage-chat** video ad format — a texting-thread reveal where a friend-to-friend conversation animates in on a phone (typing indicators, composer typing, bubble pops, smooth auto-scroll) and lands on a designed brand end card. Deterministic Playwright + ffmpeg assembly; no generative video of the UI, so bubble text and the wordmark stay pixel-crisp. This capability is the generic assembler — the template recipe (DB) supplies the per-brand `thread`, product image, and `end_card` config, and gates the paid calls (product image → create-image-fal, music bed → create-music-elevenlabs) to their own capabilities. It bundles the iMessage-mockup HTML generator + the send/receive SFX so a chat render is self-contained and $0. ## The three defects it fixes (QA GOOSE-2481) 1. **Rich-link attachment** — a product/link renders as a REAL iMessage URL preview: the image (top-rounded corners) flush against a gray meta card with a bold title + domain subtitle + chevron. NOT a bare image with a distorted caption floating centered below it (the mockup's default `.attachment-meta`). The fix is baked into `record-chat.js`'s injected style, theme-awar

What's inside
Steps it walks through
  1. The three defects it fixes (QA GOOSE-2481)
  2. Run
  3. Contract
  4. Gaps / routing notes
Ships with 14 files
  • assets/sfx/imessage-receive.mp3
  • assets/sfx/imessage-send.mp3
  • scripts/config.example.json
  • scripts/end-card.template.html
  • scripts/mockup/generate.js
  • scripts/mockup/templates/chat.css
  • scripts/mockup/templates/icons.js
  • scripts/package-lock.json
  • scripts/package.json
  • scripts/record-chat.js
  • scripts/render-end-card.js
  • scripts/stitch.sh
  • skill.meta.json
  • tests/smoke-test.md
Commands it runs
cd scripts && npm install            # once — installs Playwright for the recorders
node record-chat.js    --config config.json --out-dir <work>   # → master-chat.mp4 + .sfx.json
node render-end-card.js --config config.json --out-dir <work>  # → scene-end-endcard.mp4
bash stitch.sh --chat <work>/master-chat.mp4 --end <work>/scene-end-endcard.mp4 \
More from goose-skills
All skills →
About this skill
What does the render-imessage-chat skill do?

Assemble an iMessage chat-reveal video ad from a thread JSON — one continuous Playwright recording of the conversation animating in (typing dots, composer typing, bubble pops, auto-scroll) crossfaded into a designed end card, with iMessage send/receive SFX and an optional ducked music bed. FREE assembly (Playwright + ffmpeg); the recipe supplies the per-brand thread + product + end-card config and gates the paid product-image/music calls to their own capabilities. Use for the imessage-chat format.

How do I install it?

Run `npx skills add gooseworks-ai/goose-skills --skill render-imessage-chat --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From gooseworks-ai/goose-skills, a repository with 1,091 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going