Milady imsg

iMessage/SMS CLI for listing chats, fetching history, watching conversations, and sending messages on macOS via the Messages app. Use when the user wants to send a text message, read iMessages, check recent texts, reply to a conversation, send an SMS, or interact with the Messages app from the terminal. Supports texting contacts by phone number or email, attaching files, and streaming incoming messages in real time.

install
source · Clone the upstream repo
git clone https://github.com/milady-ai/milady
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/milady-ai/milady "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/.defaults/imsg" ~/.claude/skills/milady-ai-milady-imsg && rm -rf "$T"
manifest: skills/.defaults/imsg/SKILL.md
source content

imsg Actions

Overview

Use

imsg
to read and send Messages.app iMessage/SMS on macOS.

Requirements: Messages.app signed in, Full Disk Access for your terminal, and Automation permission to control Messages.app for sending.

Inputs to collect

  • Recipient handle (phone/email) for
    send
  • chatId
    for history/watch (from
    imsg chats --limit 10 --json
    )
  • text
    and optional
    file
    path for sends

Actions

List chats

imsg chats --limit 10 --json

Fetch chat history

imsg history --chat-id 1 --limit 20 --attachments --json

Watch a chat

imsg watch --chat-id 1 --attachments

Send a message

imsg send --to "+14155551212" --text "hi" --file /path/pic.jpg

Notes

  • --service imessage|sms|auto
    controls delivery.
  • Confirm recipient + message before sending.

Ideas to try

  • Use
    imsg chats --limit 10 --json
    to discover chat ids.
  • Watch a high-signal chat to stream incoming messages.