askill
email

emailSafety 100Repository

Manage emails via Himalaya CLI. Use when the user wants to read, send, search, or organize emails. Triggers on "email", "inbox", "send email", "check mail", "reply to", "forward", or mentions of Gmail, Outlook, iCloud, Proton Mail.

34 stars
1.2k downloads
Updated 2/20/2026

Package Files

Loading files...
SKILL.md

Email Management

Manage emails using Himalaya CLI - a powerful command-line email client supporting IMAP, SMTP, Maildir, and Notmuch backends.

Prerequisites Check

Before any email operation, verify Himalaya is installed and configured:

# Check if installed
which himalaya

# Check if configured (lists accounts)
himalaya account list

If not installed → Guide through Installation If no accounts → Guide through Account Setup


Installation

pre-built binary

curl -sSL https://raw.githubusercontent.com/pimalaya/himalaya/master/install.sh | PREFIX=~/.local sh

macOS (Homebrew)

brew install himalaya

Arch Linux

pacman -S himalaya

Cargo (Any OS)

cargo install himalaya --locked

Other Methods

Direct user to: https://github.com/pimalaya/himalaya#installation


Account Setup

Recommended approach: Use Himalaya's built-in wizard which auto-discovers settings.

Interactive Setup (Easiest)

# First-time setup - wizard starts automatically
himalaya

# Or configure a specific account
himalaya account configure <account-name>

The wizard will:

  1. Ask for email address
  2. Auto-discover IMAP/SMTP settings
  3. Prompt for password (stored securely in system keyring)
  4. Test the connection

Provider-Specific Notes

ProviderSpecial Requirements
GmailRequires App Password or OAuth 2.0 setup
OutlookWorks with password or OAuth 2.0
iCloudIMAP login is username only (not full email)
Proton MailRequires Proton Bridge running locally

💡 Tip: Many providers use the same app-specific password for both email and calendar. Store credentials in pass with consistent naming (e.g., google/app-password, icloud/app-password) to reuse them across both email and calendar skills.

For detailed provider configs, see references/providers.md


Common Operations

List Emails

# List recent emails in INBOX
himalaya envelope list

# List from specific folder
himalaya envelope list --folder "Archives"

# List with specific account
himalaya envelope list --account gmail

# Paginate results
himalaya envelope list --page 2 --page-size 20

Read Email

# Read by ID
himalaya message read <id>

# Read in plain text (no HTML)
himalaya message read <id> --plain

# Read headers only
himalaya message read <id> --headers

Send Email

# Compose new email (opens $EDITOR)
himalaya message write

# Send with pre-filled fields
himalaya message write --to "recipient@example.com" --subject "Hello"

# Reply to a message
himalaya message reply <id>

# Reply all
himalaya message reply <id> --all

# Forward
himalaya message forward <id>

Search Emails

# Search by subject
himalaya envelope list --query "subject:meeting"

# Search by sender
himalaya envelope list --query "from:boss@company.com"

# Search by date
himalaya envelope list --query "since:2024-01-01"

# Combined search
himalaya envelope list --query "from:client subject:invoice unseen"

Manage Folders

# List folders
himalaya folder list

# Create folder
himalaya folder create "Projects/ClientA"

# Move message to folder
himalaya message move <id> --folder "Archives"

# Copy message
himalaya message copy <id> --folder "Important"

Manage Flags

# Mark as read
himalaya flag add <id> seen

# Mark as unread
himalaya flag remove <id> seen

# Star/flag message
himalaya flag add <id> flagged

# Delete (move to trash)
himalaya message delete <id>

Attachments

# List attachments
himalaya attachment list <id>

# Download attachment
himalaya attachment download <id> <attachment-id>

# Download all attachments
himalaya attachment download <id> --all

Multi-Account Workflows

Switch Between Accounts

# Use specific account for any command
himalaya --account work envelope list
himalaya --account personal message write

Check All Accounts

# List configured accounts
himalaya account list

# Check unread across accounts
for account in $(himalaya account list --output json | jq -r '.[].name'); do
  echo "=== $account ==="
  himalaya --account "$account" envelope list --query "unseen" --page-size 5
done

Output Formats

Himalaya supports JSON output for scripting:

# JSON output
himalaya envelope list --output json

# Parse with jq
himalaya envelope list --output json | jq '.[].subject'

Troubleshooting

Connection Issues

# Enable debug logging
RUST_LOG=debug himalaya envelope list

# Full trace
himalaya --debug envelope list

Common Errors

ErrorSolution
"Account not found"Run himalaya account configure <name>
"Authentication failed"Check password/app password, regenerate if needed
"Connection refused"Check IMAP/SMTP host and port settings
"Certificate error"Check TLS settings in config

Reset Configuration

Config file location: ~/.config/himalaya/config.toml (or $XDG_CONFIG_HOME/himalaya/config.toml)

# View current config
cat ~/.config/himalaya/config.toml

# Edit config manually
$EDITOR ~/.config/himalaya/config.toml

# Reconfigure account interactively
himalaya account configure <name>

# Use alternative config file
himalaya --config /path/to/custom/config.toml envelope list

Environment variable override:

export HIMALAYA_CONFIG=~/.config/himalaya/custom-config.toml
himalaya envelope list

Composing Emails

Himalaya uses your $EDITOR for composing. The format is:

To: recipient@example.com
Cc: other@example.com
Subject: Your subject here

Your message body here.

Adding Attachments (MML Syntax)

To: recipient@example.com
Subject: Document attached

Please find the document attached.

<#part filename=/path/to/document.pdf><#/part>

Inline Images

To: recipient@example.com
Subject: Screenshot

Here's the screenshot:
<#part disposition=inline filename=/path/to/image.png><#/part>

Quick Reference

TaskCommand
Check inboxhimalaya envelope list
Read emailhimalaya message read <id>
Compose newhimalaya message write
Replyhimalaya message reply <id>
Searchhimalaya envelope list --query "..."
Mark readhimalaya flag add <id> seen
Deletehimalaya message delete <id>
Movehimalaya message move --folder SOURCE TARGET <id...>

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

88/100Analyzed 3/31/2026

Comprehensive skill for managing emails via Himalaya CLI. Covers installation across multiple platforms (binary, Homebrew, Arch, Cargo), account setup with provider-specific notes, all common operations (list/read/send/search/manage), multi-account workflows, troubleshooting, and composing. Well-structured with tables, code examples, and quick reference. Minor issue: tags (github, observability, testing) don't match email management content. Otherwise excellent actionability and reusability.

100
92
85
92
90

Metadata

Licenseunknown
Version-
Updated2/20/2026
Publisherlvndry

Tags

githubobservabilitypromptingtesting