本文へ移動
cccskills
無料GitHub で公開

apple-mail

Apple Mail.app integration for macOS. Read inbox, search emails, send emails, reply, and manage messages with fast direct access (no enumeration).

日本語の概要は準備中です。原文の説明を表示しています。

sundial-org/awesome-openclaw-skillsスター 671(GitHub 671 + cccskills 0)
連携ツールGmail

実行スコア 未検証

インストール方法を見る

含まれるファイル(14)

  • SKILL.md5.9 KB
  • scripts/mail-accounts.sh627 B
  • scripts/mail-delete.sh3.0 KB
  • scripts/mail-fast-search.sh1.6 KB
  • scripts/mail-list.sh1.8 KB
  • scripts/mail-mailboxes.sh1.2 KB
  • scripts/mail-mark-read.sh3.1 KB
  • scripts/mail-mark-unread.sh3.1 KB
  • scripts/mail-read-emlx.py5.0 KB
  • scripts/mail-read.sh4.4 KB
  • scripts/mail-refresh.sh3.4 KB
  • scripts/mail-reply.sh1.4 KB
  • scripts/mail-search.sh2.0 KB
  • scripts/mail-send.sh2.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Apple Mail

Interact with Mail.app via AppleScript and SQLite. Run scripts from: cd {baseDir}

Commands

CommandUsage
Refreshscripts/mail-refresh.sh [account] [wait_seconds]
List recentscripts/mail-list.sh [mailbox] [account] [limit]
Searchscripts/mail-search.sh "query" [mailbox] [limit]
Fast searchscripts/mail-fast-search.sh "query" [limit]
Read emailscripts/mail-read.sh <message-id> [message-id...]
Deletescripts/mail-delete.sh <message-id> [message-id...]
Mark readscripts/mail-mark-read.sh <message-id> [message-id...]
Mark unreadscripts/mail-mark-unread.sh <message-id> [message-id...]
Sendscripts/mail-send.sh "to@email.com" "Subject" "Body" [from-account] [attachment] ¹
Replyscripts/mail-reply.sh <message-id> "body" [reply-all]
List accountsscripts/mail-accounts.sh
List mailboxesscripts/mail-mailboxes.sh [account]

Refreshing Mail

Force Mail.app to check for new messages:

scripts/mail-refresh.sh                    # All accounts, wait up to 10s
scripts/mail-refresh.sh Google             # Specific account only
scripts/mail-refresh.sh "" 5               # All accounts, max 5 seconds
scripts/mail-refresh.sh Google 0           # Google account, no wait

Smart sync detection:

  • Script monitors database message count
  • Returns early when sync completes (no changes for 2s)
  • Reports new message count: Sync complete in 2s (+3 messages)

Notes:

  • Mail.app must be running (script will error if not)
  • mail-list.sh does NOT auto-refresh — call mail-refresh.sh first if you need fresh data

Output Format

List/search returns: ID | ReadStatus | Date | Sender | Subject

  • ● = unread, blank = read

Gmail Mailboxes

⚠️ Gmail special folders need [Gmail]/ prefix:

Shows asUse
Spam[Gmail]/Spam
Sent Mail[Gmail]/Sent Mail
All Mail[Gmail]/All Mail
Trash[Gmail]/Trash

Custom labels work without prefix.

Fast Search (SQLite)

✨ Now safe even if Mail.app is running — copies database to temp file first.

scripts/mail-fast-search.sh "query" [limit]  # ~50ms vs minutes

Previously required Mail.app to be quit. Now works anytime by copying the database to a temp file before querying.

Performance Notes

Speed by operation:

OperationSpeedNotes
mail-fast-search.sh~50msSQLite query, fastest
mail-accounts.sh<1sSimple AppleScript
mail-list.sh1-3sAppleScript, direct mailbox access
mail-send.sh1-2sCreates and sends message
mail-read.sh~2sPosition-optimized lookup
mail-delete.sh~0.5sPosition-optimized lookup
mail-mark-*.sh~1.5sPosition-optimized lookup

Optimization technique: SQLite provides account UUID and approximate message position. AppleScript jumps directly to that position instead of iterating from the start.

Batch operations supported:

  • mail-read.sh 123 456 789 - Read multiple (separator between each)
  • mail-delete.sh 123 456 789 - Delete multiple
  • mail-mark-read.sh 123 456 - Mark multiple as read
  • mail-mark-unread.sh 123 456 - Mark multiple as unread

⚠️ No auto-refresh: Scripts read cached data. Call mail-refresh.sh first if you need latest emails.

Managing Emails

Delete emails:

scripts/mail-delete.sh 12345                    # Delete one
scripts/mail-delete.sh 12345 12346 12347        # Delete multiple

Mark as read/unread:

scripts/mail-mark-read.sh 12345 12346           # Mark as read
scripts/mail-mark-unread.sh 12345               # Mark as unread

Bulk operations example:

# Find spam emails
scripts/mail-fast-search.sh "spam" 50 > spam.txt

# Extract IDs and delete them
grep "^[0-9]" spam.txt | cut -d'|' -f1 | xargs scripts/mail-delete.sh

Reading Email Bodies

scripts/mail-read.sh 12345              # Single email
scripts/mail-read.sh 12345 12346 12347  # Multiple emails (separated output)

Uses position-optimized lookup (~2s per message). Multiple emails are separated by ======== with a summary at the end.

Errors

ErrorCause
Mail.app is not runningOpen Mail.app before running scripts
Account not foundInvalid account — check mail-accounts.sh
Message not foundInvalid/deleted ID — get fresh from mail-list.sh
Can't get mailboxInvalid name — check mail-mailboxes.sh
Mail database not foundSQLite DB missing — check ~/Library/Mail/V{9,10,11}/MailData/

Technical Details

Database: ~/Library/Mail/V{9,10,11}/MailData/Envelope Index

Message lookup method (optimized):

  1. Query SQLite for account UUID, mailbox path, and approximate position
  2. AppleScript accesses the specific account directly (no iteration)
  3. Search starts at the approximate position (±5 messages buffer)
  4. Falls back to full mailbox search only if position hint fails

Safety:

  • Fast search copies database to temp file before querying
  • Safe to use even if Mail.app is running
  • Delete/read/mark operations query live database but access is minimal

Notes

  • Message IDs are internal, get fresh ones from list/search
  • Confirm recipient before sending
  • AppleScript search is slow but comprehensive; SQLite is fast for metadata
  • Delete/mark operations support bulk actions (pass multiple IDs)
  • Always refresh before listing if you need the absolute latest emails

¹ Known limitation: Mail.app adds a leading blank line to sent emails. This is an AppleScript/Mail.app behavior that cannot be bypassed.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

1password

無料

Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.

日本語の概要は準備中です。原文の説明を表示しています。

sundial-org/awesome-openclaw-skills6712026年3月7日 更新

A股实时行情与分时量能分析。获取沪深股票实时价格、涨跌、成交量,分析分时量能分布(早盘/尾盘放量)、主力动向(抢筹/出货信号)、涨停封单。支持持仓管理和盈亏分析。Use when: (1) 查询A股实时行情, (2) 分析主力资金动向, (3) 查看分时成交量分布, (4) 管理股票持仓, (5) 分析持仓盈亏。

日本語の概要は準備中です。原文の説明を表示しています。

sundial-org/awesome-openclaw-skills6712026年3月7日 更新

Scan HTML and JSX for accessibility issues with AI-powered fix suggestions

日本語の概要は準備中です。原文の説明を表示しています。

sundial-org/awesome-openclaw-skills6712026年3月7日 更新

When the user wants to plan, design, or implement an A/B test or experiment. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," or "hypothesis." For tracking implementation, see analytics-tracking.

日本語の概要は準備中です。原文の説明を表示しています。

sundial-org/awesome-openclaw-skills6712026年3月7日 更新

Multi-channel ABM automation that turns LinkedIn URLs into coordinated outbound campaigns. Scrapes profiles, enriches with Apollo (email + phone), gets mailing addresses via Skip Trace, then orchestrates email sequences, LinkedIn touches, and handwritten letters via Scribeless. The secret weapon for standing out in crowded inboxes.

日本語の概要は準備中です。原文の説明を表示しています。

sundial-org/awesome-openclaw-skills6712026年3月7日 更新

accli

無料

This skill should be used when interacting with Apple Calendar on macOS. Use it for listing calendars, viewing events, creating/updating/deleting calendar events, and checking availability/free-busy times. Triggers on requests like "check my calendar", "schedule a meeting", "what's on my schedule", "am I free tomorrow", or any calendar-related operations.

日本語の概要は準備中です。原文の説明を表示しています。

sundial-org/awesome-openclaw-skills6712026年3月7日 更新

sundial-org のスキルをすべて見る

このスキルの問題を報告する