CtrlK
BlogDocsLog inGet started
Tessl Logo

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.

63

Quality

75%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/ads/capabilities/render-imessage-chat/SKILL.md
SKILL.md
Quality
Evals
Security

Low

Low-risk findings.

2 low severity findings. Worth noting, but not necessarily harmful.

Low

W011: Third-party content exposure detected (indirect prompt injection risk).

What this means

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.

Why it was flagged

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.

Report incorrect finding
Low

W012: Unverifiable external dependency detected (runtime URL that controls agent).

What this means

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.

Why it was flagged

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.

Repository
gooseworks-ai/goose-skills
Audited
Security analysis
Snyk

Is this your skill?

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.