heinzel-email

Solid

Send an email about a managed server — ad-hoc text and/or file attachments. Use when the user asks to "email me X", "send X by mail", "mail this to <address>", "attach /var/log/foo to an email", or "send a report by email". The first email per host asks where to send from (local workstation vs the server itself). On the remote path, prefers the existing MTA (postfix, sendmail, msmtp, mail/mailx) and asks before installing one. Sends as a non-root user via `runuser`/`su -`. Attachments check sender readability, size, and offer a content preview before sending. **Never run automatically** — only on explicit user request.

AI & Automation 82 stars 13 forks Updated today MIT

Install

View on GitHub

Quality Score: 88/100

Stars 20%
64
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# heinzel-email Send ad-hoc text and file attachments by email about a managed server. The report content is *about* the server; whether the mail leaves *from* the server or *from* your workstation is a per-host preference that's asked once and remembered. The full heinzel first-connection onboarding pipeline still applies before any of this runs. ## Workflow 1. **Onboarding pipeline.** Run `rules/first-connection.md` in full. No "quick question" exception — even a one-line email still goes through blacklist/read-only check, DNS alias detection, SSH user lookup, OS detection, server memory load, and activity check. 2. **Load overrides.** Apply the heinzel rule-override chain (later wins): - `memory/custom-rules/heinzel-email.md` if present. - `memory/servers/<host>/memory.md` (recipient, source, transport, policies — see "Per-server memory" below). - `memory/servers/<host>/rules.md` if present. `memory/custom-rules/all.md` is already loaded by the session-start preflight — do not re-read it. 3. **Resolve recipient.** In order of precedence: 1. **User said an explicit address** ("send to alice@…", "mail it to bob@example.com") → use that. Don't override it with stored values. 2. **Per-server memory** — `memory/servers/<host>/memory.md` has an `Alert email:` line (the established pattern) → use that. 3. **"Send me" shorthand** ("email me", "send me", "mail it to me") and the user's default email is ...

Details

Author
wintermeyer
Repository
wintermeyer/heinzel
Created
5 months ago
Last Updated
today
Language
Shell
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category