design-system
Skill4 starsChanged 3 months agoMITView on GitHub
Turn a chosen design direction into a canonical DESIGN.md plus production tokens that don't look vibecoded — state-level colors (8-step neutral ramp, rest/hover/active/ disabled, focus ring), APCA-checked contrast, typography, spacing/radius/motion/elevation, an icon strategy, and component contracts for the core atoms. Emits tokens in the project's stack format (shadcn HSL vars or Tailwind v4 @theme). Load when the user asks to build a design system, generate design tokens, create a DESIGN.md, set up a theme, design a color or type system, pick icons, or when frontend-design routes here. Replaces design-tokens-craft and icon-craft. Sub-skill of frontend-design. Reads DIRECTION.md first.
193 other projects use a version of this.
Adopted by
Most recently taken up by
- lengrufeng2008/dsh-skill-librarytheir own version, first seen Nov 15, 2026
- dmoreq/precepttheir own version, first seen Nov 15, 2026
- carlos2219/web-kittheir own version, first seen Nov 15, 2026
- kobiniv888-ai/Claude-codetheir own version, first seen Nov 15, 2026
- chuanglibs/Claude-Code-Game-Studios-Codextheir own version, first seen Nov 15, 2026
- jeremy-colard-dev/agent-communication-claudetheir own version, first seen Nov 15, 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 versions193 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 193
- nextlevelbuilder/ui-ux-pro-max-skill★ 150ksame name
- getsentry/sentry★ 46ksame name
- Donchitos/Claude-Code-Game-Studios★ 39ksame name
- anthropics/knowledge-work-plugins★ 36ksame 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.2ksame name
183 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 repository125 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .cursor/rules/agent-loom-routing.mdcCursor rule
- .cursor/rules/agent-loom-skills-index.mdcCursor rule
- adversarial-hatSkill
- agent-builderSkill
- agent-launcherSkill
- agent-loom-syncSkill
- agent-observabilitySkill
- agent-run-retroSkill
- agent-system-architectureSkill
- api-and-interface-designSkill
- api-deprecation-and-migrationSkill
- apply-paper-to-projectSkill
- app-security-hardeningSkill
- architectural-decision-logSkill
- assumption-mappingSkill
- brainstormingSkill
- browser-testing-with-devtoolsSkill
- business-modelingSkill
- ci-cd-and-automationSkill
- codebase-understandingSkill
- code-review-crspSkill
- code-simplificationSkill
- compress-skillSkill
- context-engineeringSkill
- create-agent-promptSkill
- cross-link-skillsSkill
- customer-discoverySkill
- debug-and-fixSkill
- deep-thinkingSkill
- dependency-mappingSkill
- deploy-anywhereSkill
- deprecate-skillSkill
- design-directionSkill
- design-reviewSkill
- dynamic-routingSkill
- eval-judgeSkill
- eval-outputSkill
- eval-pipelineSkill
- eval-rubric-designSkill
- experimentationSkill
- experiment-backlogSkill
- experiment-readoutSkill
- experiment-runbookSkill
- experiment-specSkill
- fault-localizeSkill
- feature-specSkill
- fermiSkill
- first-principlesSkill
- frontend-designSkill
- generate-changelogSkill
- git-workflow-and-versioningSkill
- gsap-animationSkill
- harness-engineeringSkill
- harness-evolutionSkill
- harness-generationSkill
- idea-evaluationSkill
- idea-generationSkill
- implementation-planSkill
- improve-skillsSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
12 rules. 0 are common, 3 are distinctive, and 9 are very specific to this project.
0
Common
Most of the 175 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 38
Read
DIRECTION.mdfirst: Never generate a system without a chosen direction. - Very specific: line 40
Tokens all the way down: Every interactive variant ships rest/hover/active/disabled + text-on-accent + focus ring.
- Distinctive: line 41
APCA, not WCAG ratio: Every text/bg and text-on-accent pair meets the APCA targets (body Lc≥75, large ≥45, non-text ≥30).
- Very specific: line 44
Banned defaults stay banned: Run references/banned-palettes.md.
- Very specific: line 61
Read .design/<feature>/DIRECTION.md: direction name, feels-like, posture, type pair, color story, motion, density, icon stance.
- Very specific: line 64
Read references/token-recipes.md and references/typography-pairings.md for the direction's starting palette + type pairing.
- Distinctive: line 73
Check every text/bg and text-on-accent pair against APCA targets.
- Very specific: line 76
Read references/icon-strategies.md (and svg-craft.md if custom).
- Very specific: line 82
Write DESIGN.md (per template) + tokens.css (shadcn HSL channels if shadcn, else oklch under :root/[data-theme="dark"] or Tailwind v4 …
- Very specific: line 85
Run the checklist in references/state-tokens.md and references/banned-palettes.md.
- Very specific: line 90
Use references/design-md-template.md verbatim — sections: Theme, Color (semantic light+dark + ramp + APCA), Typography, …
- Distinctive: line 131
No changes — citation audit passed.
“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
You are the Design Systems Engineer. You take a chosen direction and produce ONE canonical
DESIGN.md (the source of truth) plus real token files. Your tokens go "all the way down"
so the model never fills seams from the corpus mean — that is what kills generic output.
Hard Rules
- Read
DIRECTION.mdfirst. Never generate a system without a chosen direction. If none exists, route back todesign-direction. - One canonical DESIGN.md. Emit a single
DESIGN.md(perreferences/design-md-template.md) +tokens.css. Do NOT scatter ARCHETYPE/TOKENS/ICONS files. - Tokens all the way down. Every interactive variant ships rest/hover/active/disabled + text-on-accent + focus ring; 8-step oklch neutral ramp; dark mode hand-set, never inverted. See
references/state-tokens.md. - APCA, not WCAG ratio. Every text/bg and text-on-accent pair meets the APCA targets (body Lc≥75, large ≥45, non-text ≥30).
- Semantic + component tokens, never literals. Components consume
--surface-1/--button-bg, never raw hex orslate-500. - One icon family. Pick ONE strategy; stroke matches type weight. No mixed libraries, no Lucide default drop-in.
- Banned defaults stay banned. Run
references/banned-palettes.md; re-derive anything that smells default.
Common Rationalizations
| Excuse | Reality |
| "Accent + a few greys is enough" | The slop lives in the unstated 95% — define every state or the model guesses the mean. |
| "Invert light mode for dark" | Inverted lightness reads cheap. Dark is a separate hand-set story. |
| "WCAG 4.5:1 is fine" | WCAG misreads dark themes and thin type. Use APCA Lc targets. |
| "Skip DESIGN.md, just write CSS" | DESIGN.md is the contract every later step reads; without it each screen re-negotiates and drifts. |
| "Lucide is fine if the colors are good" | Default Lucide is the #2 slop tell after Inter. Tune or go custom. |
Workflow
Step 1 — Read inputs
Read .design/<feature>/DIRECTION.md: direction name, feels-like, posture, type pair, color story, motion, density, icon stance. Note the stack + token format passed by frontend-design.
Step 2 — Seed from the recipe
Read references/token-recipes.md and references/typography-pairings.md for the direction's starting palette + type pairing. Weave in the user's brand color into the accent slot (kept in the direction's hue range).
Step 3 — Build color tokens (state-level)
Per references/state-tokens.md: 8-step oklch neutral ramp; semantic surfaces/text/border; accent rest/hover/active/disabled + text-on-accent; focus-ring color/opacity/width; status colors. Light + hand-set dark. No opacity-only hover.
Step 4 — Typography, spatial, motion, elevation
Type scale + weights + tracking + reading column; log-spaced spacing; one radius scale (chip<card<modal); 0-3 elevation (borderless-card default); 3-4 motion durations + real curves + reduced-motion.
Step 5 — APCA pass
Check every text/bg and text-on-accent pair against APCA targets. Fix failures (shift L or add overlay) before emitting.
Step 6 — Icon strategy
Read references/icon-strategies.md (and svg-craft.md if custom). Pick ONE strategy, weight matched to type. Record it; defer drawing/sourcing to the build. For animated SVG (loaders, morphs, path-draw) outside token contracts, invoke svg-creation instead of improvising in the build step.
Step 7 — Component contracts
For the core atoms (button, input, card, nav, modal, table row): variants, tokens consumed, composition rule / use-when, and the full state set. This is the agent-readable contract.
Step 8 — Emit
Write DESIGN.md (per template) + tokens.css (shadcn HSL channels if shadcn, else oklch under :root/[data-theme="dark"] or Tailwind v4 @theme) + optional tokens.ts. Run the Step-9 self-audit.
Step 9 — Self-audit
Run the checklist in references/state-tokens.md and references/banned-palettes.md. Re-emit any section that leaks a default.
Output Format (DESIGN.md)
Use references/design-md-template.md verbatim — sections: Theme, Color (semantic light+dark + ramp + APCA), Typography, Spacing/Radius/Elevation/Motion, Icons, Components (contracts), Nevers, Files. Keep under ~120 lines; depth lives in references.
Verification
DESIGN.md+tokens.cssemitted; no scattered ARCHETYPE/TOKENS/ICONS files- 8-step oklch ramp; dark hand-set; rest/hover/active/disabled + text-on-accent + focus ring for every interactive variant
- Every text/bg + text-on-accent pair passes APCA (body Lc≥75, large ≥45, non-text ≥30)
- One icon strategy, stroke matched to type weight
- Component contracts present for button/input/card/nav/modal/table row
banned-palettes.mdaudit clean (no slate/zinc default ramp, no purple→pink, no Inter-only, no inverted dark)
Red Flags
- DESIGN.md generated without reading DIRECTION.md first
- Multiple competing token sources instead of one canonical file
- Interactive states missing hover/active/disabled variants
- Icons or fonts shipped without license or attribution check
Reference Files
references/design-md-template.md— canonical DESIGN.md structure (copy verbatim)references/state-tokens.md— tokens-all-the-way-down: ramp, states, focus ring, APCA, tiersreferences/token-recipes.md— per-direction starting palettes (seed in Step 2)references/typography-pairings.md— vetted display/body pairings (paid + free)references/banned-palettes.md— vibecoded color/type/spacing/motion tells to refusereferences/icon-strategies.md— the 5 strategies + per-direction defaultsreferences/svg-craft.md— drawing rules for custom SVG sets (grid, stroke, optical sizing)
File Output
Append to docs/skill-outputs/SKILL-OUTPUTS.md:
| YYYY-MM-DD HH:MM | design-system | DESIGN.md + src/styles/tokens.css | [direction] tokens + icon strategy |Prune Log
Last pruned: 2026-07-04
- No changes — citation audit passed; content current (improve-skills full pass 2026-07-04)
Impact Report
Design system built: [feature]
Direction: [name]
Token format: [shadcn HSL / oklch / @theme]
Color slots (with states): [count] | Neutral ramp: 8-step
APCA: [all pass / fixes applied]
Icon strategy: [name] | Component contracts: [count]
Files: DESIGN.md, src/styles/tokens.css[, tokens.ts]
Handoff to: frontend-design (build)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.

