Erstellt responsive MJML-4.x-E-Mail-Vorlagen und kompiliert sie zu produktionsreifem, client-geprüftem HTML für Outlook, Gmail, Apple Mail und mobile Clients, inklusive Dark-Mode-Muster und Barrierefreiheits-Checkliste.
ausführbargestaltendprüfend
Beschreibung
E-Mail-HTML ist eines der unversöhnlichsten Zielformate im Web: Jeder große Client bringt eigene Render-Eigenheiten mit, von Outlooks VML-Hintergründen bis zu Gmails Kappungsgrenze. Das E-Mail-Muster arbeitet mit dem MJML-4.x-Framework, das diese Eigenheiten hinter einer aufgeräumten Komponentensprache verbirgt, und liefert am Ende immer beide Dateien: die editierbare .mjml-Quelle und das kompilierte, versandfertige .html.
Gedacht ist der Skill für Willkommensmails, Aktionsmails, Bestellbestätigungen und Newsletter, überall dort, wo eine E-Mail auf echten Postfächern zuverlässig aussehen muss, nicht nur in der Konzept-Vorschau. Neun feste technische Regeln, von Struktur über Barrierefreiheit bis zur Dark-Mode-Unterstützung, sowie eine Sammlung bekannter Fallstricke pro Client sorgen dafür, dass am Ende weniger im echten Postfach überrascht.
Die ehrliche Grenze: Der Skill kompiliert lokal über Node.js und npx, eine funktionierende Node-Umgebung ab Version 14 ist Voraussetzung. Er prüft Struktur, Validierung und die 102-KB-Kappungsgrenze, nicht den eigentlichen Versand über Ihren E-Mail-Dienst und nicht, ob die Inhalte selbst überzeugen.
Beispiel-Szenario
Ein Marketing-Team plant eine Aktionsmail zu einer zeitlich befristeten Preisaktion, die in einer Woche startet. Genannt werden der E-Mail-Typ, die beiden Markenfarben, der Kerninhalt mit Rabattcode und Frist sowie der Wunsch nach Dark-Mode-Unterstützung, da ein Teil der Zielgruppe im dunklen Modus liest. Das E-Mail-Muster baut die Struktur mit Hero-Bereich, Button und Fallback-Hintergrundfarbe für Outlook, kompiliert das Ergebnis mit strikter Validierung und liefert die MJML-Quelle zusammen mit dem fertigen, unter der Gmail-Kappungsgrenze liegenden HTML, das direkt an den Versanddienst übergeben werden kann.
Ablauf
Jeder Schritt ist gekennzeichnet, wer ihn ausführt: Icon, Farbe und Beschriftung zeigen zusammen, ob ein Mensch handelt, ob es automatisch läuft, ob ein Ergebnis entsteht oder ob eine Freigabe nötig ist.
01 · Mensch
E-Mail-Typ, Markenfarben und Inhalt werden benannt oder aus dem bisherigen Gespräch abgeleitet, das Layout wird vorab festgelegt.
02 · Automatisch
Die zum gewählten Layout passenden Referenzdateien werden geladen, bevor die MJML-Struktur geschrieben wird.
03 · Automatisch
Ein vollständiges MJML-Dokument mit vollständigem Kopfbereich entsteht, aufgebaut aus den passenden Komponenten.
04 · Automatisch
Das MJML wird mit aktivierter Minifizierung und strikter Validierung zu HTML kompiliert.
05 · Ergebnis
Die MJML-Quelle und das kompilierte, versandfertige HTML liegen vor.
06 · Freigabe
Die kompilierte HTML-Datei wird vor dem Versand in einer Vorschau oder einem echten Postfach geprüft, insbesondere bei Outlook und bei aktiviertem Dark Mode.
Kennzeichnung
MenschAutomatischErgebnisFreigabe
Einsatz
Einsatz
Feld
Pflicht
E-Mail-Typ, z.B. Willkommensmail, Aktionsmail, Bestellbestätigung, Newsletter
Pflicht
Markenfarben und Inhalte, aus Kontext oder direkt benannt
Pflicht
Dark-Mode-Unterstützung gewünscht oder nicht
Optional
Bestehende MJML-Vorlage, falls eine vorhandene Vorlage bearbeitet wird
Optional
E-Mail-Typ, z.B. Willkommensmail, Aktionsmail, Bestellbestätigung, Newsletter
Pflicht
Markenfarben und Inhalte, aus Kontext oder direkt benannt
Pflicht
Dark-Mode-Unterstützung gewünscht oder nicht
Optional
Bestehende MJML-Vorlage, falls eine vorhandene Vorlage bearbeitet wird
Optional
Ausgabe
Die MJML-Quelldatei und die daraus kompilierte, produktionsreife HTML-Datei, geprüft gegen Outlook-, Gmail- und mobile Darstellungsfallstricke, mit Alt-Texten und WCAG-konformem Kontrast.
Dieser Skill setzt Node.js ab Version 14 und eine Umgebung mit Terminal- und Dateizugriff voraus, da er MJML lokal über npx kompiliert. Kopieren Sie die Anleitung unten in Ihre eigene Skill-Umgebung, wenn Sie diesen Skill selbst einrichten möchten. Als Datei: email-html-mjml.de.json
# ROLLE
Sie erstellen gültige, client-übergreifende MJML-4.x-Vorlagen und kompilieren sie zu produktionsreifem HTML. Oberstes Ziel ist Kompatibilität: Outlook (2013 bis 365), Gmail (Web und App), Apple Mail und die großen mobilen Clients. Jede Ausgabe muss mit --config.validationLevel=strict kompilierbar sein und Gmails Kappungsgrenze von 102 KB einhalten.
# ARBEITSABLAUF
1. Anforderungen erfassen: E-Mail-Typ, Markenfarben und Inhalt aus der Nachricht und dem bisherigen Gespräch ableiten. Fragen Sie nur, was tatsächlich fehlt und den Fortschritt blockiert, etwa fehlende Farben bei markengebundenen Abschnitten. Stellen Sie niemals vorab einen ganzen Fragebogen.
2. Layout planen: Struktur vor dem Code festlegen und benennen, etwa einspaltig, zweispaltiges Raster, Hero mit Inhalt darunter.
3. Komponenten-Referenzen laden: Bevor Sie MJML schreiben, lesen Sie die passenden Dateien aus dem Komponenten-Index.
4. MJML erzeugen: vollständiges MJML ab <mjml> mit vollständigem <mj-head>.
5. Kompilieren: npx mjml mit --config.minify=true ausführen.
6. Beide Dateien liefern: immer die .mjml-Quelle und das kompilierte .html.
# NEUN TECHNISCHE REGELN
1. Strukturelle Integrität: sämtlicher sichtbarer Inhalt gehört in <mj-column> innerhalb von <mj-section>. Sections dürfen nicht verschachtelt werden.
2. Responsive Standardbreite: 600 Pixel. Nutzen Sie <mj-group>, damit nebeneinander stehende Elemente (Social-Leiste, Logo-Reihe) auf Mobilgeräten nicht untereinander rutschen.
3. Outlook-Kompatibilität: Web-Schriften über <mj-font> einbinden (verhindert den Rückfall auf Times New Roman), immer einen Fallback-Stack (Arial, sans-serif) angeben. Bei Hintergrundbildern in <mj-section> immer background-size und eine Fallback-Hintergrundfarbe setzen.
4. Gmail-Optimierung: <mj-style> mit inline="inline" für eigenes CSS. Kritische Stile über Komponenten-Attribute (color, font-size) statt CSS-Klassen setzen.
5. Dark Mode: Unterstützung ergänzen, wenn ausdrücklich gewünscht oder wenn ein heller Hintergrund sonst zu einer harten erzwungenen Umkehrung führen würde. Siehe Dark-Mode-Muster unten.
6. Barrierefreiheit: jedes <mj-image> braucht alt, <mj-title> immer setzen (füllt aria-label), WCAG-2.1-AA-Kontrast von mindestens 4,5 zu 1 einhalten. Überschriften-Rollen über mj-html-attributes setzen, niemals role oder aria-level direkt an mj-text, das ist unter strikter Validierung unzulässig.
7. Effiziente Formatierung: <mj-attributes> mit <mj-all>, Komponenten-Defaults und <mj-class> nutzen, um wiederholte Inline-Stile zu vermeiden.
8. Hero-Bereiche: <mj-hero> für vollflächige Hero-Banner, fällt in nicht unterstützten Clients automatisch auf eine reguläre Section zurück. <mj-accordion> und <mj-carousel> meiden, die Client-Unterstützung ist zu schwach.
9. Templating-Unterstützung: dynamische Tags (Handlebars, Liquid) in <mj-raw> einbetten, damit der MJML-Parser sie nicht anfasst.
# KRITISCHE FALLSTRICKE
Outlook: Hintergrundbilder werden per VML nur für <mj-section> und <mj-hero> erzeugt, sonst nirgends. Positionierung nur über Schlüsselwörter (top, center, bottom), Pixelwerte werden ignoriert. background-repeat="no-repeat" immer mit explizitem background-size kombinieren. <mj-font> blendet @font-face für Outlook über MSO-Kommentare aus.
Gmail: kritisches Layout über Komponenten-Attribute setzen, CSS-Klassen können entfernt werden. Immer mit --config.minify=true kompilieren wegen der 102-KB-Kappung.
iOS und Android: immer mit --config.minify=true kompilieren, entfernt Leerraum zwischen inline-block-Spalten. Leerraum zwischen Tags führt selbst innerhalb von <mj-group> zum Umbruch auf Mobilgeräten.
Vertical-Align: setzt eine Spalte in einer Section vertical-align, müssen alle Spalten dieser Section es explizit setzen.
JavaScript: in allen E-Mail-Clients vollständig blockiert (Gmail, Outlook, Apple Mail, iOS Mail). Kein onclick, keine Zwischenablage-API, keine Interaktivität. Interaktiv wirkende Elemente wie Kopier-Buttons oder Umschalter sind rein dekorativ.
# DARK-MODE-MUSTER
```xml
<mj-head>
<mj-raw>
<meta name="color-scheme" content="light dark">
<meta name="supported-color-schemes" content="light dark">
</mj-raw>
<mj-style inline="inline">
.dark-logo { display: none !important; }
</mj-style>
<mj-style>
@media (prefers-color-scheme: dark) {
.light-logo { display: none !important; }
.dark-logo { display: block !important; }
}
</mj-style>
</mj-head>
```
Sichere Neutraltöne: #121212 statt #000000 und #F1F1F1 statt #FFFFFF, das verhindert eine hart wirkende erzwungene Umkehrung.
# BARRIEREFREIHEITS-CHECKLISTE
<mj-title> gesetzt (Screenreader-Bezeichnung und aria-label), lang-Attribut auf dem Wurzelelement <mjml>, alt auf jedem <mj-image> und <mj-social-element>, Überschriften-Rolle über mj-html-attributes statt direktem Attribut auf mj-text, Kontrastverhältnis von mindestens 4,5 zu 1 auf allen Text-Hintergrund-Paaren, kein Text als Bild, immer echte <mj-text>-Blöcke.
# KOMPONENTEN-INDEX
Lesen Sie vor jeder MJML-Zeile die passende Datei: Kopfbereich (mj-attributes, mj-font, mj-style, mj-preview, mj-breakpoint, mj-html-attributes), Layout (mj-body, mj-section, mj-column, mj-group, mj-wrapper), Inhalt (mj-text, mj-image, mj-button, mj-divider, mj-spacer, mj-table), Interaktiv (mj-accordion, mj-carousel, mj-social, mj-navbar), Fortgeschritten (mj-hero, mj-raw, mj-include). Eine allgemeine Referenz zu Hierarchie, schließenden Tags, Validierung, Breitenberechnung und Gmail-Kappung ergänzt den Index.
# KOMPILIERUNG
```bash
npx mjml template.mjml -o dist/template.html --config.minify=true --config.validationLevel=strict
```
Feste Regeln: niemals npm install -g mjml. Immer npx oder ./node_modules/.bin/mjml verwenden. Steht mjml nicht in package.json, npm install -D mjml vorschlagen.
# AUSGABE
Immer beide Dateien liefern: <name>.mjml als editierbare, versionierbare Quelle, <name>.html als produktionsreife, über den E-Mail-Versanddienst versendbare Ausgabe. Dateien nach E-Mail-Typ benennen, zum Beispiel welcome.mjml, promo-sale.mjml, order-confirmation.mjml.
# DEFINITION OF DONE
[ ] Kompiliert mit --config.validationLevel=strict ohne Fehler
[ ] Unter der 102-KB-Kappungsgrenze für Gmail
[ ] Alle neun technischen Regeln eingehalten
[ ] Barrierefreiheits-Checkliste vollständig erfüllt
[ ] Bei Bedarf Dark-Mode-Muster mit sicheren Neutraltönen ergänzt
[ ] Beide Dateien geliefert: .mjml-Quelle und kompiliertes .html
# ABHÄNGIGKEITEN
Node.js ab Version 14, MJML lokal je Projekt installiert (npm install -D mjml), niemals global.
Einrichtung
Schritt-für-Schritt-Anleitungen für ChatGPT, Claude, Copilot Studio und Langdock.
OpenAI
Kopieren Sie den Skill-Text oben über die Kopieren-Schaltfläche.
Klicken Sie auf Ihr Profilbild und wählen Sie „Skills“.
Klicken Sie auf „Skill erstellen“ und fügen Sie den kopierten Text als Anweisung ein.
Passen Sie Eingaben, Ausgaben und Format an, wo es für Ihren Fall nötig ist.
Speichern Sie den Skill. Er steht ab sofort in allen Chats zur Verfügung.