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.
63
75%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Fix and improve this skill with Tessl
tessl review fix ./skills/ads/capabilities/render-imessage-chat/SKILL.mdLow
Low-risk findings.
2 low severity findings. Worth noting, but not necessarily harmful.
The skill exposes the agent to untrusted, user-generated content from public third-party sources, creating a risk of indirect prompt injection. This includes browsing arbitrary URLs, reading social media posts or forum comments, and analyzing content from unknown websites.
Outsider-authored free text in `config.json` flows directly into runtime-rendered HTML (e.g., thread `messages[].text`, attachment `title`/`subtitle`, and end-card copy `end_card.*`) that Playwright loads via `page.setContent(html)` / `page.goto(file://...)` for recording/screenshot.
The skill fetches instructions or code from an external URL at runtime, and the fetched content directly controls the agent’s prompts or executes code. This dynamic dependency allows the external source to modify the agent’s behavior without any changes to the skill itself.
The package-lock lists registry URLs (https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz, https://registry.npmjs.org/playwright/-/playwright-1.61.1.tgz, https://registry.npmjs.org/playwright-core/-/playwright-core-1.61.1.tgz) which are fetched by the documented npm install / Playwright setup and bring remote executable code (Playwright + browsers) that the skill requires and runs locally.
2523432
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.