imsg

iMessage/SMS CLI for listing chats, reading message history, watching for new messages, and sending messages. Triggers on: check messages, read imessage, send text, imsg, message history, sms, who texted me.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "imsg" with this command: npx skills add joelhooks/joelclaw/joelhooks-joelclaw-imsg

iMessage

Read and send iMessages and SMS from the terminal via the imsg CLI.

Setup (Panda)

  • Messages.app signed in as: the agent Apple ID (see USER.md)
  • Joel's iMessage address: see USER.md → imessage
  • Full Disk Access must be granted to the terminal for read operations (chats, history, watch)
  • Automation permission for Messages.app required for send
  • imsg send returns "sent" optimistically — this means AppleScript fired, not delivery confirmed

Commands

List chats

imsg chats --limit 10 --json

Read history

imsg history --chat-id <id> --limit 20 --attachments --json

Watch for new messages

imsg watch --chat-id <id> --attachments

Send

# By email (iMessage)
imsg send --to "user@example.com" --text "hello"

# By phone number (iMessage or SMS)
imsg send --to "+18005551234" --text "hello"

# With file attachment
imsg send --to "user@example.com" --text "see attached" --file /path/to/file.jpg

Delivery Notes

  • "sent" from CLI = AppleScript successfully handed off to Messages.app
  • "Not delivered" in Messages.app = actual delivery failure (auth issue, recipient offline, etc.)
  • Full Disk Access missing = read commands fail with permissionDenied; send still works via AppleScript
  • Messages appear as coming from the agent Apple ID, not from Joel

Sending to Joel

Joel's iMessage address is in USER.md (imessage field). Use it to notify him directly:

imsg send --to "<joel-imessage>" --text "your message"

Safety

  • Read-only by default — use chats and history before sending
  • Always confirm recipient and message text before imsg send
  • --json flag preferred for all read operations (deterministic parsing)

Install

brew install steipete/tap/imsg

Credit

CLI by steipete. Adopted per ADR-0067.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

cli-design

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

github-bot

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

codex-prompting

No summary provided by upstream source.

Repository SourceNeeds Review