
imessage-sender
by Eddale
SKILL.md
name: imessage-sender description: Send iMessages with text, files, and links. Use when "send to [name]", "iMessage this to", "text [name]", "share with [name] via iMessage", "ping [name]", "message [name]". allowed-tools: Read, Bash, Glob, AskUserQuestion
iMessage Sender
Send iMessages via the imsg CLI. Supports text, file attachments, and URLs.
Workflow
Step 1: Parse the Request
Extract from the user's message:
- Recipient: Name or phone number
- Message content: Text to send
- Attachments: Files to include (if any)
- URLs: Links to share (included in message text)
Step 2: Resolve Recipient
-
Read contacts config:
cat ~/.config/imessage-contacts.yaml -
Look up the recipient name (case-insensitive match)
-
If contact not found:
- Ask the user for the phone number using AskUserQuestion
- Format: "+1XXXXXXXXXX" (E.164 format, US numbers need +1 prefix)
- Offer to add the contact to the config for future use
Step 3: Prepare Message
Text only:
imsg send --to "+1XXXXXXXXXX" --text "Message here" --service imessage
With file attachment:
imsg send --to "+1XXXXXXXXXX" --text "Here's the file" --file "/path/to/file.pdf" --service imessage
With URL (include in text body):
imsg send --to "+1XXXXXXXXXX" --text "Check this out: https://example.com" --service imessage
Multiple files: Send as separate messages (imsg handles one file per message)
Step 4: Execute and Confirm
- Run the
imsg sendcommand - Report success or failure to the user
- If failed, explain the error and suggest fixes
Common Errors
| Error | Fix |
|---|---|
permissionDenied | Terminal needs Full Disk Access in System Settings |
automation denied | Terminal needs Automation permission for Messages.app |
Invalid phone number | Must be E.164 format: +1XXXXXXXXXX |
File not found | Verify file path exists |
Examples
"text myself hello" → Look up "myself" in contacts → Send "hello"
"send to taki: check this out https://example.com" → Look up "taki" → Send message with URL
"share this PDF with mom" → Look up "mom" → Send current file as attachment
"iMessage +14155551234: running late" → Use number directly → Send message
Notes
- URLs in the message text render as rich link previews in iMessage
- The
--service imessageflag ensures iMessage; imsg falls back to SMS if needed - This skill is send-only; it does not read message history
スコア
総合スコア
リポジトリの品質指標に基づく評価
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
レビュー
レビュー機能は近日公開予定です