agentleFS
fabioc-alohafabioc-aloha/Alex_ACT_ONE/skills/rich-email/SKILL.md

rich-email

Skill0 starsChanged 9 days agoMITView on GitHub

Create and validate polished HTML email drafts from Markdown, then open an unsent New Outlook draft on Windows. Use for rich stakeholder updates, executive summaries, or formatted email requests; do not use for automated, transactional, or bulk delivery.

The file

We split this skill into the rules it gives an agent

10 rules. About 0 are common, 8 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈8

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Create a reviewable, email-safe HTML message and open it as an unsent New Outlook draft.

    line 9
  2. Distinctive:

    Do not use for automated newsletters, transactional mail, SMTP, Graph, SendGrid, or bulk delivery.

    line 20
  3. Very specific:

    Keep to, from, and subject frontmatter values unquoted.

    line 32
  4. Very specific:

    Use the existing md-to-eml converter without --inline-images.

    line 33
  5. Distinctive:

    Delete temporary Markdown, EML, decoded HTML, and screenshots after the draft is saved or discarded.

    line 61
  6. Distinctive:

    Use one literal subject, ideally under 60 characters.

    line 65
  7. Distinctive:

    Use one executive-summary callout for messages over 250 words.

    line 67
  8. Distinctive:

    Use at most two compact tables.

    line 68
  9. Distinctive:

    Use descriptive links instead of raw URLs.

    line 69
  10. Distinctive:

    Do not include secrets, credentials, unnecessary personal data, or clinical intake content.

    line 71

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Rich Email

Create a reviewable, email-safe HTML message and open it as an unsent New Outlook draft. This skill composes with the existing md-to-eml converter and adds only draft composition, validation, and Outlook opening.

When to Use

Use for:

  • Rich stakeholder or executive updates
  • Research or release summary emails
  • Emails with headings, callouts, tables, or evidence links
  • Reformatting a plain-text message into a professional draft

Do not use for automated newsletters, transactional mail, SMTP, Graph, SendGrid, or bulk delivery. Those require a separately governed delivery system and compliance flow.

Draft Boundary

The workflow creates and opens an unsent draft only. Never send automatically. Before opening the draft, show or summarize the exact recipients, subject, requested action, and body. A later send requires explicit approval of that exact message.

Outlook supplies the default signature. Do not add a generated signoff or sender name. The helper inserts two blank lines before the rich content so the user can remove or reposition the signature.

Procedure

  1. Confirm the audience, recipients, purpose, requested action, tone, and whether the user wants a draft or a send.
  2. Copy the email template to a temporary file outside the repository and adapt it using the style guide.
  3. Keep to, from, and subject frontmatter values unquoted. The converter copies those values into EML headers verbatim.
  4. Use the existing md-to-eml converter without --inline-images. This first Outlook helper accepts single-part text/html EML and rejects multipart output rather than risking attachment corruption.
  5. Validate the EML:

Resolve <plugin-root> from the canonical installed alex-act-one package, not the adopter's working directory. These PowerShell examples use Windows path separators; use native separators on other hosts. The validation command is safe to exercise with a synthetic EML; the draft-opening example requires consent.

<!-- executable-example: rich-email-validate -->
node "<plugin-root>\skills\rich-email\scripts\open-rich-outlook-draft.cjs" `
  "$env:TEMP\message.eml" --validate-only
  1. Inspect the validation output and decoded HTML. Read the Content Rules thresholds from the validator output, not by eye: subjectChars must be under 60, and bodyWords over 250 means the message needs the executive-summary callout. Confirm recipients, subject, readable headings, compact tables, correct links, no raw Markdown, no signoff, and no secrets.
  2. On Windows with New Outlook installed, open the unsent draft:
<!-- illustrative-example: rich-email-open-draft -->
node "<plugin-root>\skills\rich-email\scripts\open-rich-outlook-draft.cjs" `
  "$env:TEMP\message.eml"

The helper requires olk.exe or outlook.exe. Validation-only mode remains available on other hosts; it does not claim that a generic file opener proves New Outlook opened.

  1. In New Outlook, verify the signature order, two blank lines, recipients, subject, links, tables, and absence of unexpected attachments. Ask the user to confirm the draft before any separate send action.
  2. Delete temporary Markdown, EML, decoded HTML, and screenshots after the draft is saved or discarded. Confirm no email artifacts remain in the repository and preserve no recipients or body text in persistent memory.

Content Rules

  • Use one literal subject, ideally under 60 characters.
  • Lead with the outcome, decision, or request.
  • Use one executive-summary callout for messages over 250 words.
  • Use at most two compact tables.
  • Use descriptive links instead of raw URLs.
  • Separate evidence from recommendation.
  • Do not include secrets, credentials, unnecessary personal data, or clinical intake content.

Failure Handling

SignalAction
Pandoc or md-to-eml unavailableStop and report the prerequisite; do not install it without approval.
Multipart EML or inline-image outputStop with the helper's clear unsupported-format message; do not open a partial draft.
Missing or malformed headersFix Markdown frontmatter and reconvert.
New Outlook launcher unavailableUse --validate-only and report that opening the draft requires Windows New Outlook.
Draft does not openKeep the EML for diagnosis and do not claim that a draft opened.
User requests sendingReconfirm the exact message and obtain explicit send authorization.

Validation Commands

<!-- executable-example: rich-email-tests -->
node --test "<plugin-root>\tests\rich-email.test.cjs"

The marked executable examples are checked by the repository's documentation-examples tests using an installed-copy fixture from an unrelated directory. They validate synthetic data only and never open or send a draft. Unmarked or illustrative snippets are not automatically executed.

Would Revise If

Revisit if New Outlook cannot be opened reliably on supported Windows hosts, any draft is sent without explicit authorization, or the capability proves unrelated to Document Tools ownership.

Compatibility command constraints: rich-email

Draft only. Confirm recipients and the exact message boundary; validate before opening New Outlook. Never send or imply delivery.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.