Oleksandr Kuzmenko, EditorPublished 6 min readAI-assisted · editor-reviewed
TL;DR
- Hallmark prevents generic AI interface clichés across Claude Code, Codex, Cursor, and OpenCode.
- Tiered gates prevent invalid builds by auditing mobile layouts, contrast, focus, and invented facts.
- Redesign mode snapshots interactive elements to guarantee zero lost functionality during restyling.
Key facts
- Built-in Themes
- 50 materials (<= 8 KB each)
- Render Test Widths
- 8 distinct viewport sizes
- Photo Catalog
- 755 open-licensed Wikimedia Commons images
- Minimum Environment
- Node.js 18+ with Chrome
Eliminating AI Design Tells
Frontier coding agents produce competent markup but frequently repeat visual tells: eyebrow tags above every title, colored words in headlines, and trailing email sign-up boxes on unrelated pages. Hallmark enforces layout rules that discard these defaults. Rather than hallucinating content, its pre-flight phase inspects local fonts, frameworks, and design tokens, pulling assets from a verified database of 755 openly licensed Wikimedia Commons photos instead of restricted stock platforms.
Multi-Tier Gates and Browser Linting
Hallmark inspects output through three distinct gate stages:
- The Floor: Non-negotiable checks that never ship if contrast, focus, reduced motion, invented facts, or phone layouts fail.
- Reflex Gates: Targets predictable defaults models fall into; builds with a documented reason may explicitly overrule them on the record.
- Finish Checks: Polishes typography, surface treatments, and micro-spacing without halting compilation.
Running node skills/hallmark/scripts/sloplint.mjs <file> --render executes Puppeteer against eight viewport sizes, after which a clean-context subagent audits the rendered viewports.
Non-Destructive Refactoring
When modernizing existing interfaces, /hallmark redesign <path> ensures functionality remains intact. The system runs sloplint --before to snapshot every link, input, and interactive handler. If any interactive element is dropped during the restyle, sloplint --kept fails the build, presenting a side-by-side diff before handoff.
Try it in 2 minutes
npx skills add nutlope/hallmark -g --agent claude-code
node skills/hallmark/scripts/sloplint.mjs ./index.html --renderWhen to use
- When scaffolding new frontend pages using AI coding agents while avoiding repetitive tropes.
- When refactoring existing web pages without breaking interactive links, forms, and handlers.
When NOT to use
- When building headless APIs or non-web applications without visual frontend components.
What to do today
- Install Hallmark via `npx skills add nutlope/hallmark -g --agent claude-code` or corresponding IDE flags.
- Run `sloplint.mjs --render` against your web pages to catch layout and accessibility issues across eight screen widths.
Step names are taken from What to do today.
Step names are taken from What to do today. Install Hallmark via `npx skills add nutlope/hallmark -g --agent claude-code` or corresponding IDE flags.. Run `sloplint.mjs --render` against your web pages to catch layout and accessibility issues across eight screen widths.
- Install Hallmark via `npx skills add nutlope/hallmark -g --agent claude-code` or corresponding IDE flags.
- Run `sloplint.mjs --render` against your web pages to catch layout and accessibility issues across eight screen widths.
