@fredcallagan/arn-spark 5.1.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 (130) hide show
  1. package/.claude-plugin/plugin.json +9 -0
  2. package/.opencode/plugins/arn-spark.js +272 -0
  3. package/package.json +17 -0
  4. package/plugins/arn-spark/.claude-plugin/plugin.json +9 -0
  5. package/plugins/arn-spark/LICENSE +21 -0
  6. package/plugins/arn-spark/README.md +25 -0
  7. package/plugins/arn-spark/agents/arn-spark-brand-strategist.md +299 -0
  8. package/plugins/arn-spark/agents/arn-spark-dev-env-builder.md +228 -0
  9. package/plugins/arn-spark/agents/arn-spark-doctor.md +92 -0
  10. package/plugins/arn-spark/agents/arn-spark-forensic-investigator.md +181 -0
  11. package/plugins/arn-spark/agents/arn-spark-market-researcher.md +232 -0
  12. package/plugins/arn-spark/agents/arn-spark-marketing-pm.md +225 -0
  13. package/plugins/arn-spark/agents/arn-spark-persona-architect.md +259 -0
  14. package/plugins/arn-spark/agents/arn-spark-persona-impersonator.md +183 -0
  15. package/plugins/arn-spark/agents/arn-spark-product-strategist.md +191 -0
  16. package/plugins/arn-spark/agents/arn-spark-prototype-builder.md +497 -0
  17. package/plugins/arn-spark/agents/arn-spark-scaffolder.md +228 -0
  18. package/plugins/arn-spark/agents/arn-spark-spike-runner.md +209 -0
  19. package/plugins/arn-spark/agents/arn-spark-style-capture.md +196 -0
  20. package/plugins/arn-spark/agents/arn-spark-tech-evaluator.md +229 -0
  21. package/plugins/arn-spark/agents/arn-spark-ui-interactor.md +235 -0
  22. package/plugins/arn-spark/agents/arn-spark-use-case-writer.md +280 -0
  23. package/plugins/arn-spark/agents/arn-spark-ux-judge.md +215 -0
  24. package/plugins/arn-spark/agents/arn-spark-ux-specialist.md +200 -0
  25. package/plugins/arn-spark/agents/arn-spark-visual-sketcher.md +285 -0
  26. package/plugins/arn-spark/agents/arn-spark-visual-test-engineer.md +224 -0
  27. package/plugins/arn-spark/references/copilot-tools.md +62 -0
  28. package/plugins/arn-spark/skills/arn-brainstorming/SKILL.md +520 -0
  29. package/plugins/arn-spark/skills/arn-brainstorming/references/add-feature-flow.md +155 -0
  30. package/plugins/arn-spark/skills/arn-spark-arch-vision/SKILL.md +226 -0
  31. package/plugins/arn-spark/skills/arn-spark-arch-vision/references/architecture-vision-template.md +153 -0
  32. package/plugins/arn-spark/skills/arn-spark-arch-vision/references/technology-evaluation-guide.md +86 -0
  33. package/plugins/arn-spark/skills/arn-spark-clickable-prototype/SKILL.md +471 -0
  34. package/plugins/arn-spark/skills/arn-spark-clickable-prototype/references/clickable-prototype-criteria.md +65 -0
  35. package/plugins/arn-spark/skills/arn-spark-clickable-prototype/references/journey-template.md +62 -0
  36. package/plugins/arn-spark/skills/arn-spark-clickable-prototype/references/review-report-template.md +75 -0
  37. package/plugins/arn-spark/skills/arn-spark-clickable-prototype/references/showcase-capture-guide.md +213 -0
  38. package/plugins/arn-spark/skills/arn-spark-clickable-prototype-teams/SKILL.md +642 -0
  39. package/plugins/arn-spark/skills/arn-spark-clickable-prototype-teams/references/debate-protocol.md +242 -0
  40. package/plugins/arn-spark/skills/arn-spark-clickable-prototype-teams/references/debate-review-report-template.md +161 -0
  41. package/plugins/arn-spark/skills/arn-spark-clickable-prototype-teams/references/expert-interaction-review-template.md +152 -0
  42. package/plugins/arn-spark/skills/arn-spark-concept-review/SKILL.md +350 -0
  43. package/plugins/arn-spark/skills/arn-spark-concept-review/references/conflict-resolution-protocol.md +145 -0
  44. package/plugins/arn-spark/skills/arn-spark-concept-review/references/review-report-template.md +185 -0
  45. package/plugins/arn-spark/skills/arn-spark-dev-setup/SKILL.md +366 -0
  46. package/plugins/arn-spark/skills/arn-spark-dev-setup/references/dev-setup-checklist.md +84 -0
  47. package/plugins/arn-spark/skills/arn-spark-dev-setup/references/dev-setup-template.md +205 -0
  48. package/plugins/arn-spark/skills/arn-spark-discover/SKILL.md +303 -0
  49. package/plugins/arn-spark/skills/arn-spark-discover/references/competitive-landscape-template.md +87 -0
  50. package/plugins/arn-spark/skills/arn-spark-discover/references/discovery-questions.md +120 -0
  51. package/plugins/arn-spark/skills/arn-spark-discover/references/persona-profile-template.md +97 -0
  52. package/plugins/arn-spark/skills/arn-spark-discover/references/product-concept-template.md +253 -0
  53. package/plugins/arn-spark/skills/arn-spark-ensure-config/SKILL.md +23 -0
  54. package/plugins/arn-spark/skills/arn-spark-ensure-config/references/ensure-config.md +388 -0
  55. package/plugins/arn-spark/skills/arn-spark-ensure-config/references/step-0-fast-path.md +25 -0
  56. package/plugins/arn-spark/skills/arn-spark-ensure-config/scripts/cache-check.sh +127 -0
  57. package/plugins/arn-spark/skills/arn-spark-feature-extract/SKILL.md +483 -0
  58. package/plugins/arn-spark/skills/arn-spark-feature-extract/references/feature-backlog-template.md +176 -0
  59. package/plugins/arn-spark/skills/arn-spark-feature-extract/references/feature-entry-template.md +209 -0
  60. package/plugins/arn-spark/skills/arn-spark-help/SKILL.md +149 -0
  61. package/plugins/arn-spark/skills/arn-spark-help/references/pipeline-map.md +211 -0
  62. package/plugins/arn-spark/skills/arn-spark-init/SKILL.md +312 -0
  63. package/plugins/arn-spark/skills/arn-spark-init/references/agent-models-presets/all-opus.md +23 -0
  64. package/plugins/arn-spark/skills/arn-spark-init/references/agent-models-presets/balanced.md +23 -0
  65. package/plugins/arn-spark/skills/arn-spark-init/references/bkt-setup.md +55 -0
  66. package/plugins/arn-spark/skills/arn-spark-init/references/jira-mcp-setup.md +61 -0
  67. package/plugins/arn-spark/skills/arn-spark-init/references/platform-labels.md +97 -0
  68. package/plugins/arn-spark/skills/arn-spark-naming/SKILL.md +275 -0
  69. package/plugins/arn-spark/skills/arn-spark-naming/references/creative-brief-template.md +146 -0
  70. package/plugins/arn-spark/skills/arn-spark-naming/references/naming-methodology.md +237 -0
  71. package/plugins/arn-spark/skills/arn-spark-naming/references/naming-report-template.md +122 -0
  72. package/plugins/arn-spark/skills/arn-spark-naming/references/trademark-databases.md +88 -0
  73. package/plugins/arn-spark/skills/arn-spark-naming/references/whois-server-map.md +164 -0
  74. package/plugins/arn-spark/skills/arn-spark-naming/scripts/whois-check.js +502 -0
  75. package/plugins/arn-spark/skills/arn-spark-naming/scripts/whois-check.py +533 -0
  76. package/plugins/arn-spark/skills/arn-spark-prototype-lock/SKILL.md +260 -0
  77. package/plugins/arn-spark/skills/arn-spark-prototype-lock/references/lock-report-template.md +68 -0
  78. package/plugins/arn-spark/skills/arn-spark-prototype-lock/references/pretooluse-hook-template.json +35 -0
  79. package/plugins/arn-spark/skills/arn-spark-prototype-lock/references/prototype-guardrail-rules.md +38 -0
  80. package/plugins/arn-spark/skills/arn-spark-report/SKILL.md +144 -0
  81. package/plugins/arn-spark/skills/arn-spark-report/references/issue-template.md +81 -0
  82. package/plugins/arn-spark/skills/arn-spark-report/references/spark-knowledge-base.md +293 -0
  83. package/plugins/arn-spark/skills/arn-spark-scaffold/SKILL.md +239 -0
  84. package/plugins/arn-spark/skills/arn-spark-scaffold/references/scaffold-checklist.md +79 -0
  85. package/plugins/arn-spark/skills/arn-spark-scaffold/references/scaffold-summary-template.md +74 -0
  86. package/plugins/arn-spark/skills/arn-spark-spike/SKILL.md +209 -0
  87. package/plugins/arn-spark/skills/arn-spark-spike/references/spike-report-template.md +123 -0
  88. package/plugins/arn-spark/skills/arn-spark-static-prototype/SKILL.md +362 -0
  89. package/plugins/arn-spark/skills/arn-spark-static-prototype/references/review-report-template.md +65 -0
  90. package/plugins/arn-spark/skills/arn-spark-static-prototype/references/showcase-capture-guide.md +153 -0
  91. package/plugins/arn-spark/skills/arn-spark-static-prototype/references/static-prototype-criteria.md +54 -0
  92. package/plugins/arn-spark/skills/arn-spark-static-prototype-teams/SKILL.md +518 -0
  93. package/plugins/arn-spark/skills/arn-spark-static-prototype-teams/references/debate-protocol.md +230 -0
  94. package/plugins/arn-spark/skills/arn-spark-static-prototype-teams/references/debate-review-report-template.md +148 -0
  95. package/plugins/arn-spark/skills/arn-spark-static-prototype-teams/references/expert-visual-review-template.md +130 -0
  96. package/plugins/arn-spark/skills/arn-spark-stress-competitive/SKILL.md +166 -0
  97. package/plugins/arn-spark/skills/arn-spark-stress-competitive/references/competitive-report-template.md +139 -0
  98. package/plugins/arn-spark/skills/arn-spark-stress-competitive/references/gap-analysis-framework.md +111 -0
  99. package/plugins/arn-spark/skills/arn-spark-stress-interview/SKILL.md +257 -0
  100. package/plugins/arn-spark/skills/arn-spark-stress-interview/references/interview-protocol.md +140 -0
  101. package/plugins/arn-spark/skills/arn-spark-stress-interview/references/interview-report-template.md +165 -0
  102. package/plugins/arn-spark/skills/arn-spark-stress-interview/references/persona-casting-spec.md +138 -0
  103. package/plugins/arn-spark/skills/arn-spark-stress-premortem/SKILL.md +181 -0
  104. package/plugins/arn-spark/skills/arn-spark-stress-premortem/references/premortem-protocol.md +112 -0
  105. package/plugins/arn-spark/skills/arn-spark-stress-premortem/references/premortem-report-template.md +158 -0
  106. package/plugins/arn-spark/skills/arn-spark-stress-prfaq/SKILL.md +206 -0
  107. package/plugins/arn-spark/skills/arn-spark-stress-prfaq/references/prfaq-report-template.md +139 -0
  108. package/plugins/arn-spark/skills/arn-spark-stress-prfaq/references/prfaq-workflow.md +118 -0
  109. package/plugins/arn-spark/skills/arn-spark-style-explore/SKILL.md +281 -0
  110. package/plugins/arn-spark/skills/arn-spark-style-explore/references/style-brief-template.md +198 -0
  111. package/plugins/arn-spark/skills/arn-spark-use-cases/SKILL.md +359 -0
  112. package/plugins/arn-spark/skills/arn-spark-use-cases/references/expert-review-template.md +94 -0
  113. package/plugins/arn-spark/skills/arn-spark-use-cases/references/review-protocol.md +150 -0
  114. package/plugins/arn-spark/skills/arn-spark-use-cases/references/use-case-index-template.md +108 -0
  115. package/plugins/arn-spark/skills/arn-spark-use-cases/references/use-case-template.md +125 -0
  116. package/plugins/arn-spark/skills/arn-spark-use-cases-teams/SKILL.md +306 -0
  117. package/plugins/arn-spark/skills/arn-spark-use-cases-teams/references/debate-protocol.md +272 -0
  118. package/plugins/arn-spark/skills/arn-spark-use-cases-teams/references/review-report-template.md +112 -0
  119. package/plugins/arn-spark/skills/arn-spark-visual-readiness/SKILL.md +293 -0
  120. package/plugins/arn-spark/skills/arn-spark-visual-readiness/references/readiness-checklist.md +196 -0
  121. package/plugins/arn-spark/skills/arn-spark-visual-sketch/SKILL.md +376 -0
  122. package/plugins/arn-spark/skills/arn-spark-visual-sketch/references/aesthetic-philosophy.md +210 -0
  123. package/plugins/arn-spark/skills/arn-spark-visual-sketch/references/sketch-gallery-guide.md +282 -0
  124. package/plugins/arn-spark/skills/arn-spark-visual-sketch/references/visual-direction-template.md +174 -0
  125. package/plugins/arn-spark/skills/arn-spark-visual-strategy/SKILL.md +447 -0
  126. package/plugins/arn-spark/skills/arn-spark-visual-strategy/references/baseline-capture-script-template.js +89 -0
  127. package/plugins/arn-spark/skills/arn-spark-visual-strategy/references/journey-schema.md +375 -0
  128. package/plugins/arn-spark/skills/arn-spark-visual-strategy/references/spike-checklist.md +122 -0
  129. package/plugins/arn-spark/skills/arn-spark-visual-strategy/references/strategy-layers-guide.md +132 -0
  130. package/plugins/arn-spark/skills/arn-spark-visual-strategy/references/visual-strategy-template.md +141 -0
@@ -0,0 +1,75 @@
1
+ # Review Report Template -- Clickable Prototype
2
+
3
+ Use this template for each version's expert review report during the clickable prototype validation cycle.
4
+
5
+ ```markdown
6
+ # Review Report: Version [N]
7
+
8
+ ## Reviewers
9
+ - **Product strategist:** arn-spark-product-strategist
10
+ - **UX specialist:** arn-spark-ux-specialist
11
+
12
+ ## Scoring
13
+ - **Scale:** [1-N]
14
+ - **Minimum threshold:** [T]
15
+
16
+ ## Criterion Scores
17
+
18
+ | # | Criterion | Product Strategist | UX Specialist | Combined | Status |
19
+ |---|-----------|-------------------|---------------|----------|--------|
20
+ | 1 | [name] | [score] | [score] | [lower] | PASS/FAIL |
21
+ | 2 | [name] | [score] | [score] | [lower] | PASS/FAIL |
22
+ | ... | ... | ... | ... | ... | ... |
23
+
24
+ ## Visual Grounding Comparison
25
+
26
+ **Assets provided to reviewers:**
27
+ | Category | Count | Source |
28
+ |----------|-------|--------|
29
+ | References | [N] | [URL captures, user screenshots] |
30
+ | Designs | [N] | [Figma exports, Canva exports, manual mockups] |
31
+ | Brand | [N] | [logos, guidelines] |
32
+
33
+ **Comparison notes:**
34
+ - **Reference alignment:** [How well screen layouts and flow feel match the inspirational direction]
35
+ - **Design fidelity:** [How closely screen layouts match the design mockups in structure and component placement — only if designs exist]
36
+ - **Brand compliance:** [Whether brand elements appear correctly across all screens — only if brand assets exist]
37
+
38
+ [If no visual grounding assets were available: "No visual grounding assets provided. Review based on style brief text only."]
39
+
40
+ ## Failing Criteria
41
+
42
+ ### [Criterion Name] -- Combined [X]/[scale]
43
+ - **Product strategist feedback:** [specific observation and suggestion]
44
+ - **UX specialist feedback:** [specific observation and suggestion]
45
+ - **Journey evidence:** [which journey step exposed the issue, with screenshot reference]
46
+ - **Priority:** [Critical / Important]
47
+
48
+ [Repeat for each failing criterion]
49
+
50
+ ## Journey Results Summary
51
+
52
+ | Journey | Steps | Completed | Issues |
53
+ |---------|-------|-----------|--------|
54
+ | [name] | [total] | [completed] | [brief summary] |
55
+ | ... | ... | ... | ... |
56
+
57
+ ## Passing Criteria Highlights
58
+ [Brief notes on particularly strong aspects, if any]
59
+
60
+ ## Summary
61
+ - **Passing:** [N] of [M] criteria meet threshold
62
+ - **Failing:** [N] criteria below threshold
63
+ - **Journeys:** [X] of [Y] completed successfully
64
+ - **Verdict:** PROCEED TO NEXT CYCLE / ALL CRITERIA PASS -- PROCEED TO JUDGE
65
+
66
+ ## Recommended Focus for Next Cycle
67
+ [If failing: ordered list of what to fix, most critical first. Reference specific journey steps and screenshots.]
68
+ ```
69
+
70
+ ## Usage Notes
71
+
72
+ - The combined score uses the LOWER of the two expert scores for each criterion.
73
+ - If only one expert is available, use that single score as the combined score.
74
+ - Journey results from the `arn-spark-ui-interactor` agent should be cross-referenced with criterion scores. If a journey step exposed a criterion failure, note the journey step and screenshot in the failing criteria details.
75
+ - The skill writes this report to `prototypes/clickable/vN/review-report.md` after each validation cycle.
@@ -0,0 +1,213 @@
1
+ # Clickable Prototype Showcase Capture Guide
2
+
3
+ This document defines how the `arn-spark-clickable-prototype` skill generates structured visual showcase assets after the judge review passes. The output is a set of per-screen screenshots, organized journey galleries, and an index document that the user can review without running a dev server.
4
+
5
+ ## When This Runs
6
+
7
+ After the judge returns PASS (or after the final cycle if the judge fails but the user proceeds). This is the last automated step before presenting results to the user. The showcase assets are the user's primary visual deliverable from the clickable prototype process.
8
+
9
+ ## Prerequisites
10
+
11
+ - The prototype is built and can be served (dev server starts successfully)
12
+ - The `screen-manifest.json` exists in the version directory (written by `arn-spark-prototype-builder`)
13
+ - Journey screenshots exist in `prototypes/clickable/v[N]/journeys/` (captured by `arn-spark-ui-interactor` during Step 4b)
14
+ - Playwright is available for screen capture
15
+
16
+ If Playwright is not available, skip automated screen capture and inform the user: "Playwright is not available. The prototype can be viewed by running the dev server. Automated visual export was skipped." The skill continues to the user review step. Journey screenshots (already captured during interaction testing) are still organized into the showcase index.
17
+
18
+ ## Screen Capture Process
19
+
20
+ ### 1. Read the screen manifest
21
+
22
+ Read `prototypes/clickable/v[N]/screen-manifest.json` to get the list of screens with their routes and functional areas. If the manifest does not exist (e.g., an older prototype build), fall back to capturing only the hub page and skip per-screen captures.
23
+
24
+ ### 2. Start the prototype
25
+
26
+ Start the dev server using the same procedure as Step 4b of the main skill. Record the URL and process ID.
27
+
28
+ ### 3. Generate a capture script
29
+
30
+ Generate a Playwright script tailored to the project's stack. The script must:
31
+
32
+ 1. **Launch** a browser with a consistent viewport (e.g., 1440x900 for desktop, or the target viewport from the style brief)
33
+ 2. **Navigate to each screen route** from the manifest, in order grouped by functional area
34
+ 3. **Wait** for the page to be fully loaded (network idle, no pending animations)
35
+ 4. **Capture each screen:** Take a full-viewport screenshot → `screens/NN-area-screen-name.png`
36
+ 5. **Capture the hub:** The first capture should be the hub/index screen → `screens/01-hub.png`
37
+ 6. **Dark mode captures (if applicable):** If the prototype has a dark mode toggle:
38
+ - After capturing all screens in light mode, toggle dark mode ON
39
+ - Re-navigate to each screen and capture → `screens/NN-area-screen-name-dark.png`
40
+
41
+ **Script generation approach by stack:**
42
+
43
+ | Stack | Capture method |
44
+ |-------|---------------|
45
+ | Web app (any framework) | Playwright script targeting `localhost` URL, navigating to each route |
46
+ | Desktop app with web view (Tauri, Electron) | Playwright script targeting the web view URL |
47
+ | Native mobile app | Start simulator/emulator, use platform screenshot tools. Per-screen capture by navigating through the hub. If not feasible, capture hub only and note the limitation. |
48
+ | Terminal/CLI app | Not applicable for visual showcase. Skip this step and note: "Terminal applications do not produce visual showcases." |
49
+
50
+ **Script location:** Write the generated script to `prototypes/clickable/v[N]/showcase/capture-script.js` (or `.ts`, `.py` — match the project's ecosystem). This allows the user to re-run the capture manually if needed.
51
+
52
+ ### 4. Run the capture script
53
+
54
+ Execute the script via Bash. If a screen capture fails (route not found, timeout), skip that screen and note it in the showcase index. Do not fail the entire capture for one missing screen.
55
+
56
+ ### 5. Stop the prototype
57
+
58
+ Kill the dev server process.
59
+
60
+ ## Journey Gallery Process
61
+
62
+ Journey screenshots already exist from the interaction testing step (Step 4b). The showcase organizes them into a readable gallery without re-capturing.
63
+
64
+ ### 1. Discover journey directories
65
+
66
+ Scan `prototypes/clickable/v[N]/journeys/` for subdirectories. Each subdirectory contains one journey's screenshots.
67
+
68
+ ### 2. Read journey definitions
69
+
70
+ Use the journey definitions from Step 1b/Step 2 to provide step labels and journey goals. If the journey definitions are not available, use the screenshot filenames to infer step descriptions (they follow the `NN-action-description.png` naming convention).
71
+
72
+ ### 3. Organize into the showcase index
73
+
74
+ For each journey, list the screenshots in order with:
75
+ - Step number and action description
76
+ - Screenshot embed (relative path to the existing file in `journeys/`)
77
+ - Step outcome (OK or FAIL, inferred from filename — failures are prefixed with `FAIL-`)
78
+
79
+ Journey screenshots are referenced from their existing location, not copied to the showcase directory.
80
+
81
+ ## Output Structure
82
+
83
+ ```
84
+ prototypes/clickable/v[N]/showcase/
85
+ ├── capture-script.js ← Generated Playwright script (re-runnable)
86
+ ├── screens/
87
+ │ ├── 01-hub.png ← Hub/index screen
88
+ │ ├── 02-setup-device-search.png ← Per-screen captures (light mode)
89
+ │ ├── 03-setup-device-found.png
90
+ │ ├── 04-main-dashboard.png
91
+ │ ├── ...
92
+ │ ├── 02-setup-device-search-dark.png ← Dark mode variants (if applicable)
93
+ │ ├── 03-setup-device-found-dark.png
94
+ │ └── ...
95
+ └── showcase-index.md ← Visual summary document
96
+ ```
97
+
98
+ Journey screenshots remain in their original location:
99
+ ```
100
+ prototypes/clickable/v[N]/journeys/
101
+ ├── device-pairing/
102
+ │ ├── 00-initial-state.png
103
+ │ ├── 01-click-add-device.png
104
+ │ ├── 02-device-list-appears.png
105
+ │ └── ...
106
+ └── settings-navigation/
107
+ ├── 00-initial-state.png
108
+ └── ...
109
+ ```
110
+
111
+ ### File naming convention
112
+
113
+ - Screen files: `NN-area-screen-name.png` where `NN` is the zero-padded number, `area` is the functional area in kebab-case, and `screen-name` is the screen name in kebab-case (e.g., `02-setup-device-search.png`, `05-main-dashboard.png`)
114
+ - Dark mode variants: append `-dark` before the extension (e.g., `02-setup-device-search-dark.png`)
115
+ - Hub screen: always `01-hub.png` / `01-hub-dark.png`
116
+
117
+ ## Showcase Index Template
118
+
119
+ The `showcase-index.md` is a self-contained markdown document that the user can open to see all screens and journey flows with context. It embeds screen images using relative links and journey images using relative paths to the `journeys/` directory.
120
+
121
+ ```markdown
122
+ # Clickable Prototype Showcase — v[N]
123
+
124
+ **Version:** [N]
125
+ **Judge verdict:** [PASS / FAIL]
126
+ **Date:** [YYYY-MM-DD]
127
+ **Screens:** [total count]
128
+ **Journeys:** [total count] ([completed]/[total] completed)
129
+
130
+ ## Scores Summary
131
+
132
+ | # | Criterion | Score | Status |
133
+ |---|-----------|-------|--------|
134
+ | 1 | [name] | [combined] | PASS/FAIL |
135
+ | ... | ... | ... | ... |
136
+
137
+ ---
138
+
139
+ ## Screen Gallery
140
+
141
+ ### Hub
142
+
143
+ ![Hub](./screens/01-hub.png)
144
+
145
+ ### [Area 1: Setup]
146
+
147
+ #### Device Search
148
+ ![Device Search](./screens/02-setup-device-search.png)
149
+
150
+ #### Device Found
151
+ ![Device Found](./screens/03-setup-device-found.png)
152
+
153
+ [... one entry per screen in the area ...]
154
+
155
+ ### [Area 2: Main Experience]
156
+
157
+ #### Dashboard
158
+ ![Dashboard](./screens/04-main-dashboard.png)
159
+
160
+ [... one entry per screen in the area ...]
161
+
162
+ [... repeat for all functional areas ...]
163
+
164
+ ---
165
+
166
+ ## Journey Gallery
167
+
168
+ ### Journey 1: [Name]
169
+
170
+ **Goal:** [what the user accomplishes]
171
+ **Result:** COMPLETE / PARTIAL ([N] of [M] steps)
172
+
173
+ | Step | Action | Screenshot | Result |
174
+ |------|--------|------------|--------|
175
+ | 0 | Initial state | ![Start](../journeys/[journey-name]/00-initial-state.png) | OK |
176
+ | 1 | [action] | ![Step 1](../journeys/[journey-name]/01-[name].png) | OK |
177
+ | 2 | [action] | ![Step 2](../journeys/[journey-name]/02-[name].png) | OK / FAIL |
178
+ | ... | ... | ... | ... |
179
+
180
+ ### Journey 2: [Name]
181
+
182
+ [... repeat for all journeys ...]
183
+
184
+ [If dark mode exists:]
185
+
186
+ ---
187
+
188
+ ## Dark Mode
189
+
190
+ ### Hub (Dark)
191
+ ![Hub Dark](./screens/01-hub-dark.png)
192
+
193
+ ### [Area 1: Setup] (Dark)
194
+
195
+ #### Device Search (Dark)
196
+ ![Device Search Dark](./screens/02-setup-device-search-dark.png)
197
+
198
+ [... repeat for all screens ...]
199
+
200
+ ---
201
+
202
+ *Generated by Arness Clickable Prototype v[N] — [date]*
203
+ ```
204
+
205
+ ## Error Handling
206
+
207
+ - **Playwright unavailable:** Skip screen capture entirely. Journey screenshots are still organized into the showcase index (they were captured during interaction testing, which has its own Playwright fallback). If no journey screenshots exist either, write the showcase index as text-only (scores, journey outcomes, no images).
208
+ - **Screen manifest missing:** Capture the hub page only. Note: "Screen manifest not found. Only hub capture produced. Re-build the prototype to generate per-screen captures."
209
+ - **Route not found:** Skip that screen's capture. List skipped screens in the showcase index.
210
+ - **Dev server fails to start:** Skip screen capture. Organize journey screenshots into the showcase index without screen gallery.
211
+ - **Dark mode toggle not found:** Capture light mode only. Note in the index: "Dark mode toggle not detected. Only light mode captured."
212
+ - **No journey screenshots:** Write the showcase index with screen gallery only. Note: "No journey screenshots found. Run interaction testing (Step 4b) to generate journey captures."
213
+ - **Native mobile (no Playwright):** Attempt platform-specific capture. If not feasible, note the limitation and suggest the user capture screenshots manually from the simulator.