I

imsg

by @steipetev
4.4(20)

Read and send iMessage/SMS via macOS Messages.app, supporting viewing conversation history and sending messages.

imessagesmsmacosmessagingautomationGitHub
Installation
npx skills add steipete/clawdis --skill imsg
compare_arrows

Before / After Comparison

1
Before

需要打开 Messages.app,选择联系人并手动输入,无法批量发送

After

通过命令直接发送消息,支持自动化脚本和批量操作

description SKILL.md

imsg

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 message tool with channel:telegram

  • Signal messages → use Signal channel if configured

  • WhatsApp messages → use WhatsApp channel if configured

  • Discord messages → use message tool with channel:discord

  • Slack messages → use slack skill

  • 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

imsg chats --limit 10 --json

View History

# By chat ID
imsg history --chat-id 1 --limit 20 --json

# With attachments info
imsg history --chat-id 1 --limit 20 --attachments --json

Watch for New Messages

imsg watch --chat-id 1 --attachments

Send Messages

# Text only
imsg send --to "+14155551212" --text "Hello!"

# With attachment
imsg send --to "+14155551212" --text "Check this out" --file /path/to/image.jpg

# Specify service
imsg send --to "+14155551212" --text "Hi" --service imessage
imsg 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"

# 1. Find mom's chat
imsg 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 confirmation
imsg send --to "+1555123456" --text "I'll be late"

Weekly Installs227Repositorysteipete/clawdisGitHub Stars327.2KFirst SeenJan 24, 2026Security AuditsGen Agent Trust HubPassSocketPassSnykPassInstalled onopencode204codex203gemini-cli201github-copilot197kimi-cli197cursor196

forumUser Reviews (0)

Write a Review

Effect
Usability
Docs
Compatibility

No reviews yet

Statistics

Installs665
Rating4.4 / 5.0
Version
Updated2026年3月22日
Comparisons1

User Rating

4.4(20)
5
0%
4
0%
3
0%
2
0%
1
0%

Rate this Skill

0.0

Compatible Platforms

🔧Claude Code

Timeline

Created2026年3月22日
Last Updated2026年3月22日