CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

mjml-email-templates

Build responsive email templates using MJML markup language. Compiles to cross-client HTML that works in Outlook, Gmail, and Apple Mail. Includes template renderer, layout patterns, and variable substitution.

Quality

73%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/mjml-email-templates/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

61%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A strong, concrete, code-heavy skill: installation, full templates, and a complete renderer/composer implementation make it immediately usable. Its weaknesses are the padded 'Why MJML?' rationale, an implicit rather than explicit workflow with no verification checkpoint, and a couple of undefined helper symbols (GetSampleVariables, value-object types).

Suggestions

Add an explicit numbered workflow (install package → add templates as embedded resources → create renderer → compose → verify via '/admin/emails/preview/{template}') that frames the preview endpoint as a validation checkpoint, raising workflow clarity.

Cut or compress the 'Why MJML?' section — Claude already knows email clients render HTML inconsistently — and trim the layout boilerplate to the parts users must customize.

Define or stub GetSampleVariables and the value-object types (EmailAddress, PersonName, AbsoluteUri, EmailMessage) so all code is truly copy-paste ready.

DimensionReasoningScore

Conciseness

The 'Why MJML?' section explains a concept Claude already knows ('Email HTML is notoriously difficult. Each email client (Outlook, Gmail, Apple Mail) renders differently, requiring complex table-based layouts and inline styles'), which is padding. The bulk (templates, renderer code) earns its place, but the problem/solution framing and long _Layout.mjml boilerplate could be tightened.

3 / 5

Actionability

Highly executable: 'dotnet add package Mjml.Net', a complete csproj ItemGroup, a full copy-paste-ready MjmlTemplateRenderer class, a complete composer, and DO/DON'T pairs. Minor gaps only: 'GetSampleVariables(template)' is called in the preview endpoint but never defined, and the EmailMessage/value-object types (EmailAddress, PersonName, AbsoluteUri) are used without definition.

4 / 5

Workflow Clarity

Section order implies a sequence (install → structure → layout → content → renderer → composer → preview) but no explicit workflow or checkpoints are stated, and validation is only implicit — the renderer's 'if (result.Errors.Any()) throw' handles compile errors, but there is no instructed step like 'preview the rendered email to verify' tying the preview endpoint into the flow. Not a destructive/batch skill, so no hard cap applies.

3 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are absent), so everything lives in a well-sectioned single SKILL.md with clear headers and external resource links. Structure is good and easy to navigate, but ~390 lines with a components reference table and full layout boilerplate inline is on the edge of content that could be split into reference files — minor organization gap rather than a flaw.

4 / 5

Total

14

/

20

Passed

Description

71%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A specific, well-targeted description that clearly states what the skill does and in which clients the output works. Its one material gap is the absence of any 'when to use this' trigger guidance, which caps completeness; trigger coverage is otherwise good but misses a few natural synonyms.

Suggestions

Append a 'Use when' clause, e.g. 'Use when building transactional emails, signup/password-reset/invoice notifications, or any responsive email templates that must render in Outlook, Gmail, and Apple Mail.'

Add natural synonyms and file extensions — 'transactional email', 'newsletter', '.mjml' — to widen trigger coverage.

Optionally mention the .NET renderer context ('for .NET apps using Mjml.Net') to sharpen distinctiveness against generic email-composition skills.

DimensionReasoningScore

Specificity

Multiple specific concrete actions with comprehensive coverage: 'Build responsive email templates using MJML markup language', 'Compiles to cross-client HTML that works in Outlook, Gmail, and Apple Mail', 'Includes template renderer, layout patterns, and variable substitution'. Comparable in breadth to the anchor-5 PDF example (extract, fill, merge, convert).

5 / 5

Completeness

The 'what' is clear (build MJML email templates that compile to cross-client HTML, with renderer/layout/variable tooling), but there is no 'Use when...' clause or equivalent explicit trigger guidance anywhere in the description. Per the judging guidelines, a missing 'Use when' clause caps completeness at 3.

3 / 5

Trigger Term Quality

Good natural coverage: 'email templates', 'responsive', 'MJML', 'HTML', and client names 'Outlook, Gmail, Apple Mail' users would actually mention. Missing a few natural terms such as 'transactional email', 'newsletter', or the '.mjml' file extension, so not comprehensive enough for a 5.

4 / 5

Distinctiveness Conflict Risk

MJML is a clear niche ('MJML markup language', named email clients), so mostly distinct with minimal wrong-skill trigger risk. Minor overlap remains with generic email-drafting or HTML-template skills since 'email templates' alone is a fairly common phrase.

4 / 5

Total

16

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

Aaronontheweb/dotnet-skills

Path

skills/mjml-email-templates/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.