Agent skill

Render Imessage Chat

by gooseworks-ai in gooseworks-ai/goose-skills

Render a configurable iMessage conversation inside a properly framed phone, then a brand end card.

MITAuto-check passedMedia & Creative

Install Render Imessage Chat

skills CLI
$ npx skills add gooseworks-ai/goose-skills --skill render-imessage-chat -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install gooseworks-ai/goose-skills render-imessage-chat --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ads/capabilities/render-imessage-chat .claude/skills/render-imessage-chat && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
render-imessage-chat
GitHub stars
1.2k
Token cost
~3.1k tokens
SKILL.md length
1,658 words
Files
26 (incl. scripts, references, assets)
Skills in repo
273
Repo updated
First seen
Licence
MIT

At a glance

Render a configurable iMessage conversation inside a properly framed phone, then a brand end card.

  • Works in 12 steps: Browser startup and CPU load must never… → Measure each sound's audible onset. The… → Keep the original receive chime. Shorten… → …
  • Tasks that involve Messaging and chat bots
  • SKILL.md covers Choices and bindings, Run, Config contract and Original sound contract, plus 2 more sections
  • Runs JavaScript and Python scripts from its folder; calls node, python3 and npm

What it does

Render Imessage Chat is an agent skill from gooseworks-ai/goose-skills. Render a configurable iMessage conversation inside a properly framed phone, then a brand end card. Uses the original send/receive sounds and a shared frame timeline for text, typing, scrolling and sound. Free local Playwright + ffmpeg assembly; optional image/music generation belongs to separate gated capabilities.

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 31 other files, including scripts, reference files and assets (for example `references/imessage-reference.md`, `scripts/chat-driver.js` and `scripts/check-render.py`).

It sits in Media & Creative, covering Messaging and chat bots, Video production and Music and audio generation. It works with FFmpeg and Playwright. The repository describes itself as: Library of Growth & GTM skills + data APIs for Claude Code, Codex, Cursor to run ads, social, content, lead gen, seo and data scraping. The licence is MIT.

When your agent uses it

  • Tasks that involve Messaging and chat bots
  • Tasks that involve Video production
  • Tasks that involve Music and audio generation

Example prompts

  • “/render-imessage-chat”

Requirements

  • Python 3
  • Node.js

Workflow steps

12 steps, taken from the first numbered list in SKILL.md.

  1. Browser startup and CPU load must never change movie time. Fixed output frames replace capture-clock guesses, sync curtains and…
  2. Measure each sound's audible onset. The original send file includes lead-in; trim silence before placing it on the visible reveal frame.
  3. Keep the original receive chime. Shorten it only when another message follows quickly, so its second note cannot mask that next message.
  4. Check the text Range against the bubble bounds. Bubble tails intentionally extend beyond the box.
  5. Use Apple emoji assets for recordings on hosts whose native emoji differ. Cache and inline them before capture; keep complete Unicode…
  6. Scratch directory templates must work on macOS and GNU systems.
  7. Start short conversations under the header. Keep the input fixed at the bottom and scroll only the conversation.
  8. Picture and sounds share output-frame time. Reactions use that same timeline and must target an earlier real message.
  9. Do not zoom into a link as if a camera were moving across the phone screen.
  10. Editorial endings use the brand's own fonts, headlines, benefits, URL and footnote. Approved complete artwork can replace the template.
  11. Show Delivered only beneath the newest sent text or attachment.
  12. Typed text must equal sent text. The deterministic composer completes before sending and wraps long lines.

What it can do on your machine

Read from SKILL.md and the folder at commit c650c6d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 11 files in scripts/ (JavaScript and Python, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • node
    • python3
    • npm
    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Render Imessage Chat loads about 3.1k tokens when it runs, and up to ~4.5k if it reads all its reference files. Until then it costs about 84 tokens; SKILL.md has 1,658 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~84
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from gooseworks-ai/goose-skills at commit c650c6d, republished under its MIT licence (© gooseworks-ai). 1,658 words, ~3,137 tokens.

Download SKILL.mdSave it as .claude/skills/render-imessage-chat/SKILL.md (or your agent's skills folder). This skill also uses 25 other files; get the full folder from GitHub.
name
render-imessage-chat
description
Render a configurable iMessage conversation inside a properly framed phone, then a brand end card. Uses the original send/receive sounds and a shared frame timeline for text, typing, scrolling and sound. Free local Playwright + ffmpeg assembly; optional image/music generation belongs to separate gated capabilities.
status
superseded
version
2.0.1
updated
2026-10-06
superseded_by
phone-chat@1.1.4

Superseded: the video kit now does this with the phone-chat part, version 1.1.4, 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 Clinikally 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 attachment entries at their authored positions in thread.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.

Exactly one participant is self:true. A DM has two participants; its header reads the other participant's name and derives the first initial unless supplied. A group requires a title and named contacts. Missing names fail before capture. There is no demo-name fallback. Changing the config changes the visible name. When a name changes, update any derived initials too. Keep explicit user-supplied initials only when they still match the requested identity.

Run

Requires Node 18+, Python 3, ffmpeg with libx264, ffprobe and Playwright Chromium. Install dependencies in the fetched scripts folder, then launch/close that script's own Chromium before any optional paid image/music call. Preserve its cwd, NODE_PATH and PLAYWRIGHT_BROWSERS_PATH. gooseworks doctor --renderer-script "/absolute/path/scripts/record-chat.js" can check that runtime. If unavailable, use a bounded free createRequire(actualScript) launch/close probe (15-second launch timeout, 20-second whole-process limit). Cache presence alone is not proof.

bash
cd scripts
npm ci
# Install Chromium only if the free launch probe says it is missing:
# npx playwright install chromium
node record-chat.js --config /absolute/path/config.json --out-dir /absolute/path/working/preview --preview-only
bash render.sh --config /absolute/path/config.json --out /absolute/path/finals/master-final.mp4
# Optional: append --music /absolute/path/bed.mp3

Preview produces chat.html, chat-preview.png and master-chat.safe-area.json; the HTML exposes window.__renderAt(seconds) and window.__safeAreaReport() (canvas-pixel boxes of the newest row and any data-safe-keep sheet or dialog) for frame inspection. Full render keeps those, master-chat.mp4, .timeline.json, .sfx.json, the end-card HTML/PNG/MP4 and the finished master. The recorder checks the safe area on every output frame and fails on a violation. check-render.py verifies dimensions, audio stream, frame count, complete ending and the safe-area report; python3 scripts/check-render.py --safe-area <work>/master-chat.safe-area.json checks a preview alone. Review the ACTUAL master after every repair; these technical checks do not establish creative acceptance.

Individual record-chat.js, render-end-card.js and stitch.sh commands remain available. render.sh produces the 1080×1920 recipe master. The chat recorder also supports even preview dimensions; the phone must fit with a margin.

Config contract

  • Inline thread or thread_path. Relative files resolve against config.json.
  • Unique message IDs and valid from participants. Types: text, typing, timestamp, attachment, tapback. Reactions target an earlier message ID and carry an emoji. Typing immediately precedes a received text/attachment from the same person. Self messages type in the composer, including complete emoji graphemes.
  • Short messages read best. Longer words wrap; real overflow fails preflight.
  • Optional attachment: src local image/data URI, presentation:"photo" for a photo or "rich-link" for image + flush meta card + title/domain/chevron. Optional dwell_sec overrides its default 3.6-second reading hold. Text-only chats need no images. One or several attachments can come first, between any messages or last; preserve the user's placement and sender. Never require an opening photo or a product image at a fixed beat.
  • Optional thread.clock sets the displayed status-bar time, such as 10:24 or 18:07. Bind the chosen time; do not replace it with a demo time. Only when absent does the shell use its neutral 9:41 fallback. In-chat timestamp labels are separate message inputs, not a required fixed timestamp.
  • End card: approved image_path, or real logo_svg_path, logo_image_path, inline logo_svg or wordmark_text, brand colors, CTA and optional benefits. stars defaults to 0. Ratings require approved proof_text. An artwork path replaces the complete template; check its copy and CTA first.
  • Default outer canvas 1080×1920; zoom fits the 393×852 phone proportionally. Excess zoom fails rather than cropping the phone. timing can override the named pacing fields in record-chat.js; ending hold must be at least 0.5 seconds.
  • safe_area keeps the conversation clear of the platform controls (QA-60). Omitted: on for 9:16 canvases, off for other shapes. true uses the review-finished-ad bands (top 220, bottom 400, right 140, left 0 px at 1080×1920, scaled to the canvas). An object such as {"bottom":480} overrides single bands in output pixels; omitted keys keep the defaults. false restores the old centred full-height phone exactly.
  • With safe_area on, the phone is the largest proportional size whose conversation viewport sits inside the zone (an 8 px inset), centred unless that is unsafe, then moved only as far as needed. At 1080×1920 that is zoom about 1.915 with the phone 16 px from the top. Every row is clipped to that viewport, so the newest row is safe on every frame. The composer, home bar and group avatars may sit in the bands; typed text reappears as the newest row.
  • An explicit zoom is a ceiling while safe_area is on: kept when safe, otherwise lowered to the safe maximum with a log line (the recipe seed zoom: 2.1 becomes about 1.915). Set safe_area:false to keep it exactly.
Show full SKILL.md (642 more words)Show less

Original sound contract

The send/receive MP3s are byte-identical to both archived Clinikally and Wonderbly builds. Keep them. No substitute ringtone, notification-cascade sound or generated pop. One cue per real text/attachment; none for typing or composer keystrokes. Picture reveals and cues share fixed output-frame times; the audible onset follows the first visible reveal frame. The mixer strips leading silence and limits peaks.

Full checkouts use assets/sfx. Text-only catalog packages use the hash-checked scripts/sfx-embedded.json fallback. Keep that file byte for byte. --sfx-dir can override the source explicitly. Missing, silent, corrupt or LFS-pointer audio stops the render. After an intentional MP3 replacement, regenerate the embedded copy with python3 tests/test_stitch.py --write-embedded.

Verification and failures

Run node --test tests/test_chat.js, node --test tests/test_safe_area.js and python3 -m pytest tests/test_stitch.py. Run one test file at a time; each test opens and closes one Chromium. Browser tests cover changing names/time/background, text-only chats, attachment placement, blank-name rejection, inset hardware, dark/light chrome, group labels after typing, Unicode composer text and long threads. test_safe_area.js walks every frame of tests/fixtures/long-group-thread.json (16-message group thread, wrapped punchline) and asserts the newest row stays above y 1520 and left of x 940, that a bottom sheet in the band fails, and that safe_area:false keeps the old layout. CI runs both browser files. Audio tests cover fetched-package delivery and limited overlapping cues.

Fix the configuration error and rerender locally. UI defects never justify paid generation. Watch the final for the selected name, readable bubbles, smooth scroll, correct sender labels and sounds, complete last message and correct brand end card. Use review-finished-ad for brand/copy review when called by the recipe.

Critical knowledge

The current renderer combines the fixed-frame repair with the lessons from the live-capture audit. Read [[references::references/imessage-reference.md]] before authoring.

  1. Browser startup and CPU load must never change movie time. Fixed output frames replace capture-clock guesses, sync curtains and picture-snapping retries.
  2. Measure each sound's audible onset. The original send file includes lead-in; trim silence before placing it on the visible reveal frame.
  3. Keep the original receive chime. Shorten it only when another message follows quickly, so its second note cannot mask that next message.
  4. Check the text Range against the bubble bounds. Bubble tails intentionally extend beyond the box.
  5. Use Apple emoji assets for recordings on hosts whose native emoji differ. Cache and inline them before capture; keep complete Unicode graphemes while typing.
  6. Scratch directory templates must work on macOS and GNU systems.
  7. Start short conversations under the header. Keep the input fixed at the bottom and scroll only the conversation.
  8. Picture and sounds share output-frame time. Reactions use that same timeline and must target an earlier real message.
  9. Do not zoom into a link as if a camera were moving across the phone screen.
  10. Editorial endings use the brand's own fonts, headlines, benefits, URL and footnote. Approved complete artwork can replace the template.
  11. Show Delivered only beneath the newest sent text or attachment.
  12. Typed text must equal sent text. The deterministic composer completes before sending and wraps long lines.
  13. Download and inline requested end-card fonts before capture. A missing font fails the render instead of silently changing the brand.
  14. Read approved brand colours from the brand kit or site styling. Preserve the selected background and contact names.
  15. Keep the quieter audit mix with the existing peak limiter. Unsupported ratings remain absent unless approved proof is supplied.
  16. Inspect the actual encoded ending and sound alignment. Frame counts and a passing stream probe do not establish creative acceptance.
  17. Keep the newest message out of the platform controls (QA-60). A full-height phone put the punchline under the TikTok/Reels caption band. Fit the conversation viewport, not the whole phone, into the safe zone: the phone stays large and native. A future skin with bottom sheets must extend PHONE.keep to the screen bottom and mark sheets data-safe-keep.

© gooseworks-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 25 other files (scripts, references, assets) in skills/ads/capabilities/render-imessage-chat of gooseworks-ai/goose-skills.

  • SKILL.md
  • assets/sfx/imessage-receive.mp3
  • assets/sfx/imessage-send.mp3
  • references/imessage-reference.md
  • scripts/chat-driver.js
  • scripts/check-render.py
  • 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
  • … and 11 more

Open the folder on GitHubat commit c650c6d

Compare with similar skills

Render Imessage Chat next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Render Imessage Chat compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Render Imessage Chat this skillgooseworks-ai/goose-skills1.2k—~3.1kAutomated safety check: PassMIT
Explain Videolimin112/min-skill454—~2.4kAutomated safety check: PassNone
Hunk Launch Video Pipelinemodem-dev/hunk9.6k—~5.5kAutomated safety check: PassMIT
Qiaomu Cutjoeseesun/qiaomu-cut-skill372—~6.8kAutomated safety check: NotesMIT
ShowtimeFavioVazquez/showtime220—~3kAutomated safety check: PassMIT
Terminal Demo Video Recorderliaohch3/claude-tap3.3k—~545Automated safety check: PassMIT

Similar skills

  • Explain Video

    limin112/min-skill

    Build a narrated explainer video from a concept — discussion → structure → HTML slide deck → narration script → TTS voice → subtitles → background music → Playwright screen recording → ffmpeg…

    454 GitHub stars~2.4k tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Produces captioned 1080p product videos of the Hunk terminal diff viewer by driving the real TUI headlessly and compositing frames in Chromium.

    9.6k GitHub stars~5.5k tokensUpdated 3 days ago
    Media & CreativeAuto-check passed
  • Qiaomu Cut

    joeseesun/qiaomu-cut-skill

    把一句话需求转成可复现、可验收视频工程的乔木智能剪辑导演。Use when the user asks to create, plan, edit, remix, explain, narrate, subtitle, animate, composite, or render a video—including one-line requests such as “制作一个科普视频:介绍…

    372 GitHub stars~6.8k tokensUpdated 12 days ago
    Media & CreativeAuto-check: notes
  • Showtime

    FavioVazquez/showtime

    A skill your agent uses when the user wants a video made, edited or finished: a launch or promo, product demo, explainer, trailer or teaser, tutorial or walkthrough, a screen recording turned into a…

    220 GitHub stars~3k tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Terminal Demo Video Recorder

    liaohch3/claude-tap

    Records a real tmux end-to-end run with asciinema, converts it to a GIF and MP4, and captures trace viewer screenshots with Playwright.

    3.3k GitHub stars~545 tokensUpdated today
    Media & CreativeAuto-check passed
  • Whiteboard Video

    trustfuture/simon-skills

    手绘白板风"边画边讲"讲解视频出片 skill(Excalidraw 风格逐笔动画 + 火山引擎配音 + 烧录字幕 + 品牌水印与片尾卡 + 横竖两张封面 + 各平台发布文案)。当用户说"做一期白板视频 / 边画边讲 / 手绘讲解视频 / 用 excalidraw 做视频 / whiteboard video",或要在本仓库里新建一期、改场景、换贴纸或真实…

    382 GitHub stars~1.8k tokensUpdated 16 days ago
    Media & CreativeAuto-check: notes

More from gooseworks-ai/goose-skills

All 273 skills in this repo
  • Reddit Post Finder

    gooseworks-ai/goose-skills

    Scrape and search Reddit posts using Apify. An agent skill from gooseworks-ai/goose-skills.

    1.2k GitHub starsUsed in 1 repo~1.2k tokens
    Auto-check passed
  • Create Image Fal

    gooseworks-ai/goose-skills

    Generate or edit an image via any FAL image model (nano-banana edit, gpt-image, flux, ...), ROUTED THROUGH THE fal-proxy so it bills the Ads agent.

    1.2k GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Render Hook Replacement

    gooseworks-ai/goose-skills

    Replace an existing video's opening with a supplied clip or free kinetic text hook while retaining and verifying every original body frame, audio, captions and ending.

    1.2k GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed
  • Blog Feed Monitor

    gooseworks-ai/goose-skills

    Scrape blog posts via RSS feeds (free, no API key) with Apify fallback for JS-heavy sites.

    1.2k GitHub starsUsed in 1 repo~578 tokens
    Auto-check passed
  • Competitor Post Engagers

    gooseworks-ai/goose-skills

    Find leads by scraping engagers from a competitor's top LinkedIn posts.

    1.2k GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check: notes
  • Render Chatgpt Chat

    gooseworks-ai/goose-skills

    Assemble a ChatGPT chat-reveal video ad from a thread + timeline JSON — one continuous Playwright recording of a ChatGPT mobile chat (user types with the iOS keyboard up → taps send → keyboard…

    1.2k GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed

Questions about Render Imessage Chat

What does Render Imessage Chat do?

Render a configurable iMessage conversation inside a properly framed phone, then a brand end card. Render Imessage Chat is an agent skill from gooseworks-ai/goose-skills. Render a configurable iMessage conversation inside a properly framed phone, then a brand end card.

When should I use Render Imessage Chat?

Render Imessage Chat fits situations like: tasks that involve Messaging and chat bots; tasks that involve Video production; tasks that involve Music and audio generation.

How do I install Render Imessage Chat in Claude Code?

Run `npx skills add gooseworks-ai/goose-skills --skill render-imessage-chat -a claude-code`. Or copy the skill folder (skills/ads/capabilities/render-imessage-chat in gooseworks-ai/goose-skills) into .claude/skills/render-imessage-chat in your project. Claude Code loads it when a task matches its description.

How do I install Render Imessage Chat in Codex?

Run `npx skills add gooseworks-ai/goose-skills --skill render-imessage-chat -a codex`. Or copy the skill folder (skills/ads/capabilities/render-imessage-chat in gooseworks-ai/goose-skills) into .agents/skills/render-imessage-chat in your project. Codex loads it when a task matches its description.

Can I use Render Imessage Chat in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gooseworks-ai/goose-skills --skill render-imessage-chat -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/render-imessage-chat, .gemini/skills/render-imessage-chat, .github/skills/render-imessage-chat and .opencode/skills/render-imessage-chat in your project.

What does Render Imessage Chat need to run?

Going by SKILL.md and its folder, Render Imessage Chat needs JavaScript and Python for the scripts in its folder and the command-line tools its instructions call (node, python3, npm and bash). Our summary lists: Python 3; Node.js.

Does Render Imessage Chat access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Render Imessage Chat safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Render Imessage Chat use?

Render Imessage Chat is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Render Imessage Chat use?

About 3.1k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.3k tokens, read only when the agent opens those files.

What are the alternatives to Render Imessage Chat?

Skills that share tags, products or a category with Render Imessage Chat: Explain Video (limin112/min-skill, 454 stars), Hunk Launch Video Pipeline (modem-dev/hunk, 9.6k stars), Qiaomu Cut (joeseesun/qiaomu-cut-skill, 372 stars) and Showtime (FavioVazquez/showtime, 220 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Render Imessage Chat?

gooseworks-ai (a GitHub organization) maintains it in gooseworks-ai/goose-skills, which has 1,240 GitHub stars. The repository holds 273 skills in this directory. The repository was last updated on October 8, 2026.

Source: gooseworks-ai/goose-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.