design-system-consistency
Use when judging whether a RENDERED surface obeys its own design system — screenshots or a live page plus the computed styles behind them — as the drift lens…
Skill by thrillmade
Chalk Labs
Need help deploying design-system-consistency?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/thrillmade-design-system-consistency
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, frontend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/design-system-consistency
What's inside
- Skill name
design-system-consistency- Description
- Use when judging whether a RENDERED surface obeys its own design system — screenshots or a live page plus the computed styles behind them — as the drift lens of a design review. Owns: establishing what the system actually declares before judging anything, off-token and right-value-wrong-role values, off-scale spacing and type, hand-rolled re-implementations of system components, and whether a mode (dark, forced-colors, density, a second brand) has a token path at all. Judges drift, not correctness of the scales themselves — those live in spacing-system, type-scale, line-height-grid, token-naming-conventions, component-sizing-principles. Cite when a review calls a value wrong with no system on disk to be wrong against, or passes a hardcoded value because it happens to equal the token.
- License
- MIT
- Instructions
- 134 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Design-system consistency The drift lens on the **rendered** surface: does what shipped obey *this* system. Drift is a relation, so it needs both things on disk — the render, and the system it should match. Without the second there is no drift, only preference, and saying so is the finding. ## When to use - Judging a rendered surface against the project's tokens, scales and declared stance. - A PR adds or restyles UI in a codebase that already has a token layer. - Auditing a surface that "looks right" for values that bypass the system. ## When NOT to use - **No system on disk.** File one finding — the system is undeclared — and stop. Per-value opinions against nothing are taste wearing a uniform. - **Designing the scale rather than judging against it** — [spacing-system](../spacing-system/SKILL.md), [type-scale](../type-scale/SKILL.md) and [token-naming-conventions](../token-naming-conventions/SKILL.md) own what a well-formed scale *is*. - **On-system but badly executed** — [visual-polish](../visual-polish/SKILL.md). Two legal steps that read identically are a craft finding, not drift. - **The pairing fails a contrast or target threshold** — [frontend-a11y](../frontend-a11y/SKILL.md). Token-correct and inaccessible is a real state, and theirs. ## Establish the reference before judging 1. **Find the token source and name it in the review** — DTCG JSON ([dtcg-format](../dtcg-format/SKILL.md)), custom properties on `:root` and the theme selectors, a Tailwind theme, a `theme.ts`. Read the computed style on the rendered node, not only the diff: that is where an inherited or overridden value shows. 2. **Find the declared stance** — which hue is reserved for destructive or critical, which dimension varies within a role, which density mode is in force. [designing-elite-ui](../designing-elite-ui/SKILL.md) describes a well-formed stance: one role, one meaning, one variation axis. **Read the stance; do not supply one.** Where a system never wrote one down, that is the finding, filed once — not one finding per hue you would have picked differently. 3. **Find a known-good sibling surface** and compare against it. A Figma frame is a proposal; the tokens on disk are the system, and where the two disagree that is itself the finding. ## What drift looks like on a render 1. **Off-token value.** A literal colour, spacing, radius, shadow or font-size where a role token exists. Recognise it in the computed style (a hex or px with no custom property behind it), in arbitrary utilities (`bg-[#f5f5f5]`, `p-[13px]`), and in inline `style`. The render is identical today and diverges at the first theme, density or brand change. Fix: name the token whose **role** matches, not the one whose value does. 2. **Right value, wrong role.** A border token used for text, a surface token on a fill that must invert. It looks correct until a mode flips and one element moves the wrong way. [token-naming-conventions](../token-naming-conventions/SKILL.md) owns the role families and the chain shapes a component token may take. 3. **Off-scale spacing and sizing.** A gap or height that is not a step — recognisable as sibling controls sitting a hair apart, or a value that is *nearly* a step. [spacing-system](../spacing-system/SKILL.md) owns the steps; [component-sizing-principles](../component-sizing-principles/SKILL.md) owns the rungs and the rule that siblings share one. Fix: the nearest legal step, named. 4. **Type ramp drift.** A size, weight or line-height off the ramp, or one semantic level rendered at two sizes in a single view — measure two same-level headings in the capture. [type-scale](../type-scale/SKILL.md) owns the ratio and rounding; [line-height-grid](../line-height-grid/SKILL.md) owns the UI-versus-prose tracks. 5. **Colour discipline — observe, then judge.** Hold the surface to the system's stance, not yours. Three things are universal: one role does not carry two meanings; a hue reserved for destructive or critical is not spent on decoration; an accent in no palette is drift even when it is pretty. Cite the construction skills when proposing a replacement — [oklch-color-space](../oklch-color-space/SKILL.md), [palette-relationships](../palette-relationships/SKILL.md), [chroma-harmonization](../chroma-harmonization/SKILL.md). 6. **Re-implementation.** A hand-rolled button, card or input where a system component exists — visible on the render as subtly different padding, radius, hover or focus ring from its siblings. Fix: the component, not corrected values. ## Every mode needs a token path Light and dark are both primary and not the whole axis: forced-colors, an increased-contrast preference, each density mode and any second brand are modes too. The test is not "does dark look right" but **is there a path** — a mode-aware token every surface resolves through. A theme written as a `.dark` block of literal values renders correctly in two modes and has nowhere to put the third. ## Silent failures - **A hardcoded value that equals its token.** Pixel-identical render, every check green, and it stops tracking the token at the next release. The screenshot never shows this; the computed style does. - **A component token pointing straight at a primitive.** Skips the semantic layer, renders correctly, cannot be re-themed — [token-naming-conventions](../token-naming-conventions/SKILL.md). - **A new token invented for a one-off.** On-system by construction, so nothing flags it, and the catalog grows a synonym for a role it had. Check for an existing role first; [semver-design-tokens](../semver-design-tokens/SKILL.md) owns what adding one costs. ## Verification 1. The review names the token source it judged against and quotes a computed value, not only a screenshot impression; every drift finding names the token that restores it, chosen by role rather than by matching value. 2. Colour findings quote the declared stance or state that none is declared. No finding prescribes a hue this lens preferred. 3. Findings belonging to the scale-owning skills, to [visual-polish](../visual-polish/SKILL.md) or to [frontend-a11y](../frontend-a11y/SKILL.md) were routed, not re-argued here. 4. Each mode the system claims to support was checked for a token *path*, not just for looking right in the two captured themes. 5. A token-clean surface gets one line saying so, naming what it was checked against. ## Sources - [W3C Design Tokens Format Module](https://tr.designtokens.org/format/) — what a token file declares and what an alias is; the catalog's reading is [dtcg-format](../dtcg-format/SKILL.md). - **House convention, not a standard:** establish the reference before judging; "no declared stance" is one finding, not many; a mode needs a path, not a screenshot. ## Cross-references - **REQUIRED BACKGROUND:** [token-naming-conventions](../token-naming-conventions/SKILL.md) — role families and chain shapes, without which "wrong role" cannot be argued; and
From thrillmade/agent-skills, MIT.
More from thrillmade/agent-skills
- 0.557score
design-token-naming
thrillmade
SUPERSEDED by `token-naming-conventions` (L0) + `udts-naming-convention` (L2, incubating) — see the design-catalog section of the README; kept unchanged…
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
api-contract-enforcement
thrillmade
Flag PRs that change the shape, semantics, or error behavior of a public API without versioning, deprecation, or migration notes.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
brand-voice-review
thrillmade
Review user-facing strings for brand-voice consistency.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
chroma-harmonization
thrillmade
Use when constructing or auditing a multi-hue palette where all hues should appear equally saturated at each contrast stop.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
component-sizing
thrillmade
SUPERSEDED by `component-sizing-principles` (L0) + `udts-component-sizing-ladders` (L2, incubating) — see the design-catalog section of the README; kept…
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
component-sizing-principles
thrillmade
Use when picking a control height (button / input / chip / badge), proposing a component-height or icon-size ladder for a density mode, or auditing one-off…
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
consuming-a-design-system
thrillmade
Entry-point dispatcher for CONSUMING a design system in a product — installing its tokens, wiring CSS variables, theming, upgrading across token releases, or…
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
designing-a-design-system
thrillmade
Entry-point dispatcher for BUILDING or EXTENDING a design system — creating a token architecture, color system, type scale, spacing system, or…
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
skill-frontmatter-quality
thrillmade
Review SKILL.md frontmatter for trigger surface, specificity, voice, and completeness.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
apca-contrast
thrillmade
Use when picking text-on-surface contrast, auditing an accessibility budget, or generating a color against a specific contrast target.
SkillBFreshness: B★ 2Claude Code +9 - 0.554score
conventions-template
thrillmade
Template for a "review like me" skill - captures one maintainer's review conventions (formatting, what to flag, what to ignore).
SkillBFreshness: B★ 2Claude Code +9 - 0.553score
curating-a-skill-catalog
thrillmade
Use when judging whether a skill earns its place — running or reviewing a skill census cycle, triaging…
SkillBFreshness: B★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 40
- Last commit (this folder)
- Aug 23, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/thrillmade/agent-skills
- Website
- logmind.dev
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from thrillmade
- 0.557score
api-contract-enforcement
thrillmade
Flag PRs that change the shape, semantics, or error behavior of a public API without versioning, deprecation, or migration notes.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
brand-voice-review
thrillmade
Review user-facing strings for brand-voice consistency.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
design-token-naming
thrillmade
SUPERSEDED by `token-naming-conventions` (L0) + `udts-naming-convention` (L2, incubating) — see the design-catalog section of the README; kept unchanged…
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
skill-frontmatter-quality
thrillmade
Review SKILL.md frontmatter for trigger surface, specificity, voice, and completeness.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
apca-contrast
thrillmade
Use when picking text-on-surface contrast, auditing an accessibility budget, or generating a color against a specific contrast target.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
chroma-harmonization
thrillmade
Use when constructing or auditing a multi-hue palette where all hues should appear equally saturated at each contrast stop.
SkillBFreshness: B★ 2Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get design-system-consistency running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
design-system-consistency skill. Agent Mart. https://agentmart.dev/skills/thrillmade-design-system-consistency (last updated 2026-10-24)