design-newsletter-header — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited design-newsletter-header (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Produces a 600×200 pixel-exact HTML canvas for use as a newsletter email header. The canvas is small — typography choices must be ruthless. Display sizes top out around 36–48px; meta around 11–14px. The artifact is meant to be screenshot to PNG and embedded as <img> in the email — the email client never sees raw HTML, so font and CSS quirks don't matter for delivery.
DESIGN.md exists for the brand./design/<brand-slug>/artifacts/newsletter-header-YYYY-MM-DD-<slug>.html
test -f ./design/<brand-slug>/tokens.cssIf missing, stop and tell the user to run /design-system <brand-slug> first.
Ask in one message:
1. Header text — the masthead string (max 6 words)
2. Optional issue number / dateline (e.g. "Issue 003 · 2026.05.02")
3. Optional tagline / subtitle (max 6 words)If the user gives 8+ words, push back: "600×200 won't hold that legibly. Cut to the masthead + meta." Don't proceed until they agree.
Pick ONE. Newsletter headers favor restraint — pick the simplest archetype that carries the brand register:
chrome-led — masthead title + meta strip (issue / date). The classic newsletter header pattern; brand-earned for editorial titles.type-only — title alone at maximum scale; no meta at all.inverse-text — full canvas dark inversion (canonical v2 feature treatment) — masthead in cream on ink.object-of-content — looks like a printed masthead from a magazine/quarterly cover.Then pick:
symmetric | asymmetric | full-bleed | splitmonochrome | single-accent | invertedCross-artifact rule: vary from the brand's most recent header (issue 002 vs issue 003 should not be visually identical).
Template:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title><Brand> — Newsletter header — <issue></title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=<families>&display=swap">
<style>
/* Inline tokens (no external CSS — though Google Fonts <link> is allowed since it's a font, not CSS) */
<minimal subset of tokens.css needed for this artifact>
html, body { margin: 0; padding: 0; background: #2a2a2a; min-height: 100vh; display: grid; place-items: center; font-family: var(--type-sans-family); }
.canvas {
width: 600px;
height: 200px;
background: var(--color-surface); /* or --color-ink for inversion */
color: var(--color-ink);
position: relative;
overflow: hidden;
padding: 24px 32px;
box-sizing: border-box;
display: flex;
flex-direction: column;
/* Layout per variation */
}
@page { size: 600px 200px; margin: 0; }
</style>
</head>
<body>
<!--
Variation choices:
archetype: <picked>
layout: <picked>
color: <picked>
-->
<article class="canvas">
<!-- masthead content per archetype -->
</article>
</body>
</html>For the masthead itself:
Newsletter header at ./design/<brand-slug>/artifacts/newsletter-header-YYYY-MM-DD-<slug>.html.>
Variation:<archetype>×<layout>×<color>.
>
Export PNG: open in browser → DevTools → set viewport to 600×200 → screenshot the.canvaselement. Embed the PNG as<img>in your email at full resolution (the email client renders the image directly, no font/CSS dependencies).
Governed by three shared canonical references — read them, do not restate them:
Forbidden (fast scan — the references hold the full list):
hsl(230–280) family on a near-white surface. The single loudest AI tell.Required variation (every invocation):
Authenticity: prefer specific over generic everywhere — real datelines (not "today"), the brand's actual voice (not "build the future" filler), concrete CTAs over placeholders.
var(--*) from the embedded tokens. Only literal pixel values allowed: 1px for hairlines and the canvas dimensions.../../design-anti-patterns.md (the hard floor — wins every conflict), ../../design-principles.md (the craft floor), and ../../design-variation-sop.md (direction roster + offer-3 procedure). The anti-patterns file is the canonical anti-tell list. If you find a new tell in the output, add it there.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.