email-accessibility-checker

email-accessibility-checker is a skill for Claude Code, Codex from customerio/ai-skills. It costs 137 tokens per session (4,149 once invoked), scanned A, original, MIT.

A checker for the accessibility of HTML emails. Accessibility means making content usable by people with disabilities, including people who use screen readers or need readable colors and controls.

In plain words
What is it for?
Use it to review email HTML for screen-reader support, readable contrast, sensible structure, usable links, touch targets, fonts, and email-specific markup such as VML.
Why use it?
It finds both code-level and judgment-based problems that can make an email difficult or impossible to use. Checks include language settings, alternative text, color contrast, headings, tables, and link wording.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to review email HTML for screen-reader support, readable contrast, sensible structure, usable links, touch targets, fonts, and email-specific markup such as VML.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/customerio/ai-skills/email-accessibility
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 customerio/ai-skills --skill email-accessibility
Clone the repo
git clone --depth 1 https://github.com/customerio/ai-skills

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-accessibility-checker

README.md
[![agentmods](https://agentmods.dev/badge/skills/customerio/ai-skills/email-accessibility/github.svg)](https://agentmods.dev/skills/customerio/ai-skills/email-accessibility)
Your own site
<a href="https://agentmods.dev/skills/customerio/ai-skills/email-accessibility"><img src="https://agentmods.dev/badge/skills/customerio/ai-skills/email-accessibility/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-accessibility-checker

Your own site · 80×15
<a href="https://agentmods.dev/skills/customerio/ai-skills/email-accessibility"><img src="https://agentmods.dev/badge/skills/customerio/ai-skills/email-accessibility.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 137 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,149 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.00137 $0.04149
Opus 5 $0.00068 $0.02074
Sonnet 5 $0.00027 $0.00830
Haiku 4.5 $0.00014 $0.00415

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

Security

Grade A, and why

email-accessibility-checker 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.

skills/email-accessibility/SKILL.md · 202 lines

How it starts

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

Email Accessibility Checker

Analyze email HTML for accessibility issues. Combines mechanical rule-based checks with judgment-based analysis to catch issues that rules alone miss.

Token efficiency: Only report issues found. Do not list passing checks or clean elements. If the email is long, prioritize critical and serious issues first.

Severity must reflect impact, not fix complexity. Assign severity based on how much the issue affects people using assistive technology — not how easy it is to fix. A finding described as "invisible", "unreadable", or "critically low contrast" must never be assigned mild or moderate. If the language you use to describe the problem contradicts the severity label, the label is wrong.

Workflow

Step 1: Get the HTML

Obtain the final email HTML to analyze. This may be provided directly by the user, read from a file, or fetched from an API.

Before scanning: Rendered HTML often splits element attributes across multiple lines. Before running any checks, flatten the HTML so each opening tag is a single logical line — attributes on continuation lines will be silently missed by line-by-line grep patterns. When using shell tools, collapse newlines within tags before grepping (e.g. tr '\n' ' ' then sed 's/ */ /g'). When analyzing directly, always read the complete opening tag and its full text content before evaluating.

Step 2: Rule-based checks

Scan the HTML for these mechanical pass/fail issues. Severities: critical > serious > moderate > mild.

Document structure
Severity Rule Details
serious <html> must have a valid lang attribute e.g. lang="en". Check the value is a valid BCP 47 language tag. lang="und" (undetermined) is valid and not a failure — but recommend setting a specific language for better screen reader pronunciation.
serious Body content wrappers must have lang and dir Email clients often strip <html>, so direct children of <body> (excluding empty elements, <style>, <script>, and <img alt="">) need their own lang and dir attributes. If lang and dir are present but set to generic values (lang="und", dir="auto"), do not flag as a failure — instead note as a recommendation (mild) to set specific values for better assistive technology support.
serious dir must be ltr, rtl, or auto Flag any other value. dir="auto" is valid — recommend setting an explicit direction only as a mild improvement.
serious Document should have a <title> element if the email has a view in browser link Title is used for navigation on hosted version of the email.
critical <meta name="viewport"> must not disable zoom Flag maximum-scale=1, user-scalable=no, or user-scalable=0.

Read the full file on GitHub · 202 lines

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 · 202 lines · 137 tokens per session scan A 1e23b16e88ed

Subscribe to this mod's changes

email-accessibility-checker is a skill published in the GitHub repository customerio/ai-skills (2 stars, last pushed 27d ago), licensed MIT. It adds 137 tokens to every session and 4,149 once invoked, about $0.0007 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-08-31.

Related

Other skills, from other repositories

webgl-holographic-foil

A self-contained WebGL2 hero: thin-film interference over a crushed-foil surface whose palette shifts with the viewing angle; move the cursor to tilt the film.

nexu-io/open-design · 41 tokens

html-ppt-hermes-cyber-terminal

OpenDesign + BYOK: choosing and wiring your own model, hands-on — cost, quality, and the routing decision. Built as a decision-grade AI literacy deck for engineers, IT, applied-AI teams.

nexu-io/open-design · 53 tokens

html-ppt-taste-brutalist

16:9 HTML deck in tactical-telemetry / CRT-terminal taste. Deactivated-CRT charcoal slides, white-phosphor monospace, hazard-red accent, scanline overlay, ASCII syntax, density over decoration. Distilled from Leonxlnx/taste-skill brutalist-skill (Tactical Telemetry mode).

nexu-io/open-design · 78 tokens

visual-ralph

Visual Ralph orchestration for frontend UI from generated references, static references, or live URL targets, using $ralph with built-in visual verdict and pixel-diff evidence until the implementation matches and leaves a reproducible design system.

Yeachan-Heo/oh-my-codex · 50 tokens

accessibility

Consolidated accessibility skill entrypoint for WCAG 2.2, ARIA Authoring Practices, cognitive accessibility, Section 508, EN 301 549, design intent verification, and the Accessibility Planner workflow.

microsoft/hve-core · 47 tokens

make-resume

A Chinese-language tool for creating editable HTML resumes that can be changed in a browser and printed to PDF. It uses available resume templates when they are installed and otherwise provides a simpler fallback.

Hisn00w/ASu-skills · 86 tokens