<< All versions
Skill v1.0.0
currentAutomated scan96/100fiilyai/openclaw/imsg
──Details
PublishedOctober 4, 2026 at 05:29 AM
Content Hashsha256:889c7bf8dd614e05...
Git SHA
──Files
Files (1 file, 2.9 KB)
SKILL.md2.9 KBactive
SKILL.md · 124 lines · 2.9 KB
version: "1.0.0" name: imsg description: iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app. homepage: https://imsg.to metadata: { "openclaw": { "emoji": "📨", "os": ["darwin"], "requires": { "bins": ["imsg"] }, "install": [ { "id": "brew", "kind": "brew", "formula": "steipete/tap/imsg", "bins": ["imsg"], "label": "Install imsg (brew)", }, ], }, }
imsg
Use imsg to read and send iMessage/SMS via macOS Messages.app.
When to Use
✅ USE this skill when:
- User explicitly asks to send iMessage or SMS
- Reading iMessage conversation history
- Checking recent Messages.app chats
- Sending to phone numbers or Apple IDs
When NOT to Use
❌ DON'T use this skill when:
- Telegram messages → use
messagetool withchannel:telegram - Signal messages → use Signal channel if configured
- WhatsApp messages → use WhatsApp channel if configured
- Discord messages → use
messagetool withchannel:discord - Slack messages → use
slackskill - Group chat management (adding/removing members) → not supported
- Bulk/mass messaging → always confirm with user first
- Replying in current conversation → just reply normally (OpenClaw routes automatically)
Requirements
- macOS with Messages.app signed in
- Full Disk Access for terminal
- Automation permission for Messages.app (for sending)
Common Commands
List Chats
bash
imsg chats --limit 10 --json
View History
bash
# By chat IDimsg history --chat-id 1 --limit 20 --json# With attachments infoimsg history --chat-id 1 --limit 20 --attachments --json
Watch for New Messages
bash
imsg watch --chat-id 1 --attachments
Send Messages
bash
# Text onlyimsg send --to "+14155551212" --text "Hello!"# With attachmentimsg send --to "+14155551212" --text "Check this out" --file /path/to/image.jpg# Specify serviceimsg send --to "+14155551212" --text "Hi" --service imessageimsg send --to "+14155551212" --text "Hi" --service sms
Service Options
--service imessage— Force iMessage (requires recipient has iMessage)--service sms— Force SMS (green bubble)--service auto— Let Messages.app decide (default)
Safety Rules
- Always confirm recipient and message content before sending
- Never send to unknown numbers without explicit user approval
- Be careful with attachments — confirm file path exists
- Rate limit yourself — don't spam
Example Workflow
User: "Text mom that I'll be late"
bash
# 1. Find mom's chatimsg chats --limit 20 --json | jq '.[] | select(.displayName | contains("Mom"))'# 2. Confirm with user# "Found Mom at +1555123456. Send 'I'll be late' via iMessage?"# 3. Send after confirmationimsg send --to "+1555123456" --text "I'll be late"