Individual skill
create-imessage-mockup
Render pixel-accurate iMessage screenshot mockups (DM or group) from a thread JSON. Supports minimal, with-keyboard, and full iPhone 15 Pro frame variants. Outputs HTML + PNG.
skills/video/create-imessage-mockup/SKILL.md
Source commit df8298140d434a6363de0c265eb6af2e571d97a5
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Not checked yet
- Last checked
- Nov 11, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 1,315
- Repository last updated
- Nov 6, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- claude Repository topic
- claude-skills Repository topic
- claudecode Repository topic
- claudecode-skills Repository topic
- codex Repository topic
- cursor Repository topic
- gtm Repository topic
- skills Repository topic
- engineering Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
.gitignoreasset · 20 bytesSKILL.mdcore · 14,521 bytesSKILL.mdcore · 14,521 bytesSKILL.mdcore · 14,521 bytesSKILL.mdcore · 14,521 bytesSKILL.mdcore · 14,521 bytesSKILL.mdcore · 14,521 bytesexamples/dm-minimal.jsonasset · 375 bytesexamples/dm-with-frame.jsonasset · 513 bytesexamples/dm-with-keyboard.jsonasset · 373 bytesexamples/dm-with-typing.jsonasset · 601 bytesexamples/group-minimal.jsonasset · 699 bytesexamples/group-with-frame.jsonasset · 1,101 bytesgenerate.jsruns · 15,366 bytespackage-lock.jsonasset · 1,757 bytespackage.jsonruns · 411 bytesrender.jsruns · 5,602 bytesscreenshot.jsruns · 3,986 bytesskill.meta.jsonasset · 137 bytestemplates/chat.cssasset · 17,345 bytestemplates/icons.jsruns · 3,386 bytestests/expected-output.mddoc · 2,387 bytestests/human-test.mddoc · 1,817 bytestests/run-all.shruns · 844 bytestests/sample-input.mddoc · 1,744 bytestests/smoke-test.mddoc · 1,149 bytes
Read excerpt
> **Superseded:** the video kit now does this with the phone-chat part, version 1.2.0, in the parts folder of this repository. Every phone-chat style is a style file that draws the same screen frame by frame from the plan's scenes, with the original sounds, in the kit's browser. This atom stays, unchanged in behaviour, for skills outside the kit until they move; its scripts still run.
# create-imessage-mockup
Generate iMessage screenshots that look like real iOS captures — correct bubbles with tails, typing indicators, timestamps, "Delivered" captions, group avatars + sender names, keyboard chrome, and an optional iPhone 15 Pro bezel with Dynamic Island and status bar.
## Purpose
Turn a structured thread JSON into a believable iMessage screenshot — first as standalone HTML (`generate.js` + `templates/chat.css`), then rasterized to PNG with headless Chromium (`screenshot.js`/`render.js` via Playwright). It is the atom you reach for when an ad, social post, or video scene needs a fake-but-convincing iOS message capture.
What it gets right, grounded in the renderer:
- **Bubble runs and tails** — blue `sent` bubbles (right) and gray `received` bubbles (left), with a curved tear-drop tail drawn only on the *last* bubble of each consecutive sender run (`isLastOfRun` in `generate.js`).
- **Dark-themed iOS chrome** — `theme: "dark"` flips the page to the iOS dark conversation look; the status bar, Dynamic Island, and keyboard match iPhone 15 Pro.