Skip to content
Agentmart
Submit a tool

himalaya-email-rust

Manage email from the terminal using Himalaya v2.

Skill by Jansen611

IndexedMIT★ 2
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/jansen611-himalaya-email-rust

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Manage email from the terminal using Himalaya v2. Supports IMAP, SMTP, JMAP, Gmail REST API, Microsoft Graph, Maildir, m2dir, JSON automation, and email attachments. Triggers when user mentions: - "check", "read" or "list" emails - "send", "reply", "forward", "delete", "move", or "copy" emails - downloading or sending email attachments

Use cases: backend, writing, productivity

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/himalaya-email-rust

Tools it pre-approves 1

From allowed-tools in SKILL.md: the agent may use these without asking you each time.

  • Bash,Read,Write

What's inside

Skill name
himalaya-email-rust
Description
Manage email from the terminal using Himalaya v2. Supports IMAP, SMTP, JMAP, Gmail REST API, Microsoft Graph, Maildir, m2dir, JSON automation, and email attachments. Triggers when user mentions: - "check", "read" or "list" emails - "send", "reply", "forward", "delete", "move", or "copy" emails - downloading or sending email attachments
License
MIT
Allowed tools
Bash,Read,Write
Instructions
303 lines in SKILL.md · view on GitHub

Before installing

  • Pre-approves some shell commands
  • Instructions read files in your home folder (~/.ssh, ~/.aws…)

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Himalaya Email Manager

Manage email with Himalaya v2.0.0+. Primary: built-in v2 commands. For simple email attachments, use `message compose --attach`. For rich MIME, signing, encryption, or custom formatting, generate a valid `.eml` file and pass it to `message send`.

All commands are stateless. Check the installed binary's `--help` when a command or flag is version-sensitive.

## Decision

1. Check the binary and account first: `himalaya --version` and `himalaya account check --json`.
2. For a normal text email or ordinary attachment, use **Path A (`message compose`)**.
3. For multipart MIME or custom headers, use **Path B (`message send` with `.eml`)**.
4. For Gmail SMTP, do not pass `--save sent` unless a duplicate Sent copy is explicitly requested. Gmail normally saves sent messages automatically.
5. For machine processing, use `--json` and keep the mailbox together with every message id.

## Environment Check

```bash
command -v himalaya
himalaya --version
himalaya account list --json
himalaya account check --json
```

If Himalaya is not in PATH, check the common Cargo location:

```bash
test -x "$HOME/.cargo/bin/himalaya" && "$HOME/.cargo/bin/himalaya" --version
```

Install a stable release using the official release assets or installer. OAuth and secret storage are provided through external tools such as password managers and token brokers.

Official references:

- [Himalaya README](https://github.com/pimalaya/himalaya/blob/v2.0.0/README.md)
- [Himalaya releases](https://github.com/pimalaya/himalaya/releases)

## Safety

- Never print, log, or include passwords, app passwords, OAuth tokens, or `.env` contents.
- Verify the recipient, subject, body, and attachment paths before sending.
- Do not use `--save sent` for Gmail SMTP unless a manual Sent copy is required.
- Use `--log-level off` when clean JSON output is required.

## Configuration

Config files are loaded from the first valid path among:
- `$XDG_CONFIG_HOME/himalaya/config.toml`
- `$HOME/.config/himalaya/config.toml`
- `$HOME/.himalayarc`

Inspect accounts and connectivity:

```bash
himalaya account list --json
himalaya account check --account "Account Name" --json
```

Run bare `himalaya` for the account discovery wizard.

### IMAP and SMTP

```toml
[accounts.gmail]
default = true

imap.server = "imaps://imap.gmail.com:993"
imap.sasl.plain.username = "user@example.com"
imap.sasl.plain.password.command = ["pass", "show", "gmail"]

smtp.server = "smtps://smtp.gmail.com:465"
smtp.sasl.plain.username = "user@example.com"
smtp.sasl.plain.password.command = ["pass", "show", "gmail"]

mailbox.alias.inbox = "INBOX"
mailbox.alias.sent = "[Gmail]/Sent Mail"
mailbox.alias.drafts = "[Gmail]/Drafts"
mailbox.alias.trash = "[Gmail]/Trash"
```

Himalaya does not automatically load `.env` files. Source one explicitly from the password command:

```toml
imap.sasl.plain.password.command = ["sh", "-c", ". /path/to/.env; printf '%s' \"$GMAIL_APP_PASSWORD\""]
smtp.sasl.plain.password.command = ["sh", "-c", ". /path/to/.env; printf '%s' \"$GMAIL_APP_PASSWORD\""]
```

Keep config and secret files private:

```bash
chmod 600 ~/.config/himalaya/config.toml ~/.config/himalaya/.env
```

For Gmail REST API, use an OAuth 2.0 bearer token from a broker such as `ortie`:

```toml
gmail.auth.token.command = ["ortie", "token", "show", "-a", "gmail"]
```

Select it with `-b gmail` when the account has multiple backends. App passwords work with the IMAP/SMTP configuration, not the Gmail REST backend.

## File Handling

Let the caller choose attachment paths. Do not hardcode a machine-specific source path.

When a temporary `.eml` is needed, use the task's working directory or the workspace `Workbench/` directory. Remove temporary MIME files after successful delivery unless the user asks to retain them.

## Path A: Compose and Send

### Plain Email

```bash
himalaya message compose \
  --from sender@example.com \
  --to recipient@example.com \
  --subject "Subject" \
  --body "Email body" \
  --send
```

From Jansen611/Agent-Skills, MIT.

More from Jansen611/Agent-Skills

Signals

Stars
2
Forks
0
Open issues
0
Last commit (this folder)
Aug 17, 2026 (2 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from Jansen611

Cite this page

himalaya-email-rust skill. Agent Mart. https://agentmart.dev/skills/jansen611-himalaya-email-rust (last updated 2026-10-24)