himalaya
Himalaya is a terminal email client that manages messages through IMAP, SMTP, Notmuch, or Sendmail backends. Use it to list, search, read, compose, reply to, forward, and organize emails from the command line across multiple configured accounts, with support for MML syntax in message composition and both interactive configuration or manual config file setup.
git clone --depth 1 https://github.com/moltis-org/moltis /tmp/himalaya && cp -r /tmp/himalaya/crates/skills/src/assets/email/himalaya ~/.claude/skills/himalayaSKILL.md
# Himalaya v2 Email CLI Use this skill only with Himalaya major version 2. Its command and configuration syntax differs from v1. ## References - `references/configuration.md` for v2 config paths, accounts, and backends. - `references/message-composition.md` for v2 compose and send flows. ## Install and configure Install a v2 build and verify it before continuing: ```bash himalaya --version ``` Official installation options include Homebrew and the current Git repository: ```bash brew install himalaya cargo install --locked --git https://github.com/pimalaya/himalaya.git ``` If the package manager installs v1, use a v2 release or the Git installation. Run the v2 setup wizard with no subcommand: ```bash himalaya ``` The wizard prints TOML that can be saved or merged into the config. There is no v2 `account configure` command. Check the result with: ```bash himalaya --json account list himalaya --account=work account check ``` ## Command conventions Use v2's global account and backend selectors before the subcommand. Mailbox selectors belong to the leaf command: ```bash himalaya --json --account=work --backend=imap envelope list --mailbox=INBOX ``` - `--json` selects structured output; v2 does not use `--output json`. - `--account` and `--backend` are global selectors. `--mailbox` is a leaf-command option; these can also be written as `-a`, `-b`, and `-m`. - Shared read backends are `imap`, `jmap`, `gmail`, `msgraph`, `maildir`, and `m2dir`. SMTP sends messages; it does not fetch them. - Message IDs are mailbox-relative for some backends. Re-list after moving mail or changing mailboxes. ## Read operations List mailboxes and envelopes: ```bash himalaya --json --account=work --backend=imap mailbox list himalaya --json --account=work --backend=imap \ envelope list --mailbox=INBOX --page=1 --page-size=20 ``` Search with the v2 shared query language: ```bash himalaya --json --account=work --backend=imap \ envelope search --mailbox=INBOX -- \ from alice@example.com and subject meeting order by date desc ``` Read a rendered message or raw RFC 5322/MIME: ```bash himalaya --account=work --backend=imap message read --mailbox=INBOX -- 42 himalaya --account=work --backend=imap message read --mailbox=INBOX --raw -- 42 ``` The shared `envelope search` query language is not implemented by the v2 Gmail or Microsoft Graph backends. Use their protocol-specific APIs when native search is required: ```bash himalaya --json --account=work gmail messages list -q "from:alice is:unread" himalaya --json --account=work msgraph mail-folder list ``` ## Manage messages Use explicit source and destination mailboxes for copy or move operations: ```bash himalaya --account=work --backend=imap message copy --from=INBOX --to=Archives -- 42 himalaya --account=work --backend=imap message move --from=INBOX --to=Archives -- 42 ``` The shared message command in Himalaya v2.0.0 has no delete operation. Use a backend-specific command when deletion is required. Manage flags and attachments: ```bash himalaya --account=work --backend=imap flag add --mailbox=INBOX --flag=seen -- 42 himalaya --account=work --backend=imap flag remove --mailbox=INBOX --flag=seen -- 42 himalaya --account=work --backend=imap attachment list --mailbox=INBOX -- 42 himalaya --account=work --backend=imap attachment download --mailbox=INBOX -- 42 ``` ## Debugging Every command provides v2-specific help. Use logging on stderr when needed: ```bash himalaya envelope search --help himalaya --log=debug --account=work --backend=imap mailbox list himalaya --log=trace --log-file=/tmp/himalaya.log \ --account=work --backend=imap mailbox list ```
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
Manage Apple Notes via the memo CLI on macOS (create, view, search, edit).
Manage Apple Reminders via remindctl CLI (list, add, complete, delete).
Generate dark-themed SVG diagrams of software systems and cloud infrastructure as standalone HTML files with inline SVG graphics. Semantic component colors (cyan=frontend, emerald=backend, violet=database, amber=cloud/AWS, rose=security, orange=message bus), JetBrains Mono font, grid background. Best suited for software architecture, cloud/VPC topology, microservice maps, service-mesh diagrams, database + API layer diagrams, security groups, message buses — anything that fits a tech-infra deck with a dark aesthetic. If a more specialized diagramming skill exists for the subject (scientific, educational, hand-drawn, animated, etc.), prefer that — otherwise this skill can also serve as a general-purpose SVG diagram fallback. Based on Cocoon AI's architecture-diagram-generator (MIT).
Search and retrieve academic papers from arXiv using their free REST API. No API key needed. Search by keyword, author, category, or ID. Combine with web_extract or the ocr-and-documents skill to read full paper content.
Generate ASCII art using pyfiglet (571 fonts), cowsay, boxes, toilet, image-to-ascii, remote APIs (asciified, ascii.co.uk), and LLM fallback. No API keys required.
Production pipeline for ASCII art video — any format. Converts video/audio/images/generative input into colored ASCII character video output (MP4, GIF, image sequence). Covers: video-to-ASCII conversion, audio-reactive music visualizers, generative ASCII art animations, hybrid video+audio reactive, text/lyrics overlays, real-time terminal rendering. Use when users request: ASCII video, text art video, terminal-style video, character art animation, retro text visualization, audio visualizer in ASCII, converting video to ASCII art, matrix-style effects, or any animated ASCII output.
PyTorch library for audio generation including text-to-music (MusicGen) and text-to-sound (AudioGen). Use when you need to generate music from text descriptions, create sound effects, or perform melody-conditioned music generation.