with one click
imessage
Send and receive iMessages/SMS via the imsg CLI on macOS.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Send and receive iMessages/SMS via the imsg CLI on macOS.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Add a Bun-native YAML agent definition with inheritance, tool policy, and subagent references.
Add a Bun-native messaging channel adapter with lifecycle, webhook, and configuration coverage.
Add a Bun-native LLM provider entry with routing, pricing, headers, limits, and Bun tests.
Add a Bun-native TypeScript tool with schema, registry wiring, policy boundaries, and Bun tests.
Author a Bun-native Xerxes SKILL.md bundle with valid metadata, safe assets, and discovery tests.
Normalize Xerxes Apache-2.0 headers with the native Bun maintenance command and verify TypeScript sources.
| name | imessage |
| description | Send and receive iMessages/SMS via the imsg CLI on macOS. |
| version | 1.0.0 |
| author | Xerxes Agent |
| license | MIT |
| platforms | ["macos"] |
| metadata | {"xerxes":{"tags":["iMessage","SMS","messaging","macOS","Apple"]}} |
| prerequisites | {"commands":["imsg"]} |
Use imsg to read and send iMessage/SMS via macOS Messages.app.
brew install steipete/tap/imsgimsg chats --limit 10 --json
# By chat ID
imsg history --chat-id 1 --limit 20 --json
# With attachments info
imsg history --chat-id 1 --limit 20 --attachments --json
# Text only
imsg send --to "+14155551212" --text "Hello!"
# With attachment
imsg send --to "+14155551212" --text "Check this out" --file /path/to/image.jpg
# Force iMessage or SMS
imsg send --to "+14155551212" --text "Hi" --service imessage
imsg send --to "+14155551212" --text "Hi" --service sms
imsg watch --chat-id 1 --attachments
--service imessage — Force iMessage (requires recipient has iMessage)--service sms — Force SMS (green bubble)--service auto — Let Messages.app decide (default)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"