design-system
Skill3 starsChanged 33 days agoMITView on GitHub
Use when a task creates, changes, reviews or audits user interface and needs to know which design rules bind it — implement-feature before a UI phase, gate-builder looking for the source of a design-system gate, qa-preflight needing the values to measure, or a person asking to write a project's design-system doc or to audit a screen against one. Stack-agnostic. The project's own tracked design-system doc always wins; with none, a bundled Material 3 baseline guides new UI. Never invents a project rule and never edits production code.
192 other projects use a version of this.
Adopted by
Most recently taken up by
- Rojios/everything-claude-codetheir own version, first seen Nov 8, 2026
- caidanw/skillstheir own version, first seen Nov 8, 2026
- Adelie-Squad/solosquadtheir own version, first seen Nov 8, 2026
- darkweb19/skillstheir own version, first seen Nov 8, 2026
- dmoreq/agent-grimoiretheir own version, first seen Nov 8, 2026
- ahmadvahidi/skill-atlastheir own version, first seen Nov 8, 2026
Used with
Projects with it also use setup-engine, team-level and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
CoralGameSkillsetup-engine
Configure the project's game engine and version. Pins the engine in CLAUDE.md, detects knowledge gaps, and populates engine reference docs via WebSearch when the version is beyond the LLM's training data.
Also in 13 projects that use this
CoralGameSkillteam-level
Orchestrate level design team: level-designer + narrative-director + world-builder + art-director + systems-designer + qa-tester for complete area/level creation.
Also in 12 projects that use this
lilangMaxSkillcreate-stories
Break a single epic into implementable story files. Reads the epic, its GDD, governing ADRs, and control manifest. Each story embeds its GDD requirement TR-ID, ADR guidance, acceptance criteria, story type, and test evidence path. Run after /create-epics for each epic.
Also in 11 projects that use this
lilangMaxSkillstory-done
End-of-story completion review. Reads the story file, verifies each acceptance criterion against the implementation, checks for GDD/ADR deviations, prompts code review, updates story status to Complete, and surfaces the next ready story from the sprint.
Also in 11 projects that use this
- +2 more from CoralGame
- +6 more from lilangMax
Other versions192 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 192
- nextlevelbuilder/ui-ux-pro-max-skill★ 147ksame name
- getsentry/sentry★ 46ksame name
- anthropics/knowledge-work-plugins★ 35ksame name
- Donchitos/Claude-Code-Game-Studios★ 27ksame name
- ethereum/ethereum-org-website★ 6ksame name
- langwatch/langwatch★ 5ksame name
- joye61/pic-smaller★ 2.9ksame name
- daveebbelaar/bama★ 1.7ksame name
- reatom/reatom★ 1.4ksame name
- microsoft/power-platform-skills★ 1.1ksame name
182 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository19 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- architecture-analyzerSkill
- coupling-mapSkill
- deep-analyzerSkill
- e2e-test-validatorSkill
- e2e-test-writerSkill
- evaluatorSkill
- fix-runnerSkill
- gate-builderSkill
- handoff-writerSkill
- implement-featureSkill
- integration-test-validatorSkill
- integration-test-writerSkill
- playwright-cliSkill
- prd-writerSkill
- qa-preflightSkill
- spec-writerSkill
- unit-test-validatorSkill
- unit-test-writerSkill
The file
We split this skill into the rules it gives an agent
11 rules. 0 are common, 7 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 175 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 93
Read only what the UI at hand needs: a form reads forms, states and density.
- Very specific: line 104
Verify per references/measuring.md: rendered, in every theme the project ships, with the numeric rules read as computed values.
- Very specific: line 119
No UI yet: use references/design-direction.md — the subject, the audience, the tone — and decide what the system leaves free: source color, …
- Distinctive: line 162
Keep machine-checkable rules apart from judgement rules in the doc, and binding findings apart from suggestions in every report.
- Distinctive: line 164
Read numeric rules as computed values on the rendered screen, in every theme the project ships.
- Distinctive: line 169
Use the baseline as the source of a gate, or report a baseline rule as a defect — the accessibility floors excepted.
- Very specific: line 172
Write gate infrastructure (that is gate-builder's) or edit production code.
- Distinctive: line 175
Write or overwrite a doc nobody asked for.
- Very specific: line 184
The only doc is untracked: use it for this run, state that it is local, and recommend committing it, or moving it to a tracked path.
- Distinctive: line 190
The project ships two themes and the doc describes one: verify both anyway, and report the doc's silence as a gap.
- Distinctive: line 197
Do not migrate tokens or components as a side effect of another task.
“Common” is measured: kept by at least 6 in 10 of the 175 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Design System
One answer to "which design rules apply to this UI?", for every skill and person that asks.
The baseline guides; the project's doc binds. A rule is the project's only when the project wrote it down in a tracked document. Everything this skill bundles is guidance for UI that is being written — never a gate, and never a defect by itself.
References, loaded on demand, all of which travel with this skill:
references/material-3.md(the default baseline: color roles, type scale, shape, state, motion, layout),references/interface-rules.md(interaction and accessibility rules, each tagged[gate]or[review]),references/design-direction.md(the brand layer and interface writing, for what a system leaves free),references/measuring.md(auditing by measured value) andreferences/design-system-template.md(the shape of a project's own doc).Rationale — why this skill exists and what it took from where:
https://github.com/dayvisonassis/sdd-skills/blob/main/docs/Skill_Design_System.md. That file is not part of an installed copy; everything needed to run is in this folder.
INPUT
mode—apply(default: UI is about to be written, or another skill dispatched this one),authororaudit.- The target: the files, surfaces or routes concerned (
apply,audit); nothing forauthor. - Auto-discovers:
GATES.md, the project's design-system doc, and the UI library from the project's manifest.
OUTPUT
- Always, first: the resolution line — which source binds and why. One of:
design system: <path>·design system: <path> (untracked — local to this machine)·baseline: Material 3 — the project declares no design system·library conventions: <library> — Material 3 does not apply. apply— the rules for the UI at hand, gated ones first, and the verification to run.author— the project's design-system doc, written from the template at a tracked path.audit— a findings report. No file is edited.
Step 1 — Resolve the source (every mode, before anything else)
This is the one definition. implement-feature, gate-builder and qa-preflight refer to
it and do not restate it.
- The path
GATES.mdnames in its design-system section. - Otherwise a tracked doc at a conventional path:
docs/design-system.md,DESIGN.md,docs/**/design*.md,docs/**/ui*.md, a.cursor/rules/*.mdcthat describes UI standards, a tokens or Storybook doc. - Otherwise none: the bundled baseline applies, as the table below says.
"Tracked" means git ls-files lists it. A doc that lives only in an ignored or untracked folder
— a skills folder, or a doc never committed — is local to this machine: use it for this run, say
that it is not shared, and never let a gate point at it.
Which part of the baseline applies — when there is no doc, and for whatever a doc is silent on:
| The project's UI | Baseline that applies |
| A Material 3 implementation, or no UI library chosen yet | material-3.md + interface-rules.md |
| Another component library or design language (Bootstrap, Ant, Fluent, a utility-class kit, a custom one) | that library's own conventions + interface-rules.md. material-3.md does not apply |
| Not web (native mobile, desktop) | material-3.md on a Material platform; of interface-rules.md, only the rules that do not name a web technology |
A library's conventions are read from the installed package, or its documentation for that version. With neither at hand, follow the patterns the project's code already uses, and list the library's conventions as not verified.
Precedence: the project's doc → the UI library's conventions → the bundled baseline. A
conflict is the higher one's to win; two sources are never averaged. The accessibility floors sit
outside this order — those of interface-rules.md, and any stricter one the project's doc
states: no source overrides them, and a library default that breaks one is a defect, not a
convention to follow. When the doc and the
dominant pattern in the code disagree, say so — in apply, follow the doc and report the
divergence; in author, ask.
What each source may be used for:
| Use | Project's doc | Bundled baseline |
| Guiding UI that is being written | yes | yes |
| Source of a gate's rules | yes — its machine-checkable section | never |
| A finding reported as a defect | yes | only the accessibility floors of interface-rules.md; anything else is a suggestion |
Mode apply — before writing UI
- Resolve (Step 1) and state the resolution line.
- Read only what the UI at hand needs: a form reads forms, states and density; a new page reads layout. Do not load every reference.
- Gated rules first. The doc's machine-checkable section is what the project's
design-system gate rejects (
GATES.mdsays which gate). Write the UI in the accepted pattern from the start — learning a rule from a failed gate run costs a retry. - Then the judgement rules: hierarchy, density, spacing, and the states nobody asks for — empty, loading and failure are designed, and they must not look alike.
- A token wherever one exists. A literal color, size, radius or duration where the system has a role for it is a divergence, even when the two values are equal today. A value the project's doc states as a number (a 40px field height) is used as that number: the doc chose it.
- Verify per
references/measuring.md: rendered, in every theme the project ships, with the numeric rules read as computed values. What could not be verified is reported by name, so the caller can log it — never as verified. - The doc is silent on something this UI needs → follow the baseline and report the gap
(
doc is silent on <x>; used <baseline rule>). Never edit the doc in this mode.
Mode author — writing the project's doc (a person asks; never dispatched)
- Resolve. A doc already exists → ask whether to update it or replace it. Never overwrite silently.
- Existing UI: derive from what is really there. For each candidate rule, count conforming
and non-conforming occurrences and take the majority as the rule; near an even split, ask, or
record the rule as advisory. Read numeric values from the rendered screen, not from class
names (
references/measuring.md). List every place where the code and the intended rule disagree. - No UI yet: use
references/design-direction.md— the subject, the audience, the tone — and decide what the system leaves free: source color, typefaces, shape, density, the personality of motion. One question at a time, each with a recommended answer. - Fill
references/design-system-template.md. Every rule lands in exactly one of two lists: machine-checkable (a tool can decide it from a file) or judgement (a person or a rendered screen decides it). Every numeric value goes in the measured-values table with its unit, the element to measure and the theme. - Save at a tracked path —
docs/design-system.mdunless the person names another. Say thatgate-builderbuilds the design-system gate from the machine-checkable section and records the path inGATES.md. - Refuse your own output when: a rule sits in neither list; a value was copied from the baseline without anyone choosing it; two rules contradict each other.
Mode audit — read-only review
- Resolve.
- Static pass over the target files: every rule of the project's doc a file can decide,
the accessibility floors a file can decide (zoom disabled, a control with no name), and the
[gate]rules ofreferences/interface-rules.md. Loadinterface-rules.mdandmeasuring.md;material-3.mdonly when the baseline applies. - Rendered pass, when the app can be brought up: every numeric rule measured per
references/measuring.md, in every theme, with contrast computed over the composed background. - Report, grouped by file or screen, one line per finding:
<file>:<line> — <rule id> — <what is wrong> — measured <x>, expected <y>. Split the report in two — binding (a rule of the project's doc, from any of its sections, or an accessibility floor) and suggestions (every baseline rule) — and end with what was not measured, by name. Lead each finding with the most binding id that covers it — the doc's, then the floor's — and add the baseline id in parentheses. A value decidable from the source alone, such as the contrast of two opaque literal colors, may be reported ascomputed from source <x>; a value that depends on rendering is not measured. - Change nothing. A correction belongs to whoever asked:
qa-preflightdispatchesfix-runner; a person fixes or delegates. This holds when the same request also asks for the fixes: deliver the audit, with the fixes split into the mechanical ones and the ones that need a decision; making them is a separate step, taken once the person has read the report.
RULES
Always:
- Resolve first, and state the resolution line before any rule.
- Let the project's doc win over the library and the library over the baseline.
- Keep machine-checkable rules apart from judgement rules in the doc, and binding findings apart from suggestions in every report.
- Read numeric rules as computed values on the rendered screen, in every theme the project ships.
- Name what was not verified.
Never:
- Invent a project rule, or present a baseline value as if the project had chosen it.
- Use the baseline as the source of a gate, or report a baseline rule as a defect — the accessibility floors excepted.
- Conclude conformance from a class, attribute or token name being present.
- Write gate infrastructure (that is
gate-builder's) or edit production code. - Store the project's doc in a skill folder or any untracked path.
- Fetch rules from the network at run time: the references are bundled so a run is reproducible.
- Write or overwrite a doc nobody asked for.
Edge cases
The scope has no UI (a backend-only change, a library): say so and stop; there is nothing to resolve.
The only doc is untracked: use it for this run, state that it is local, and recommend
committing it, or moving it to a tracked path. gate-builder will not build a gate from it.
Several candidate docs: the one GATES.md names wins. With none named, ask (author,
audit); when dispatched, take the most specific one and report which.
The project ships two themes and the doc describes one: verify both anyway, and report the doc's silence as a gap.
The doc is older than the code: the dominant pattern contradicts it in several places — report the list. Which one is right is the team's decision, not this skill's.
A project on an earlier Material version: its installed library version's conventions win. Do not migrate tokens or components as a side effect of another task.
"Make it look better" where a doc exists: design-direction.md covers only what the doc
leaves free. Changing the system itself is an author change, made on purpose.
Dispatched and something is ambiguous: apply the higher-precedence source, report the ambiguity, and proceed. Never pause a dispatched run to ask.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

