This skill ensures that all new or modified UI is implemented in line with the project design system, rather than inventing ad-hoc styles.
Use it when:
- Implementing a new component, page, or flow.
- Refactoring existing UI to match the design system.
- Extending the design system with carefully considered new patterns.
It is designed to be used after a design system has been created (for example via the design-system-from-reference workflow).
Inputs and assumptions
- The project design system is defined in:
design/design-system.json (implementation-level source of truth).
- Optionally
design/design.json (higher-level style guide).
- The user can describe:
- What they want to build or change (component/page/flow).
- Any relevant constraints (framework, routing, data layer, accessibility).
- The codebase uses a consistent framework (e.g., React + Tailwind, or another typical web stack).
If design/design-system.json is missing, this skill should not free-style a new design system. Instead, it should:
- Ask the user to confirm whether a design system exists elsewhere.
- Suggest running the
design-system-from-reference workflow first.
Core responsibilities
When building or updating UI, this skill must:
Load and understand the design system
- Ingest
design/design-system.json (and design/design.json if present).
- Identify:
- Tokens (colors, spacing, radii, typography scales, shadows, etc.).
- Component definitions and their variants.
- Layout and spacing rules.
- Interaction states and motion guidelines.
- Summarize back to the user how the design system wants buttons, inputs, cards, navigation, etc. to look and behave.
Map the request to existing patterns
- For a new request (e.g., "build a billing settings page"):
- Break the UI into sections and components.
- For each part, map it to existing component types or patterns in the design system.
- If something genuinely new is needed:
- Propose how it fits into existing patterns (e.g., "This is a variant of the card component with…").
- Avoid inventing totally unrelated styling unless the user explicitly wants to extend the system.
Implement using the design system
- Use only tokens, utility classes, and component recipes defined by the design system whenever possible.
- Avoid arbitrary inline styles or one-off Tailwind utilities that conflict with the system.
- Respect:
- Typography hierarchy (headings, body, labels, etc.).
- Spacing scale and layout rules.
- Color usage rules for states (primary, secondary, error, warning, success, disabled, etc.).
- Motion and interaction patterns.
- Keep code production-quality: clear structure, accessible semantics (ARIA, labels, keyboard navigation), and sensible component boundaries.
Handle extensions carefully
- When the design system does not explicitly cover a case:
- First, try to express the new UI using combinations or variants of existing components.
- If an extension is truly needed, propose an addition to
design/design-system.json:
- Describe new tokens, component variants, or layout rules.
- Ensure they are consistent with the existing system.
- Present the proposed JSON patch or snippet to the user for review before updating the design system.
Validate adherence
- After generating code, briefly explain how it follows the design system:
- Which tokens/variants were used.
- How spacing/typography align with the rules.
- If any deliberate deviations were made (e.g., an experimental component), call them out clearly.
Suggested workflow when invoked
- Confirm context
- Ask the user:
- What they want built or changed.
- Where in the codebase it lives (paths, existing components).
- Whether there is an existing design system JSON; if unsure, search for
design/design-system.json.
- Load design system files
- Open
design/design-system.json (and design/design.json if present) and summarize the relevant parts for this task.
- Plan the implementation
- Break the UI into logical components/sections.
- For each, decide which design system components or patterns to use.
- Share this plan with the user and pause for confirmation.
- Implement incrementally
- Update or create components in small, reviewable steps.
- After each significant chunk (e.g., a component or page section), pause and:
- Show the diff or the new code.
- Explain how it adheres to the design system.
- Optional: update the design system
- If new patterns were introduced, propose JSON additions/changes for
design/design-system.json.
- Only modify the design system after explicit user approval.
- Summarize and hand off
- Recap what was built/changed and how it aligns with the design system.
- List any follow-ups (e.g., applying the same patterns to other screens, updating docs).
Interaction with other skills
- When combined with
design-system-from-reference:
- Run
design-system-from-reference first to create or update the design system files.
- Then use this
design-system-implementation skill for all subsequent UI work.
- When combined with
frontend-design-concept:
- Use
frontend-design-concept for exploring bold conceptual directions.
- Once a direction is chosen and codified into the design system, use
design-system-implementation to roll out consistent implementations across the app.
1---2name: design-system-implementation3description: Build or update frontend components and pages that strictly adhere to the project design system defined in design/design-system.json (and design/design.json when present).4license: Complete terms in LICENSE.txt5---67This skill ensures that all new or modified UI is implemented **in line with the project design system**, rather than inventing ad-hoc styles.89Use it when:10- Implementing a new component, page, or flow.11- Refactoring existing UI to match the design system.12- Extending the design system with carefully considered new patterns.1314It is designed to be used **after** a design system has been created (for example via the `design-system-from-reference` workflow).1516## Inputs and assumptions1718- The project design system is defined in:19 - `design/design-system.json` (implementation-level source of truth).20 - Optionally `design/design.json` (higher-level style guide).21- The user can describe:22 - What they want to build or change (component/page/flow).23 - Any relevant constraints (framework, routing, data layer, accessibility).24- The codebase uses a consistent framework (e.g., React + Tailwind, or another typical web stack).2526If `design/design-system.json` is missing, this skill should **not** free-style a new design system. Instead, it should:27- Ask the user to confirm whether a design system exists elsewhere.28- Suggest running the `design-system-from-reference` workflow first.2930## Core responsibilities3132When building or updating UI, this skill must:33341. **Load and understand the design system**35 - Ingest `design/design-system.json` (and `design/design.json` if present).36 - Identify:37 - Tokens (colors, spacing, radii, typography scales, shadows, etc.).38 - Component definitions and their variants.39 - Layout and spacing rules.40 - Interaction states and motion guidelines.41 - Summarize back to the user how the design system wants buttons, inputs, cards, navigation, etc. to look and behave.42432. **Map the request to existing patterns**44 - For a new request (e.g., "build a billing settings page"):45 - Break the UI into **sections and components**.46 - For each part, map it to existing component types or patterns in the design system.47 - If something genuinely new is needed:48 - Propose how it fits into existing patterns (e.g., "This is a variant of the card component with…").49 - Avoid inventing totally unrelated styling unless the user explicitly wants to extend the system.50513. **Implement using the design system**52 - Use **only** tokens, utility classes, and component recipes defined by the design system whenever possible.53 - Avoid arbitrary inline styles or one-off Tailwind utilities that conflict with the system.54 - Respect:55 - Typography hierarchy (headings, body, labels, etc.).56 - Spacing scale and layout rules.57 - Color usage rules for states (primary, secondary, error, warning, success, disabled, etc.).58 - Motion and interaction patterns.59 - Keep code production-quality: clear structure, accessible semantics (ARIA, labels, keyboard navigation), and sensible component boundaries.60614. **Handle extensions carefully**62 - When the design system does not explicitly cover a case:63 - First, try to express the new UI using **combinations or variants** of existing components.64 - If an extension is truly needed, propose an addition to `design/design-system.json`:65 - Describe new tokens, component variants, or layout rules.66 - Ensure they are consistent with the existing system.67 - Present the proposed JSON patch or snippet to the user for review before updating the design system.68695. **Validate adherence**70 - After generating code, briefly explain **how** it follows the design system:71 - Which tokens/variants were used.72 - How spacing/typography align with the rules.73 - If any deliberate deviations were made (e.g., an experimental component), call them out clearly.7475## Suggested workflow when invoked76771. **Confirm context**78 - Ask the user:79 - What they want built or changed.80 - Where in the codebase it lives (paths, existing components).81 - Whether there is an existing design system JSON; if unsure, search for `design/design-system.json`.822. **Load design system files**83 - Open `design/design-system.json` (and `design/design.json` if present) and summarize the relevant parts for this task.843. **Plan the implementation**85 - Break the UI into logical components/sections.86 - For each, decide which design system components or patterns to use.87 - Share this plan with the user and pause for confirmation.884. **Implement incrementally**89 - Update or create components in small, reviewable steps.90 - After each significant chunk (e.g., a component or page section), pause and:91 - Show the diff or the new code.92 - Explain how it adheres to the design system.935. **Optional: update the design system**94 - If new patterns were introduced, propose JSON additions/changes for `design/design-system.json`.95 - Only modify the design system after explicit user approval.966. **Summarize and hand off**97 - Recap what was built/changed and how it aligns with the design system.98 - List any follow-ups (e.g., applying the same patterns to other screens, updating docs).99100## Interaction with other skills101102- When combined with **`design-system-from-reference`**:103 - Run `design-system-from-reference` first to create or update the design system files.104 - Then use this `design-system-implementation` skill for all subsequent UI work.105- When combined with **`frontend-design-concept`**:106 - Use `frontend-design-concept` for exploring bold conceptual directions.107 - Once a direction is chosen and codified into the design system, use `design-system-implementation` to roll out consistent implementations across the app.