Skip to main content

imessage

Send and receive iMessages/SMS via the imsg CLI on macOS.

Jump to install

Source facts

Repository
kevinnft/ai-agent-skills
Last source activity
May 15, 2026 at 04:45
Detected SKILL.md language
English
Stars
14
Forks
2

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions ยท Read-only preview
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"]}
origin
original
source_repo
kevinnft/ai-agent-skills
source_url
https://github.com/kevinnft/ai-agent-skills
source_license
MIT
language
en
# iMessage Use `imsg` to read and send iMessage/SMS via macOS Messages.app. ## Prerequisites - **macOS** with Messages.app signed in - Install: `brew install steipete/tap/imsg` - Grant Full Disk Access for terminal (System Settings โ†’ Privacy โ†’ Full Disk Access) - Grant Automation permission for Messages.app when prompted ## When to Use - User asks to send an iMessage or text message - Reading iMessage conversation history - Checking recent Messages.app chats - Sending to phone numbers or Apple IDs ## When NOT to Use - Telegram/Discord/Slack/WhatsApp messages โ†’ use the appropriate gateway channel - Group chat management (adding/removing members) โ†’ not supported - Bulk/mass messaging โ†’ always confirm with user first ## Quick Reference ### List Chats ```bash imsg chats --limit 10 --json ``` ### View History ```bash # By chat ID imsg history --chat-id 1 --limit 20 --json # With attachments info imsg history --chat-id 1 --limit 20 --attachments --json ``` ### Send Messages ```bash # 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 ``` ### Watch for New Messages ```bash imsg watch --chat-id 1 --attachments ``` ## Service Options - `--service imessage` โ€” Force iMessage (requires recipient has iMessage) - `--service sms` โ€” Force SMS (green bubble) - `--service auto` โ€” Let Messages.app decide (default) ## Rules 1. **Always confirm recipient and message content** before sending 2. **Never send to unknown numbers** without explicit user approval 3. **Verify file paths** exist before attaching 4. **Don't spam** โ€” rate-limit yourself ## Example Workflow User: "Text mom that I'll be late" ```bash # 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" ```
View on GitHub