Files
nanoclaw/.claude/skills/add-imessage-v2/SKILL.md
gavrielc 12af451069 v2: add Chat SDK channel adapters and skills for 11 platforms
Thin wrapper adapters + SKILL.md for Slack, Telegram, GitHub, Linear,
Google Chat, Teams, WhatsApp Cloud API, Resend, Matrix, Webex, iMessage.
All follow the same pattern as discord-v2.ts: readEnvFile → create*Adapter
→ createChatSdkBridge → registerChannelAdapter.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 11:26:33 +03:00

2.0 KiB

name, description
name description
add-imessage-v2 Add iMessage channel integration to NanoClaw v2 via Chat SDK. Local (macOS) or remote (Photon API) mode.

Add iMessage Channel (v2)

This skill adds iMessage support to NanoClaw v2 using the Chat SDK bridge. Supports local mode (macOS with Full Disk Access) and remote mode (via Photon API).

Phase 1: Pre-flight

Check if src/channels/imessage-v2.ts exists and the import is uncommented in src/channels/index.ts. If both are in place, skip to Phase 3.

Phase 2: Apply Code Changes

Install the adapter package

npm install chat-adapter-imessage

Enable the channel

Uncomment the iMessage import in src/channels/index.ts:

import './imessage-v2.js';

Build

npm run build

Phase 3: Setup

Local Mode (macOS)

Requirements: macOS with Full Disk Access granted to your terminal/Node.js process.

  1. Go to System Settings > Privacy & Security > Full Disk Access
  2. Add your terminal app (Terminal, iTerm2, etc.) or the Node.js binary
  3. The adapter reads directly from the iMessage database on disk

Remote Mode (Photon API)

  1. Set up a Photon account
  2. Get your server URL and API key

Configure environment

Local mode — add to .env:

IMESSAGE_ENABLED=true
IMESSAGE_LOCAL=true

Remote mode — add to .env:

IMESSAGE_LOCAL=false
IMESSAGE_SERVER_URL=https://your-photon-server.com
IMESSAGE_API_KEY=your-api-key

Sync to container: mkdir -p data/env && cp .env data/env/env

Build and restart

npm run build
launchctl kickstart -k gui/$(id -u)/com.nanoclaw  # macOS

Phase 4: Verify

Send an iMessage to the account running NanoClaw. The bot should respond within a few seconds.

Removal

  1. Comment out import './imessage-v2.js' in src/channels/index.ts
  2. Remove iMessage env vars from .env
  3. npm uninstall chat-adapter-imessage
  4. Rebuild and restart