product-design
Skill4 starsChanged 54 days agoMITView on GitHub
Single entry point for product design and user-facing implementation in a product built on @fracazo/design-system. Use whenever work changes what a reader sees, understands, chooses or does: shaping a flow, building or restyling a page or component, reviewing a route, screenshot or diff, improving copy, hierarchy, layout, interaction, accessibility, responsive behaviour or loading, empty, error and destructive states. Trigger on design, UX, UI, layout, styling, tokens, colour, type, spacing, motion, copy, polish, audit, review, accessibility, dark mode, mobile. Not for backend-only work, telemetry, generated files, or tests with no shipped UI.
26 other projects use a version of this.
Adopted by
Most recently taken up by
- lklimek/claudiustheir own version, first seen Nov 8, 2026
- thensls/nsls-builder-toolkittheir own version, first seen Nov 8, 2026
- lobehub/lobehubtheir own version, first seen Nov 5, 2026
- Cure-Consulting-Group/ProductEngineeringSkillstheir own version, first seen Nov 4, 2026
- MasihMoafi/skillstheir own version, first seen Nov 3, 2026
- yoyothesheep/claude-skillstheir own version, first seen Nov 1, 2026
Used with
Projects with it also use ux-audit and i18n.
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.
shmehroSkillux-audit
Perform a heuristic UX audit on a UI screen, flow, or component description
Also in 3 projects that use this
lbednerSkilli18n
Use when a code or template change introduces a new translation message key, in either the framework CLI (aegis/i18n/locales/) or a generated project's CLI (the app/i18n/locales/ template tree). Covers adding the real English string, stubbing the same key into every other locale for parity, and the separate translation PR that later replaces placeholders with reviewed native text.
Also in 3 projects that use this
Other versions26 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 26
- lobehub/lobe-chat★ 84ksame name
- lobehub/lobehub★ 84ksame name
- alekspetrov/navigator★ 355same name
- qf-studio/navigator★ 355same name
- duyet/clickhouse-monitoring★ 303same name
- github/replica★ 230same name
- mblode/agent-skills★ 189same name
- chuhaiqu/skills★ 22same name
- vercel-labs/arcade★ 21same name
- yoyothesheep/claude-skills★ 16same name
16 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 repository9 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- template/CLAUDE.mdCLAUDE.md
- accessibilitySkill
- colorsSkill
- interfaceSkill
- layoutSkill
- typographySkill
- uiSkill
- writingSkill
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 3 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 21 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 38
Values live in tokens: Never a colour, radius or fluid size literal in a className.
- Distinctive: line 44
Do not paste their content into answers.
- Very specific: line 116
Do not score a review from this file.
- Distinctive: line 124
Add or change a rule only after the same correction has recurred and a human has accepted it.
- Distinctive: line 129
Prefer the narrowest destination: a token or contract entry, a lint rule, a rule record, an exemplar, or a coverage gap.
- Very specific: line 135
Keep coverage-gaps.md honest.
“Common” is measured: kept by at least 6 in 10 of the 21 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
Product design on @fracazo/design-system
Make the surface correct for the reader, the product and the system. Working code is not enough: choose the right composition, spend emphasis once, cover the states the product can really enter, and verify the rendered result in both themes. The stylesheet and the lint do the visual work; this skill carries the judgment and the reasons.
Operating contract
- Start with the reader's job, not the pixels. Who is reading, on what device, under what pressure, and what they must decide or do here.
- Name the surface scope first. Engagement (the product) or conversion
(landing, guides). Budgets, imagery and motion rules differ. See
references/surfaces.md. - Use evidence, not taste. Trace a decision to a rule in
references/rules.md, a section ofDESIGN.md, a component's intent block, or an exemplar. Shipped code proves what exists, not that it is right. - Decide before decorating. Composition, component choice and states before colour, radius or copy.
- Spend emphasis once. One focal relationship per screen. When a surface shouts, remove signals; never add a louder one.
- Values live in tokens. Never a colour, radius or fluid size literal in a className. A missing value is a proposal for the design-system repo.
- Verify the real surface. Source inspection establishes behaviour; a rendered page in light and dark establishes quality. Token work runs the product's snapshot compare.
- Keep one entry point. Load this file; route to the references below. Do not paste their content into answers; cite the rule ID or section.
Request modes
Resolve the mode from the verb before acting. Use the narrowest mode the verb supports. A URL, screenshot or route sets scope; it does not authorise edits.
| Mode | Typical request | Required behaviour |
| Shape | "Design this flow", "how should this work?" | Frame reader, job, evidence; compare material alternatives; define flow, states, acceptance criteria and open decisions. No edits unless asked. |
| Implement | "Build", "fix", "improve", "make it compliant" | Resolve material decisions, then the smallest coherent end-to-end change. Do not absorb unrelated findings. |
| Review | "Audit", "critique", "what's wrong?" | Load ../interface/SKILL.md and follow its format, severity, cap and verdict. No edits unless asked. |
| Copy | "Fix the copy", "rewrite this error" | Edit user-facing language and accessible names only. Report structural blockers; do not widen scope. |
| Harden | "Polish", "production-ready", "edge cases" | Keep the settled direction; fix state, resilience, responsive, accessibility and finish defects. |
A material decision changes the reader's task, default, consequence, navigation, interaction surface or reachable states. Token substitution and established component swaps are not material.
Decision authority
Resolve conflicts in this order.
- The user's explicit goal and constraints.
- Verified product behaviour and system truth (what the tokens and components actually do).
- The product's CLAUDE.md, then this skill's
references/rules.md,DESIGN.md,css/roles.cssand the component intent blocks. - Exemplars with stable evidence (
exemplars/). - Verified adjacent shipped patterns in the same product area.
- General interface heuristics.
Workflow
- Set scope and mode. Name the product, the route or component, the surface scope and the mode.
- Load product context. The product's CLAUDE.md design section, the
brand file, the product chapter in
DESIGN.md, and the code that decides what the surface can show. - Model the decision (Shape, Implement, Harden, full Review). Reader, job, current behaviour, desired outcome, success signal, non-goals, consequence, reversibility, open decisions. Keep it compact.
- Map the surface and states. Entry points, regions, overlays, transitions, exits. Only reachable states: loading, empty, populated, validation, error, disabled, optimistic, destructive, both themes, 360px and 1280px.
Load the routed references.
Need Load Any styling or token decision references/tokens.mdSizes, radius, spacing, rhythm references/type-and-space.mdHover, entrance, transitions, reduced motion references/motion.mdWhich component, house patterns references/components.md+ the component's intent blockCopy mechanics references/copy.md, then the writing skillWhich surface, budgets, imagery references/surfaces.mdA lint or contract ID references/rules.md(registry only, not a review rubric)A review of a surface ../interface/SKILL.mdBefore claiming zero visual change references/verification.mdRunning or judging an intake packet references/intake.md- Decide, then implement. For each non-mechanical change be able to say: what reader problem it solves, why this component, what consequence the surface must communicate, which rule or exemplar supports it, and what the smallest coherent change is.
- Verify. Lint (
pnpm lint), typecheck, both themes, compact and wide viewports, keyboard order and focus, every materially changed state, long content. Token work: snapshot compare, delta stated.
Review
Do not score a review from this file. Load ../interface/SKILL.md. It
loads the six domain skills in order (accessibility, layout, writing,
typography, colors, ui) and returns one table, one severity scale, a
finding cap, considered-but-rejected, and a verdict. references/rules.md
is the lint and contract registry. It is not a second rule list.
Skill integrity
- Add or change a rule only after the same correction has recurred and a human has accepted it. One screenshot, one file or one review comment is never a rule by itself.
- Record scope, rule, why, exceptions, source and a bad and good example
(
references/rules.mdformat). - Prefer the narrowest destination: a token or contract entry, a lint rule, a rule record, an exemplar, or a coverage gap. Deterministic checks stay mechanical; judgment stays in prose with its evidence.
- New evidence enters through the intake loop (
references/intake.md):ds-intakecollects, the agent proposes in the packet, a human reviews and accepts. - Keep
coverage-gaps.mdhonest. A missing rule is not a licence to invent one; it is a decision to raise.
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.

