Goose Skills is a library of workflows and data APIs that lets coding agents handle growth and go-to-market work such as advertising, social media, content, SEO, lead generation, and customer research. It is intended for teams using Claude Code, Cursor, Codex, and similar agents. The catalogue entries are its reusable skills.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add gooseworks-ai/goose-skills --skill render-imessage-chatgit clone --depth 1 https://github.com/gooseworks-ai/goose-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/gooseworks-ai/goose-skills/render-imessage-chat)<a href="https://agentmods.dev/skills/gooseworks-ai/goose-skills/render-imessage-chat"><img src="https://agentmods.dev/badge/skills/gooseworks-ai/goose-skills/render-imessage-chat/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/gooseworks-ai/goose-skills/render-imessage-chat"><img src="https://agentmods.dev/badge/skills/gooseworks-ai/goose-skills/render-imessage-chat.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium MCP Rug Pull · line 81 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00063 | $0.02932 |
| Opus 5.5 | $0.00025 | $0.01173 |
| Sonnet 5.5 | $0.00013 | $0.00586 |
| Haiku 4.5 | $0.00006 | $0.00293 |
Grade A, and why
render-imessage-chat scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 193 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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.
Human version
Make a texting-story ad with the chosen contact names and phone time, a proportional phone, an inset Dynamic Island and the original iMessage sounds. The brand, story and background can change. Images are optional and can appear anywhere in the conversation; product links and music are optional too.
This rebuild preserves the shell and sounds from the approved Dermwise Goa build. It fixes missing identity binding, the island touching the screen edge, light-mode header colors, early/missing group names and capture timing drift. Every movie frame and sound cue uses the same timeline; browser startup cannot trim the beginning or ending. No paid API is needed to render or repair the UI.
On a 9:16 canvas the phone now sits clear of the TikTok/Reels controls by
default: the newest message, including the punchline, always stays above the
bottom caption band and left of the button rail (safe_area).
Agent version
Read the reference and authoring rules.
The calling recipe supplies NEW names, copy, brand facts and real assets.
scripts/config.example.json is a fictional, runnable example, never defaults.
Choices and bindings
- Relationship, contact names and group title →
thread.participants,thread.title. - Displayed phone time →
thread.clock, preserving the user's chosen text. - Story, tone and language →
thread.messages. Casual spelling and emojis are allowed. - Chat images → zero or more
attachmententries at their authored positions inthread.messages; either participant may send them. Never reorder by type. - Theme →
theme: "dark" | "light". - Background → optional local
background_image; neutral when absent. - Hardware →
dynamic_island: true | false; true floats inside the screen. - Music → optional existing bed passed to
render.sh --music; no bed means SFX only.
What ships with it
23 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- assets/sfx/imessage-receive.mp3 12 KB
- assets/sfx/imessage-send.mp3 4.2 KB
- references/imessage-reference.md 5.2 KB
- scripts/chat-driver.js 6.3 KB runs code
- scripts/check-render.py 6.1 KB runs code
- scripts/config.example.json 1.7 KB
- scripts/end-card.template.html 3.5 KB
- scripts/mockup/generate.js 16 KB runs code
- scripts/mockup/templates/chat.css 18 KB
- scripts/mockup/templates/icons.js 3.3 KB runs code
- scripts/package-lock.json 1.7 KB
- scripts/package.json 322 B
- scripts/record-chat.js 25 KB runs code
- scripts/render-end-card.js 14 KB runs code
- scripts/render.sh 992 B runs code
- scripts/sfx-embedded.json 22 KB
- scripts/stitch.sh 8.9 KB runs code
- skill.meta.json 230 B
- tests/fixtures/long-group-thread.json 3.3 KB
- tests/smoke-test.md 1.5 KB
- tests/test_chat.js 12 KB runs code
- tests/test_safe_area.js 10 KB runs code
- tests/test_stitch.py 13 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago Changed 62bb36a28644
- 15d ago Changed · +7 lines 503dae7e4918
- 17d ago Changed 8b5c476c5451
- 19d ago Changed · +3 lines 9f8e35265417
- 21d ago Changed · +33 lines ac1796e9240e
- 22d ago Changed · +19 lines · -49 tokens per session bfba227b2564
- 24d ago Changed · +14 lines e41b22222b12
- 26d ago Changed · +18 lines 98d592503281
- 28d ago Changed · +16 lines 0b0f0d7a5aab
- 1mo ago First seen · 83 lines · 112 tokens per session scan A 70f8b29e6732
render-imessage-chat is a skill published in the GitHub repository gooseworks-ai/goose-skills (1,271 stars, last pushed today), licensed MIT. It adds 63 tokens to every session and 2,932 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…