configure

GitHub

用于配置iMessage通道,检查磁盘访问权限及访问策略。指导用户设置允许列表或配对模式,解决消息无法接收问题,并提供具体的状态检查和操作指引。

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

Trigger Scenarios

询问如何配置iMessage 询问谁能联系助手 反馈文本未送达

Install

npx skills add anthropics/claude-plugins-official --skill configure -g -y
More Options

Non-standard path

npx skills add https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/imessage/skills/configure -g -y

Use without installing

npx skills use anthropics/claude-plugins-official@configure

指定 Agent (Claude Code)

npx skills add anthropics/claude-plugins-official --skill configure -a claude-code -g -y

安装 repo 全部 skill

npx skills add anthropics/claude-plugins-official --all -g -y

预览 repo 内 skill

npx skills add anthropics/claude-plugins-official --list

SKILL.md

Frontmatter
{
    "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.

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.

Version History

  • f6a8253 Current 2026-07-25 09:48

Same Skill Collection

external_plugins/discord/skills/access/SKILL.md
external_plugins/discord/skills/configure/SKILL.md
external_plugins/imessage/skills/access/SKILL.md
external_plugins/telegram/skills/access/SKILL.md
external_plugins/telegram/skills/configure/SKILL.md
plugins/claude-code-setup/skills/claude-automation-recommender/SKILL.md
plugins/claude-md-management/skills/claude-md-improver/SKILL.md
plugins/claude-security/skills/claude-security/SKILL.md
plugins/cwc-makers/skills/cardputer-buddy/SKILL.md
plugins/cwc-makers/skills/m5-onboard/SKILL.md
plugins/example-plugin/skills/example-command/SKILL.md
plugins/example-plugin/skills/example-skill/SKILL.md
plugins/frontend-design/skills/frontend-design/SKILL.md
plugins/hookify/skills/writing-rules/SKILL.md
plugins/mcp-server-dev/skills/build-mcp-app/SKILL.md
plugins/mcp-server-dev/skills/build-mcp-server/SKILL.md
plugins/mcp-server-dev/skills/build-mcpb/SKILL.md
plugins/playground/skills/playground/SKILL.md
plugins/plugin-dev/skills/agent-development/SKILL.md
plugins/plugin-dev/skills/command-development/SKILL.md
plugins/plugin-dev/skills/mcp-integration/SKILL.md
plugins/plugin-dev/skills/plugin-settings/SKILL.md
plugins/plugin-dev/skills/plugin-structure/SKILL.md
plugins/plugin-dev/skills/skill-development/SKILL.md
plugins/session-report/skills/session-report/SKILL.md
plugins/skill-creator/skills/skill-creator/SKILL.md
plugins/math-olympiad/skills/math-olympiad/SKILL.md
plugins/plugin-dev/skills/hook-development/SKILL.md
plugins/project-artifact/skills/project-artifact/SKILL.md
plugins/receipts/skills/receipts/SKILL.md

Metadata

Files
0
Version
0fc2bb1
Hash
3afdc7e9
Indexed
2026-07-25 09:48

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-20 10:27
浙ICP备14020137号-1 $Гость$