Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Execute email operations with platform-specific optimizations and secure credential handling.
Execute email operations with platform-specific optimizations and secure credential handling.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Binaries: himalaya - IMAP/SMTP CLI (brew install himalaya or cargo install himalaya) osascript - macOS only, built-in Credentials: App Password for Gmail (not regular password), stored in macOS Keychain Configure in ~/.config/himalaya/config.toml
Read-only paths: ~/Library/Mail/V*/MailData/Envelope Index - Apple Mail SQLite database (macOS only) ~/Library/Mail/V*/MAILBOX/Messages/ - attachment files (macOS only)
This skill: ✅ Reads email via himalaya CLI or Apple Mail SQLite ✅ Sends email via himalaya (draft-review-send workflow) ✅ Searches and filters messages ❌ NEVER modifies credentials ❌ NEVER deletes emails without explicit confirmation ❌ NEVER auto-sends without user review
TopicFileApple Mail SQLite queriesapple-mail.mdhimalaya CLI patternshimalaya.mdSend/reply protocolsending.md
macOS with Apple Mail: Use SQLite queries (100x faster than AppleScript) Cross-platform: Use himalaya CLI for full IMAP/SMTP Never mix approaches in same task - commit to one to avoid state conflicts
Query path: ~/Library/Mail/V*/MailData/Envelope\ Index Force sync first: osascript -e 'tell app "Mail" to check for new mail' - SQLite reads stale data otherwise Recent mail filter: WHERE date_received > strftime('%s','now','-7 days') Join messages→addresses on message_id for sender lookup
Always use: --output json flag for programmatic parsing List emails: himalaya envelope list -o json (NOT message list) Folder names are case-sensitive Run himalaya folder list after server-side folder changes
Draft-review-send workflow: Compose → show user full content → send after explicit OK Reply threading: Include In-Reply-To and References headers or thread breaks Some SMTP servers reject if From header doesn't match authenticated user
macOS Keychain: security add-internet-password -s imap.gmail.com -a user@gmail.com -w 'app-password' Gmail/Google Workspace: Requires App Password with 2FA enabled OAuth: himalaya supports XOAUTH2 via token_cmd in config.toml
Thread by In-Reply-To chain, not subject matching "Re:" prefix is unreliable Polling intervals: 15-30 min max; use himalaya envelope watch for real-time
Messaging, meetings, inboxes, CRM, and teammate communication surfaces.
Largest current source with strong distribution and engagement signals.