Skip to content
Automation
Skill

/himalaya

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).

From plugin
dorabot
23710 skills
Install
$ npx -y skills add suitedaces/dorabot --skill himalaya --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/himalaya

Context preview

The summary Claude sees to decide when to auto-load this skill.

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).

SKILL.md

himalaya.SKILL.md
name: himalaya
description: "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)."
metadata:
  { "requires": { "bins": ["himalaya"] } }

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](references/configuration.md) — config file setup, IMAP/SMTP authentication
  • [references/message-composition.md](references/message-composition.md) — MML syntax for composing emails (HTML, attachments, inline images)

Prerequisites

1. Himalaya CLI installed (`himalaya --version` to verify) 2. A configuration file at `~/.config/himalaya/config.toml` 3. 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 — see [references/configuration.md](references/configuration.md).

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 john@example.com 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: you@example.com
To: recipient@example.com
Subject: Test Message

Hello from Himalaya!
EOF

Or with headers flag:

himalaya message write -H "To:recipient@example.com" -H "Subject:Test" "Message body here"

Send HTML Email

Use MML `<#part>` tags for HTML content (see [references/message-composition.md](references/message-composition.md) for full syntax):

cat << 'EOF' | himalaya template send
From: you@example.com
To: recipient@example.com
Subject: HTML Report

<#part type=text/html>
<h1>Monthly Report</h1>
<p>Here are the <strong>key metrics</strong> for this month.</p>
<ul>
  <li>Revenue: $50,000</li>
  <li>Users: 1,200</li>
</ul>
<#/part>
EOF

Send Email with Text + HTML + Attachment

cat << 'EOF' | himalaya template send
From: you@example.com
To: recipient@example.com
Subject: Report with attachment

<#multipart type=mixed>
<#multipart type=alternative>
Please find the report attached.

<#part type=text/html>
<p>Please find the report attached.</p>
<#/part>
<#/multipart>
<#part filename=~/reports/q4-2024.pdf description="Q4 2024 Report"><#/part>
<#/multipart>
EOF

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 --help` or `himalaya <command> --help` for detailed usage.
  • Message IDs are relative to the current folder; re-list after folder changes.
  • For composing rich emails with attachments and HTML, use MML syntax — see [references/message-composition.md](references/message-composition.md).
  • Store passwords securely using `pass`, system keyring, or a command that outputs the password.
Read more
Ships withdorabot

A 24/7 self-learning AI agent with an integrated IDE workspace that runs itself. Works with your existing Claude Code or OpenAI Codex subscription. No extra API key needed.

Get the whole plugin
Stats
237
Stars
33
Forks
Active
Maintenance
TypeScript
Language
MIT
License
7d ago
Last commit
6mo ago
Created

Repo: suitedaces/dorabot