Nutlope's Hallmark is a 48-theme anti-slop design skill at 30,814 stars
Hassan El Mghari's Hallmark, made by Together AI, is a design skill for Claude Code, Cursor and Codex that builds pages from one of forty-eight themes and lints the result against the patterns that read as machine-made.
Image: GitHub
Why it mattersAn opinionated skill with a browser linter is a different answer to AI design slop than a prompt library, because it blocks the output before a human has to review it.
An AI model will give you a page that looks like every other AI page, and most teams ship it anyway because catching the pattern is tedious work nobody has time for. Nutlope's Hallmark, made by Together AI and sitting at 30,814 stars with 23rd place on Trendshift's daily list, is a design skill for Claude Code, Codex, Cursor and OpenCode that aims to end that pattern by running the checks itself.
The project was created by Hassan El Mghari on 27 April 2026 and pushed on 22 October 2026, under an MIT licence. It ships as an installable skill, invoked with /hallmark <prompt> inside any of the four agents, and designs a page from one of forty-eight themes before running a lint pass in a real browser.
What the skill actually does
A theme in Hallmark is a material: paper, type, colour, surfaces, its own components and texture, with a picture of a finished page beside it. The theme file says nothing about what the page contains or in what order, so two prompts on one theme make two different pages. The build reads exactly one theme file, no more than 8 KB each. The anatomy of the page is dealt from its job: a booking page books, a shop sells, a newsletter subscribes, and the action sits where the category puts it, inside the first screen.
A separate custom mode drops the themes and designs from the prompt alone, under the same gates. A redesign command takes an existing page and rebuilds it while keeping the content and the wiring; audit only reports.
The lint pass is the point
scripts/sloplint.mjs --render opens the page at eight widths in a real browser and fails it on the tells the README names in order: an eyebrow above every heading, tracked-capital labels, one coloured word in a headline, a page of empty frames or nothing but photographs, a hero that misses its screen, an email sign-up at the end of every page, and a form that says thanks without sending anything. A fresh-context subagent reviews the page after the automated gates pass.
Hallmark splits its rules into three tiers. The Floor never ships: contrast, focus, reduced motion, invented facts, a broken phone layout. Reflex gates are the defaults a model falls into, which a build with a reason may overrule on the record. Finish checks are craft detail that never blocks a ship.
Photographs come from Wikimedia Commons, not Unsplash
The photo library lists 755 openly licensed photographs hosted on Wikimedia Commons, each kept under its own CC0, public domain, CC BY or CC BY-SA licence, with the credit printed on the page. The README says it skips Unsplash, Pexels and Pixabay because their terms now bar AI tools from picking their images.
Why a linter beats a prompt library
A rule list in a system prompt is advice the model may or may not follow on a given generation. A browser pass that opens the page, measures the layout, and fails on named patterns is a check that fires every time, which is the shape worth keeping in any agent workflow where the output is a user-facing surface. That is the specific reason to pick Hallmark over one more opinionated prompt, and the one to copy if you build your own.
Source
This item was written by an AI system from the linked source. Reveneau is responsible for what it publishes.
Get AI News in your inbox
New developer tools, model and agent releases, and how teams are actually using them to release software. Short, and only when there is something worth reading.
