design-protocol 1.0.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 (72) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +225 -0
  3. package/agents/dp-researcher.md +239 -0
  4. package/agents/dp-verifier.md +207 -0
  5. package/bin/install.js +464 -0
  6. package/commands/dp-back.md +221 -0
  7. package/commands/dp-discuss.md +257 -0
  8. package/commands/dp-execute.md +513 -0
  9. package/commands/dp-journey.md +85 -0
  10. package/commands/dp-progress.md +178 -0
  11. package/commands/dp-roadmap.md +83 -0
  12. package/commands/dp-skip.md +186 -0
  13. package/commands/dp-start.md +510 -0
  14. package/commands/dp-storytell.md +94 -0
  15. package/commands/dp-verify.md +207 -0
  16. package/package.json +59 -0
  17. package/skills/dp-color/SKILL.md +214 -0
  18. package/skills/dp-color/export_tokens.py +297 -0
  19. package/skills/dp-color/references/apca-contrast.md +87 -0
  20. package/skills/dp-color/references/hue-emotions.md +109 -0
  21. package/skills/dp-color/references/oklch-gamut.md +79 -0
  22. package/skills/dp-color/references/pitfalls.md +171 -0
  23. package/skills/dp-color/references/scale-patterns.md +206 -0
  24. package/skills/dp-color/references/tool-workflows.md +200 -0
  25. package/skills/dp-discovery/SKILL.md +480 -0
  26. package/skills/dp-eng_review/SKILL.md +471 -0
  27. package/skills/dp-eng_review/references/code-review-checklist.md +385 -0
  28. package/skills/dp-eng_review/references/react-patterns.md +512 -0
  29. package/skills/dp-eng_review/references/shadcn-patterns.md +510 -0
  30. package/skills/dp-eng_review/references/tailwind-conventions.md +351 -0
  31. package/skills/dp-journey/SKILL.md +682 -0
  32. package/skills/dp-journey/references/journey-types.md +97 -0
  33. package/skills/dp-journey/references/map-structures.md +177 -0
  34. package/skills/dp-journey/references/omnichannel-patterns.md +208 -0
  35. package/skills/dp-journey/references/research-methods.md +125 -0
  36. package/skills/dp-prd/SKILL.md +201 -0
  37. package/skills/dp-prd/references/claude-code-spec.md +107 -0
  38. package/skills/dp-prd/references/interview-questions.md +158 -0
  39. package/skills/dp-prd/references/section-templates.md +231 -0
  40. package/skills/dp-research/SKILL.md +540 -0
  41. package/skills/dp-research/references/facilitation-guide.md +291 -0
  42. package/skills/dp-research/references/interview-guide-template.md +190 -0
  43. package/skills/dp-research/references/method-selection.md +195 -0
  44. package/skills/dp-research/references/question-writing.md +244 -0
  45. package/skills/dp-research/references/research-report-template.md +363 -0
  46. package/skills/dp-research/references/synthesis-methods.md +289 -0
  47. package/skills/dp-research/references/usability-test-template.md +260 -0
  48. package/skills/dp-roadmap/SKILL.md +648 -0
  49. package/skills/dp-roadmap/references/prioritization-frameworks.md +312 -0
  50. package/skills/dp-roadmap/references/roadmap-structures.md +179 -0
  51. package/skills/dp-roadmap/references/roadmap-workshops.md +264 -0
  52. package/skills/dp-roadmap/references/theme-development.md +168 -0
  53. package/skills/dp-storytell/SKILL.md +645 -0
  54. package/skills/dp-storytell/references/audience-playbooks.md +260 -0
  55. package/skills/dp-storytell/references/content-type-templates.md +310 -0
  56. package/skills/dp-storytell/references/delivery-tactics.md +228 -0
  57. package/skills/dp-storytell/references/narrative-frameworks.md +259 -0
  58. package/skills/dp-ui/SKILL.md +503 -0
  59. package/skills/dp-ui/references/b2b-enterprise-patterns.md +319 -0
  60. package/skills/dp-ui/references/data-visualization.md +304 -0
  61. package/skills/dp-ui/references/visual-design-principles.md +237 -0
  62. package/skills/dp-ux/SKILL.md +414 -0
  63. package/skills/dp-ux/references/accessibility-checklist.md +128 -0
  64. package/skills/dp-ux/references/product-excellence.md +149 -0
  65. package/skills/dp-ux/references/usability-principles.md +140 -0
  66. package/skills/dp-ux/references/ux-patterns.md +221 -0
  67. package/templates/config.json +55 -0
  68. package/templates/context.md +96 -0
  69. package/templates/project.md +83 -0
  70. package/templates/requirements.md +137 -0
  71. package/templates/roadmap.md +168 -0
  72. package/templates/state.md +107 -0
@@ -0,0 +1,503 @@
1
+ ---
2
+ name: dp-ui
3
+ description: Apply visual design principles and B2B/enterprise UI patterns to create polished, professional interfaces. Trigger with "/dp:ui" or when designing dashboards, data-dense interfaces, complex tables, enterprise applications. Phase 3 of DP workflow.
4
+ ---
5
+
6
+ # UI Design — Visual Principles & B2B Patterns
7
+
8
+ Create interfaces with the visual rigor of Stripe, the data density of Bloomberg, and the clarity of Linear — polished, professional, and built for power users.
9
+
10
+ ---
11
+
12
+ ## DP Workflow Integration
13
+
14
+ This skill is Phase 3 of the DP (Design Protocol) workflow. It automatically detects and integrates with the workflow when present.
15
+
16
+ ### Detecting Workflow Mode
17
+
18
+ At the start of any `/dp:ui` invocation:
19
+
20
+ 1. **Check for `.design/config.json`**
21
+ 2. **If found** (workflow mode):
22
+ - Load `.design/phases/DISCOVERY.md` for problem context
23
+ - Load `.design/phases/UX-DECISIONS.md` for interaction patterns
24
+ - Load `.design/REQUIREMENTS.md` for visual requirements
25
+ - Check for `03-CONTEXT.md` if `/dp:discuss` was run first
26
+ - Announce: "Loading context from discovery and UX phases..."
27
+ - Display: "Components to design: [list from UX-DECISIONS.md]"
28
+ 3. **If not found** (standalone mode):
29
+ - Run with default behavior
30
+ - Ask: "What would you like me to help design visually?"
31
+
32
+ ### Context Loading (Workflow Mode)
33
+
34
+ When workflow documents exist, extract and display:
35
+
36
+ ```
37
+ DP WORKFLOW ACTIVE
38
+ ────────────────────────────────────────────────────────────────────────────────
39
+ Project: [name]
40
+ Phase: 3 of 4 (UI)
41
+ Previous: Discovery complete, UX complete
42
+
43
+ From Discovery:
44
+ • Problem: [problem statement one-liner]
45
+ • User: [primary user role]
46
+ • Constraints: [relevant visual/brand constraints]
47
+
48
+ From UX Decisions:
49
+ • Components to specify visually:
50
+ - [Component 1] (9 states defined)
51
+ - [Component 2] (6 states defined)
52
+ - [Component 3] (4 states defined)
53
+ • Visual direction hints: [any from UX handoff]
54
+ • Accessibility requirements: [list]
55
+
56
+ Your Focus This Phase:
57
+ Apply visual design principles to create polished interface specifications.
58
+ ────────────────────────────────────────────────────────────────────────────────
59
+
60
+ Ready to proceed? Or /dp:back to revisit UX decisions.
61
+ ```
62
+
63
+ ### Context Sources
64
+
65
+ | From Discovery | Used For |
66
+ |----------------|----------|
67
+ | Problem statement | Design context |
68
+ | Primary user | Audience consideration |
69
+ | Constraints | Technical/timeline boundaries |
70
+ | Brand guidelines | Visual constraints |
71
+
72
+ | From UX-DECISIONS | Used For |
73
+ |-------------------|----------|
74
+ | Component list | Design targets |
75
+ | State coverage needed | Required visual states |
76
+ | Accessibility constraints | A11y requirements |
77
+ | Visual direction hints | Style guidance |
78
+ | User flow | Layout context |
79
+
80
+ ---
81
+
82
+ ## Workflow
83
+
84
+ 1. **Combine with ux skill** — Always apply usability principles alongside visual design
85
+ 2. **Apply visual fundamentals** — Check references/visual-design-principles.md for grids, hierarchy, Gestalt
86
+ 3. **Use B2B patterns** — Check references/b2b-enterprise-patterns.md for dashboards, tables, complex workflows
87
+ 4. **Data visualization** — Check references/data-visualization.md for charts, graphs, real-time data
88
+
89
+ ---
90
+
91
+ ## Core Visual Principles
92
+
93
+ ### Visual Hierarchy
94
+ Establish clear importance through:
95
+ - **Size** — Larger = more important
96
+ - **Weight** — Bolder = more important
97
+ - **Color** — Higher contrast/saturation = more important
98
+ - **Position** — Top-left (in LTR) scans first
99
+ - **Whitespace** — Isolated elements draw attention
100
+
101
+ ### Grid Systems
102
+ - Use 8px base grid for all spacing (4px for fine adjustments)
103
+ - 12-column grids for complex layouts
104
+ - Consistent gutters (16px, 24px, or 32px)
105
+ - Align everything — if it looks slightly off, it is
106
+
107
+ ### The Gestalt Principles
108
+ - **Proximity** — Group related items close together
109
+ - **Similarity** — Similar items appear related
110
+ - **Continuity** — Eyes follow lines and curves
111
+ - **Closure** — Mind completes incomplete shapes
112
+ - **Figure/Ground** — Clear separation of content and background
113
+
114
+ ### Whitespace
115
+ - Whitespace is not empty — it's a design element
116
+ - More whitespace around important elements
117
+ - Consistent spacing creates rhythm
118
+ - Dense ≠ cluttered (see Bloomberg, Linear)
119
+
120
+ ---
121
+
122
+ ## B2B Design Priorities
123
+
124
+ 1. **Efficiency over delight** — Power users need speed, not whimsy
125
+ 2. **Information density** — Show more, scroll less (when designed well)
126
+ 3. **Keyboard shortcuts** — Essential for daily-use tools
127
+ 4. **Customization** — Let users configure their workspace
128
+ 5. **Bulk operations** — Multi-select, batch actions are expected
129
+ 6. **Clear data hierarchy** — Most important metrics prominent
130
+
131
+ ---
132
+
133
+ ## Output Structure (Workflow Mode)
134
+
135
+ When in workflow mode, produce structured output:
136
+
137
+ ### UI-SPEC.md Structure
138
+
139
+ ```yaml
140
+ ---
141
+ phase: ui
142
+ skill: ui
143
+ completed: YYYY-MM-DDTHH:MM:SSZ
144
+ context_loaded:
145
+ - DISCOVERY.md
146
+ - UX-DECISIONS.md
147
+ - 03-CONTEXT.md (if existed)
148
+ requirements_addressed:
149
+ - VIS-01
150
+ - VIS-02
151
+ components_specified:
152
+ - ComponentName1
153
+ - ComponentName2
154
+ ---
155
+
156
+ # UI Specification: [Feature Name]
157
+
158
+ ## Visual Direction
159
+
160
+ **Style:** [Modern minimal / Dense professional / Playful / etc.]
161
+ **Inspiration:** [Reference products or styles]
162
+ **Key Principles:**
163
+ 1. [Principle 1]
164
+ 2. [Principle 2]
165
+ 3. [Principle 3]
166
+
167
+ ## Layout & Grid
168
+
169
+ **Grid System:** 8px base grid
170
+ **Columns:** [12-column / 6-column / custom]
171
+ **Gutters:** [16px / 24px / 32px]
172
+ **Max Width:** [1280px / 1440px / fluid]
173
+ **Breakpoints:**
174
+ | Breakpoint | Width | Columns | Gutter |
175
+ |------------|-------|---------|--------|
176
+ | Mobile | <640px | 4 | 16px |
177
+ | Tablet | 640-1024px | 8 | 24px |
178
+ | Desktop | >1024px | 12 | 24px |
179
+
180
+ ## Visual Hierarchy
181
+
182
+ **Primary Focus:** [What draws eye first]
183
+ **Secondary Elements:** [Supporting content]
184
+ **Tertiary/Background:** [Less prominent items]
185
+
186
+ **Z-Index Layers:**
187
+ | Layer | Z-Index | Contents |
188
+ |-------|---------|----------|
189
+ | Base | 0 | Main content |
190
+ | Elevated | 10 | Cards, dropdowns |
191
+ | Modal | 100 | Modals, dialogs |
192
+ | Toast | 200 | Notifications |
193
+
194
+ ## Design Tokens
195
+
196
+ ### Colors
197
+
198
+ **Brand/Primary:**
199
+ | Token | Value | Usage |
200
+ |-------|-------|-------|
201
+ | --primary | [hex] | Primary actions, links |
202
+ | --primary-hover | [hex] | Hover state |
203
+ | --primary-foreground | [hex] | Text on primary |
204
+
205
+ **Semantic:**
206
+ | Token | Value | Usage |
207
+ |-------|-------|-------|
208
+ | --success | [hex] | Success states |
209
+ | --error | [hex] | Error states |
210
+ | --warning | [hex] | Warning states |
211
+ | --info | [hex] | Info states |
212
+
213
+ **Neutrals:**
214
+ | Token | Value | Usage |
215
+ |-------|-------|-------|
216
+ | --background | [hex] | Page background |
217
+ | --foreground | [hex] | Primary text |
218
+ | --muted | [hex] | Secondary text |
219
+ | --border | [hex] | Borders |
220
+
221
+ ### Typography
222
+
223
+ **Font Family:**
224
+ - Headings: [Font name]
225
+ - Body: [Font name]
226
+ - Mono: [Font name]
227
+
228
+ **Scale:**
229
+ | Token | Size | Line Height | Weight | Usage |
230
+ |-------|------|-------------|--------|-------|
231
+ | --text-xs | 12px | 16px | 400 | Captions |
232
+ | --text-sm | 14px | 20px | 400 | Secondary |
233
+ | --text-base | 16px | 24px | 400 | Body |
234
+ | --text-lg | 18px | 28px | 500 | Emphasis |
235
+ | --text-xl | 20px | 28px | 600 | Subheadings |
236
+ | --text-2xl | 24px | 32px | 700 | Headings |
237
+ | --text-3xl | 30px | 36px | 700 | Page titles |
238
+
239
+ ### Spacing
240
+
241
+ **Scale (8px base):**
242
+ | Token | Value | Usage |
243
+ |-------|-------|-------|
244
+ | --space-1 | 4px | Tight spacing |
245
+ | --space-2 | 8px | Default small |
246
+ | --space-3 | 12px | Medium small |
247
+ | --space-4 | 16px | Default |
248
+ | --space-5 | 20px | Medium |
249
+ | --space-6 | 24px | Large |
250
+ | --space-8 | 32px | Section gap |
251
+ | --space-10 | 40px | Large section |
252
+ | --space-12 | 48px | Page section |
253
+
254
+ ### Border Radius
255
+
256
+ | Token | Value | Usage |
257
+ |-------|-------|-------|
258
+ | --radius-sm | 4px | Small elements |
259
+ | --radius-md | 6px | Default |
260
+ | --radius-lg | 8px | Cards |
261
+ | --radius-xl | 12px | Modals |
262
+ | --radius-full | 9999px | Pills, avatars |
263
+
264
+ ### Shadows
265
+
266
+ | Token | Value | Usage |
267
+ |-------|-------|-------|
268
+ | --shadow-sm | [box-shadow] | Subtle elevation |
269
+ | --shadow-md | [box-shadow] | Cards |
270
+ | --shadow-lg | [box-shadow] | Dropdowns |
271
+ | --shadow-xl | [box-shadow] | Modals |
272
+
273
+ ## Component Visual Specifications
274
+
275
+ ### [Component 1]: [Name]
276
+
277
+ **Dimensions:**
278
+ - Height: [value]
279
+ - Min Width: [value]
280
+ - Padding: [value]
281
+
282
+ **Visual States:**
283
+ | State | Background | Border | Text | Shadow | Other |
284
+ |-------|------------|--------|------|--------|-------|
285
+ | Default | [value] | [value] | [value] | [value] | |
286
+ | Hover | [value] | [value] | [value] | [value] | cursor: pointer |
287
+ | Focus | [value] | [value] | [value] | [value] | ring: 2px |
288
+ | Active | [value] | [value] | [value] | [value] | |
289
+ | Disabled | [value] | [value] | [value] | [value] | opacity: 0.5 |
290
+ | Loading | [value] | [value] | [value] | [value] | spinner |
291
+ | Error | [value] | [value] | [value] | [value] | |
292
+ | Success | [value] | [value] | [value] | [value] | |
293
+
294
+ **Tailwind Classes:**
295
+ ```
296
+ Default: bg-background border border-border text-foreground rounded-md px-4 py-2
297
+ Hover: hover:bg-muted hover:border-primary
298
+ Focus: focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2
299
+ ...
300
+ ```
301
+
302
+ **Variants:**
303
+ | Variant | Modifications |
304
+ |---------|---------------|
305
+ | Primary | bg-primary text-primary-foreground |
306
+ | Secondary | bg-secondary text-secondary-foreground |
307
+ | Outline | bg-transparent border-2 |
308
+ | Ghost | bg-transparent hover:bg-muted |
309
+
310
+ ### [Component 2]: [Name]
311
+ ...
312
+
313
+ ## Animation & Transitions
314
+
315
+ **Default Transition:**
316
+ - Duration: 150ms
317
+ - Easing: ease-out
318
+ - Properties: color, background-color, border-color, opacity, transform
319
+
320
+ **Specific Animations:**
321
+ | Element | Animation | Duration | Easing |
322
+ |---------|-----------|----------|--------|
323
+ | Modal enter | fade + scale | 200ms | ease-out |
324
+ | Modal exit | fade | 150ms | ease-in |
325
+ | Dropdown | slide-down | 150ms | ease-out |
326
+ | Toast | slide-in | 200ms | ease-out |
327
+
328
+ **Reduced Motion:**
329
+ - Respect `prefers-reduced-motion`
330
+ - Replace animations with instant changes
331
+
332
+ ## Responsive Behavior
333
+
334
+ | Component | Mobile | Tablet | Desktop |
335
+ |-----------|--------|--------|---------|
336
+ | [Component 1] | [behavior] | [behavior] | [behavior] |
337
+ | [Component 2] | [behavior] | [behavior] | [behavior] |
338
+
339
+ ## Requirements Coverage
340
+
341
+ | Requirement | Addressed By | Notes |
342
+ |-------------|--------------|-------|
343
+ | VIS-01: [text] | [Token/Component] | |
344
+ | VIS-02: [text] | [Token/Component] | |
345
+ | A11Y-03: Color independence | Semantic tokens | Icons + text for all states |
346
+
347
+ ## Handoff Notes for Review Phase
348
+
349
+ - Implementation approach: [shadcn/ui components to use]
350
+ - Critical visual details: [list]
351
+ - Known compromises: [list]
352
+ - Testing priorities: [list]
353
+ ```
354
+
355
+ ---
356
+
357
+ ## State Updates (Workflow Mode)
358
+
359
+ After completing UI specification:
360
+
361
+ 1. **Write output to `.design/phases/UI-SPEC.md`**
362
+
363
+ 2. **Update `.design/STATE.md`**:
364
+ ```markdown
365
+ ## Current Position
366
+ Phase: 3 of 4 (UI)
367
+ Status: completed
368
+ Progress: [███████░░░] 75%
369
+
370
+ ### Last Activity
371
+ - **Date:** [TIMESTAMP]
372
+ - **Action:** Completed UI phase with /dp:ui
373
+ - **User:** [session user]
374
+
375
+ ### Accumulated Context
376
+ ...
377
+ #### Major Decisions Made
378
+ | Phase | Decision | Impact |
379
+ |-------|----------|--------|
380
+ | Discovery | [decision] | [impact] |
381
+ | UX | [decision] | [impact] |
382
+ | UI | [key visual decision 1] | [impact] |
383
+ | UI | [key visual decision 2] | [impact] |
384
+ ```
385
+
386
+ 3. **Update `.design/config.json`**:
387
+ ```json
388
+ {
389
+ "workflow": {
390
+ "current_phase": 4,
391
+ "phases_completed": ["discovery", "ux", "ui"],
392
+ "workflow_status": "in_progress"
393
+ }
394
+ }
395
+ ```
396
+
397
+ 4. **Update `.design/REQUIREMENTS.md`** with addressed visual requirements
398
+
399
+ ---
400
+
401
+ ## Handoff (Workflow Mode)
402
+
403
+ ```
404
+ ═══════════════════════════════════════════════════════════════════════════════
405
+ UI SPECIFICATION COMPLETE
406
+ ═══════════════════════════════════════════════════════════════════════════════
407
+
408
+ Output: .design/phases/UI-SPEC.md
409
+
410
+ Summary:
411
+ • Visual direction: [style]
412
+ • Grid system: 8px base, [N]-column layout
413
+ • Design tokens: [M] colors, [P] typography scales, [Q] spacing tokens
414
+ • Components specified: [list]
415
+ • All [N] UX states have visual specs
416
+
417
+ Progress: [███████░░░] 75%
418
+
419
+ Ready for Implementation & Review?
420
+ ────────────────────────────────────────────────────────────────────────────────
421
+ → /dp:eng_review to review implementation (recommended)
422
+
423
+ Or:
424
+ → /dp:progress to review full status
425
+ → /dp:back to revisit UX decisions
426
+
427
+ ═══════════════════════════════════════════════════════════════════════════════
428
+ ```
429
+
430
+ ---
431
+
432
+ ## Standalone Mode Behavior
433
+
434
+ When no `.design/` directory exists:
435
+
436
+ 1. Output UI specifications inline (current behavior)
437
+ 2. Ask standard handoff question:
438
+ > "Would you like me to run `/dp:eng_review` to review the implementation?"
439
+ 3. Optionally offer: "Or start a full DP workflow with `/dp:start`?"
440
+
441
+ ---
442
+
443
+ ## Implementation Checklist
444
+
445
+ Before finalizing any UI:
446
+
447
+ - [ ] Does it follow an 8px grid?
448
+ - [ ] Is the visual hierarchy clear? (squint test)
449
+ - [ ] Are related items grouped? (proximity)
450
+ - [ ] Is spacing consistent throughout?
451
+ - [ ] Do colors convey meaning consistently?
452
+ - [ ] Is information density appropriate for the audience?
453
+ - [ ] Are primary actions visually dominant?
454
+ - [ ] Does it work at different viewport sizes?
455
+
456
+ ---
457
+
458
+ ## Reference Files
459
+
460
+ - **references/visual-design-principles.md** — Grids, hierarchy, Gestalt, typography, color theory
461
+ - **references/b2b-enterprise-patterns.md** — Dashboards, tables, filters, complex forms, workflows
462
+ - **references/data-visualization.md** — Charts, graphs, real-time data, maritime-specific displays
463
+
464
+ ---
465
+
466
+ ## Config Integration
467
+
468
+ Respects these settings from `.design/config.json`:
469
+ ```json
470
+ {
471
+ "phases": {
472
+ "ui": {
473
+ "enabled": true,
474
+ "includeB2B": true,
475
+ "includeDataViz": false,
476
+ "gridSystem": "8px"
477
+ }
478
+ }
479
+ }
480
+ ```
481
+
482
+ When `includeB2B: true`, automatically apply B2B/enterprise patterns.
483
+ When `includeDataViz: true`, include data visualization guidance.
484
+
485
+ ---
486
+
487
+ ## Workflow Navigation
488
+
489
+ ```
490
+ ┌─────────┐
491
+ /dp:start → /dp:discovery → /dp:ux → /dp:execute → │ YOU ARE │ → /dp:execute → /dp:eng_review → /dp:verify
492
+ Phase 1 Phase 2 (wireframe) │ HERE │ (polished) Phase 4
493
+ │ Phase 3 │
494
+ └─────────┘
495
+ ```
496
+
497
+ | | |
498
+ |---|---|
499
+ | **Previous** | `/dp:execute` — Wireframe implementation |
500
+ | **Current** | `/dp:ui` — Visual design & tokens (Phase 3) |
501
+ | **Next** | `/dp:execute` — Generate polished implementation |
502
+ | **Related** | `/dp:discuss` — Capture context before this phase |
503
+ | | `/dp:back` — Return to UX if flows need changes |