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.
npx skills add customerio/ai-skills --skill email-accessibilitygit clone --depth 1 https://github.com/customerio/ai-skillsWrote 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.
[](https://agentmods.dev/skills/customerio/ai-skills/email-accessibility)<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.
<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>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.
| Model | Per session | Once 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 |
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.
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. |
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.
- 9d ago First seen · 202 lines · 137 tokens per session scan A 1e23b16e88ed
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.
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.
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.
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).
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.
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.
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.