@codeharbor/agent-playbook 0.1.0 → 0.1.2

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 (114) hide show
  1. package/README.md +4 -2
  2. package/package.json +5 -2
  3. package/skills/api-designer/README.md +36 -0
  4. package/skills/api-designer/SKILL.md +232 -0
  5. package/skills/api-designer/references/graphql-patterns.md +12 -0
  6. package/skills/api-designer/references/rest-patterns.md +17 -0
  7. package/skills/api-designer/scripts/generate_api.py +87 -0
  8. package/skills/api-designer/scripts/validate_api.py +48 -0
  9. package/skills/api-documenter/README.md +41 -0
  10. package/skills/api-documenter/SKILL.md +209 -0
  11. package/skills/api-documenter/references/examples/README.md +3 -0
  12. package/skills/api-documenter/references/examples/openapi-example.yaml +10 -0
  13. package/skills/api-documenter/references/openapi-template.yaml +5 -0
  14. package/skills/api-documenter/scripts/generate_openapi.py +84 -0
  15. package/skills/api-documenter/scripts/validate_openapi.py +45 -0
  16. package/skills/architecting-solutions/README.md +22 -0
  17. package/skills/architecting-solutions/SKILL.md +459 -0
  18. package/skills/auto-trigger/README.md +23 -0
  19. package/skills/auto-trigger/SKILL.md +183 -0
  20. package/skills/code-reviewer/README.md +59 -0
  21. package/skills/code-reviewer/SKILL.md +220 -0
  22. package/skills/code-reviewer/references/checklist.md +80 -0
  23. package/skills/code-reviewer/references/patterns.md +226 -0
  24. package/skills/code-reviewer/references/security.md +88 -0
  25. package/skills/code-reviewer/scripts/review_checklist.py +191 -0
  26. package/skills/commit-helper/README.md +58 -0
  27. package/skills/commit-helper/SKILL.md +159 -0
  28. package/skills/commit-helper/references/conventional-commits.md +68 -0
  29. package/skills/commit-helper/references/examples.md +125 -0
  30. package/skills/commit-helper/references/scopes.md +49 -0
  31. package/skills/commit-helper/scripts/validate_commit.py +70 -0
  32. package/skills/create-pr/README.md +182 -0
  33. package/skills/create-pr/SKILL.md +340 -0
  34. package/skills/debugger/README.md +53 -0
  35. package/skills/debugger/SKILL.md +239 -0
  36. package/skills/debugger/references/checklist.md +7 -0
  37. package/skills/debugger/references/errors.md +6 -0
  38. package/skills/debugger/references/patterns.md +5 -0
  39. package/skills/debugger/scripts/debug_report.py +77 -0
  40. package/skills/deployment-engineer/README.md +40 -0
  41. package/skills/deployment-engineer/SKILL.md +242 -0
  42. package/skills/deployment-engineer/references/kubernetes.md +23 -0
  43. package/skills/deployment-engineer/references/monitoring.md +14 -0
  44. package/skills/deployment-engineer/references/pipelines.md +12 -0
  45. package/skills/deployment-engineer/scripts/generate_deploy.py +72 -0
  46. package/skills/deployment-engineer/scripts/validate_deploy.py +46 -0
  47. package/skills/documentation-engineer/README.md +41 -0
  48. package/skills/documentation-engineer/SKILL.md +164 -0
  49. package/skills/documentation-engineer/references/api-template.md +22 -0
  50. package/skills/documentation-engineer/references/readme-template.md +25 -0
  51. package/skills/documentation-engineer/references/style-guide.md +13 -0
  52. package/skills/documentation-engineer/scripts/generate_docs.py +68 -0
  53. package/skills/documentation-engineer/scripts/validate_docs.py +46 -0
  54. package/skills/figma-designer/README.md +222 -0
  55. package/skills/figma-designer/SKILL.md +407 -0
  56. package/skills/figma-designer/references/example-output.md +86 -0
  57. package/skills/performance-engineer/README.md +42 -0
  58. package/skills/performance-engineer/SKILL.md +236 -0
  59. package/skills/performance-engineer/references/checklist.md +6 -0
  60. package/skills/performance-engineer/references/monitoring.md +5 -0
  61. package/skills/performance-engineer/references/optimization.md +7 -0
  62. package/skills/performance-engineer/scripts/perf_report.py +64 -0
  63. package/skills/performance-engineer/scripts/profile.py +63 -0
  64. package/skills/planning-with-files/README.md +27 -0
  65. package/skills/planning-with-files/SKILL.md +103 -0
  66. package/skills/prd-implementation-precheck/README.md +97 -0
  67. package/skills/prd-implementation-precheck/SKILL.md +112 -0
  68. package/skills/prd-planner/README.md +102 -0
  69. package/skills/prd-planner/SKILL.md +449 -0
  70. package/skills/prd-planner/references/edge-case-analysis.md +111 -0
  71. package/skills/qa-expert/README.md +37 -0
  72. package/skills/qa-expert/SKILL.md +225 -0
  73. package/skills/qa-expert/references/gates.md +11 -0
  74. package/skills/qa-expert/references/metrics.md +6 -0
  75. package/skills/qa-expert/references/strategy.md +11 -0
  76. package/skills/qa-expert/scripts/coverage_analysis.py +61 -0
  77. package/skills/qa-expert/scripts/generate_test_plan.py +68 -0
  78. package/skills/refactoring-specialist/README.md +37 -0
  79. package/skills/refactoring-specialist/SKILL.md +283 -0
  80. package/skills/refactoring-specialist/references/checklist.md +6 -0
  81. package/skills/refactoring-specialist/references/smells.md +6 -0
  82. package/skills/refactoring-specialist/references/techniques.md +6 -0
  83. package/skills/security-auditor/README.md +48 -0
  84. package/skills/security-auditor/SKILL.md +256 -0
  85. package/skills/security-auditor/references/checklist.md +7 -0
  86. package/skills/security-auditor/references/owasp.md +12 -0
  87. package/skills/security-auditor/references/remediation.md +7 -0
  88. package/skills/security-auditor/scripts/find_secrets.py +58 -0
  89. package/skills/security-auditor/scripts/security_audit.py +64 -0
  90. package/skills/self-improving-agent/README.md +136 -0
  91. package/skills/self-improving-agent/SKILL.md +407 -0
  92. package/skills/self-improving-agent/hooks/post-bash.sh +10 -0
  93. package/skills/self-improving-agent/hooks/pre-tool.sh +10 -0
  94. package/skills/self-improving-agent/hooks/session-end.sh +4 -0
  95. package/skills/self-improving-agent/memory/semantic-patterns.json +288 -0
  96. package/skills/self-improving-agent/references/appendix.md +131 -0
  97. package/skills/self-improving-agent/templates/correction-template.md +11 -0
  98. package/skills/self-improving-agent/templates/pattern-template.md +15 -0
  99. package/skills/self-improving-agent/templates/validation-template.md +14 -0
  100. package/skills/session-logger/README.md +50 -0
  101. package/skills/session-logger/SKILL.md +156 -0
  102. package/skills/skill-router/README.md +155 -0
  103. package/skills/skill-router/SKILL.md +215 -0
  104. package/skills/test-automator/README.md +41 -0
  105. package/skills/test-automator/SKILL.md +202 -0
  106. package/skills/test-automator/references/best-practices.md +6 -0
  107. package/skills/test-automator/references/examples/README.md +3 -0
  108. package/skills/test-automator/references/examples/unit-test-example.md +8 -0
  109. package/skills/test-automator/references/mocking.md +5 -0
  110. package/skills/test-automator/scripts/coverage_report.py +59 -0
  111. package/skills/test-automator/scripts/generate_test.py +66 -0
  112. package/skills/workflow-orchestrator/README.md +20 -0
  113. package/skills/workflow-orchestrator/SKILL.md +342 -0
  114. package/src/cli.js +107 -20
@@ -0,0 +1,222 @@
1
+ # Figma Designer Skill
2
+
3
+ > "Transform Figma designs into implementation-ready specifications with pixel-perfect accuracy"
4
+
5
+ ## Overview
6
+
7
+ This skill analyzes Figma designs through the Figma MCP server and generates detailed PRDs with precise visual specifications. It extracts design tokens, component specifications, and layout information that developers can implement directly.
8
+
9
+ ## Installation
10
+
11
+ The skill should be symbolically linked to your Claude Code skills directory:
12
+
13
+ ```bash
14
+ ln -s ~/agent-playbook/skills/figma-designer/SKILL.md ~/.claude/skills/figma-designer.md
15
+ ```
16
+
17
+ ## Prerequisites
18
+
19
+ ### Figma MCP Server
20
+
21
+ Ensure the Figma MCP server is connected and accessible:
22
+
23
+ ```bash
24
+ # Check if Figma MCP is available
25
+ mcp-list
26
+ ```
27
+
28
+ If not available, install from: https://github.com/modelcontextprotocol/servers
29
+
30
+ Required Figma MCP tools:
31
+ - `figma_get_file` - Get file metadata
32
+ - `figma_get_nodes` - Get node details
33
+ - `figma_get_components` - Get component information
34
+
35
+ ### Figma Access Token
36
+
37
+ You need a Figma access token with appropriate permissions:
38
+
39
+ ```bash
40
+ # Set environment variable
41
+ export FIGMA_ACCESS_TOKEN="your_token_here"
42
+ ```
43
+
44
+ ## Usage
45
+
46
+ ### Basic Usage
47
+
48
+ Provide a Figma link or ask to analyze a design:
49
+
50
+ ```
51
+ You: Analyze this Figma design: https://www.figma.com/file/abc123/My-Design
52
+ ```
53
+
54
+ The skill will automatically:
55
+ 1. Extract the file key from the URL
56
+ 2. Fetch design data via Figma MCP
57
+ 3. Analyze design tokens (colors, typography, spacing)
58
+ 4. Extract component hierarchy
59
+ 5. Generate visual specifications
60
+
61
+ ### With PRD Generation
62
+
63
+ ```
64
+ You: Create a PRD from this Figma design: [URL]
65
+ ```
66
+
67
+ Generates a complete 4-file PRD in `docs/`:
68
+ - `{feature}-notes.md` - Design decisions
69
+ - `{feature}-task-plan.md` - Implementation tasks
70
+ - `{feature}-prd.md` - Product requirements
71
+ - `{feature}-tech.md` - Technical specifications
72
+
73
+ ## What Gets Extracted
74
+
75
+ ### Design Tokens
76
+
77
+ | Category | What's Extracted |
78
+ |----------|-----------------|
79
+ | **Colors** | Hex/RGBA values for primary, secondary, semantic colors |
80
+ | **Typography** | Font families, sizes, weights, line heights, letter spacing |
81
+ | **Spacing** | Padding, margin, gap values (typically 4/8/12/16px scale) |
82
+ | **Borders** | Corner radius, border widths |
83
+ | **Shadows** | Offset, blur, spread, color values |
84
+ | **Icons** | Names, sizes, colors |
85
+ | **Images** | URLs, dimensions, fit modes |
86
+
87
+ ### Component Analysis
88
+
89
+ For each component found in the design:
90
+ - Props (size, variant, state)
91
+ - Layout (flex direction, alignment, gap, padding)
92
+ - Styles (fill, stroke, effects)
93
+ - Content (text, icons, images)
94
+ - Constraints (responsive behavior)
95
+
96
+ ## Output Examples
97
+
98
+ ### Visual Specification
99
+
100
+ ```markdown
101
+ ## Screen: Login
102
+
103
+ ### Layout Structure
104
+ ```
105
+ ┌─────────────────────────────────────────┐
106
+ │ Logo [Icon] │
107
+ ├─────────────────────────────────────────┤
108
+ │ Welcome back │
109
+ │ Sign in to continue │
110
+ ├─────────────────────────────────────────┤
111
+ │ Email [✓] │
112
+ │ ┌────────────────────────────────┐ │
113
+ │ └────────────────────────────────┘ │
114
+ ├─────────────────────────────────────────┤
115
+ │ Password [👁️] │
116
+ │ ┌────────────────────────────────┐ │
117
+ │ └────────────────────────────────┘ │
118
+ ├─────────────────────────────────────────┤
119
+ │ Forgot password? │
120
+ ├─────────────────────────────────────────┤
121
+ │ [ Sign In ] │
122
+ └─────────────────────────────────────────┘
123
+ ```
124
+
125
+ ### Design Tokens
126
+
127
+ ```typescript
128
+ // tokens.ts
129
+ export const colors = {
130
+ primary: '#007AFF',
131
+ background: '#FFFFFF',
132
+ surface: '#F5F5F7',
133
+ textPrimary: '#1C1C1E',
134
+ textSecondary: '#8E8E93',
135
+ };
136
+
137
+ export const typography = {
138
+ displayLarge: {
139
+ fontSize: 28,
140
+ fontWeight: '700',
141
+ lineHeight: 34,
142
+ },
143
+ // ...
144
+ };
145
+
146
+ export const spacing = {
147
+ xs: 4,
148
+ sm: 8,
149
+ md: 12,
150
+ lg: 16,
151
+ xl: 24,
152
+ 2xl: 32,
153
+ };
154
+ ```
155
+
156
+ ## Integration with Other Skills
157
+
158
+ ### Typical Workflow
159
+
160
+ ```
161
+ Figma URL → figma-designer → Visual Specs
162
+
163
+ prd-planner → PRD
164
+
165
+ implementation → Code
166
+
167
+ code-reviewer → Quality Check
168
+ ```
169
+
170
+ ### Auto-Triggers
171
+
172
+ After figma-designer completes:
173
+ - `prd-planner` (ask first) - Further refine PRD with 4-file pattern
174
+ - `self-improving-agent` (background) - Learn design patterns
175
+ - `session-logger` (auto) - Save design analysis session
176
+
177
+ ## Platform Support
178
+
179
+ The skill generates specifications for:
180
+ - **React Native** - Uses StyleSheet with exact pixel values
181
+ - **React/Web** - CSS values with proper units
182
+ - **SwiftUI** - Native SwiftUI values
183
+
184
+ ## Examples
185
+
186
+ ### Example 1: Quick Analysis
187
+
188
+ ```
189
+ You: What are the colors used in this design?
190
+ ```
191
+
192
+ Returns a table of all colors with their usage contexts.
193
+
194
+ ### Example 2: Component Spec
195
+
196
+ ```
197
+ You: Extract the button component specifications
198
+ ```
199
+
200
+ Returns props interface, variants, and all states.
201
+
202
+ ### Example 3: Full PRD
203
+
204
+ ```
205
+ You: Create a complete PRD from this Figma file
206
+ ```
207
+
208
+ Generates 4-file PRD with all visual specifications.
209
+
210
+ ## Tips
211
+
212
+ 1. **Organize Figma files** with clear naming conventions for better extraction
213
+ 2. **Use components** for reusable elements to get proper component specs
214
+ 3. **Set up auto-layout** in Figma for accurate layout information
215
+ 4. **Document prototypes** to include interaction states
216
+ 5. **Provide context** about target platform for platform-specific output
217
+
218
+ ## See Also
219
+
220
+ - [SKILL.md](./SKILL.md) - Full skill definition with all templates
221
+ - [prd-planner](../prd-planner/) - Create PRDs from design specs
222
+ - [architecting-solutions](../architecting-solutions/) - Technical architecture
@@ -0,0 +1,407 @@
1
+ ---
2
+ name: figma-designer
3
+ description: Analyzes Figma designs and generates implementation-ready PRDs with detailed visual specifications. Use when user provides Figma link or uploads design screenshots. Requires Figma MCP server connection.
4
+ allowed-tools: Read, Write, Edit, Bash, Grep, Glob, WebFetch, WebSearch, AskUserQuestion
5
+ hooks:
6
+ after_complete:
7
+ - trigger: prd-planner
8
+ mode: ask_first
9
+ condition: prd_generated
10
+ reason: "Further refine PRD with 4-file pattern"
11
+ - trigger: self-improving-agent
12
+ mode: background
13
+ reason: "Learn design patterns for future reference"
14
+ - trigger: session-logger
15
+ mode: auto
16
+ reason: "Save design analysis session"
17
+ ---
18
+
19
+ # Figma Designer
20
+
21
+ > "Transform Figma designs into implementation-ready specifications with pixel-perfect accuracy"
22
+
23
+ ## Overview
24
+
25
+ This skill analyzes Figma designs through the Figma MCP server and generates detailed PRDs with precise visual specifications. It extracts design tokens, component specifications, and layout information that developers can implement directly.
26
+
27
+ ## Prerequisites
28
+
29
+ ### Figma MCP Server
30
+
31
+ Ensure the Figma MCP server is connected and accessible:
32
+
33
+ ```bash
34
+ # Check if Figma MCP is available
35
+ mcp-list
36
+ ```
37
+
38
+ If not available, install from: https://github.com/modelcontextprotocol/servers
39
+
40
+ Required Figma MCP tools:
41
+ - `figma_get_file` - Get file metadata
42
+ - `figma_get_nodes` - Get node details
43
+ - `figma_get_components` - Get component information
44
+
45
+ ## When This Skill Activates
46
+
47
+ Activates when you:
48
+ - Provide a Figma link (`https://www.figma.com/file/...`)
49
+ - Upload a design screenshot and mention "Figma"
50
+ - Say "analyze this design" or "extract design specs"
51
+ - Ask to "create PRD from Figma"
52
+
53
+ ## Design Analysis Workflow
54
+
55
+ ### Phase 1: Fetch Design Data
56
+
57
+ ```yaml
58
+ Input: Figma URL or File Key
59
+
60
+ Extract File Key from URL
61
+
62
+ Call figma_get_file to get metadata
63
+
64
+ Call figma_get_nodes to get design tree
65
+
66
+ Parse frame, component, and text nodes
67
+ ```
68
+
69
+ ### Phase 2: Extract Design Tokens
70
+
71
+ Create a comprehensive design token inventory:
72
+
73
+ ```typescript
74
+ // Design Token Structure
75
+ interface DesignTokens {
76
+ colors: {
77
+ primary: string[];
78
+ secondary: string[];
79
+ neutral: string[];
80
+ semantic: {
81
+ success: string;
82
+ warning: string;
83
+ error: string;
84
+ info: string;
85
+ };
86
+ };
87
+ typography: {
88
+ fontFamilies: Record<string, string>;
89
+ fontSizes: Record<string, number>;
90
+ fontWeights: Record<string, number>;
91
+ lineHeights: Record<string, number>;
92
+ letterSpacing: Record<string, number>;
93
+ };
94
+ spacing: {
95
+ scale: number; // 4, 8, 12, 16, etc.
96
+ values: Record<string, number>;
97
+ };
98
+ borders: {
99
+ radii: Record<string, number>;
100
+ widths: Record<string, number>;
101
+ };
102
+ shadows: Array<{
103
+ name: string;
104
+ values: string[];
105
+ }>;
106
+ }
107
+ ```
108
+
109
+ ### Phase 3: Analyze Component Hierarchy
110
+
111
+ ```
112
+ File
113
+ ├── Frames (Pages/Screens)
114
+ │ ├── Component Instances
115
+ │ │ ├── Primary Button
116
+ │ │ ├── Input Field
117
+ │ │ └── Card
118
+ │ └── Text Layers
119
+ │ ├── Headings
120
+ │ ├── Body
121
+ │ └── Labels
122
+ ```
123
+
124
+ For each component, extract:
125
+ - **Props**: Size, variant, state
126
+ - **Layout**: Flex direction, alignment, gap, padding
127
+ - **Styles**: Fill, stroke, effects
128
+ - **Content**: Text content, icons, images
129
+ - **Constraints**: Responsive behavior
130
+
131
+ ### Phase 4: Generate Visual Specifications
132
+
133
+ Use this template for each screen:
134
+
135
+ ```markdown
136
+ ## Screen: [Screen Name]
137
+
138
+ ### Layout Structure
139
+
140
+ ```
141
+ ┌─────────────────────────────────────────┐
142
+ │ [Header/Nav] │
143
+ ├─────────────────────────────────────────┤
144
+ │ │
145
+ │ [Main Content] │
146
+ │ ┌───────────┐ ┌───────────┐ │
147
+ │ │ Card 1 │ │ Card 2 │ │
148
+ │ └───────────┘ └───────────┘ │
149
+ │ │
150
+ ├─────────────────────────────────────────┤
151
+ │ [Footer] │
152
+ └─────────────────────────────────────────┘
153
+ ```
154
+
155
+ ### Design Specifications
156
+
157
+ #### Colors
158
+
159
+ | Token | Value | Usage |
160
+ |-------|-------|-------|
161
+ | Primary | `#007AFF` | Primary buttons, links |
162
+ | Background | `#FFFFFF` | Screen background |
163
+ | Surface | `#F5F5F7` | Cards, sections |
164
+ | Text Primary | `#1C1C1E` | Headings, body |
165
+ | Text Secondary | `#8E8E93` | Captions, labels |
166
+
167
+ #### Typography
168
+
169
+ | Style | Font | Size | Weight | Line Height | Letter Spacing |
170
+ |-------|------|------|--------|------------|---------------|
171
+ | Display Large | SF Pro Display | 28px | Bold (700) | 34px | -0.5px |
172
+ | Heading 1 | SF Pro Display | 24px | Bold (700) | 32px | -0.3px |
173
+ | Heading 2 | SF Pro Display | 20px | Semibold (600) | 28px | -0.2px |
174
+ | Body Large | SF Pro Text | 17px | Regular (400) | 24px | -0.4px |
175
+ | Body | SF Pro Text | 15px | Regular (400) | 22px | -0.3px |
176
+ | Caption | SF Pro Text | 13px | Regular (400) | 18px | -0.1px |
177
+
178
+ #### Spacing
179
+
180
+ | Token | Value | Usage |
181
+ |-------|-------|-------|
182
+ | xs | 4px | Icon padding |
183
+ | sm | 8px | Tight spacing |
184
+ | md | 12px | Card padding |
185
+ | lg | 16px | Section spacing |
186
+ | xl | 24px | Large gaps |
187
+ | 2xl | 32px | Page margins |
188
+
189
+ #### Component: Primary Button
190
+
191
+ ```typescript
192
+ interface PrimaryButtonProps {
193
+ size?: 'small' | 'medium' | 'large';
194
+ variant?: 'primary' | 'secondary' | 'tertiary';
195
+ disabled?: boolean;
196
+ }
197
+
198
+ // Sizes
199
+ size.small = {
200
+ height: 32px,
201
+ paddingHorizontal: 12px,
202
+ fontSize: 15,
203
+ iconSize: 16,
204
+ }
205
+
206
+ size.medium = {
207
+ height: 40px,
208
+ paddingHorizontal: 16px,
209
+ fontSize: 15,
210
+ iconSize: 20,
211
+ }
212
+
213
+ size.large = {
214
+ height: 48px,
215
+ paddingHorizontal: 24px,
216
+ fontSize: 17,
217
+ iconSize: 24,
218
+ }
219
+
220
+ // Variants
221
+ variant.primary = {
222
+ backgroundColor: '#007AFF',
223
+ color: '#FFFFFF',
224
+ }
225
+
226
+ variant.secondary = {
227
+ backgroundColor: '#F5F5F7',
228
+ color: '#007AFF',
229
+ }
230
+
231
+ variant.tertiary = {
232
+ backgroundColor: 'transparent',
233
+ color: '#007AFF',
234
+ }
235
+ ```
236
+
237
+ #### Constraints & Responsive Behavior
238
+
239
+ | Element | Constraints | Responsive Behavior |
240
+ |---------|-------------|---------------------|
241
+ | Header | Left, Right, Top | Sticky on scroll |
242
+ | Sidebar | Left, Top, Bottom | Collapses to drawer on mobile |
243
+ | Content | Left, Right (16px) | Full width on mobile |
244
+
245
+ ### Interaction States
246
+
247
+ | Element | Default | Hover | Pressed | Disabled |
248
+ |---------|---------|-------|--------|----------|
249
+ | Primary Button | opacity: 1 | opacity: 0.8 | opacity: 0.6 | opacity: 0.4 |
250
+ | Icon Button | opacity: 1 | background: rgba(0,0,0,0.05) | background: rgba(0,0,0,0.1) | opacity: 0.3 |
251
+ | Card | shadow: sm | shadow: md | - | opacity: 0.6 |
252
+ ```
253
+
254
+ ## Output Formats
255
+
256
+ ### Option 1: Full PRD (Recommended)
257
+
258
+ Generates a complete 4-file PRD:
259
+ - `docs/{feature}-notes.md` - Design decisions
260
+ - `docs/{feature}-task-plan.md` - Implementation tasks
261
+ - `docs/{feature}-prd.md` - Product requirements
262
+ - `docs/{feature}-tech.md` - Technical specifications
263
+
264
+ ### Option 2: Visual Spec Document
265
+
266
+ Generates a design specification document:
267
+ ```
268
+ docs/{feature}-design-spec.md
269
+ ```
270
+
271
+ ### Option 3: Component Library
272
+
273
+ For design systems, generates:
274
+ ```
275
+ src/components/
276
+ ├── Button/
277
+ │ ├── Button.tsx
278
+ │ ├── Button.test.tsx
279
+ │ └── Button.stories.tsx
280
+ ├── Input/
281
+ ├── Card/
282
+ └── tokens.ts
283
+ ```
284
+
285
+ ## Quick Reference: Design Token Categories
286
+
287
+ ### Always Extract These
288
+
289
+ | Category | What to Extract | Why |
290
+ |----------|----------------|-----|
291
+ | **Colors** | Hex/RGBA values | Theme consistency |
292
+ | **Typography** | Font family, size, weight, spacing | Text hierarchy |
293
+ | **Spacing** | Padding, margin, gap values | Layout alignment |
294
+ | **Borders** | Radius, width values | Shape consistency |
295
+ | **Shadows** | Offset, blur, spread, color | Depth perception |
296
+ | **Icons** | Name, size, color | Visual consistency |
297
+ | **Images** | URL, dimensions, fit mode | Asset management |
298
+
299
+ ## Design Review Checklist
300
+
301
+ Before generating PRD, verify:
302
+
303
+ - [ ] All screens are accounted for
304
+ - [ ] Design tokens are extracted
305
+ - [ ] Component variants are documented
306
+ - [ ] Responsive behavior is specified
307
+ - [ ] Interaction states are defined
308
+ - [ ] Accessibility (WCAG) is considered
309
+ - [ ] Color contrast ratio ≥ 4.5:1
310
+ - [ ] Touch targets ≥ 44x44px
311
+ - [ ] Focus indicators visible
312
+
313
+ ## Frame Analysis Template
314
+
315
+ For each frame/screen in the Figma file:
316
+
317
+ ```markdown
318
+ ## Frame: {Frame Name}
319
+
320
+ ### Purpose
321
+ {What this screen does}
322
+
323
+ ### Elements
324
+
325
+ | Element | Type | Styles | Props |
326
+ |---------|------|--------|-------|
327
+ | {Name} | {Component/Text/Vector} | {css} | {props} |
328
+ | {Name} | {Component/Text/Vector} | {css} | {props} |
329
+
330
+ ### Layout
331
+ - Container: {width, height, fill}
332
+ - Position: {absolute/relative}
333
+ - Constraints: {left, right, top, bottom}
334
+ - Auto Layout: {direction, spacing, padding, alignment}
335
+
336
+ ### Content Hierarchy
337
+ 1. {Primary element}
338
+ 2. {Secondary element}
339
+ 3. {Tertiary element}
340
+
341
+ ### Notes
342
+ {Any special considerations}
343
+ ```
344
+
345
+ ## Integration with Other Skills
346
+
347
+ ### Typical Workflow
348
+
349
+ ```
350
+ Figma URL → figma-designer → Visual Specs
351
+
352
+ prd-planner → PRD
353
+
354
+ implementation → Code
355
+
356
+ code-reviewer → Quality Check
357
+ ```
358
+
359
+ ### Handoff to Development
360
+
361
+ After generating specifications:
362
+
363
+ ```markdown
364
+ ## Developer Handoff
365
+
366
+ ### Design Files
367
+ - Figma: {url}
368
+ - Design Spec: {link}
369
+
370
+ ### Design Tokens
371
+ - Generated: `tokens.ts`
372
+ - Color palette: `colors.ts`
373
+ - Typography: `typography.ts`
374
+
375
+ ### Component Library
376
+ - Storybook: {url}
377
+ - Component docs: {link}
378
+
379
+ ### Assets
380
+ - Icons: {folder}
381
+ - Images: {folder}
382
+ - Exports: {format}
383
+ ```
384
+
385
+ ## Best Practices
386
+
387
+ ### DO
388
+
389
+ ✅ Extract exact pixel values for critical dimensions
390
+ ✅ Document component variants and states
391
+ ✅ Include responsive breakpoints
392
+ ✅ Note any platform differences (iOS vs Android)
393
+ ✅ Include accessibility considerations
394
+ ✅ Export design tokens as constants
395
+
396
+ ### DON'T
397
+
398
+ ❌ Round spacing values (use exact 4px/8px/12px)
399
+ ❌ Ignore hover/focus states
400
+ ❌ Skip constraint behavior
401
+ ❌ Forget about empty states
402
+ ❌ Omit loading states
403
+ ❌ Assume platform defaults without verification
404
+
405
+ ## Examples and Platform Notes
406
+
407
+ See `references/example-output.md` for a full sample output and platform-specific considerations.
@@ -0,0 +1,86 @@
1
+ # Example Output
2
+
3
+ # Login Screen PRD
4
+
5
+ ## Visual Specification
6
+
7
+ ### Layout
8
+ - Logo aligned left, icon aligned right
9
+ - Form fields stacked with 16px vertical spacing
10
+ - Primary button below the form
11
+
12
+ ### Technical Specs
13
+
14
+ ```text
15
+ container: {
16
+ width: 100%,
17
+ height: 100%,
18
+ padding: 24px,
19
+ backgroundColor: #FFFFFF,
20
+ justifyContent: center,
21
+ }
22
+
23
+ input: {
24
+ height: 48,
25
+ paddingHorizontal: 16,
26
+ backgroundColor: #F5F5F7,
27
+ borderRadius: 12,
28
+ borderWidth: 1,
29
+ borderColor: transparent,
30
+ }
31
+
32
+ input:focus: {
33
+ borderColor: #007AFF,
34
+ }
35
+ ```
36
+
37
+ ### Generated Code
38
+
39
+ ```typescript
40
+ // LoginScreen.tsx
41
+ export const LoginScreen = () => {
42
+ return (
43
+ <View style={styles.container}>
44
+ <Text style={styles.logo}>App Name</Text>
45
+ <Text style={styles.subtitle}>Welcome back</Text>
46
+ <TextInput placeholder="Email" style={styles.input} />
47
+ <TextInput placeholder="Password" secureTextEntry style={styles.input} />
48
+ <TouchableOpacity style={styles.button}>
49
+ <Text style={styles.buttonText}>Sign In</Text>
50
+ </TouchableOpacity>
51
+ </View>
52
+ );
53
+ };
54
+ ```
55
+
56
+ # Platform-Specific Considerations
57
+
58
+ ## React Native
59
+
60
+ ```typescript
61
+ const styles = {
62
+ container: {
63
+ paddingHorizontal: 16,
64
+ paddingVertical: 16,
65
+ gap: 12,
66
+ },
67
+ borderRadius: 12,
68
+ };
69
+ ```
70
+
71
+ ## Web (React)
72
+
73
+ ```css
74
+ .button {
75
+ padding: 16px;
76
+ gap: 12px;
77
+ border-radius: 12px;
78
+ }
79
+ ```
80
+
81
+ ## SwiftUI
82
+
83
+ ```swift
84
+ .padding(16)
85
+ .cornerRadius(12)
86
+ ```