A CLI email client for managing communication directly from the terminal. Supports multiple accounts and advanced message composition.
Install
mkdir -p .claude/skills/himalaya-jansenanalytics && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/11726" && unzip -o skill.zip -d .claude/skills/himalaya-jansenanalytics && rm skill.zipInstalls to .claude/skills/himalaya-jansenanalytics
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).Key capabilities
- →List email folders
- →List emails in a folder with pagination
- →Search emails by sender and subject
- →Read an email by ID
- →Reply to or forward an email
- →Write and send new emails
How it works
Himalaya is a CLI email client that manages emails using IMAP/SMTP backends. It allows users to perform various email operations through terminal commands, supporting multiple accounts and MML for composition.
Inputs & outputs
When to use himalaya
- →Read emails from the terminal
- →Send an email with MML syntax
- →Organize email folders via CLI
- →Manage multiple email accounts
About this skill
Himalaya Email CLI
Himalaya is a CLI email client that lets you manage emails from the terminal using IMAP, SMTP, Notmuch, or Sendmail backends.
References
references/configuration.md(config file setup + IMAP/SMTP authentication)references/message-composition.md(MML syntax for composing emails)
Prerequisites
- Himalaya CLI installed (
himalaya --versionto verify) - A configuration file at
~/.config/himalaya/config.toml - IMAP/SMTP credentials configured (password stored securely)
Configuration Setup
Run the interactive wizard to set up an account:
himalaya account configure
Or create ~/.config/himalaya/config.toml manually:
[accounts.personal]
email = "[email protected]"
display-name = "Your Name"
default = true
backend.type = "imap"
backend.host = "imap.example.com"
backend.port = 993
backend.encryption.type = "tls"
backend.login = "[email protected]"
backend.auth.type = "password"
backend.auth.cmd = "pass show email/imap" # or use keyring
message.send.backend.type = "smtp"
message.send.backend.host = "smtp.example.com"
message.send.backend.port = 587
message.send.backend.encryption.type = "start-tls"
message.send.backend.login = "[email protected]"
message.send.backend.auth.type = "password"
message.send.backend.auth.cmd = "pass show email/smtp"
Common Operations
List Folders
himalaya folder list
List Emails
List emails in INBOX (default):
himalaya envelope list
List emails in a specific folder:
himalaya envelope list --folder "Sent"
List with pagination:
himalaya envelope list --page 1 --page-size 20
Search Emails
himalaya envelope list from [email protected] subject meeting
Read an Email
Read email by ID (shows plain text):
himalaya message read 42
Export raw MIME:
himalaya message export 42 --full
Reply to an Email
Interactive reply (opens $EDITOR):
himalaya message reply 42
Reply-all:
himalaya message reply 42 --all
Forward an Email
himalaya message forward 42
Write a New Email
Interactive compose (opens $EDITOR):
himalaya message write
Send directly using template:
cat << 'EOF' | himalaya template send
From: [email protected]
To: [email protected]
Subject: Test Message
Hello from Himalaya!
EOF
Or with headers flag:
himalaya message write -H "To:[email protected]" -H "Subject:Test" "Message body here"
Move/Copy Emails
Move to folder:
himalaya message move 42 "Archive"
Copy to folder:
himalaya message copy 42 "Important"
Delete an Email
himalaya message delete 42
Manage Flags
Add flag:
himalaya flag add 42 --flag seen
Remove flag:
himalaya flag remove 42 --flag seen
Multiple Accounts
List accounts:
himalaya account list
Use a specific account:
himalaya --account work envelope list
Attachments
Save attachments from a message:
himalaya attachment download 42
Save to specific directory:
himalaya attachment download 42 --dir ~/Downloads
Output Formats
Most commands support --output for structured output:
himalaya envelope list --output json
himalaya envelope list --output plain
Debugging
Enable debug logging:
RUST_LOG=debug himalaya envelope list
Full trace with backtrace:
RUST_LOG=trace RUST_BACKTRACE=1 himalaya envelope list
Tips
- Use
himalaya --helporhimalaya <command> --helpfor detailed usage. - Message IDs are relative to the current folder; re-list after folder changes.
- For composing rich emails with attachments, use MML syntax (see
references/message-composition.md). - Store passwords securely using
pass, system keyring, or a command that outputs the password.
When not to use it
- →When a graphical email client is preferred
- →When MML syntax is not suitable for message composition
Prerequisites
Limitations
- →Requires Himalaya CLI to be installed
- →Requires a configuration file with IMAP/SMTP credentials
- →Message IDs are relative to the current folder
How it compares
This skill provides a command-line interface for email management, enabling scripting and integration into terminal-based workflows, unlike traditional GUI email clients.
Compared to similar skills
himalaya side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| himalaya (this skill) | 0 | 2mo | Review | Beginner |
| himalaya | 50 | 2mo | Review | Intermediate |
| officeemail-management | 8 | 8mo | No flags | Intermediate |
| gmail | 16 | 6mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
himalaya
openclaw
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
officeemail-management
harperreed
Handle email tasks (checking inbox, drafting replies, managing threads, adding events to calendar). Use when working with emails to prevent common mistakes like broken threading or missing recipients.
gmail
team-attention
This skill should be used when the user asks to "check email", "read emails", "send email", "reply to email", "search inbox", or manages Gmail. Supports multi-account Gmail integration for reading, searching, sending, and label management.
sendgrid-automation
sickn33
Automate SendGrid email operations including sending emails, managing contacts/lists, sender identities, templates, and analytics via Rube MCP (Composio). Always search tools first for current schemas.
klaviyo
alinaqi
Klaviyo email/SMS marketing - profiles, events, flows, segmentation
slack
motoya0118
Post a question to Slack and wait for a reply, or post a reply into a thread using scripts/slack.py.