specsmd 0.0.0-dev.40 → 0.0.0-dev.41

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.
@@ -0,0 +1,305 @@
1
+ # Skill: Prototype Apply
2
+
3
+ ---
4
+
5
+ ## Goal
6
+
7
+ Apply a vibe-coded prototype's design and components to the real implementation during bolt execution. This skill bridges the gap between extracted prototype specifications and production code.
8
+
9
+ ---
10
+
11
+ ## When to Use
12
+
13
+ Use this skill when:
14
+ - A bolt references a prototype in its scope
15
+ - You need to implement UI that matches a prototype screenshot
16
+ - The design system from vibe-to-spec should be applied to code
17
+ - Visual acceptance criteria reference prototype screens
18
+
19
+ ---
20
+
21
+ ## Input
22
+
23
+ - **Required**: Bolt ID currently being executed
24
+ - **Required**: Prototype reference (path or name)
25
+ - **Optional**: Specific screen to implement
26
+ - **Optional**: Component to focus on
27
+
28
+ **Prerequisite**: The **vibe-to-spec** skill must have been run on this prototype during Inception.
29
+
30
+ ---
31
+
32
+ ## Process
33
+
34
+ ### Step 1: Load Prototype Context
35
+
36
+ Load all relevant prototype artifacts:
37
+
38
+ ```text
39
+ ## Loading Prototype Context
40
+
41
+ Prototype: {prototype-name}
42
+ Bolt: {bolt-id}
43
+
44
+ ### Available Artifacts
45
+ - [ ] design-system.md - {loaded/not found}
46
+ - [ ] component-catalog.md - {loaded/not found}
47
+ - [ ] screen-inventory.md - {loaded/not found}
48
+ - [ ] user-flows.md - {loaded/not found}
49
+
50
+ ### Bolt Scope Match
51
+ Matching prototype screens to bolt scope:
52
+ - {screen-1} → {story-1}
53
+ - {screen-2} → {story-2}
54
+ ```
55
+
56
+ ---
57
+
58
+ ### Step 2: Extract Implementation Requirements
59
+
60
+ From the prototype artifacts, extract what needs to be built:
61
+
62
+ ```markdown
63
+ ## Implementation Requirements
64
+
65
+ ### Screen: {screen-name}
66
+ **Prototype Source**: {screenshot-path}
67
+ **Target Location**: {src/path/to/component}
68
+
69
+ ### Design Tokens to Apply
70
+ ```typescript
71
+ // From prototype design-system.md
72
+ const tokens = {
73
+ colors: {
74
+ primary: '{hex}',
75
+ secondary: '{hex}',
76
+ background: '{hex}',
77
+ // ...
78
+ },
79
+ typography: {
80
+ fontFamily: '{font}',
81
+ // ...
82
+ },
83
+ spacing: {
84
+ xs: '{px}',
85
+ // ...
86
+ }
87
+ }
88
+ ```
89
+
90
+ ### Components to Implement
91
+ | Component | Prototype Ref | Target File | Status |
92
+ |-----------|---------------|-------------|--------|
93
+ | {Sidebar} | screen-2.png | Sidebar.tsx | pending |
94
+ | {ChatList} | screen-2.png | ChatList.tsx | pending |
95
+ | {MessageBubble} | screen-3.png | MessageBubble.tsx | pending |
96
+
97
+ ### Layout Structure
98
+ ```
99
+ {ASCII representation of layout from prototype}
100
+ ┌─────────────────────────────────────────┐
101
+ │ Header │
102
+ ├──────────┬──────────────────────────────┤
103
+ │ Sidebar │ Main Content │
104
+ │ │ │
105
+ │ │ │
106
+ ├──────────┴──────────────────────────────┤
107
+ │ Footer / Input Area │
108
+ └─────────────────────────────────────────┘
109
+ ```
110
+ ```
111
+
112
+ ---
113
+
114
+ ### Step 3: Map to Project Standards
115
+
116
+ Cross-reference with project standards:
117
+
118
+ ```markdown
119
+ ## Standards Alignment
120
+
121
+ ### Tech Stack Match
122
+ - **Prototype suggests**: {vanilla CSS / Tailwind / etc.}
123
+ - **Project standard**: {from tech-stack.md}
124
+ - **Action**: {adapt prototype to use project's styling approach}
125
+
126
+ ### Component Library Match
127
+ - **Prototype components**: {custom / Bootstrap / etc.}
128
+ - **Project standard**: {from tech-stack.md}
129
+ - **Action**: {map prototype components to project's component library}
130
+
131
+ ### Coding Standards
132
+ - **File naming**: {from coding-standards.md}
133
+ - **Component structure**: {from coding-standards.md}
134
+ ```
135
+
136
+ ---
137
+
138
+ ### Step 4: Generate Implementation Code
139
+
140
+ Generate code that matches the prototype while following project standards.
141
+
142
+ **IMPORTANT**: If the `/frontend-design` skill is available, invoke it for high-quality, production-grade frontend code that avoids generic AI aesthetics. The frontend-design skill specializes in creating distinctive, polished UI components.
143
+
144
+ **For each component**:
145
+
146
+ 1. **Analyze prototype visually** (use screenshot)
147
+ 2. **Extract structure from HTML** (if available)
148
+ 3. **Apply project's styling approach**
149
+ 4. **Ensure accessibility**
150
+ 5. **Add responsive behavior**
151
+
152
+ ```typescript
153
+ // Example output structure
154
+ /**
155
+ * Component: {ComponentName}
156
+ * Prototype: {screenshot-reference}
157
+ *
158
+ * Visual acceptance criteria:
159
+ * - {criterion from prototype}
160
+ * - {criterion from prototype}
161
+ */
162
+ export function ComponentName({ props }: Props) {
163
+ // Implementation matching prototype
164
+ }
165
+ ```
166
+
167
+ ---
168
+
169
+ ### Step 5: Visual Verification Checklist
170
+
171
+ Create a verification checklist comparing implementation to prototype:
172
+
173
+ ```markdown
174
+ ## Visual Verification: {screen-name}
175
+
176
+ ### Layout
177
+ - [ ] Overall structure matches prototype
178
+ - [ ] Spacing between elements is consistent
179
+ - [ ] Responsive breakpoints work correctly
180
+
181
+ ### Colors
182
+ - [ ] Primary color matches: {hex}
183
+ - [ ] Background color matches: {hex}
184
+ - [ ] Text colors match design system
185
+
186
+ ### Typography
187
+ - [ ] Font family applied correctly
188
+ - [ ] Font sizes match design system
189
+ - [ ] Font weights are correct
190
+
191
+ ### Components
192
+ - [ ] {Component-1} matches prototype
193
+ - [ ] {Component-2} matches prototype
194
+ - [ ] Interactive states (hover, focus, active) implemented
195
+
196
+ ### Interactions
197
+ - [ ] {Interaction-1} works as shown in flow
198
+ - [ ] {Interaction-2} works as shown in flow
199
+
200
+ ### Screenshots for Comparison
201
+ - Prototype: `{prototype-path}`
202
+ - Implementation: `{screenshot after implementation}`
203
+ ```
204
+
205
+ ---
206
+
207
+ ## Output
208
+
209
+ ### Implementation Summary
210
+
211
+ ```markdown
212
+ ## Prototype Applied: {screen-name}
213
+
214
+ ### Components Implemented
215
+ | Component | File | Lines | Status |
216
+ |-----------|------|-------|--------|
217
+ | {Sidebar} | src/components/Sidebar.tsx | 45-120 | complete |
218
+ | {ChatList} | src/components/ChatList.tsx | 1-80 | complete |
219
+
220
+ ### Design System Applied
221
+ - Color tokens: {n} applied
222
+ - Typography: {n} styles applied
223
+ - Spacing: {n} values applied
224
+
225
+ ### Deviations from Prototype
226
+ | Aspect | Prototype | Implementation | Reason |
227
+ |--------|-----------|----------------|--------|
228
+ | {color} | #xxx | #yyy | Project standard |
229
+ | {font} | Inter | system-ui | Performance |
230
+
231
+ ### Visual Verification
232
+ - [ ] Side-by-side comparison reviewed
233
+ - [ ] Responsive behavior verified
234
+ - [ ] Accessibility checked
235
+
236
+ ### Files Modified
237
+ - `{file-1}` - {description}
238
+ - `{file-2}` - {description}
239
+
240
+ ### Next Steps
241
+ 1 - Continue with next screen
242
+ 2 - Run visual regression tests
243
+ 3 - Review with stakeholder
244
+ ```
245
+
246
+ ---
247
+
248
+ ## Integration with Bolt Workflow
249
+
250
+ ### During DDD Construction Bolt
251
+
252
+ In the **Implement** stage:
253
+ 1. Load prototype context for relevant screens
254
+ 2. Generate components matching prototype
255
+ 3. Apply design system tokens
256
+ 4. Create visual verification checklist
257
+
258
+ ### During Simple Construction Bolt
259
+
260
+ In the **Implement** stage:
261
+ 1. Reference prototype for UI components
262
+ 2. Use extracted design tokens
263
+ 3. Follow component catalog structure
264
+
265
+ ---
266
+
267
+ ## Visual Diff Support
268
+
269
+ When available, use UI diff tools to compare:
270
+
271
+ ```text
272
+ ## Visual Diff Report
273
+
274
+ ### Screen: {screen-name}
275
+ - Prototype: {prototype-screenshot}
276
+ - Implementation: {current-screenshot}
277
+ - Diff: {highlighted differences}
278
+
279
+ ### Discrepancies Found
280
+ 1. {location}: {expected} vs {actual}
281
+ 2. {location}: {expected} vs {actual}
282
+
283
+ ### Action Required
284
+ - [ ] Fix discrepancy 1
285
+ - [ ] Fix discrepancy 2
286
+ - [ ] Accept as intentional deviation
287
+ ```
288
+
289
+ ---
290
+
291
+ ## Test Contract
292
+
293
+ ```yaml
294
+ input:
295
+ - Bolt ID with prototype reference
296
+ - Prototype artifacts from vibe-to-spec
297
+ output:
298
+ - Implementation code matching prototype
299
+ - Visual verification checklist
300
+ - Deviation documentation
301
+ integration:
302
+ - Works within bolt execution flow
303
+ - References design-system.md
304
+ - Follows project standards
305
+ ```
@@ -0,0 +1,406 @@
1
+ # Skill: Vibe to Spec
2
+
3
+ ---
4
+
5
+ ## Progress Display
6
+
7
+ Show at start of this skill:
8
+
9
+ ```text
10
+ ### Inception Progress
11
+ - [ ] Prototype analyzed ← current
12
+ - [ ] Design system extracted
13
+ - [ ] Components cataloged
14
+ - [ ] Requirements derived
15
+ - [ ] Ready for standard inception flow
16
+ ```
17
+
18
+ ---
19
+
20
+ ## Checkpoints in This Skill
21
+
22
+ | Checkpoint | Purpose | Wait For |
23
+ |------------|---------|----------|
24
+ | Checkpoint 1 | Prototype inventory review | User confirmation |
25
+ | Checkpoint 2 | Design system approval | User approval |
26
+ | Checkpoint 3 | Derived requirements review | User approval |
27
+
28
+ ---
29
+
30
+ ## Goal
31
+
32
+ Convert a vibe-coded prototype (screenshots, HTML exports, or design mockups) into formal specsmd artifacts that feed into the standard inception workflow.
33
+
34
+ ---
35
+
36
+ ## Input
37
+
38
+ - **Required**: Path to prototype folder (e.g., `proto/`, `mockups/`, `discovery/`)
39
+ - **Required**: `.specsmd/aidlc/memory-bank.yaml` - artifact schema
40
+ - **Optional**: Intent name to associate with (creates new if not provided)
41
+ - **Optional**: Existing design system to extend
42
+
43
+ **Supported Prototype Formats**:
44
+ - PNG/JPG screenshots
45
+ - HTML exports (with associated CSS/JS in `_files` folders)
46
+ - Figma exports
47
+ - PDF mockups
48
+
49
+ ---
50
+
51
+ ## Process
52
+
53
+ ### Step 1: Inventory Prototype Assets
54
+
55
+ Scan the prototype folder and catalog all assets:
56
+
57
+ ```text
58
+ ## Prototype Inventory
59
+
60
+ Scanning: {prototype-path}
61
+
62
+ ### Screenshots Found
63
+ - {filename}.png - {brief description based on visual analysis}
64
+ - ...
65
+
66
+ ### HTML Exports Found
67
+ - {filename}.html - {title or main heading}
68
+ - ...
69
+
70
+ ### Asset Folders
71
+ - {filename}_files/ - CSS, JS, images
72
+ - ...
73
+
74
+ Total: {n} screens identified
75
+ ```
76
+
77
+ **Checkpoint 1**: Present inventory for user confirmation.
78
+
79
+ ```text
80
+ I found {n} screens in your prototype. Here's what I see:
81
+
82
+ 1. {screen-1-description}
83
+ 2. {screen-2-description}
84
+ ...
85
+
86
+ Is this complete? Are there screens I'm missing or misinterpreting?
87
+ 1 - Yes, continue analysis
88
+ 2 - Let me clarify (provide corrections)
89
+ ```
90
+
91
+ **Wait for user response.**
92
+
93
+ ---
94
+
95
+ ### Step 2: Analyze Each Screen
96
+
97
+ For each screen, extract:
98
+
99
+ **Visual Analysis** (use image analysis capabilities):
100
+ - Layout structure (sidebar, main content, header, footer)
101
+ - Color palette (primary, secondary, accent, background)
102
+ - Typography (headings, body text, labels)
103
+ - Component patterns (buttons, inputs, cards, lists)
104
+ - Interactive elements (forms, menus, modals)
105
+
106
+ **HTML Analysis** (if available):
107
+ - Component structure from markup
108
+ - CSS classes and styling patterns
109
+ - JavaScript interactions
110
+
111
+ **Output per screen**:
112
+ ```markdown
113
+ ### Screen: {screen-name}
114
+ **Source**: {filename}
115
+ **Purpose**: {inferred purpose}
116
+
117
+ #### Layout
118
+ - Structure: {e.g., sidebar-main, header-content-footer}
119
+ - Responsive hints: {any visible breakpoint patterns}
120
+
121
+ #### Components Identified
122
+ - [ ] {component-1}: {description}
123
+ - [ ] {component-2}: {description}
124
+
125
+ #### Interactions
126
+ - {interaction-1}: {trigger} → {result}
127
+
128
+ #### Design Tokens
129
+ - Primary color: {hex}
130
+ - Text color: {hex}
131
+ - Background: {hex}
132
+ - Border radius: {px}
133
+ - Spacing unit: {px}
134
+ ```
135
+
136
+ ---
137
+
138
+ ### Step 3: Synthesize Design System
139
+
140
+ Combine analysis from all screens into a unified design system:
141
+
142
+ ```markdown
143
+ ## Design System: {prototype-name}
144
+
145
+ ### Color Palette
146
+ | Token | Value | Usage |
147
+ |-------|-------|-------|
148
+ | primary | {hex} | Buttons, links, accents |
149
+ | secondary | {hex} | Secondary actions |
150
+ | background | {hex} | Page background |
151
+ | surface | {hex} | Card backgrounds |
152
+ | text-primary | {hex} | Main text |
153
+ | text-secondary | {hex} | Muted text |
154
+ | border | {hex} | Borders, dividers |
155
+ | success | {hex} | Success states |
156
+ | error | {hex} | Error states |
157
+
158
+ ### Typography
159
+ | Element | Font | Size | Weight |
160
+ |---------|------|------|--------|
161
+ | h1 | {font} | {size} | {weight} |
162
+ | h2 | {font} | {size} | {weight} |
163
+ | body | {font} | {size} | {weight} |
164
+ | label | {font} | {size} | {weight} |
165
+ | caption | {font} | {size} | {weight} |
166
+
167
+ ### Spacing Scale
168
+ - xs: {px}
169
+ - sm: {px}
170
+ - md: {px}
171
+ - lg: {px}
172
+ - xl: {px}
173
+
174
+ ### Border Radius
175
+ - sm: {px}
176
+ - md: {px}
177
+ - lg: {px}
178
+ - full: 9999px
179
+
180
+ ### Shadows
181
+ - sm: {shadow}
182
+ - md: {shadow}
183
+ - lg: {shadow}
184
+
185
+ ### Component Patterns
186
+ {list of reusable patterns identified}
187
+ ```
188
+
189
+ **Checkpoint 2**: Present design system for approval.
190
+
191
+ ```text
192
+ ### Design System Review
193
+
194
+ I've extracted the following design system from your prototype:
195
+
196
+ {full design system}
197
+
198
+ Does this accurately capture your prototype's visual language?
199
+ 1 - Yes, continue to derive requirements
200
+ 2 - Need adjustments (specify what's wrong)
201
+ ```
202
+
203
+ **Wait for user response.**
204
+
205
+ ---
206
+
207
+ ### Step 4: Catalog Components
208
+
209
+ Create a component catalog from the prototype:
210
+
211
+ ```markdown
212
+ ## Component Catalog: {prototype-name}
213
+
214
+ ### Navigation Components
215
+ - **Sidebar**: {description, screens where found}
216
+ - **Header**: {description}
217
+ - **Breadcrumb**: {description}
218
+
219
+ ### Form Components
220
+ - **Text Input**: {variants, validation states}
221
+ - **Button**: {variants: primary, secondary, ghost}
222
+ - **Select/Dropdown**: {description}
223
+ - **Checkbox/Radio**: {description}
224
+
225
+ ### Display Components
226
+ - **Card**: {variants}
227
+ - **List**: {variants}
228
+ - **Table**: {if present}
229
+ - **Modal/Dialog**: {if present}
230
+
231
+ ### Feedback Components
232
+ - **Toast/Notification**: {if present}
233
+ - **Loading States**: {spinners, skeletons}
234
+ - **Empty States**: {if present}
235
+ - **Error States**: {if present}
236
+
237
+ ### Layout Components
238
+ - **Container**: {max-width, padding}
239
+ - **Grid**: {columns, gaps}
240
+ - **Stack**: {spacing patterns}
241
+ ```
242
+
243
+ ---
244
+
245
+ ### Step 5: Map User Flows
246
+
247
+ Identify user flows from screen sequences:
248
+
249
+ ```markdown
250
+ ## User Flows
251
+
252
+ ### Flow 1: {flow-name}
253
+ **Screens**: {screen-1} → {screen-2} → {screen-3}
254
+ **Goal**: {what user accomplishes}
255
+ **Steps**:
256
+ 1. User sees {screen-1}, {action}
257
+ 2. System shows {screen-2}
258
+ 3. User {action}
259
+ 4. System {result}
260
+
261
+ ### Flow 2: {flow-name}
262
+ ...
263
+ ```
264
+
265
+ ---
266
+
267
+ ### Step 6: Derive Requirements
268
+
269
+ Transform visual analysis into formal requirements:
270
+
271
+ ```markdown
272
+ ## Derived Requirements
273
+
274
+ ### Functional Requirements (from prototype)
275
+
276
+ #### FR-P1: {Component/Feature Name}
277
+ - **Source**: {screenshot reference}
278
+ - **Description**: {what it does based on visual}
279
+ - **Acceptance Criteria**:
280
+ - [ ] {visual criterion 1}
281
+ - [ ] {visual criterion 2}
282
+ - **Components**: {list of components needed}
283
+ - **Priority**: {inferred from prominence}
284
+
285
+ #### FR-P2: {Component/Feature Name}
286
+ ...
287
+
288
+ ### Non-Functional Requirements (inferred)
289
+
290
+ #### NFR-P1: Visual Consistency
291
+ - Design system must be applied consistently
292
+ - All components follow extracted patterns
293
+
294
+ #### NFR-P2: Responsive Design
295
+ - {any responsive hints from prototype}
296
+
297
+ ### Open Questions
298
+ - {things that aren't clear from prototype}
299
+ - {interactions that need clarification}
300
+ ```
301
+
302
+ **Checkpoint 3**: Present derived requirements.
303
+
304
+ ```text
305
+ ### Derived Requirements Review
306
+
307
+ Based on your prototype, I've derived these requirements:
308
+
309
+ {full requirements list}
310
+
311
+ ### Open Questions
312
+ {list of clarifications needed}
313
+
314
+ How should we proceed?
315
+ 1 - Requirements look good, create intent and continue inception
316
+ 2 - Need to adjust requirements
317
+ 3 - Answer open questions first
318
+ ```
319
+
320
+ **Wait for user response.**
321
+
322
+ ---
323
+
324
+ ## Output
325
+
326
+ ### Artifacts Created
327
+
328
+ Save to `memory-bank/prototypes/{prototype-name}/`:
329
+
330
+ 1. **screen-inventory.md** - Catalog of all screens
331
+ 2. **design-system.md** - Extracted design tokens and patterns
332
+ 3. **component-catalog.md** - Component inventory
333
+ 4. **user-flows.md** - Identified user flows
334
+ 5. **derived-requirements.md** - Requirements ready for inception
335
+
336
+ ### Summary Output
337
+
338
+ ```markdown
339
+ ## Vibe-to-Spec Complete: {prototype-name}
340
+
341
+ ### Prototype Analysis
342
+ - **Screens analyzed**: {n}
343
+ - **Components identified**: {n}
344
+ - **User flows mapped**: {n}
345
+ - **Requirements derived**: {n}
346
+
347
+ ### Artifacts Created
348
+ - `memory-bank/prototypes/{name}/screen-inventory.md`
349
+ - `memory-bank/prototypes/{name}/design-system.md`
350
+ - `memory-bank/prototypes/{name}/component-catalog.md`
351
+ - `memory-bank/prototypes/{name}/user-flows.md`
352
+ - `memory-bank/prototypes/{name}/derived-requirements.md`
353
+
354
+ ### Next Steps
355
+
356
+ 1 - **intent-create**: Create intent using derived requirements
357
+ 2 - **requirements**: Refine requirements with standard flow
358
+ 3 - **review**: Review all prototype artifacts
359
+
360
+ ### Suggested Next Step
361
+ → **intent-create** - Create intent "{suggested-name}" from prototype
362
+
363
+ **Type a number or press Enter for suggested action.**
364
+ ```
365
+
366
+ ---
367
+
368
+ ## Integration with Inception Flow
369
+
370
+ After vibe-to-spec completes:
371
+
372
+ 1. **intent-create** can reference `derived-requirements.md`
373
+ 2. **requirements** skill can import and refine FR-P* items
374
+ 3. **context** skill can use component catalog for system boundaries
375
+ 4. **units** skill can organize by identified flows
376
+ 5. **stories** skill can generate from user flow mapping
377
+
378
+ ---
379
+
380
+ ## Construction Phase Reference
381
+
382
+ When Construction Agent starts a bolt that references this prototype:
383
+
384
+ 1. Load `design-system.md` for styling decisions
385
+ 2. Reference `component-catalog.md` for component specs
386
+ 3. Use screenshots as visual acceptance criteria
387
+ 4. Apply extracted design tokens to implementation
388
+ 5. **Use frontend-design skill if available** - When implementing UI components, invoke the `/frontend-design` skill for high-quality, production-grade frontend code that avoids generic AI aesthetics
389
+
390
+ ---
391
+
392
+ ## Test Contract
393
+
394
+ ```yaml
395
+ input: Prototype folder with screenshots/HTML
396
+ output:
397
+ - screen-inventory.md
398
+ - design-system.md
399
+ - component-catalog.md
400
+ - user-flows.md
401
+ - derived-requirements.md
402
+ checkpoints: 3
403
+ - Checkpoint 1: Prototype inventory confirmed
404
+ - Checkpoint 2: Design system approved
405
+ - Checkpoint 3: Derived requirements approved
406
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specsmd",
3
- "version": "0.0.0-dev.40",
3
+ "version": "0.0.0-dev.41",
4
4
  "description": "Multi-agent orchestration system for AI-native software development. Delivers AI-DLC, Agile, and custom SDLC flows as markdown-based agent systems.",
5
5
  "main": "lib/installer.js",
6
6
  "bin": {