email-himalaya
Manage emails using the himalaya CLI client. This skill should be used when the user wants to read, list, search, send, reply to, or manage emails across their configured accounts.
When & Why to Use This Skill
This Claude skill integrates the Himalaya CLI client to provide comprehensive email management capabilities directly within the AI interface. It enables users to list, read, search, and send emails across multiple configured accounts, streamlining communication workflows through powerful command-line automation and efficient inbox organization.
Use Cases
- Unified Inbox Management: Quickly monitor and list unread messages across multiple work and personal accounts (e.g., Gmail, Outlook) without leaving the chat interface.
- Context-Aware Drafting and Replying: Use Claude to analyze long email threads and draft professional, contextually relevant replies that can be sent immediately via the CLI.
- Advanced Email Search: Execute complex queries to locate specific information, such as filtering by sender, subject keywords, or specific folders like 'Important' or 'Starred'.
- Privacy-Focused Reading: Automatically manage email flags to read messages while preserving their 'unread' status, ensuring that important tasks are not overlooked for later manual follow-up.
- Bulk Email Organization: Efficiently manage inbox clutter by flagging, moving, or deleting multiple messages using CLI-based batch operations.
| name | email-himalaya |
|---|---|
| description | Manage emails using the himalaya CLI client. This skill should be used when the user wants to read, list, search, send, reply to, or manage emails across their configured accounts. |
Email Management with Himalaya
This skill provides email management capabilities using the himalaya CLI email client.
Configured Accounts
Configure your accounts in ~/.config/himalaya/config.toml. Example:
| Account Name | Purpose | |
|---|---|---|
| Work | work@example.com | Work - Default |
| Personal | personal@gmail.com | Personal |
Core Commands
Listing Emails
# List inbox (default account)
himalaya envelope list --page-size 10
# List from specific account
himalaya envelope list --account "Personal" --page-size 10
# List from specific folder
himalaya envelope list --folder "[Gmail]/Important" --page-size 10
# JSON output for parsing
himalaya envelope list --output json --page-size 10
Reading Emails
# Read email by ID
himalaya message read <id>
# Read in plain text
himalaya message read <id> --header "From,To,Subject,Date"
IMPORTANT: Keeping Emails Unread
When reading emails, himalaya marks them as read. To preserve the unread status for the user:
# After reading, mark back as unread
himalaya flag remove <id> Seen
Always mark emails back as unread after reading unless the user explicitly says they've read it or asks to mark it as read.
Sending Emails
# Send using heredoc
himalaya message send --account "Account Name" <<'EOF'
From: Display Name <email@example.com>
To: recipient@example.com
Subject: Subject Line
Email body here.
Signature
EOF
Replying to Emails
# Reply to an email
himalaya message reply <id> <<'EOF'
Reply body here.
EOF
Managing Flags
# Mark as read
himalaya flag add <id> Seen
# Mark as unread
himalaya flag remove <id> Seen
# Star/flag email
himalaya flag add <id> Flagged
# Remove star
himalaya flag remove <id> Flagged
Searching Emails
# Search by subject
himalaya envelope list --query "subject:keyword"
# Search by sender
himalaya envelope list --query "from:sender@example.com"
Folders
# List folders
himalaya folder list
# Common Gmail folders
# - INBOX
# - [Gmail]/Sent Mail
# - [Gmail]/Drafts
# - [Gmail]/Trash
# - [Gmail]/Important
# - [Gmail]/Starred
Workflow Guidelines
- Listing emails: Use
envelope list- this does NOT mark emails as read - Reading emails: After reading with
message read, immediately runflag remove <id> Seento keep unread unless user indicates otherwise - Multiple accounts: Always specify
--account "Account Name"when working with non-default account - Sending emails: Draft the email content and show to user for approval before sending
- Replying: Read the original email first to understand context, then draft reply for user approval
Common Tasks
Check unread emails across both accounts
himalaya envelope list --account "Work" --page-size 10
himalaya envelope list --account "Personal" --page-size 10
Read and keep unread
himalaya message read <id>
himalaya flag remove <id> Seen
Send from personal account
himalaya message send --account "Personal" <<'EOF'
From: Your Name <personal@gmail.com>
To: recipient@example.com
Subject: Subject
Body
EOF