Skip to main content

Command menu

Jump to a page or search the catalog

AI Tools & Scripts

Email Template Check

Check HTML email templates before a campaign: missing unsubscribe links, emails Gmail will clip, http and javascript links, missing alt text and preheaders, wide layouts, no postal address, vague links and broken merge tags.

$5.00

What you get: 1 file · 45.39 KB · ZIP

See purchase options

Product description

A newsletter that grew past 102 KB gets cut off in Gmail behind "View entire message", taking the unsubscribe link and your address with it. A "Hi *|FNAME|," with one missing star goes out as raw text to every subscriber, and a promotion built as one big image shows up as an empty box wherever images are blocked. This skill finds those and ten other email template mistakes before you send, and explains each one in plain words.

Your agent runs a scanner on your templates: .mjml files, and .html, .hbs, .liquid, .njk, .twig, .ejs, Jinja, .html.erb and .blade.php files that sit in an email folder or contain email markup (Outlook mso styles, Mailchimp merge tags, MJML). It reads the Outlook-only HTML inside [if mso] comments, treats merge tags such as {{ first_name }} and |FNAME| as placeholders, and knows the unsubscribe tags of Mailchimp, SendGrid, Klaviyo, HubSpot, Postmark, Brevo, Campaign Monitor and Mailgun. It guesses which emails are marketing from file names and wording: receipts, reminders and password resets named that way are not asked for an unsubscribe link, a missing link is a BLOCK only when the sales wording is clear, and weaker signs get a REVIEW for you to judge. It never sends an email, fills in merge tags or opens a link. It returns BLOCK, REVIEW, or NOT FLAGGED, with the file, line, reason, and a safer approach. Secrets are never printed.

What it checks

BLOCK (fix before shipping)

  • E01: clear marketing emails (two sales phrases such as "15% off" and "use code", or a newsletter or promo file name plus one) without an unsubscribe link or unsubscribe merge tag

  • E02: HTML over about 102 KB (measured in UTF-8 bytes), which Gmail clips

  • E03: links that start with javascript:, vbscript: or data:, including MJML and Outlook VML buttons

REVIEW (check before release)

  • E11: images without alt text, or with a file name as alt text (img and mj-image)

  • E12: image-only emails with almost no live text

  • E13: no preheader (preview text), so the inbox shows "View this email in your browser" instead

  • E14: tables, cells, images or containers wider than 640 px, including style blocks and Outlook-only tables

  • E15: marketing emails without a postal address or address merge tag

  • E16: vague link text such as "click here", "here", "read more" and "learn more"

  • E17: broken merge tags: {{ without }}, | without |, {% without %}, empty tags, mismatched braces, and if, for, #each or |IF:| blocks without their end

  • E18: placeholder links: href="#", empty links, localhost and file: paths

  • E19: possible marketing emails (only the file name or one sales phrase points that way) without an unsubscribe link

  • E20: links on plain http:// instead of https://

What's included

  • The scanner (Python 3.9+, standard library only)

  • A rules guide with the reason and safer approach for each rule

  • Risky and fixed example templates for a made-up coffee shop (a newsletter, a cafe announcement, a Black Friday flyer, a long catalog, an MJML welcome email and a password reset), and the real report the scanner produces on the risky ones

Limits

It checks each template as written. It does not fill in merge tags, run loops or include partials, so the final email your platform sends (with tracking links, product loops and its own footer) can be bigger than the file, and anything that comes from a variable is not checked. Footers, unsubscribe links, addresses and preview text that your platform adds outside the template are not seen. Telling marketing from transactional email is a guess from names and words. It does not render the email, so colors, dark mode and how each email app displays it are not checked. It is not legal advice, and NOT FLAGGED is not a guarantee of delivery.

Contents

One ZIP file with 18 files: SKILL.md, the scanner in scripts/ (3 Python files), references/rules.md (every rule with its reason and safer approach), and examples/ (12 example files plus report.md, the real scanner output on the risky example).

How to use: This is an agent skill: a folder with a SKILL.md file and Python scripts that an AI coding agent such as Claude Code, Cursor, or Codex CLI can run. Unzip it into your agent's skills folder (for Claude Code: ~/.claude/skills/), then ask your agent to check your project. The scripts also run on their own with Python 3.9 or newer, with nothing to install. They read your files only: no network access, and nothing is sent anywhere.

What you get

1 file · 45.39 KB

  • email-template-check-1.0.0.zipZIP · 45.39 KB

Included in Getly ProGet Pro

LicenseCommercial use allowed
PublishedNov 12, 2026
File size45.39 KB
File formatZIP
Versionv1.0

Tags

emailnewsletteremail-marketinghtml-emaildeliverabilityai agent skill
R
RR HH

Frequently asked questions

Do I get access instantly?

Yes. This is a digital product - you can download it right after checkout, straight from your library.

Can I use it for commercial projects?

Yes. Commercial use is allowed: use it in your own business and in things you sell. You may not resell or redistribute the file itself.

What's your refund policy?

You can request a refund within 30 days. If something isn't right, request it from your order and the Getly team reviews it.

What file formats and sizes will I get?

You'll download 1 file - ZIP - 45.39 KB in total.

Do I get free updates?

Yes - when the seller ships a new version, you can re-download the latest files from your library at no extra cost. Check the changelog for recent updates.

Price

$5.00