add-imessage

Featured

Add iMessage channel integration via Chat SDK. Local (macOS) or remote (Photon API) mode.

AI & Automation 30,388 stars 12875 forks Updated today MIT

Install

View on GitHub

Quality Score: 93/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Add iMessage Channel Adds iMessage support via the Chat SDK bridge. Two modes: local (macOS with Full Disk Access) or remote (Photon API). NanoClaw doesn't ship channels in trunk — this skill copies the iMessage adapter in from the `channels` branch. The mechanical steps under **Apply** carry `nc:` directive fences: an agent reads the prose and applies them, and a parser can apply them deterministically from the same document. Every directive is idempotent, so the whole skill is safe to re-run; anything a parser can't apply falls back to the prose beside it. ## Apply ### 1. Copy the adapter Fetch the `channels` branch and copy the iMessage adapter into `src/channels/` (overwrite — the branch is canonical): ```nc:copy from-branch:channels src/channels/imessage.ts src/channels/imessage-registration.test.ts ``` ### 2. Register the adapter Append the self-registration import to the channel barrel (skipped if the line is already present). This one line is the skill's only reach-in into core: ```nc:append to:src/channels/index.ts import './imessage.js'; ``` ### 3. Install the adapter package Pinned to an exact version — the supply-chain policy rejects ranges and `latest`: ```nc:dep chat-adapter-imessage@0.1.1 ``` ### 4. Build and validate Build guards the typed `createChatSdkBridge(...)` core call and proves the dependency is installed (the adapter's top-level `import` from `chat-adapter-imessage` throws if it isn't): ```nc:run effect:build pnpm run build ``` ```nc...

Details

Author
nanocoai
Repository
nanocoai/nanoclaw
Created
5 months ago
Last Updated
today
Language
TypeScript
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category