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,540 @@
1
+ ---
2
+ name: dp-research
3
+ description: UX research agent that helps plan, execute, analyze, and present user research. Trigger with "/dp:research" when you need to conduct interviews, usability tests, or synthesize findings. Can pick up research questions from /dp:discovery briefs or work standalone. Provides templates, question frameworks, and bias-free facilitation guides. Optional branch in DP workflow.
4
+ ---
5
+
6
+ # UX Research — From Questions to Insights
7
+
8
+ Structure your research so you can focus on listening, not figuring out what to ask next.
9
+
10
+ ---
11
+
12
+ ## DP Workflow Integration
13
+
14
+ This skill is an **optional branch** in the DP (Design Protocol) workflow. It can be triggered from any phase to validate assumptions or gather user insights.
15
+
16
+ ### Detecting Workflow Mode
17
+
18
+ At the start of any `/dp:research` invocation:
19
+
20
+ 1. **Check for `.design/config.json`**
21
+ 2. **If found** (workflow mode):
22
+ - Load `.design/phases/DISCOVERY.md` for research questions
23
+ - Check "Research Needed" section for pre-identified questions
24
+ - Load project context for background
25
+ - Announce: "Running research as part of DP workflow..."
26
+ 3. **If not found** (standalone mode):
27
+ - Run with default behavior
28
+ - Ask what research challenge they're facing
29
+
30
+ ### Context Loading (Workflow Mode)
31
+
32
+ When workflow documents exist:
33
+
34
+ ```
35
+ DP WORKFLOW ACTIVE
36
+ ────────────────────────────────────────────────────────────────────────────────
37
+ Project: [name]
38
+ Current Phase: [N] of 4 ([phase name])
39
+ Research: Optional branch
40
+
41
+ From Discovery (Research Needed section):
42
+ • [Research question 1] → [Suggested method]
43
+ • [Research question 2] → [Suggested method]
44
+
45
+ Key Assumptions to Validate:
46
+ • [Assumption 1]
47
+ • [Assumption 2]
48
+
49
+ Primary User Profile:
50
+ • Role: [role]
51
+ • Goals: [goals]
52
+ • Pain points: [pain points]
53
+ ────────────────────────────────────────────────────────────────────────────────
54
+
55
+ What would you like to research? I can help with:
56
+ 1. Plan — Define goals and pick the right method
57
+ 2. Prepare — Write interview guides, test scripts, or surveys
58
+ 3. Execute — Tips for running sessions without bias
59
+ 4. Synthesize — Turn raw data into insights
60
+ 5. Present — Structure findings for stakeholders
61
+ ```
62
+
63
+ ### Research in the Workflow
64
+
65
+ ```
66
+ Discovery ──┬──► UX ──► UI ──► Review
67
+
68
+ └──► Research ───┘
69
+ (feeds back)
70
+ ```
71
+
72
+ Research can branch from any phase and feeds insights back to update earlier documents.
73
+
74
+ ---
75
+
76
+ ## When to Invoke
77
+
78
+ - Planning user interviews or stakeholder conversations
79
+ - Preparing usability test scripts
80
+ - Needing help writing unbiased questions
81
+ - Synthesizing research data into findings
82
+ - Presenting research to stakeholders
83
+ - Picking up "Research Needed" items from a `/dp:discovery` brief
84
+
85
+ ---
86
+
87
+ ## Workflow
88
+
89
+ ### On Invocation
90
+
91
+ When triggered with `/dp:research`, ask:
92
+
93
+ > "What research challenge are you facing? I can help with:
94
+ >
95
+ > 1. **Plan** — Define goals and pick the right method
96
+ > 2. **Prepare** — Write interview guides, test scripts, or surveys
97
+ > 3. **Execute** — Tips for running sessions without bias
98
+ > 4. **Synthesize** — Turn raw data into insights
99
+ > 5. **Present** — Structure findings for stakeholders
100
+ >
101
+ > Or if you have open questions from a `/dp:discovery` brief, paste them and I'll build a research plan.
102
+ >
103
+ > Where are you stuck?"
104
+
105
+ Then follow the relevant phase below.
106
+
107
+ ---
108
+
109
+ ## Phase 1: Planning Research
110
+
111
+ ### Goal Definition
112
+
113
+ Help user articulate:
114
+ - **Research question**: What are we trying to learn? (not validate)
115
+ - **Decision it informs**: What will we do differently based on findings?
116
+ - **Assumptions to test**: What do we believe that might be wrong?
117
+
118
+ Use this format:
119
+ > We want to learn **[research question]** so that we can **[decision/action]**. We currently assume **[assumption]** but need to validate this.
120
+
121
+ ### Method Selection
122
+
123
+ Guide to the right method based on what they need to learn:
124
+
125
+ | Need to Learn | Method | When to Use |
126
+ |---------------|--------|-------------|
127
+ | User behaviors, mental models, pain points | **User Interviews** | Early discovery, understanding context |
128
+ | Whether a design works | **Usability Testing** | Have a prototype or live product |
129
+ | Broad patterns, preferences | **Surveys** | Need quantitative data, have clear hypotheses |
130
+ | How users naturally work | **Contextual Inquiry** | Need to observe real environment |
131
+ | Information architecture | **Card Sorting** | Organizing content, navigation |
132
+ | Preference between options | **A/B Testing** | Have traffic, testing specific variations |
133
+ | Stakeholder alignment | **Stakeholder Interviews** | Politics, competing priorities, constraints |
134
+
135
+ See: `references/method-selection.md` for detailed guidance.
136
+
137
+ ### Research Plan Template
138
+
139
+ ```markdown
140
+ ## Research Plan: [Project Name]
141
+
142
+ ### Research Questions
143
+ 1. Primary:
144
+ 2. Secondary:
145
+
146
+ ### Method
147
+ [Selected method] because [rationale]
148
+
149
+ ### Participants
150
+ - Target profile:
151
+ - Number needed:
152
+ - Recruitment approach:
153
+
154
+ ### Timeline
155
+ - Recruitment: [dates]
156
+ - Sessions: [dates]
157
+ - Analysis: [dates]
158
+ - Readout: [date]
159
+
160
+ ### Resources Needed
161
+ - Tools:
162
+ - Incentives:
163
+ - Observers:
164
+
165
+ ### Success Criteria
166
+ We'll know research is complete when we can confidently answer:
167
+ - [ ] Question 1
168
+ - [ ] Question 2
169
+ ```
170
+
171
+ ---
172
+
173
+ ## Phase 2: Preparing Research Materials
174
+
175
+ ### Interview Guides
176
+
177
+ See: `references/interview-guide-template.md`
178
+
179
+ **Structure:**
180
+ 1. **Warm-up** (5 min) — Build rapport, set expectations
181
+ 2. **Context** (10 min) — Understand their world, role, typical day
182
+ 3. **Core exploration** (25-30 min) — Deep dive on research questions
183
+ 4. **Reactions** (10 min) — Show concepts/prototypes if applicable
184
+ 5. **Wrap-up** (5 min) — Anything we missed, thank you
185
+
186
+ **Question Quality Rules:**
187
+
188
+ ✅ **Good questions:**
189
+ - Open-ended: "Tell me about..." / "Walk me through..." / "How do you..."
190
+ - Behavior-focused: "Last time you did X, what happened?"
191
+ - Non-leading: "What was that experience like?"
192
+
193
+ ❌ **Bad questions:**
194
+ - Leading: "Don't you think X is frustrating?"
195
+ - Hypothetical: "Would you use X if we built it?"
196
+ - Binary: "Do you like X?" (yes/no)
197
+ - Compound: "Do you do X and Y and how often?"
198
+
199
+ See: `references/question-writing.md` for comprehensive guidance.
200
+
201
+ ### Usability Test Scripts
202
+
203
+ See: `references/usability-test-template.md`
204
+
205
+ **Structure:**
206
+ 1. **Introduction script** — Explain think-aloud, permission, no wrong answers
207
+ 2. **Pre-task questions** — Current behavior, familiarity
208
+ 3. **Task scenarios** — Realistic goals, not instructions
209
+ 4. **Post-task questions** — Difficulty rating, expectations vs. reality
210
+ 5. **Wrap-up** — Overall impressions, comparison to current tools
211
+
212
+ **Task Scenario Rules:**
213
+
214
+ ✅ **Good scenario:**
215
+ > "You need to find a vessel that's arriving in Rotterdam next week and check its cargo details. Please show me how you'd do that."
216
+
217
+ ❌ **Bad scenario:**
218
+ > "Click on the search bar, type a vessel name, and use the filter to select Rotterdam."
219
+
220
+ Scenarios describe **goals**, not **steps**.
221
+
222
+ ### Survey Design
223
+
224
+ **Question Types:**
225
+ - Use rating scales (1-5 or 1-7) for measuring attitudes
226
+ - Use multiple choice for behaviors with known options
227
+ - Use open-ended sparingly and at the end
228
+ - Include "Other" and "N/A" options
229
+
230
+ **Bias Prevention:**
231
+ - Randomize option order where appropriate
232
+ - Avoid double-barreled questions
233
+ - Don't prime with leading language
234
+ - Test survey with colleagues first
235
+
236
+ ---
237
+
238
+ ## Phase 3: Executing Research
239
+
240
+ ### Session Facilitation
241
+
242
+ See: `references/facilitation-guide.md`
243
+
244
+ **Before the Session:**
245
+ - Test all technology
246
+ - Have backup recording method
247
+ - Prepare note-taking template
248
+ - Brief observers on their role (silent)
249
+
250
+ **During the Session:**
251
+
252
+ | Do | Don't |
253
+ |----|-------|
254
+ | Listen more than talk | Fill silences immediately |
255
+ | Use "tell me more" | Ask leading questions |
256
+ | Follow unexpected threads | Stick rigidly to script |
257
+ | Note body language | Only capture verbal |
258
+ | Ask for examples | Accept generalizations |
259
+ | Embrace awkward pauses | Rescue them from silence |
260
+
261
+ **The 5-Second Rule:**
262
+ After they answer, count to 5 silently. They'll often add the most valuable insight to fill the silence.
263
+
264
+ **Probing Techniques:**
265
+ - "Tell me more about that..."
266
+ - "What do you mean by [term they used]?"
267
+ - "Can you give me a specific example?"
268
+ - "What happened next?"
269
+ - "How did that make you feel?"
270
+ - "Why was that important?"
271
+
272
+ **When They Ask Questions:**
273
+ - "What do you think it means?" (turn it back)
274
+ - "What would you expect?" (understand mental model)
275
+ - "Let's see what happens" (for usability tests)
276
+
277
+ ### Bias Awareness
278
+
279
+ **Your biases to watch:**
280
+ - Confirmation bias: Hearing what supports your hypothesis
281
+ - Leading: Subtle cues that suggest "right" answers
282
+ - Anchoring: First impressions coloring everything after
283
+ - Social desirability: They want to please you
284
+
285
+ **Mitigation:**
286
+ - Have someone else take notes
287
+ - Record and review later
288
+ - Use standardized probes
289
+ - Debrief immediately after
290
+
291
+ ---
292
+
293
+ ## Phase 4: Synthesizing Findings
294
+
295
+ See: `references/synthesis-methods.md`
296
+
297
+ ### Affinity Mapping Process
298
+
299
+ 1. **Extract observations** — One insight per sticky note
300
+ 2. **Cluster** — Group related observations (no labels yet)
301
+ 3. **Name clusters** — What theme connects these?
302
+ 4. **Find hierarchy** — Which themes are biggest? Related?
303
+ 5. **Identify patterns** — What appears across multiple participants?
304
+
305
+ ### From Observations to Insights
306
+
307
+ **Observation** (what happened):
308
+ > "3 of 5 users clicked the wrong button first"
309
+
310
+ **Insight** (what it means):
311
+ > "Users expect vessel actions to be grouped by workflow, not data type"
312
+
313
+ **Recommendation** (what to do):
314
+ > "Reorganize vessel actions around user tasks: 'Track this vessel' vs 'View vessel data'"
315
+
316
+ ### Quantifying Qualitative Data
317
+
318
+ - Count frequency: "4 of 6 participants struggled with X"
319
+ - Severity rating: Critical / Major / Minor
320
+ - Confidence level: High (consistent) / Medium (mixed) / Low (limited data)
321
+
322
+ ---
323
+
324
+ ## Phase 5: Presenting Research
325
+
326
+ See: `references/research-report-template.md`
327
+
328
+ ### Know Your Audience
329
+
330
+ | Audience | They Care About | Format |
331
+ |----------|-----------------|--------|
332
+ | Executives | Business impact, decisions | 1-page summary, 3 key findings |
333
+ | Product Managers | Priorities, roadmap implications | Findings + recommendations |
334
+ | Designers | Details, examples, quotes | Full report + highlight clips |
335
+ | Engineers | Feasibility, specifics | Technical implications |
336
+
337
+ ---
338
+
339
+ ## Output Structure (Workflow Mode)
340
+
341
+ When in workflow mode, write research artifacts to `.design/research/`:
342
+
343
+ ### Research Plan: `.design/research/RESEARCH-PLAN.md`
344
+
345
+ ```yaml
346
+ ---
347
+ created: YYYY-MM-DDTHH:MM:SSZ
348
+ status: planning | recruiting | in_progress | analyzing | complete
349
+ method: interviews | usability | survey | contextual | card_sort
350
+ ---
351
+
352
+ [Research plan content]
353
+ ```
354
+
355
+ ### Research Materials: `.design/research/[type]-guide.md`
356
+ - `interview-guide.md`
357
+ - `usability-test-script.md`
358
+ - `survey-questions.md`
359
+
360
+ ### Findings: `.design/research/FINDINGS-[topic].md`
361
+
362
+ ```yaml
363
+ ---
364
+ completed: YYYY-MM-DDTHH:MM:SSZ
365
+ method: [method]
366
+ participants: [N]
367
+ confidence: high | medium | low
368
+ ---
369
+
370
+ # Research Findings: [Topic]
371
+
372
+ ## Executive Summary
373
+ ...
374
+
375
+ ## Key Findings
376
+ ...
377
+
378
+ ## Recommendations
379
+ ...
380
+
381
+ ## Impact on Design Brief
382
+ ...
383
+ ```
384
+
385
+ ---
386
+
387
+ ## State Updates (Workflow Mode)
388
+
389
+ After completing research:
390
+
391
+ 1. **Update `.design/phases/DISCOVERY.md`**:
392
+ - Mark validated assumptions with ✓
393
+ - Note invalidated assumptions
394
+ - Add new insights to user understanding
395
+ - Update requirements if findings warrant
396
+
397
+ 2. **Update `.design/REQUIREMENTS.md`**:
398
+ - Add research-backed requirements
399
+ - Note changed requirements from findings
400
+
401
+ 3. **Update `.design/STATE.md`**:
402
+ ```markdown
403
+ ### Last Activity
404
+ - **Date:** [TIMESTAMP]
405
+ - **Action:** Completed user research ([method])
406
+ - **Key Finding:** [one-liner]
407
+ - **Impact:** [Updated discovery brief / Validated assumptions / etc.]
408
+ ```
409
+
410
+ 4. **Update `.design/config.json`** if research is enabled:
411
+ ```json
412
+ {
413
+ "optional_phases": {
414
+ "research": {
415
+ "enabled": true,
416
+ "methods": ["interviews"],
417
+ "status": "complete"
418
+ }
419
+ }
420
+ }
421
+ ```
422
+
423
+ ---
424
+
425
+ ## Handoff (Workflow Mode)
426
+
427
+ ```
428
+ ═══════════════════════════════════════════════════════════════════════════════
429
+ RESEARCH COMPLETE
430
+ ═══════════════════════════════════════════════════════════════════════════════
431
+
432
+ Output: .design/research/FINDINGS-[topic].md
433
+
434
+ Summary:
435
+ • Method: [method]
436
+ • Participants: [N]
437
+ • Key Finding: [one-liner]
438
+ • Confidence: [high/medium/low]
439
+
440
+ Impact on Design:
441
+ • [X] assumptions validated
442
+ • [Y] assumptions invalidated
443
+ • [Z] new insights added to DISCOVERY.md
444
+
445
+ Next Steps:
446
+ ────────────────────────────────────────────────────────────────────────────────
447
+ → Continue to /dp:ux with validated understanding
448
+ → Update /dp:discovery brief if findings changed direction
449
+ → /dp:progress to see updated workflow status
450
+
451
+ ═══════════════════════════════════════════════════════════════════════════════
452
+ ```
453
+
454
+ ---
455
+
456
+ ## Standalone Mode Behavior
457
+
458
+ When no `.design/` directory exists:
459
+
460
+ 1. Output research materials inline
461
+ 2. Ask what the user wants to do next
462
+ 3. Offer to start DP workflow if they want structured design process
463
+
464
+ ---
465
+
466
+ ## Behavior Guidelines
467
+
468
+ ### Adaptive Support
469
+ - If user is experienced → Skip basics, offer templates
470
+ - If user is learning → Explain rationale, teach principles
471
+ - If user is stuck → Ask what's blocking, provide targeted help
472
+
473
+ ### B2B/Enterprise Awareness
474
+ - Users are often employees, not buyers
475
+ - Access to users may require stakeholder approval
476
+ - Research may need legal/compliance review
477
+ - Incentives may have policy restrictions
478
+ - Recording consent is critical
479
+
480
+ ### Quality Checks
481
+ Before finalizing any research material, verify:
482
+ - [ ] Questions are open-ended and non-leading
483
+ - [ ] Goals are about learning, not validating
484
+ - [ ] Tasks describe goals, not steps
485
+ - [ ] Sample size is appropriate for method
486
+ - [ ] Findings separate observation from interpretation
487
+
488
+ ---
489
+
490
+ ## Reference Files
491
+
492
+ Load these as needed:
493
+
494
+ - **references/method-selection.md** — When to use which research method
495
+ - **references/interview-guide-template.md** — Ready-to-customize interview structure
496
+ - **references/usability-test-template.md** — Task-based test script template
497
+ - **references/question-writing.md** — How to write unbiased questions
498
+ - **references/facilitation-guide.md** — Running sessions like a pro
499
+ - **references/synthesis-methods.md** — Turning data into insights
500
+ - **references/research-report-template.md** — Stakeholder-ready report format
501
+
502
+ ---
503
+
504
+ ## Config Integration
505
+
506
+ Respects these settings from `.design/config.json`:
507
+ ```json
508
+ {
509
+ "optional_phases": {
510
+ "research": {
511
+ "enabled": false,
512
+ "methods": []
513
+ }
514
+ }
515
+ }
516
+ ```
517
+
518
+ When enabled, research outputs are tracked in the workflow state.
519
+
520
+ ---
521
+
522
+ ## Workflow Navigation
523
+
524
+ ```
525
+ /dp:start → /dp:discovery → /dp:ux → /dp:execute → /dp:ui → /dp:execute → /dp:eng_review → /dp:verify
526
+ Phase 1 ↘ Phase 2 (wireframe) Phase 3 (polished) Phase 4
527
+ ┌─────────────┐
528
+ │ YOU ARE │
529
+ │ HERE │
530
+ │ (optional) │
531
+ └─────────────┘
532
+ ```
533
+
534
+ | | |
535
+ |---|---|
536
+ | **Branches from** | `/dp:discovery` — Discovery (most common) or any phase |
537
+ | **Current** | `/dp:research` — Research planning & synthesis (optional) |
538
+ | **Returns to** | The phase that triggered research |
539
+ | **Related** | `/dp:discuss` — Capture research questions before starting |
540
+ | | `/dp:discovery` — Re-run discovery if research changes assumptions |