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
Plan and run multi-agent video production pipelines.
Import an OpenClaw setup (memories, skills) into Hermes.
Follow the money via public records and sanctions data.
Join a Google Meet call, transcribe live captions, optionally speak in realtime, and do the followup work afterwards. Use when the user asks the agent to sit in on a meeting, take notes, summarize, respond in-call, or action items from it.
Generate images, video, and audio via diffusion workflows.
Create, read, edit Word .docx documents and templates.
| name | imessage |
| description | Send and receive iMessages/SMS via the imsg CLI on macOS. |
| version | 1.0.0 |
| author | Hermes Agent |
| license | MIT |
| platforms | ["macos"] |
| metadata | {"hermes":{"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"