Token导航 LogoToken导航TokenDH.com
前端设计需要联网github未标认证来源可访问许可证需确认审计通过

email-html-mjml邮件 HTML mjml

Agent Skill

email-html-mjml 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

5,488

周安装

222

GitHub Stars

30

下载量

1,723
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:email-html-mjml(邮件 HTML mjml)
来源仓库:https://github.com/framix-team/skill-email-html-mjml
仓库路径:skills/email-html-mjml
安装命令:
npx skills add https://github.com/framix-team/skill-email-html-mjml --skill email-html-mjml
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/framix-team/skill-email-html-mjml --skill email-html-mjml

简介

email-html-mjml 将 MJML 4.x 代码编译为兼容主流客户端的生产级 HTML 邮件模板。

  • 确保在 Outlook、Gmail、Apple Mail 及移动端上的渲染一致性。
  • 严格遵循验证标准,输出可通过 --config.validationLevel=strict 校验。
  • 需配合品牌色彩与内容需求进行定制化调整,避免直接套用通用模板。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

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.

Critical Gotchas

Outlook:

  • Background images: VML only generated for <mj-section> and <mj-hero> — nowhere else
  • Background positioning: keyword values only (top, center, bottom) — pixel values ignored
  • Always pair background-repeat="no-repeat" with explicit background-size
  • Font fallback: <mj-font> hides @font-face from Outlook via MSO conditional comments

Gmail:

  • Use component attributes for critical layout — CSS classes may be stripped
  • 102KB clip: always compile with --config.minify=true

iOS / Android stacking:

  • Always compile with --config.minify=true — removes whitespace between inline-block columns
  • Whitespace between tags causes stacking even inside <mj-group>

Vertical-align bug:

  • If any column in a section sets vertical-align, ALL columns in that section must explicitly set it

JavaScript:

  • JS is completely blocked in all email clients (Gmail, Outlook, Apple Mail, iOS Mail). No onclick, no clipboard API, no interactivity of any kind. Interactive-looking elements (copy buttons, toggles) are purely decorative.

Dark Mode Pattern

<mj-head>
  <mj-raw>
    <meta name="color-scheme" content="light dark">
    <meta name="supported-color-schemes" content="light dark">
  </mj-raw>

  <!-- Light logo visible by default; dark logo hidden -->
  <mj-style inline="inline">
    .dark-logo { display: none !important; }
  </mj-style>

  <!-- Dark mode overrides -->
  <mj-style>
    @media (prefers-color-scheme: dark) {
      .light-logo { display: none !important; }
      .dark-logo  { display: block !important; }
    }
  </mj-style>
</mj-head>

Safe neutrals: #121212 (not #000000) and #F1F1F1 (not #FFFFFF) — prevents jarring forced inversions.


Accessibility Checklist

  • <mj-title> is set (screen reader email label + aria-label)
  • lang attribute on root <mjml> tag
  • alt on every <mj-image> and <mj-social-element>
  • Heading role set via mj-html-attributes (NOT as a direct attribute on mj-text): <!-- In mj-head --> <mj-html-attributes> <mj-selector path=".email-heading div"> <mj-html-attribute name="role">heading</mj-html-attribute> <mj-html-attribute name="aria-level">1</mj-html-attribute> </mj-selector> </mj-html-attributes> <!-- On the component --> <mj-text css-class="email-heading"...>Heading text</mj-text>
  • 4.5:1 contrast ratio on all text/background pairs
  • No text baked into images — always use live <mj-text> blocks

Component Index

Before writing any MJML, read the component file(s) for the components you'll use.

GroupComponentsLoad whenFile
Headmj-attributes, mj-font, mj-style, mj-preview, mj-breakpoint, mj-html-attributesSetting up head, global stylescomponents/head.md
Layoutmj-body, mj-section, mj-column, mj-group, mj-wrapperBuilding structure / gridcomponents/layout.md
Contentmj-text, mj-image, mj-button, mj-divider, mj-spacer, mj-tableAdding content blockscomponents/content.md
Interactivemj-accordion, mj-carousel, mj-social, mj-navbarInteractive or social elementscomponents/interactive.md
Advancedmj-hero, mj-raw, mj-includeHero banners, template tags, partialscomponents/advanced.md

General reference (hierarchy, ending tags, validation, width math, Gmail clip): mjml-reference.md


Compilation

Read compilation.md for the full workflow. Key command:

npx mjml template.mjml -o dist/template.html --config.minify=true --config.validationLevel=strict

Hard rules:

  • Never npm install -g mjml
  • Always use npx or ./node_modules/.bin/mjml
  • If mjml not in package.json, suggest npm install -D mjml

Examples

assets/examples/basic-layout.mjml — MJML docs basic layout example. Covers 6-section structure: company header, image hero + button, intro text, 2-column image+text, 3-column icons, social row. Intentionally bare-bones (no mj-head, no dark mode, placeholder copy) — reflects the MJML docs style. Use as a structural reference for layout patterns only, not as a production template.


Output

Always deliver:

  1. <name>.mjml — complete MJML source (editable, version-controllable)
  2. <name>.html — compiled output (production-ready, send via ESP)

Name files after the email type: welcome.mjml, promo-sale.mjml, order-confirmation.mjml

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

38.5%
按下载量换算663

Claude

27.7%
按下载量换算477

Cursor

18.31%
按下载量换算315

Gemini CLI

9.55%
按下载量换算165

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills