Official agent skill

iMessage Channel Setup

by anthropics in anthropics/claude-plugins-official

Checks that iMessage can be read on a Mac, shows the access policy and sender allowlist, and helps you decide who may text your assistant.

OfficialApache-2.0Auto-check: notesProductivity & Automation

Install iMessage Channel Setup

skills CLI
$ npx skills add anthropics/claude-plugins-official --skill configure -a claude-code

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

GitHub CLI
$ gh skill install anthropics/claude-plugins-official configure --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/anthropics/claude-plugins-official.git skills-src && mkdir -p .claude/skills && cp -r skills-src/external_plugins/imessage/skills/configure .claude/skills/configure && 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
configure
GitHub stars
38k
Token cost
~877 tokens
SKILL.md length
448 words
Files
1
Skills in repo
29
Repo updated
First seen
Licence
Apache-2.0

At a glance

Checks that iMessage can be read on a Mac, shows the access policy and sender allowlist, and helps you decide who may text your assistant.

  • Works in 3 steps: Full Disk Access — run ls… → Access — read… → What next — end with a concrete next…
  • Setting up the iMessage channel for the first time
  • SKILL.md covers Status and guidance, Build the allowlist — don't pair and Implementation notes
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

No token is needed here, because iMessage is read straight from `~/Library/Messages/chat.db`. The skill runs `ls` on that file to test whether Full Disk Access has been granted to your terminal or IDE, and when the command fails with Operation not permitted it explains where to enable access under Privacy & Security in System Settings. It then reads `~/.claude/channels/imessage/access.json` and summarizes the DM policy, allowed senders and any pending pairings.

Its advice is to build an allowlist rather than use pairing, since pairing sends an automatic reply code to every contact who texts the Mac. Texting yourself always works, others are added by phone number or email with `/imessage:access allow`, and a current `pairing` policy is flagged with an offer to switch back to `allowlist`. The skill only shows status, and any arguments passed to it are unused.

When your agent uses it

  • Setting up the iMessage channel for the first time
  • Finding out why texts are not reaching the assistant
  • Reviewing who is allowed to message you through iMessage

Example prompts

  • “Check my iMessage setup and tell me what is missing.”
  • “Why aren't my texts reaching the assistant?”
  • “Allow my partner's number through iMessage and keep everyone else blocked.”

Requirements

  • Full Disk Access granted to your terminal or IDE
  • A Mac with the Messages database at `~/Library/Messages/chat.db`
  • Pre-approved tools (allowed-tools): Read, Bash(ls *)

Workflow steps

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

  1. Full Disk Access — run ls ~/Library/Messages/chat.db. If it fails
  2. Access — read ~/.claude/channels/imessage/access.json (missing file
  3. What next — end with a concrete next step based on state

What it can do on your machine

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

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Bash(ls *)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

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

  • Network

    No URLs in SKILL.md.

    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

iMessage Channel Setup loads about 877 tokens when it runs. Until then it costs about 55 tokens; SKILL.md has 448 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~55
When it runs · the whole SKILL.md, loaded when a task matches
~877

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:78
    - No `.env` file for this channel. No token. The only OS-level setup is FDA

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from anthropics/claude-plugins-official at commit 315c4e4, republished under its Apache-2.0 licence (© anthropics). 448 words, ~877 tokens.

Download SKILL.mdSave it as .claude/skills/configure/SKILL.md (or your agent's skills folder).
name
configure
description
Check iMessage channel setup and review access policy. Use when the user asks to configure iMessage, asks "how do I set this up" or "who can reach me," or wants to know why texts aren't reaching the assistant.
allowed-tools
Read, Bash(ls *)
user-invocable
true

/imessage:configure — iMessage Channel Setup

There's no token to save — iMessage reads ~/Library/Messages/chat.db directly. This skill checks whether that works and orients the user on access policy.

Arguments passed: $ARGUMENTS (unused — this skill only shows status)


Status and guidance

Read state and give the user a complete picture:

  1. Full Disk Access — run ls ~/Library/Messages/chat.db. If it fails with "Operation not permitted", FDA isn't granted. Say: "Grant Full Disk Access to your terminal (or IDE if that's where Claude Code runs): System Settings → Privacy & Security → Full Disk Access. The server can't read chat.db without it."

  2. Access — read ~/.claude/channels/imessage/access.json (missing file = defaults: dmPolicy: "allowlist", empty allowlist). Show:

    • DM policy and what it means in one line
    • Allowed senders: count, and list the handles
    • Pending pairings: count, with codes if any (only if policy is pairing)
  3. What next — end with a concrete next step based on state:

    • FDA not granted → the FDA instructions above
    • FDA granted, policy is allowlist → "Text yourself from any device signed into your Apple ID — self-chat always bypasses the gate. To let someone else through: /imessage:access allow +15551234567."
    • FDA granted, someone allowed → "Ready. Self-chat works; {N} other sender(s) allowed."

Build the allowlist — don't pair

iMessage reads your personal chat.db. You already know the phone numbers and emails of people you'd allow — there's no ID-capture problem to solve. Pairing has no upside here and a clear downside: every contact who texts this Mac gets an unsolicited auto-reply.

Drive the conversation this way:

  1. Read the allowlist. Tell the user who's in it (self-chat always works regardless).
  2. Ask: "Besides yourself, who should be able to text you through this?"
  3. "Nobody, just me" → done. The default allowlist with an empty list is correct. Self-chat bypasses the gate.
  4. "My partner / a friend / a couple people" → ask for each handle (phone like +15551234567 or email like them@icloud.com) and offer to run /imessage:access allow <handle> for each. Stay on allowlist.
  5. Current policy is pairing → flag it immediately: "Your policy is pairing, which auto-replies a code to every contact who texts this Mac. Switch back to allowlist?" and offer /imessage:access policy allowlist. Don't wait to be asked.
  6. User asks for pairing → push back. Explain the auto-reply-to- everyone consequence. If they insist and confirm a dedicated line with few contacts, fine — but treat it as a one-off, not a recommendation.
Show full SKILL.md (58 more words)Show less

Handles are +15551234567 or someone@icloud.com. disabled drops everything except self-chat.


Implementation notes

  • No .env file for this channel. No token. The only OS-level setup is FDA plus the one-time Automation prompt when the server first sends (which can't be checked from here).
  • access.json is re-read on every inbound message — policy changes via /imessage:access take effect immediately, no restart.

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

Files

Just SKILL.md in external_plugins/imessage/skills/configure of anthropics/claude-plugins-official.

Open the folder on GitHubat commit 315c4e4

Compare with similar skills

iMessage Channel Setup 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.

iMessage Channel Setup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
iMessage Channel Setup this skillanthropics/claude-plugins-official38k—~877Automated safety check: NotesApache-2.0
Slack Browser Automationvercel-labs/agent-browser44k1 repos~2.1kAutomated safety check: PassApache-2.0
Feishu Docopenclaw/openclaw392k—~516Automated safety check: PassMIT
She Love Me863401402/she-love-me9251 repos~1.3kAutomated safety check: PassMIT
Claude To Imop7418/Claude-to-IM-skill2.9k—~3.4kAutomated safety check: NotesMIT
Last30days CnJesseovo/last30days-skill-cn1.9k—~2.4kAutomated safety check: NotesMIT

Similar skills

  • Slack Browser Automation

    vercel-labs/agent-browser

    Official

    Drives the Slack web app with the agent-browser CLI to check unread channels, search, read channel details and extract information, with screenshots as evidence.

    44k GitHub starsUsed in 1 repo~2.1k tokens
    Productivity & AutomationAuto-check passed
  • Feishu Doc

    openclaw/openclaw

    Feishu document read/write workflows. An agent skill from openclaw/openclaw.

    392k GitHub stars~516 tokensUpdated today
    Productivity & AutomationAuto-check passed
  • She Love Me

    863401402/she-love-me

    Acquire, import, and analyze WeChat or QQ chat histories, including installing supported exporters, guiding required login or contact selection, converting exports, assessing relationship dynamics…

    925 GitHub starsUsed in 1 repo~1.3k tokens
    Productivity & AutomationAuto-check passed
  • Claude To Im

    op7418/Claude-to-IM-skill

    Bridge THIS Claude Code or Codex session to Telegram, Discord, Feishu/Lark, QQ, or WeChat so the user can chat with Claude from their phone.

    2.9k GitHub stars~3.4k tokensUpdated 6 mo ago
    Productivity & AutomationAuto-check: notes
  • Last30days Cn

    Jesseovo/last30days-skill-cn

    Research what Chinese internet users actually said in the last 30 days across Weibo, Xiaohongshu (RED), Bilibili, Zhihu, Douyin, WeChat public accounts, Baidu and Toutiao: engagement-weighted…

    1.9k GitHub stars~2.4k tokensUpdated 3 days ago
    Productivity & AutomationAuto-check: notes
  • Instagram Skill

    supreme-gg-gg/instagram-cli

    How to use Instagram CLI to interact with Instagram from the command line on behalf of a user.

    2.2k GitHub stars~1.4k tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check passed

More from anthropics/claude-plugins-official

All 29 skills in this repo
  • Hook Development for Claude Code Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.

    38k GitHub starsUsed in 10 repos~4.1k tokens
    Auto-check: notes
  • Claude Code Agent Development

    anthropics/claude-plugins-official

    Official

    Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.

    38k GitHub starsUsed in 7 repos~2.8k tokens
    Auto-check passed
  • Plugin Settings Pattern

    anthropics/claude-plugins-official

    Official

    Shows how Claude Code plugins keep per-project settings and state in .claude/plugin-name.local.md files with YAML frontmatter and a markdown body.

    38k GitHub starsUsed in 7 repos~3k tokens
    Auto-check passed
  • MCP Integration for Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to bundle Model Context Protocol servers in a Claude Code plugin, covering config files, stdio, SSE, HTTP and WebSocket server types, and authentication.

    38k GitHub starsUsed in 11 repos~3.1k tokens
    Auto-check passed
  • Claude Code Command Development

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code slash commands: Markdown files with YAML frontmatter, arguments, file references, bash context and interactive prompts.

    38k GitHub starsUsed in 10 repos~4.8k tokens
    Auto-check passed
  • Claude Code Plugin Structure

    anthropics/claude-plugins-official

    Official

    Explains the directory layout, plugin.json manifest and component organization of a Claude Code plugin, including auto-discovery and portable paths.

    38k GitHub starsUsed in 10 repos~3.4k tokens
    Auto-check passed

Questions about iMessage Channel Setup

What does iMessage Channel Setup do?

Checks that iMessage can be read on a Mac, shows the access policy and sender allowlist, and helps you decide who may text your assistant. db`. The skill runs `ls` on that file to test whether Full Disk Access has been granted to your terminal or IDE, and when the command fails with Operation not permitted it explains where to enable access under Privacy & Security in System Settings.

When should I use iMessage Channel Setup?

iMessage Channel Setup fits situations like: setting up the iMessage channel for the first time; finding out why texts are not reaching the assistant; reviewing who is allowed to message you through iMessage.

How do I install iMessage Channel Setup in Claude Code?

Run `npx skills add anthropics/claude-plugins-official --skill configure -a claude-code`. Or copy the skill folder (external_plugins/imessage/skills/configure in anthropics/claude-plugins-official) into .claude/skills/configure in your project. Claude Code loads it when a task matches its description.

How do I install iMessage Channel Setup in Codex?

Run `npx skills add anthropics/claude-plugins-official --skill configure -a codex`. Or copy the skill folder (external_plugins/imessage/skills/configure in anthropics/claude-plugins-official) into .agents/skills/configure in your project. Codex loads it when a task matches its description.

Can I use iMessage Channel Setup 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 anthropics/claude-plugins-official --skill configure -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/configure, .gemini/skills/configure, .github/skills/configure and .opencode/skills/configure in your project.

What does iMessage Channel Setup need to run?

SKILL.md names no scripts, command-line tools or credentials: iMessage Channel Setup is instructions for the agent only. Our summary lists: Full Disk Access granted to your terminal or IDE; A Mac with the Messages database at `~/Library/Messages/chat.db`. Its frontmatter pre-approves these tools: Read, Bash(ls *).

Does iMessage Channel Setup access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is iMessage Channel Setup safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does iMessage Channel Setup use?

iMessage Channel Setup is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does iMessage Channel Setup use?

About 877 tokens (SKILL.md is roughly 3.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to iMessage Channel Setup?

Skills that share tags, products or a category with iMessage Channel Setup: Slack Browser Automation (vercel-labs/agent-browser, 44k stars), Feishu Doc (openclaw/openclaw, 392k stars), She Love Me (863401402/she-love-me, 925 stars) and Claude To Im (op7418/Claude-to-IM-skill, 2.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains iMessage Channel Setup?

anthropics (a GitHub organization, an official publisher) maintains it in anthropics/claude-plugins-official, which has 37,566 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 8, 2026.

Source: anthropics/claude-plugins-official on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.