email-html-mjml

email-html-mjml is a skill for Claude Code, Codex from eric861129/SKILLS_All-in-one. It costs 84 tokens per session (1,992 once invoked), scanned A, original, MIT.

A guide for creating responsive HTML emails with MJML, a framework that turns email layouts into HTML suited to common mail apps.

In plain words
What is it for?
Use it to build newsletters, promotional messages, welcome emails, and transactional templates, then compile the MJML source into HTML.
Why use it?
It reduces the compatibility problems caused by different email clients, including Outlook, Gmail, Apple Mail, and mobile apps.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: mentions Claude Code.

Good fit Use it to build newsletters, promotional messages, welcome emails, and transactional templates, then compile the MJML source into HTML.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/eric861129/skills_all-in-one/email-html-mjml
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add eric861129/SKILLS_All-in-one --skill email-html-mjml
Clone the repo
git clone --depth 1 https://github.com/eric861129/SKILLS_All-in-one

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for email-html-mjml

README.md
[![agentmods](https://agentmods.dev/badge/skills/eric861129/skills_all-in-one/email-html-mjml/github.svg)](https://agentmods.dev/skills/eric861129/skills_all-in-one/email-html-mjml)
Your own site
<a href="https://agentmods.dev/skills/eric861129/skills_all-in-one/email-html-mjml"><img src="https://agentmods.dev/badge/skills/eric861129/skills_all-in-one/email-html-mjml/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for email-html-mjml

Your own site · 80×15
<a href="https://agentmods.dev/skills/eric861129/skills_all-in-one/email-html-mjml"><img src="https://agentmods.dev/badge/skills/eric861129/skills_all-in-one/email-html-mjml.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 84 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,992 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00084 $0.01992
Opus 5 $0.00042 $0.00996
Sonnet 5 $0.00017 $0.00398
Haiku 4.5 $0.00008 $0.00199

Measured 9d ago against content hash 26928413802a, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

email-html-mjml scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

public/SKILLS/Development & Code Tools/email-html-mjml/SKILL.md · 162 lines

How it starts

The opening of the file, as written. The whole thing — 162 lines — stays where its author put it; the contents beside it link to each section on GitHub.

email-html-mjml — Responsive Email Developer

Generate valid, cross-client MJML 4.x templates and compile them to production-ready HTML. The primary goal is compatibility: Outlook (2013–365), Gmail (web/app), Apple Mail, and major mobile clients. Every output must be compilable with --config.validationLevel=strict and survive Gmail's 102KB clip limit.


Workflow

  1. Gather requirements — Infer email type, brand colors, and content from the user's message and conversation context. Ask only for what is genuinely missing and blocking progress (e.g., no colors provided and the layout has branded sections). Never front-load a questionnaire.
  2. Plan layout — Decide and announce the structure before writing code (single-column, 2-col grid, hero + content, etc.)
  3. Load component references — Read the relevant file(s) from the Component Index below before writing any MJML
  4. Generate MJML — Write complete, valid MJML starting from <mjml> with a full <mj-head>
  5. Compile — Follow compilation.md. Run npx mjml with --config.minify=true
  6. Deliver both files — Always output .mjml source AND compiled .html

9 Engineering Rules

  1. Structural Integrity — All visual content MUST be in <mj-column> inside <mj-section>. Sections cannot be nested.
  2. Responsive Defaults — Assume 600px width. Use <mj-group> to prevent mobile stacking for side-by-side elements (social bars, logo rows).
  3. Outlook Compatibility — Use <mj-font> for web fonts (prevents Times New Roman fallback). Always provide a fallback stack (Arial, sans-serif). For <mj-section> background images, always set both background-size and a fallback background-color.
  4. Gmail Optimization — Use inline="inline" on <mj-style> for custom CSS. Prefer component attributes (color, font-size) over CSS classes for critical styles.
  5. Dark Mode — Include dark mode support when explicitly requested or when the email has a light background that would cause harsh forced-inversion. See the Dark Mode Pattern below.
  6. Accessibility — Every <mj-image> MUST have alt. Always set <mj-title> (populates aria-label). Maintain WCAG 2.1 AA 4.5:1 contrast. For heading roles, use mj-html-attributes — direct role/aria-level attributes on mj-text are illegal under strict validation (see Accessibility Checklist below).
  7. Styling Efficiency — Use <mj-attributes> with <mj-all>, component defaults, and <mj-class> to eliminate repetitive inline styles.
  8. Hero Sections — Use <mj-hero> for full-bleed hero banners; it falls back to a regular section in unsupported clients. Avoid <mj-accordion> and <mj-carousel> — client support is too poor to be useful.
  9. Templating Support — Wrap dynamic tags (Handlebars/Liquid) in <mj-raw> to protect them from the MJML parser.

Read the full file on GitHub · 162 lines

Files

What ships with it

8 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago First seen · 162 lines · 84 tokens per session scan A 26928413802a

Subscribe to this mod's changes

email-html-mjml is a skill published in the GitHub repository eric861129/SKILLS_All-in-one (52 stars, last pushed 4mo ago), licensed MIT. It adds 84 tokens to every session and 1,992 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other skills, from other repositories

frontend-design

Use when user asks to build a web component, page, or application, or when the task involves frontend design, HTML/CSS generation, or UI layout. Applies specific rules for typography, OKLCH color, layout, motion, interaction, and UX writing to produce distinctive, production-grade interfaces that avoid generic AI…

harnessprotocol/harness-kit · 68 tokens

ui-ux-design

Create production-grade frontend interfaces with strong UX and visual craft. Use when building web components, pages, dashboards, forms, landing pages, modals, or any UI. Use when user says 'build a form', 'create a dashboard', 'design a component', 'make a landing page', or asks for UI/UX work. Use even when the user…

arvindand/agent-skills · 98 tokens

frontend-craft-director

A self-contained frontend design, redesign, audit, implementation, anti-AI-slop, and rendered visual-QA skill for use directly inside a ChatGPT conversation or through a local MCP-accessible project.

mehrdad03/localdev-mcp · 47 tokens

ds-guard

Automatically run after any edit to a .css, .tsx, .ts, .jsx, or .js file that contains styling. Triggers on: new CSS rules, className changes, style props, token usages, or any visual/layout change. Checks the diff against the project's design system token inventory and living style guide (canon, if one exists). Flags…

jerseycheese/agent-skills · 111 tokens

openclaw-color-palette

Design-grade color processing suite — generate harmonious palettes from any seed color, check WCAG 2.1 AA/AAA contrast accessibility, convert between hex/RGB/HSL/HSV/CMYK, simulate 8 color blindness types, and extract dominant colors from images. Use when: (1) user says 'generate a color palette' or 'give me a color…

yedanyagamiai-cmd/openclaw-mcp-servers · 207 tokens

animate

Generate CSS/Framer Motion animations.

barnburner121/claude-plugin-marketplace · 9 tokens