L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Documents · SKILL.md

component-spec

component-spec

Write a component spec for engineering handoff. Use when the user says "component spec", "design handoff", "spec this component", "document this component for engineering", "Figma handoff", "component documentation", "how do I hand this off", or needs to communicate a UI component design to developers - even if they don't explicitly say "component spec".

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: component-spec description: > Write a component spec for engineering handoff. Use when the user says "component spec", "design handoff", "spec this component", "document this component for engineering", "Figma handoff", "component documentation", "how do I hand this off", or needs to communicate a UI component design to developers

  • even if they don't explicitly say "component spec".

Overview

Based on "Atomic Design" by Brad Frost. Frost's atomic design methodology organizes UI into: atoms (basic elements), molecules (groups of atoms), organisms (groups of molecules), templates (page structures), and pages (specific instances). A component spec documents where a component sits in this hierarchy, what it's made of, how it behaves, and how it should be used.

The goal of a component spec is to make the engineering handoff self-contained. A developer should be able to build the component correctly without asking questions.

Workflow

Step 1: Classify the component (Atomic Design)

LevelWhat it isExamples
AtomSmallest UI unit, not decomposableButton, input, icon, label
Molecule2-3 atoms working togetherSearch field (input + button), form field (label + input + error)
OrganismComplex UI sectionNavigation bar, product card, comment thread
TemplatePage-level layoutDashboard layout, article layout

Knowing the level sets expectations for complexity and reusability.

Step 2: Write the component header

Component: [Name]
Atomic level: [Atom / Molecule / Organism]
Status: [Draft / In Review / Production]
Designer: [your name]
Figma link: [URL]

Step 3: Document variants and states

List every variant (different configurations of the same component) and every state:

Variants:

  • Size variants: small, medium, large
  • Style variants: primary, secondary, ghost, destructive
  • Content variants: with icon, without icon, with badge

States:

  • Default
  • Hover
  • Active/pressed
  • Focus (keyboard navigation)
  • Disabled
  • Loading
  • Error
  • Success

Provide a Figma frame for every variant x state combination.

Step 4: Document properties (props)

List every configurable property:

PropTypeRequiredDefaultDescription
labelstringYes-Button text
variantenumNoprimaryVisual style
sizeenumNomediumSize variant
disabledbooleanNofalseDisabled state
onClickfunctionYes-Click handler

Step 5: Document behavior

  • What happens on click / tap?
  • Are there animations or transitions? (duration, easing)
  • What are the keyboard interactions? (Enter, Space, Escape, Tab)
  • What happens at min/max content lengths?
  • What happens when text is truncated?

Step 6: Document accessibility requirements

  • ARIA role and attributes
  • Keyboard navigation behavior
  • Screen reader announcement
  • Focus management
  • Color contrast requirements (WCAG AA minimum)

Step 7: Document usage rules

When should this component be used? When should it not be used?

Use when: [specific contexts]
Don't use when: [anti-use-cases - what to use instead]

Anti-Patterns

1. Spec without states Bad: One static mockup handed off. Good: Every state documented - default, hover, focus, disabled, error, loading.

2. No accessibility section Bad: "Engineering will figure it out." Good: ARIA role, keyboard behavior, and contrast requirements specified by design, not guessed by engineering.

3. Props undocumented Bad: Figma file with no prop documentation. Good: Every configurable property listed with type, required status, and description.

4. Usage rules missing Bad: Component documented without guidance on when to use vs. not use it. Good: Explicit usage rules prevent misuse and inconsistency across [your product].

Quality Checklist

  • Atomic level classified (atom/molecule/organism)
  • Figma link to all variants and states
  • All variants documented
  • All states documented (default, hover, focus, disabled, error, loading)
  • Props table complete with types, required flag, defaults
  • Behavior documented (interactions, animations, edge cases)
  • Accessibility: ARIA, keyboard, contrast documented
  • Usage rules: when to use AND when not to use
Skills enregistrées