YoussefandClaude Opus 4.7 d990a2bfaf Per-theme component shape tokens; Sport + Salon polish
Previously every theme had the same hairline-square component voice.
Now each theme picks its own radius / border weight / shadow profile,
chosen to match the theme's brief — editorial / brutalist / technical
themes stay square (the rule is the design); soft / modern themes get
measured radius (Pastel 12px is the most rounded — it's the post-Linear
theme); brutalist themes get heavier 2px borders.

Added four tokens to :root defaults: --radius-card, --radius-pill,
--radius-input, --rule-card, --shadow-card. Per-theme overrides at
the bottom of tokens.css give each theme its own shape voice without
touching colour or typography. Discipline maintained: nothing rounded
"for fun" — every choice maps to the theme's voice.

Token application in components.css: .code blocks pick up
--radius-input + --shadow-card, .tell cards pick up --rule-card +
--radius-card + --shadow-card, .btn picks up --radius-pill,
.banner__random picks up --radius-pill, .hero__mock keeps a
floor of 8px (browser-frame mockups always look slightly rounded).

Sport section title fix: the bold italic uppercase + tight tracking
+ weight 700 produced cramped, almost-touching letterforms. Loosened
tracking (-0.04em → -0.005em) just for section titles, bumped
line-height to 1.12, added 0.15em padding-inline-end for italic-slant
overhang, increased max-width to 26ch, and added word-spacing slack.
Sport's .spec__name and .tell__name also get tracking 0 so the
gallery cards read cleanly.

Salon section heads: tightened the eyebrow→title gap, gave the title
a comfortable 32ch measure, and made the fleuron ❦ divider read as
intentional spacing (margin-block-start, lower opacity, accent colour)
rather than a stray glyph.

Newsprint prose blocks (lede, captions, step subs, foot credits/tagline)
get text-align: justify + hyphens: auto. Long-form newspaper rhythm
without disturbing headlines.

Brutal + Manifesto get 1.5px borders on .code and .install__body,
plus border-color: var(--color-ink) on the install body — the heavier
ink lines suit the brutalist voice. Manifesto inherits from .code's
--rule-card token (set to 2px on Brutal/Manifesto in tokens.css).

Verified across Sport, Salon, Pastel, Quiet, Brutal, Newsprint,
Studio, and Garden — each theme now has a distinct component
shape voice in addition to its colour + typography voice.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-30 10:26:22 +01:00
2026-04-27 21:46:57 +01:00
2026-04-27 21:46:57 +01:00
2026-04-27 21:46:57 +01:00

Hallmark

A design skill for AI coding assistants. Makes the UIs they generate look made, not generated.

Powered by Together AI.


What it is

A single, opinionated skill that gives Claude Code, Cursor, and Codex a firm rule-set for typography, colour, layout, motion, microinteractions, copy, responsive behaviour, and structural variety. It refuses to emit the on-distribution defaults every LLM was trained into.

The differentiator: Hallmark insists on structural variety, not just visual variety. Two pages from two briefs should not share the same hero → 3-feature → CTA → footer rhythm. They should feel like different sites.


Five verbs

Verb What it does
(default) Build new UI. Asks for audience + use case + tone (skippable — the skill states what it inferred either way), picks a macrostructure, applies the rule-set, runs the slop test before handing back.
hallmark audit <target> Score existing code against the named anti-patterns + structural sameness. Punch list, no edits.
hallmark refine <target> Polish in place. Smallest possible diff. Preserves structure.
hallmark redesign <target> [--mood <name>] Throw out the structure, keep copy + IA + brand, rebuild with a deliberately different fingerprint.
hallmark study <screenshot> Extract the DNA from a design the user admires — macrostructure, archetypes, type-pairing role, colour anchor — and produce a diagnosis report. Optionally rebuild the user's content using the extracted DNA. Refuses paid templates and competitor pages. Names font roles, never font IDs. Never copies pixels.

What's inside

  • SKILL.md — the routing file. Design flow, slop test (33 questions), output contract.
  • references/ — sixteen short, opinionated rule files: typography, colour, layout, motion, microinteractions, interaction-and-states, responsive, copy, anti-patterns, the 21 named macrostructures, the 36 component archetypes with variation knobs, the 6 primitive structure axes, the vision-extraction protocol for study, and three new files for hero work — hero-enrichment.md (when to add visuals to a hero, plus eight enrichment archetypes), custom-craft.md (how to hand-build CSS art, SVG, declarative animation, JS-driven motion, with Lottie demoted to last resort), and assets.md (sourcing canon for icons, brand logos, generated illustration via Nanobanana / Recraft, library illustration, app mockups, hero video, photography, abstract backgrounds).
  • site/ — a self-demonstrating landing page. Hand-written HTML + CSS + ES module, no framework, no build step. Sixteen themes — Specimen, Newsprint, Atelier, Garden, Salon, Linen, Almanac, Midnight, Terminal, Brutal, Manifesto, Sport, Studio, Pastel, Riso, Quiet — that swap not just colour and typography but the page's hero archetype and footer archetype. Switching themes literally rebuilds the page.
  • ROADMAP.md — Tier 1, 2, 3 work plus an explicit "things to not do" list.

Install

npx skills add hallmark

Or copy skill/ into ~/.claude/skills/hallmark/ (Claude Code) or .cursor/rules/hallmark.mdc (Cursor — body of SKILL.md, no frontmatter).

To preview the landing page:

cd site && python3 -m http.server 4173    # → http://localhost:4173

Press T to cycle themes, R for random, ?theme=studio for a shareable link.


What's distinct

  • One skill, five verbs. Not eighteen commands.
  • Tone is a first-class decision. "Clean and modern" is rejected. Pick an extreme.
  • Macrostructures over axes. Pick one of 21 named whole-page shapes wholesale; the macrostructure stamp lives in the CSS comment, so the next Hallmark run picks something different.
  • Within-archetype variation. Two Bento Grids should not be twins; each archetype has 23 picked-per-output knobs.
  • Microinteractions as discipline. Silent success over celebratory toasts. Optimistic update + Undo over confirm dialogs. Hover delay 800 ms, focus delay 0 ms.
  • A 33-gate slop test runs before every output. One yes fails the build.
  • Hero enrichment is opt-in, not a default. A typographic-only hero is always acceptable. When enrichment is right, the skill picks from a six-tier hierarchy: typography only → custom-built CSS art → hand-built SVG → generated illustration (Nanobanana / Recraft) → library + customise → Lottie (last resort).
  • study extracts DNA, not pixels. Vision-extraction with refusal heuristics, type-role vocabulary (no font ID guessing), and a confirmation step before any code.

Credits

Built on the open work of:

  • Paul Bakaus' impeccable — the named-tells canon
  • tw93's kami — the slop-test concept and 20-question scoring
  • Leonxlnx's taste-skill — taste vocabulary and the audit verb
  • Anthropic's frontend-design and canvas-design skills — the design-context-gate pattern
  • Google Stitch's DESIGN.md — single-source design docs
  • Marie Claire Dean's 63 design skills for Claude — coverage map
  • Steve Barclay's PencilPlaybook — the design-language playbook format
  • The Slopless tactile-rebellion canon — the 2026 anti-AI-perfect movement (informed Studio, Pastel, Riso)
  • Anthropic's Skill Engineering writeup — file budgets, load-on-demand patterns, frontmatter shape

Where rules overlapped, Hallmark adopted; where they diverged, Hallmark picked.


Licence

MIT. Use it, fork it, ship it.

S
Description
No description provided
Readme MIT
97 MiB
Languages
CSS 58.4%
HTML 35.1%
JavaScript 6.5%