@su-record/vibe 2.7.22 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/CLAUDE.md +4 -0
  2. package/agents/ui/ui-antipattern-detector.md +8 -0
  3. package/dist/cli/commands/upgrade.d.ts.map +1 -1
  4. package/dist/cli/commands/upgrade.js +14 -4
  5. package/dist/cli/commands/upgrade.js.map +1 -1
  6. package/dist/cli/postinstall/constants.d.ts.map +1 -1
  7. package/dist/cli/postinstall/constants.js +17 -13
  8. package/dist/cli/postinstall/constants.js.map +1 -1
  9. package/dist/infra/lib/SkillFrontmatter.d.ts +1 -0
  10. package/dist/infra/lib/SkillFrontmatter.d.ts.map +1 -1
  11. package/dist/infra/lib/SkillFrontmatter.js +4 -0
  12. package/dist/infra/lib/SkillFrontmatter.js.map +1 -1
  13. package/package.json +1 -1
  14. package/skills/claude-md-guide/SKILL.md +350 -0
  15. package/skills/commit-push-pr/SKILL.md +1 -0
  16. package/skills/create-prd/SKILL.md +89 -0
  17. package/skills/design-audit/SKILL.md +151 -0
  18. package/skills/design-critique/SKILL.md +138 -0
  19. package/skills/design-distill/SKILL.md +129 -0
  20. package/skills/design-normalize/SKILL.md +132 -0
  21. package/skills/design-polish/SKILL.md +130 -0
  22. package/skills/design-teach/SKILL.md +181 -0
  23. package/skills/exec-plan/SKILL.md +1 -0
  24. package/skills/parallel-research/SKILL.md +1 -0
  25. package/skills/prioritization-frameworks/SKILL.md +86 -0
  26. package/skills/techdebt/SKILL.md +1 -0
  27. package/skills/ui-ux-pro-max/SKILL.md +14 -0
  28. package/skills/ui-ux-pro-max/reference/color-and-contrast.md +517 -0
  29. package/skills/ui-ux-pro-max/reference/interaction-design.md +544 -0
  30. package/skills/ui-ux-pro-max/reference/motion-design.md +591 -0
  31. package/skills/ui-ux-pro-max/reference/responsive-design.md +463 -0
  32. package/skills/ui-ux-pro-max/reference/spatial-design.md +390 -0
  33. package/skills/ui-ux-pro-max/reference/typography.md +455 -0
  34. package/skills/ui-ux-pro-max/reference/ux-writing.md +469 -0
  35. package/skills/user-personas/SKILL.md +74 -0
@@ -0,0 +1,130 @@
1
+ ---
2
+ name: design-polish
3
+ description: "Pre-ship final polish pass — pixel alignment, interaction states, micro-details check and auto-fix. Use when design-polish, ui-polish, final-pass, ship-ready."
4
+ triggers: [design-polish, ui-polish, final-pass, ship-ready]
5
+ priority: 50
6
+ ---
7
+
8
+ # Design Polish — Pre-Ship Final Pass
9
+
10
+ Last-mile quality pass before shipping. Checks pixel-level details and **directly fixes** issues found.
11
+
12
+ ## Usage
13
+
14
+ ```
15
+ /design-polish <target> # Polish specific component/page
16
+ /design-polish . # Polish all changed UI files
17
+ ```
18
+
19
+ ## Checklist
20
+
21
+ ### 1. Alignment & Spacing
22
+
23
+ - [ ] Elements align to consistent grid (4px or 8px base)
24
+ - [ ] Spacing between sections follows rhythm (not arbitrary gaps)
25
+ - [ ] Text baselines align across columns
26
+ - [ ] Icons vertically centered with adjacent text
27
+ - [ ] Padding inside containers is symmetric unless intentional
28
+
29
+ ### 2. Interaction States (Complete Set)
30
+
31
+ Every interactive element must have ALL applicable states:
32
+
33
+ | State | Check |
34
+ |-------|-------|
35
+ | Default | Base appearance defined |
36
+ | Hover | Visual feedback on mouse enter |
37
+ | Focus | Visible focus ring (a11y requirement) |
38
+ | Active / Pressed | Visual response on click/tap |
39
+ | Disabled | Reduced opacity + `pointer-events: none` + `aria-disabled` |
40
+ | Loading | Spinner or skeleton replacing content |
41
+ | Error | Red/danger styling + error message |
42
+ | Success | Confirmation feedback (toast, checkmark, color change) |
43
+
44
+ ### 3. Typography & Copy
45
+
46
+ - [ ] No orphaned words (single word on last line of heading)
47
+ - [ ] Consistent capitalization (Title Case vs sentence case)
48
+ - [ ] No placeholder text ("Lorem ipsum", "TODO", "test")
49
+ - [ ] Truncation with ellipsis where text can overflow
50
+ - [ ] Line length ≤ 75 characters for readability
51
+
52
+ ### 4. Visual Consistency
53
+
54
+ - [ ] Border radius consistent across same-level elements
55
+ - [ ] Shadow depth matches elevation hierarchy
56
+ - [ ] Icon sizes consistent (16/20/24px common set)
57
+ - [ ] Color usage matches semantic meaning (red=error, green=success)
58
+
59
+ ### 5. Cleanup
60
+
61
+ - [ ] No `console.log` statements
62
+ - [ ] No commented-out JSX/HTML
63
+ - [ ] No `z-index` values > 100 without documented reason
64
+ - [ ] No inline styles that should be classes/tokens
65
+ - [ ] No dead CSS classes
66
+
67
+ ## Auto-Fix Rules
68
+
69
+ | Issue | Fix Action |
70
+ |-------|-----------|
71
+ | Missing hover state on button | Add hover style using existing token |
72
+ | Missing focus ring | Add `focus-visible` outline |
73
+ | Missing disabled state | Add disabled variant with reduced opacity |
74
+ | Inconsistent border radius | Normalize to nearest design token |
75
+ | Inline color values | Replace with CSS variable |
76
+ | `console.log` in UI files | Remove |
77
+ | Commented-out code | Remove |
78
+
79
+ ## Process
80
+
81
+ 1. Read target files fully
82
+ 2. Run checklist against each file
83
+ 3. Collect findings with file:line references
84
+ 4. Apply auto-fixes for safe items
85
+ 5. Report items requiring manual review
86
+ 6. Re-verify fixed files pass checklist
87
+
88
+ ## Output Format
89
+
90
+ ```markdown
91
+ ## Design Polish: {target}
92
+
93
+ ### Auto-Fixed
94
+ - ✅ {file}:{line} — Added hover state to submit button
95
+ - ✅ {file}:{line} — Replaced #3B82F6 with var(--color-primary)
96
+ - ✅ {file}:{line} — Removed console.log
97
+
98
+ ### Manual Review Needed
99
+ - ⚠️ {file}:{line} — Orphaned word in heading (layout choice)
100
+ - ⚠️ {file}:{line} — Missing loading state on async action
101
+
102
+ ### Summary
103
+ - Items checked: {N}
104
+ - Auto-fixed: {N}
105
+ - Manual review: {N}
106
+ - Ship-ready: {yes/no}
107
+ ```
108
+
109
+ ## Preparation
110
+
111
+ Before running polish:
112
+
113
+ 1. **Read** `.claude/vibe/design-context.json`
114
+ - If missing → display: "Run `/design-teach` first for better results" → proceed with defaults
115
+ - If parse error → display warning → proceed with defaults → recommend `/design-teach`
116
+ - If present → apply brand-appropriate micro-interaction styles from `aesthetic.style`
117
+ 2. **Read** `.claude/vibe/design-system/*/MASTER.md` (if exists) for token references
118
+
119
+ ## Next Steps
120
+
121
+ | If Result Shows | Recommended Next |
122
+ |----------------|-----------------|
123
+ | All items pass | Ship ready — no further action needed |
124
+ | Design system gaps found | `/design-normalize` first, then re-run `/design-polish` |
125
+
126
+ ## Important
127
+
128
+ - **Modifying**: This skill directly applies safe fixes.
129
+ - **Conservative**: Only auto-fixes items with clear, safe remediation. Ambiguous items flagged for manual review.
130
+ - **Pairs with**: Run `/design-audit` first for broad issues, then `/design-polish` for final touches.
@@ -0,0 +1,181 @@
1
+ ---
2
+ name: design-teach
3
+ description: "Gather and store project design context — target audience, brand personality, aesthetic direction, constraints. Used by other design-* skills. Use when design-teach, design-setup, design-context."
4
+ triggers: [design-teach, design-setup, design-context]
5
+ priority: 50
6
+ ---
7
+
8
+ # Design Teach — Project Design Context Gathering
9
+
10
+ Collect project-specific design context so all design-* skills produce tailored, brand-aware results. Saves to `.claude/vibe/design-context.json`.
11
+
12
+ ## Usage
13
+
14
+ ```
15
+ /design-teach # Interactive context gathering
16
+ /design-teach --update # Update existing context
17
+ ```
18
+
19
+ ## Process
20
+
21
+ ### Step 1: Auto-Explore Codebase
22
+
23
+ Before asking questions, automatically gather existing signals:
24
+
25
+ | Signal | Where to Look |
26
+ |--------|---------------|
27
+ | CSS variables / tokens | `*.css`, `tailwind.config.*`, `theme.*` |
28
+ | Color palette | Existing color definitions, brand assets |
29
+ | Typography | Font imports, font-family declarations |
30
+ | Component library | `package.json` dependencies (MUI, Chakra, shadcn, etc.) |
31
+ | Design system | `.claude/vibe/design-system/*/MASTER.md` |
32
+ | Existing context | `.claude/vibe/design-context.json` (if updating) |
33
+
34
+ ### Step 2: Ask Clarifying Questions
35
+
36
+ Present findings from Step 1, then ask what's missing:
37
+
38
+ **1. Target Audience**
39
+ - Who are the primary users? (developers, consumers, enterprise, internal)
40
+ - Technical sophistication? (tech-savvy, general public, mixed)
41
+ - Usage context? (desktop office, mobile on-the-go, both)
42
+
43
+ **2. Brand Personality**
44
+ - How should the product feel? (professional, playful, minimal, bold, warm)
45
+ - Reference products with similar feel? (e.g., "Linear-like", "Notion-like")
46
+ - Any brand guidelines or style guide URL?
47
+
48
+ **3. Aesthetic Direction**
49
+ - Visual density preference? (spacious, balanced, dense)
50
+ - Color mood? (warm, cool, neutral, vibrant)
51
+ - Typography mood? (modern sans, classic serif, monospace-technical)
52
+
53
+ **4. Constraints**
54
+ - Accessibility requirements? (WCAG AA, AAA, specific needs)
55
+ - Supported devices? (desktop-only, mobile-first, responsive)
56
+ - Dark mode required?
57
+ - Performance budget? (target LCP, bundle size limits)
58
+
59
+ ### Step 3: Save Context
60
+
61
+ Write gathered context to `.claude/vibe/design-context.json` using the Write tool.
62
+
63
+ **Schema (v1):**
64
+
65
+ ```json
66
+ {
67
+ "$schema": "design-context-v1",
68
+ "createdAt": "ISO-8601",
69
+ "updatedAt": "ISO-8601",
70
+ "audience": {
71
+ "primary": "대상 사용자 설명",
72
+ "context": "사용 환경 (desktop/mobile/mixed)",
73
+ "expertise": "기술 수준 (beginner/intermediate/expert)"
74
+ },
75
+ "brand": {
76
+ "personality": ["형용사 3-5개"],
77
+ "tone": "formal | casual | playful | professional (가이드라인, 자유 입력 가능)",
78
+ "existingAssets": "기존 브랜드 가이드라인 경로 (선택)"
79
+ },
80
+ "aesthetic": {
81
+ "style": "minimal | bold | elegant | playful | corporate (가이드라인, 자유 입력 가능)",
82
+ "colorMood": "warm | cool | neutral | vibrant | muted (가이드라인, 자유 입력 가능)",
83
+ "typographyMood": "modern | classic | geometric | humanist (가이드라인, 자유 입력 가능)",
84
+ "references": ["참조 사이트/앱 URL"]
85
+ },
86
+ "constraints": {
87
+ "accessibility": "AA | AAA",
88
+ "performance": "core-web-vitals | balanced | unlimited",
89
+ "browsers": ["chrome", "safari", "firefox", "edge"],
90
+ "devices": ["mobile", "tablet", "desktop"]
91
+ },
92
+ "detectedStack": {
93
+ "framework": "감지된 프레임워크",
94
+ "componentLibrary": "감지된 컴포넌트 라이브러리",
95
+ "styling": "감지된 스타일링 방식",
96
+ "fonts": ["감지된 폰트"]
97
+ }
98
+ }
99
+ ```
100
+
101
+ > **Note**: `tone`, `style`, `colorMood`, `typographyMood` 값은 제안 값이며 closed enum이 아닙니다. 사용자가 자유 텍스트로 입력할 수 있습니다.
102
+
103
+ > **Size limit**: design-context.json은 10KB를 초과하지 않도록 합니다. `references` 배열은 최대 5개로 제한합니다.
104
+
105
+ ### Step 4: Rerun Semantics
106
+
107
+ `design-context.json`이 이미 존재할 때 `/design-teach`를 다시 실행하면:
108
+
109
+ 1. 기존 파일을 Read 도구로 읽음
110
+ 2. 각 질문에 **기존 값을 기본값으로 표시** ("현재: professional, clean — 변경하시겠습니까?")
111
+ 3. 사용자가 "keep" 또는 빈 답변 → 해당 필드 유지
112
+ 4. 새 값 입력 → 해당 필드만 교체 (병합이 아닌 **필드 단위 교체**)
113
+ 5. `createdAt`은 항상 보존, `updatedAt`만 현재 시각으로 갱신
114
+
115
+ ### Step 5: Other Skills Reference This Context
116
+
117
+ 각 design-* skill은 실행 시 다음을 수행:
118
+
119
+ ```
120
+ 1. Read `.claude/vibe/design-context.json`
121
+ 2. 파일 없음 → "Run /design-teach first for better results" 안내 출력 → 기본값으로 계속 실행
122
+ 3. 파싱 실패 (잘못된 JSON) → "design-context.json 파싱 실패" 경고 + 기본값으로 계속 → /design-teach 재실행 권장
123
+ 4. 정상 → context를 분석 기준에 반영
124
+ ```
125
+
126
+ ## Design Workflow Integration
127
+
128
+ 디자인 스킬은 vibe 워크플로우의 3개 Phase에 통합됩니다:
129
+
130
+ ```
131
+ SPEC Phase:
132
+ ① design-context.json 확인 (없으면 /design-teach 권장)
133
+ ② ui-industry-analyzer → ui-design-system-gen → ui-layout-architect
134
+
135
+ REVIEW Phase:
136
+ ③ /design-audit (기술 품질 점검)
137
+ ④ /design-critique (UX 리뷰)
138
+ ⑤ ui-antipattern-detector (AI slop + 패턴 탐지)
139
+
140
+ PRE-SHIP Phase:
141
+ ⑥ /design-normalize (디자인 시스템 정렬)
142
+ ⑦ /design-polish (최종 패스)
143
+ ```
144
+
145
+ ## How Other Skills Use This
146
+
147
+ | Skill | Context Usage |
148
+ |-------|---------------|
149
+ | `/design-audit` | Weight findings by audience constraints (a11y level, devices) |
150
+ | `/design-critique` | Adjust persona priorities by target audience |
151
+ | `/design-polish` | Apply brand-appropriate micro-interactions |
152
+ | `/design-normalize` | Use detected token system for replacement mapping |
153
+ | `/design-distill` | Preserve brand-expressive elements based on personality |
154
+
155
+ ## Output Format
156
+
157
+ ```markdown
158
+ ## Design Context: {project}
159
+
160
+ ### Auto-Detected
161
+ - Framework: Next.js 15
162
+ - Styling: Tailwind CSS + shadcn/ui
163
+ - Fonts: Inter (heading), Inter (body)
164
+ - Tokens: 24 CSS variables found
165
+
166
+ ### User Provided
167
+ - Audience: B2B SaaS, mixed technical level
168
+ - Brand: Professional, clean (like Linear)
169
+ - Density: Balanced
170
+ - A11y: WCAG AA
171
+ - Dark mode: Required
172
+
173
+ ### Saved
174
+ ✅ .claude/vibe/design-context.json updated
175
+ ```
176
+
177
+ ## Important
178
+
179
+ - **Non-destructive**: Only creates/updates the context file. No code changes.
180
+ - **Incremental**: Running `--update` preserves existing answers, only asks about gaps.
181
+ - **Foundation**: Run this first before other design-* skills for best results.
@@ -3,6 +3,7 @@ name: exec-plan
3
3
  description: "Convert SPEC into a self-contained execution plan that agents can run autonomously for hours. Use when a SPEC has 3+ phases, multiple files to change, or complex dependencies between tasks. Produces a plan with explicit file paths, interface extracts, and acceptance criteria so agents never need to 'figure out' context. Must use this skill when launching long-running autonomous work, parallelizing implementation across agents, or when user says 'execute this spec' or 'run this plan'."
4
4
  triggers: [exec plan, execution plan, autonomous plan, self-contained plan, long-running]
5
5
  priority: 70
6
+ chain-next: [commit-push-pr]
6
7
  ---
7
8
 
8
9
  # ExecPlan — Self-Contained Execution Plan Generator
@@ -3,6 +3,7 @@ name: parallel-research
3
3
  description: "Parallel research with 4 specialized agents (best-practices, framework-docs, codebase-patterns, security-advisory) running simultaneously. Use when facing unfamiliar technology, choosing between libraries/frameworks, designing architecture for a new feature, or investigating security implications. Must use this skill when user asks 'how should we build X', 'which library for Y', or when starting work on a complex feature with unknown requirements. Not for simple lookups — use web search directly for those."
4
4
  triggers: [parallel research, complex feature, technology selection, architecture design, security critical]
5
5
  priority: 60
6
+ chain-next: [exec-plan]
6
7
  ---
7
8
  # Parallel Research
8
9
 
@@ -0,0 +1,86 @@
1
+ ---
2
+ name: prioritization-frameworks
3
+ description: "Reference guide to 9 prioritization frameworks with formulas, when-to-use guidance, and templates — RICE, ICE, Kano, MoSCoW, Opportunity Score, and more."
4
+ triggers: [prioritize, prioritization, rice, ice, kano, moscow, opportunity score]
5
+ priority: 50
6
+ chain-next: [create-prd]
7
+ ---
8
+
9
+ # Prioritization Frameworks Reference
10
+
11
+ > Based on the Product Frameworks Compendium from [Product Compass](https://www.productcompass.pm/p/the-product-frameworks-compendium) by Pawel Huryn (MIT License).
12
+
13
+ A reference guide to help you select and apply the right prioritization framework for your context.
14
+
15
+ ## Core Principle
16
+
17
+ Never allow customers to design solutions. Prioritize **problems (opportunities)**, not features.
18
+
19
+ ## Opportunity Score (Dan Olsen, *The Lean Product Playbook*)
20
+
21
+ The recommended framework for prioritizing customer problems.
22
+
23
+ Survey customers on **Importance** and **Satisfaction** for each need (normalize to 0-1 scale).
24
+
25
+ Three related formulas:
26
+ - **Current value** = Importance x Satisfaction
27
+ - **Opportunity Score** = Importance x (1 - Satisfaction)
28
+ - **Customer value created** = Importance x (S2 - S1), where S1 = satisfaction before, S2 = satisfaction after
29
+
30
+ High Importance + low Satisfaction = highest Opportunity Score = best opportunities. Plot on an Importance vs Satisfaction chart — upper-left quadrant is the sweet spot.
31
+
32
+ ## ICE Framework
33
+
34
+ Useful for prioritizing initiatives and ideas. Considers not only value but also risk and economic factors.
35
+
36
+ - **I** (Impact) = Opportunity Score x Number of Customers affected
37
+ - **C** (Confidence) = How confident are we? (1-10). Accounts for risk.
38
+ - **E** (Ease) = How easy is it to implement? (1-10). Accounts for economic factors.
39
+
40
+ **Score** = I x C x E. Higher = prioritize first.
41
+
42
+ ## RICE Framework
43
+
44
+ Splits ICE's Impact into two separate factors. Useful for larger teams that need more granularity.
45
+
46
+ - **R** (Reach) = Number of customers affected
47
+ - **I** (Impact) = Opportunity Score (value per customer)
48
+ - **C** (Confidence) = How confident are we? (0-100%)
49
+ - **E** (Effort) = How much effort to implement? (person-months)
50
+
51
+ **Score** = (R x I x C) / E
52
+
53
+ ## 9 Frameworks Overview
54
+
55
+ | Framework | Best For | Key Insight |
56
+ |-----------|----------|-------------|
57
+ | Eisenhower Matrix | Personal tasks | Urgent vs Important — for individual PM task management |
58
+ | Impact vs Effort | Tasks/initiatives | Simple 2x2 — quick triage, not rigorous for strategic decisions |
59
+ | Risk vs Reward | Initiatives | Like Impact vs Effort but accounts for uncertainty |
60
+ | **Opportunity Score** | Customer problems | **Recommended.** Importance x (1 - Satisfaction). Normalize to 0-1. |
61
+ | Kano Model | Understanding expectations | Must-be, Performance, Attractive, Indifferent, Reverse. For understanding, not prioritizing. |
62
+ | Weighted Decision Matrix | Multi-factor decisions | Assign weights to criteria, score each option. Useful for stakeholder buy-in. |
63
+ | **ICE** | Ideas/initiatives | Impact x Confidence x Ease. Recommended for quick prioritization. |
64
+ | **RICE** | Ideas at scale | (Reach x Impact x Confidence) / Effort. Adds Reach to ICE. |
65
+ | MoSCoW | Requirements | Must/Should/Could/Won't. Caution: project management origin. |
66
+
67
+ ## How to Choose
68
+
69
+ 1. **Prioritizing customer problems?** → Opportunity Score
70
+ 2. **Quick initiative ranking?** → ICE
71
+ 3. **Large team with data?** → RICE
72
+ 4. **Understanding user expectations?** → Kano Model
73
+ 5. **Stakeholder alignment needed?** → Weighted Decision Matrix
74
+ 6. **Requirements scoping?** → MoSCoW (with caution)
75
+
76
+ ## Templates
77
+
78
+ - [Opportunity Score intro (PDF)](https://drive.google.com/file/d/1ENbYPmk1i1AKO7UnfyTuULL5GucTVufW/view)
79
+ - [Importance vs Satisfaction Template (Google Slides)](https://docs.google.com/presentation/d/1jg-LuF_3QHsf6f1nE1f98i4C0aulnRNMOO1jftgti8M/edit#slide=id.g796641d975_0_3)
80
+ - [ICE Template (Google Sheets)](https://docs.google.com/spreadsheets/d/1LUfnsPolhZgm7X2oij-7EUe0CJT-Dwr-/edit?usp=share_link)
81
+ - [RICE Template (Google Sheets)](https://docs.google.com/spreadsheets/d/1S-6QpyOz5MCrV7B67LUWdZkAzn38Eahv/edit?usp=sharing)
82
+
83
+ ## Further Reading
84
+
85
+ - [The Product Management Frameworks Compendium + Templates](https://www.productcompass.pm/p/the-product-frameworks-compendium)
86
+ - [Kano Model: How to Delight Your Customers Without Becoming a Feature Factory](https://www.productcompass.pm/p/kano-model-how-to-delight-your-customers)
@@ -3,6 +3,7 @@ name: techdebt
3
3
  description: "Technical debt cleanup — detect and fix duplicate code, console.log, unused imports, any types, etc. Recommended before session end. Activates on techdebt, cleanup, debt keywords."
4
4
  triggers: [techdebt, cleanup, debt, unused imports, console.log, dead code]
5
5
  priority: 60
6
+ chain-next: [commit-push-pr]
6
7
  ---
7
8
 
8
9
  # Techdebt — Technical Debt Cleanup
@@ -211,6 +211,20 @@ Avoid these signs of generic, AI-generated UI:
211
211
  | Safe, corporate color palettes | Develop unique color palettes beyond defaults |
212
212
  | No micro-interactions | Add meaningful motion to guide user attention (150-300ms) |
213
213
 
214
+ ## Deep Reference Guides
215
+
216
+ For detailed guidance on specific domains, see the reference files:
217
+
218
+ | Reference | Domain | Use When |
219
+ |-----------|--------|----------|
220
+ | [typography](reference/typography.md) | Type systems, font pairing, scales | Setting up type hierarchy |
221
+ | [color-and-contrast](reference/color-and-contrast.md) | OKLCH, tinted neutrals, dark mode | Choosing colors, dark mode |
222
+ | [spatial-design](reference/spatial-design.md) | Spacing systems, grids, hierarchy | Layout and spacing decisions |
223
+ | [motion-design](reference/motion-design.md) | Easing, staggering, reduced motion | Adding animations |
224
+ | [interaction-design](reference/interaction-design.md) | States, focus, forms, modals | Building interactive elements |
225
+ | [responsive-design](reference/responsive-design.md) | Mobile-first, fluid, containers | Responsive implementation |
226
+ | [ux-writing](reference/ux-writing.md) | Labels, errors, empty states | Writing UI copy |
227
+
214
228
  ## Done Criteria (K4)
215
229
 
216
230
  - [ ] Design system generated before implementation