himalaya · nousresearch — скилл для Claude Code: что делает и как установить
Даёт агенту доступ к почтовому ящику из терминала через Himalaya CLI. Пригодится для чтения, поиска, отправки и сортировки писем.
npx skills add NousResearch/hermes-agent --skill himalaya -a claude-codeЧто делает himalaya
Скилл управляет почтой через himalaya: выводит папки и письма, ищет сообщения, читает их, отвечает, пересылает, перемещает, удаляет и меняет флаги. Вложения можно скачивать, а для разбора результатов агенту доступен формат --output json.
Для работы нужны установленный himalaya, файл ~/.config/himalaya/config.toml и настроенные учётные данные IMAP/SMTP. Новые письма и ответы лучше передавать в himalaya template send через стандартный ввод; режим с $EDITOR требует интерактивного терминала.
Для серверов с другими именами папок задайте folder.aliases.inbox, folder.aliases.sent, folder.aliases.drafts и folder.aliases.trash. Для Gmail это повод проверить конфигурацию: устаревшая форма folder.alias в v1.2.0 игнорируется, а повторная отправка после ошибки сохранения в «Отправленные» создаст дубликаты писем.
Какие задачи решает
- показать список папок и писем из терминала
- найти письмо по отправителю или теме
- прочитать сообщение по его идентификатору
- ответить на письмо через шаблон
- скачать вложения в указанную папку
Примеры запросов агенту
- Покажи письма во входящих через `himalaya envelope list --output json`.
- Найди письма от `[email protected]` с темой встречи.
- Ответь на письмо `42`, передав текст в `himalaya template send`.
Как установить himalaya
1Через Skills CLI (Vercel)
npx skills add NousResearch/hermes-agent --skill himalaya -a claude-code2Вручную: положить файлы
~/.claude/skills/himalaya/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/himalaya/
1Через Skills CLI (Vercel)
npx skills add NousResearch/hermes-agent --skill himalaya -a codex2Вручную: положить файлы
.agents/skills/himalaya/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add NousResearch/hermes-agent --skill himalaya -a cursor2Вручную: положить файлы
.cursor/skills/himalaya/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install NousResearch/hermes-agent himalaya2Вручную: положить файлы
.github/skills/himalaya/SKILL.md1Через Skills CLI (Vercel)
npx skills add NousResearch/hermes-agent --skill himalaya -a gemini-cli2Командой платформы
gemini skills install https://github.com/NousResearch/hermes-agent --path skills/email/himalayaВручную: положить файлы
.devin/skills/himalaya/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add NousResearch/hermes-agent --skill himalaya -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора42
Весь набор →Другие версии himalaya
Похожие
Вопросы о himalaya
Как установить himalaya в Claude Code?
Выполните npx skills add NousResearch/hermes-agent --skill himalaya -a claude-code.
Что делает himalaya?
Это скилл для работы с почтовым ящиком через Himalaya CLI из терминала. Он использует IMAP, SMTP, Notmuch или Sendmail в зависимости от настройки клиента.
Что нужно для работы himalaya?
Нужны установленный himalaya, конфигурация в ~/.config/himalaya/config.toml и учётные данные IMAP/SMTP. Проверить установку можно командой himalaya --version.
Исходный текст
SKILL.md · MIT
---
name: himalaya
description: "Himalaya CLI: IMAP/SMTP email from terminal."
version: 1.1.0
author: community
license: MIT
platforms: [linux, macos, windows]
metadata:
hermes:
tags: [Email, IMAP, SMTP, CLI, Communication]
homepage: https://github.com/pimalaya/himalaya
prerequisites:
commands: [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.
This skill is separate from the Hermes Email gateway adapter. The gateway
adapter lets people email the agent and uses Hermes' built-in IMAP/SMTP
adapter; this skill lets the agent operate a mailbox from terminal tools and
requires the external `himalaya` CLI.
## References
- `references/configuration.md` (config file setup + IMAP/SMTP authentication)
- `references/message-composition.md` (MML syntax for composing emails)
## 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)
### Installation
```bash
# Pre-built binary (Linux/macOS — recommended)
curl -sSL https://raw.githubusercontent.com/pimalaya/himalaya/master/install.sh | PREFIX=~/.local sh
# macOS via Homebrew
brew install himalaya
# Or via cargo (any platform with Rust)
cargo install himalaya --locked
```
## Configuration Setup
Run the interactive wizard to set up an account:
```bash
himalaya account configure
```
Or create `~/.config/himalaya/config.toml` manually:
```toml
[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"
# Folder aliases (himalaya v1.2.0+ syntax). Required whenever the
# server's folder names don't match himalaya's canonical names
# (inbox/sent/drafts/trash). Gmail is the common case — see
# `references/configuration.md` for the `[Gmail]/Sent Mail` mapping.
folder.aliases.inbox = "INBOX"
folder.aliases.sent = "Sent"
folder.aliases.drafts = "Drafts"
folder.aliases.trash = "Trash"
```
> **Heads up on the alias syntax.** Pre-v1.2.0 docs used a
> `[accounts.NAME.folder.alias]` sub-section (singular `alias`).
> v1.2.0 silently ignores that form — TOML parses fine, but the
> alias resolver never reads it, so every lookup falls through to
> the canonical name. On Gmail this means save-to-Sent fails *after*
> SMTP delivery succeeds, and `himalaya message send` exits non-zero.
> Any caller (agent, script, user) that retries on that exit code
> will re-run the entire send — including SMTP — producing duplicate
> emails to recipients. Always use `folder.aliases.X` (plural, dotted
> keys, directly under `[accounts.NAME]`).
## Hermes Integration Notes
- **Reading, listing, searching, moving, deleting** all work directly through the terminal tool
- **Composing/replying/forwarding** — piped input (`cat << EOF | himalaya template send`) is recommended for reliability. Interactive `$EDITOR` mode works with `pty=true` + background + process tool, but requires knowing the editor and its commands
- Use `--output json` for structured output that's easier to parse programmatically
- The `himalaya account configure` wizard requires interactive input — use PTY mode: `terminal(command="himalaya account configure", pty=true)`
## Common Operations
### List Folders
```bash
himalaya folder list
```
### List Emails
List emails in INBOX (default):
```bash
himalaya envelope list
```
List emails in a specific folder:
```bash
himalaya envelope list --folder "Sent"
```
List with pagination:
```bash
himalaya envelope list --page 1 --page-size 20
```
### Search Emails
```bash
himalaya envelope list from [email protected] subject meeting
```
### Read an Email
Read email by ID (shows plain text):
```bash
himalaya message read 42
```
Export raw MIME:
```bash
himalaya message export 42 --full
```
### Reply to an Email
To reply non-interactively from Hermes, read the original message, compose a reply, and pipe it:
```bash
# Get the reply template, edit it, and send
himalaya template reply 42 | sed 's/^$/\nYour reply text here\n/' | himalaya template send
```
Or build the reply manually:
```bash
cat << 'EOF' | himalaya template send
From: [email protected]
To: [email protected]
Subject: Re: Original Subject
In-Reply-To: <original-message-id>
Your reply here.
EOF
```
Reply-all (interactive — needs $EDITOR, use template approach above instead):
```bash
himalaya message reply 42 --all
```
### Forward an Email
```bash
# Get forward template and pipe with modifications
himalaya template forward 42 | sed 's/^To:.*/To: [email protected]/' | himalaya template send
```
### Write a New Email
**Non-interactive (use this from Hermes)** — pipe the message via stdin:
```bash
cat << 'EOF' | himalaya template send
From: [email protected]
To: [email protected]
Subject: Test Message
Hello from Himalaya!
EOF
```
Or with headers flag:
```bash
himalaya message write -H "To:[email protected]" -H "Subject:Test" "Message body here"
```
Note: `himalaya message write` without piped input opens `$EDITOR`. This works with `pty=true` + background mode, but piping is simpler and more reliable.
### Move/Copy Emails
Move to folder (target folder comes first, then the message ID):
```bash
himalaya message move "Archive" 42
```
Copy to folder (target folder comes first, then the message ID):
```bash
himalaya message copy "Important" 42
```
### Delete an Email
```bash
himalaya message delete 42
```
### Manage Flags
Add flag:
```bash
himalaya flag add 42 --flag seen
```
Remove flag:
```bash
himalaya flag remove 42 --flag seen
```
## Multiple Accounts
List accounts:
```bash
himalaya account list
```
Use a specific account:
```bash
himalaya --account work envelope list
```
## Attachments
Save attachments from a message:
```bash
himalaya attachment download 42
```
Save to specific directory:
```bash
himalaya attachment download 42 --downloads-dir ~/Downloads
```
## Output Formats
Most commands support `--output` for structured output:
```bash
himalaya envelope list --output json
himalaya envelope list --output plain
```
## Debugging
Enable debug logging:
```bash
RUST_LOG=debug himalaya envelope list
```
Full trace with backtrace:
```bash
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, use MML syntax (see `references/message-composition.md`).
- Store passwords securely using `pass`, system keyring, or a command that outputs the password.
© community · MIT · NousResearch/hermes-agent