视觉画布设计
canvas-design
基于设计原则创作静态视觉作品,用于海报与品牌图形。
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 sp…
独立 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
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.
| Level | What it is | Examples |
|---|---|---|
| Atom | Smallest UI unit, not decomposable | Button, input, icon, label |
| Molecule | 2-3 atoms working together | Search field (input + button), form field (label + input + error) |
| Organism | Complex UI section | Navigation bar, product card, comment thread |
| Template | Page-level layout | Dashboard layout, article layout |
Knowing the level sets expectations for complexity and reusability.
Component: [Name]
Atomic level: [Atom / Molecule / Organism]
Status: [Draft / In Review / Production]
Designer: [your name]
Figma link: [URL]
List every variant (different configurations of the same component) and every state:
Variants:
States:
Provide a Figma frame for every variant x state combination.
List every configurable property:
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
label | string | Yes | - | Button text |
variant | enum | No | primary | Visual style |
size | enum | No | medium | Size variant |
disabled | boolean | No | false | Disabled state |
onClick | function | Yes | - | Click handler |
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]
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].