Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
beita6969 avatar

Imsg

  • 16 installs
  • 869 repo stars
  • Updated June 8, 2026
  • beita6969/scienceclaw

This is a copy of imsg by steipete - installs and ranking accrue to the original listing.

imsg is a Claude skill that reads and sends iMessage/SMS via the macOS Messages.app using the imsg CLI.

About

imsg is a Claude skill that drives the imsg CLI to read and send iMessage and SMS through the macOS Messages.app. A developer uses it to list recent chats, read conversation history, watch for new messages, and send texts to phone numbers or Apple IDs. It matters because it gives agents controlled, confirmation-gated access to Messages on a Mac.

  • iMessage/SMS CLI for listing chats, reading history, and sending messages via macOS Messages.app
  • Supports iMessage vs SMS service selection and watching for new messages
  • macOS only; needs Full Disk Access and Messages.app Automation permission

Imsg by the numbers

  • 16 all-time installs (skills.sh)
  • Data as of Aug 2, 2026 (Skillselion catalog sync)
At a glance

imsg capabilities & compatibility

Free; macOS only, no API keys, uses local Messages.app.

Capabilities
messaging · chat history · message watch
Use cases
email
Platforms
macOS
Pricing
Free
From the docs

What imsg says it does

iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.
SKILL.md
Use `imsg` to read and send iMessage/SMS via macOS Messages.app.
SKILL.md
Always confirm recipient and message content** before sending
SKILL.md
npx skills add https://github.com/beita6969/scienceclaw --skill imsg

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs16
repo stars869
Last updatedJune 8, 2026
Repositorybeita6969/scienceclaw

What it does

List chats, read history, watch, and send iMessage/SMS via macOS Messages.app from the terminal.

Who is it for?

Reading iMessage history and sending texts to phone numbers or Apple IDs from a Mac terminal.

Skip if: Telegram, Signal, WhatsApp, Discord, or Slack, and group-chat member management, which the docs say are not supported here.

When should I use this skill?

The user explicitly asks to send an iMessage or SMS, or to read recent Messages.app chats or history.

What you get

  • Listed chats
  • Conversation history (JSON)
  • Sent iMessage/SMS

By the numbers

  • 3 service options (imessage, sms, auto)
  • 3 macOS permission requirements

Files

SKILL.mdMarkdownGitHub ↗

imsg

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

When to Use

USE this skill when:

  • User explicitly asks to send iMessage or SMS
  • Reading iMessage conversation history
  • Checking recent Messages.app chats
  • Sending to phone numbers or Apple IDs

When NOT to Use

DON'T use this skill when:

  • Telegram messages → use message tool with channel:telegram
  • Signal messages → use Signal channel if configured
  • WhatsApp messages → use WhatsApp channel if configured
  • Discord messages → use message tool with channel:discord
  • Slack messages → use slack skill
  • Group chat management (adding/removing members) → not supported
  • Bulk/mass messaging → always confirm with user first
  • Replying in current conversation → just reply normally (Clawdbot routes automatically)

Requirements

  • macOS with Messages.app signed in
  • Full Disk Access for terminal
  • Automation permission for Messages.app (for sending)

Common Commands

List Chats

imsg chats --limit 10 --json

View History

# By chat ID
imsg history --chat-id 1 --limit 20 --json

# With attachments info
imsg history --chat-id 1 --limit 20 --attachments --json

Watch for New Messages

imsg watch --chat-id 1 --attachments

Send Messages

# Text only
imsg send --to "+14155551212" --text "Hello!"

# With attachment
imsg send --to "+14155551212" --text "Check this out" --file /path/to/image.jpg

# Specify service
imsg send --to "+14155551212" --text "Hi" --service imessage
imsg send --to "+14155551212" --text "Hi" --service sms

Service Options

  • --service imessage — Force iMessage (requires recipient has iMessage)
  • --service sms — Force SMS (green bubble)
  • --service auto — Let Messages.app decide (default)

Safety Rules

1. Always confirm recipient and message content before sending 2. Never send to unknown numbers without explicit user approval 3. Be careful with attachments — confirm file path exists 4. Rate limit yourself — don't spam

Example Workflow

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"

Related skills

FAQ

What are imsg's requirements?

macOS with Messages.app signed in, Full Disk Access for the terminal, and Automation permission for Messages.app to send.

Can imsg send to Telegram or WhatsApp?

No. The docs route Telegram, Signal, WhatsApp, Discord, and Slack to other tools; imsg only handles iMessage/SMS via Messages.app.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.