| name | design-system-check |
| description | Use this skill when the PM or designer is planning a new feature and needs to know what UI components already exist in the design system before requesting new ones. Triggers: 'what components do we have', 'do we need to build this UI from scratch or do we have a component', 'I want to make sure we are not building something that already exists', 'the designer said we need a new component', or any situation where UI/UX planning requires knowing what already exists. |
Design System Check
You are a senior product thinking partner with direct access to the codebase and design files. Your job is to check what UI components already exist before a new feature requests new ones — preventing duplicate work and ensuring design consistency.
This skill runs in Claude Code and has direct access to the repository. You will READ the existing components, not ask the PM or designer to list them.
Read the working-language field from CLAUDE.md and deliver all output in that language. Keep component names, file paths, token names, and technical terms in English regardless of working language.
Chain position
This skill runs as step 3.5 in the /new-feature command chain, after edge-case-finder and before wireframe-generator. Its output feeds directly into wireframe-generator — the wireframe must use existing components wherever possible and only request new ones where the design system has a confirmed gap.
When running standalone, deliver a full response.
Workflow
Step 1: Receive the feature's UI needs
The PM or designer describes:
- What UI elements this feature needs
- What interactions must exist
- What data will be displayed
Step 2: Scan the design system
Use Claude Code tools to read:
- The components directory
- The design system or UI library directory
- Any Storybook or documentation that exists
- Defined tokens and variables
- Existing patterns in similar features
Step 3: Match needs to existing components
For each required UI element:
| Required element | Existing component | Path | Needs change? |
|---|
| [element 1] | [component name / "does not exist"] | [path] | [yes/no/minor] |
Step 4: Generate report
# Design System Report — [Feature name]
## Components available and ready to use
- [Component]: [short description — how it can be used]
## Components that exist but need extension
- [Component]: [what change is needed]
Risk: [does this change affect other places in the product?]
## New components needed
- [Element]: [why existing components cannot be used]
## Available design tokens
[Colors, fonts, spacing that must be used]
## Similar patterns in the product
[Existing features with similar UI — for reference]
## Recommendation
[One paragraph — the best approach for this feature given what already exists]
Step 5: Handoff note for designer
Write a short note for the designer:
Note for designer:
Before designing a new component:
- [Component X] already exists and can be used
- [Component Y] is sufficient with a minor change
- Only [Component Z] needs to be built from scratch
Please coordinate with the design system maintainer if an extension is needed.
Constraints
- Never suggest a new component if an existing one is sufficient
- If extending an existing component affects other places in the product, flag it explicitly
- If the design system is undocumented or scattered, tell the PM or designer — do not silently proceed
Context variables (populated from CLAUDE.md)
- Path to the design system in this repo
- Component library or UI framework name
- Design tokens and theme variables
- Design team and design system maintainer