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
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillEvaluation — 93%
↑ 1.69xAgent success when using this skill
Validation for skill structure
Himalaya 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.cc4d1f7
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.