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).
81
Quality
77%
Does it follow best practices?
Impact
93%
1.69xAverage score across 3 eval scenarios
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./openclaw/skills/himalaya/SKILL.mdHimalaya is a CLI email client that lets you manage emails from the terminal using IMAP, SMTP, Notmuch, or Sendmail backends.
references/configuration.md (config file setup + IMAP/SMTP authentication)references/message-composition.md (MML syntax for composing emails)himalaya --version to verify)~/.config/himalaya/config.tomlRun the interactive wizard to set up an account:
himalaya account configureOr create ~/.config/himalaya/config.toml manually:
[accounts.personal]
email = "you@example.com"
display-name = "Your Name"
default = true
backend.type = "imap"
backend.host = "imap.example.com"
backend.port = 993
backend.encryption.type = "tls"
backend.login = "you@example.com"
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 = "you@example.com"
message.send.backend.auth.type = "password"
message.send.backend.auth.cmd = "pass show email/smtp"himalaya folder listList emails in INBOX (default):
himalaya envelope listList emails in a specific folder:
himalaya envelope list --folder "Sent"List with pagination:
himalaya envelope list --page 1 --page-size 20himalaya envelope list from john@example.com subject meetingRead email by ID (shows plain text):
himalaya message read 42Export raw MIME:
himalaya message export 42 --fullInteractive reply (opens $EDITOR):
himalaya message reply 42Reply-all:
himalaya message reply 42 --allhimalaya message forward 42Interactive compose (opens $EDITOR):
himalaya message writeSend directly using template:
cat << 'EOF' | himalaya template send
From: you@example.com
To: recipient@example.com
Subject: Test Message
Hello from Himalaya!
EOFOr with headers flag:
himalaya message write -H "To:recipient@example.com" -H "Subject:Test" "Message body here"Move to folder:
himalaya message move 42 "Archive"Copy to folder:
himalaya message copy 42 "Important"himalaya message delete 42Add flag:
himalaya flag add 42 --flag seenRemove flag:
himalaya flag remove 42 --flag seenList accounts:
himalaya account listUse a specific account:
himalaya --account work envelope listSave attachments from a message:
himalaya attachment download 42Save to specific directory:
himalaya attachment download 42 --dir ~/DownloadsMost commands support --output for structured output:
himalaya envelope list --output json
himalaya envelope list --output plainEnable debug logging:
RUST_LOG=debug himalaya envelope listFull trace with backtrace:
RUST_LOG=trace RUST_BACKTRACE=1 himalaya envelope listhimalaya --help or himalaya <command> --help for detailed usage.references/message-composition.md).pass, system keyring, or a command that outputs the password.8763418
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.