@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.
- package/.claude-plugin/plugin.json +9 -0
- package/.opencode/plugins/arn-spark.js +272 -0
- package/package.json +17 -0
- package/plugins/arn-spark/.claude-plugin/plugin.json +9 -0
- package/plugins/arn-spark/LICENSE +21 -0
- package/plugins/arn-spark/README.md +25 -0
- package/plugins/arn-spark/agents/arn-spark-brand-strategist.md +299 -0
- package/plugins/arn-spark/agents/arn-spark-dev-env-builder.md +228 -0
- package/plugins/arn-spark/agents/arn-spark-doctor.md +92 -0
- package/plugins/arn-spark/agents/arn-spark-forensic-investigator.md +181 -0
- package/plugins/arn-spark/agents/arn-spark-market-researcher.md +232 -0
- package/plugins/arn-spark/agents/arn-spark-marketing-pm.md +225 -0
- package/plugins/arn-spark/agents/arn-spark-persona-architect.md +259 -0
- package/plugins/arn-spark/agents/arn-spark-persona-impersonator.md +183 -0
- package/plugins/arn-spark/agents/arn-spark-product-strategist.md +191 -0
- package/plugins/arn-spark/agents/arn-spark-prototype-builder.md +497 -0
- package/plugins/arn-spark/agents/arn-spark-scaffolder.md +228 -0
- package/plugins/arn-spark/agents/arn-spark-spike-runner.md +209 -0
- package/plugins/arn-spark/agents/arn-spark-style-capture.md +196 -0
- package/plugins/arn-spark/agents/arn-spark-tech-evaluator.md +229 -0
- package/plugins/arn-spark/agents/arn-spark-ui-interactor.md +235 -0
- package/plugins/arn-spark/agents/arn-spark-use-case-writer.md +280 -0
- package/plugins/arn-spark/agents/arn-spark-ux-judge.md +215 -0
- package/plugins/arn-spark/agents/arn-spark-ux-specialist.md +200 -0
- package/plugins/arn-spark/agents/arn-spark-visual-sketcher.md +285 -0
- package/plugins/arn-spark/agents/arn-spark-visual-test-engineer.md +224 -0
- package/plugins/arn-spark/references/copilot-tools.md +62 -0
- package/plugins/arn-spark/skills/arn-brainstorming/SKILL.md +520 -0
- package/plugins/arn-spark/skills/arn-brainstorming/references/add-feature-flow.md +155 -0
- package/plugins/arn-spark/skills/arn-spark-arch-vision/SKILL.md +226 -0
- package/plugins/arn-spark/skills/arn-spark-arch-vision/references/architecture-vision-template.md +153 -0
- package/plugins/arn-spark/skills/arn-spark-arch-vision/references/technology-evaluation-guide.md +86 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype/SKILL.md +471 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype/references/clickable-prototype-criteria.md +65 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype/references/journey-template.md +62 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype/references/review-report-template.md +75 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype/references/showcase-capture-guide.md +213 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype-teams/SKILL.md +642 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype-teams/references/debate-protocol.md +242 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype-teams/references/debate-review-report-template.md +161 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype-teams/references/expert-interaction-review-template.md +152 -0
- package/plugins/arn-spark/skills/arn-spark-concept-review/SKILL.md +350 -0
- package/plugins/arn-spark/skills/arn-spark-concept-review/references/conflict-resolution-protocol.md +145 -0
- package/plugins/arn-spark/skills/arn-spark-concept-review/references/review-report-template.md +185 -0
- package/plugins/arn-spark/skills/arn-spark-dev-setup/SKILL.md +366 -0
- package/plugins/arn-spark/skills/arn-spark-dev-setup/references/dev-setup-checklist.md +84 -0
- package/plugins/arn-spark/skills/arn-spark-dev-setup/references/dev-setup-template.md +205 -0
- package/plugins/arn-spark/skills/arn-spark-discover/SKILL.md +303 -0
- package/plugins/arn-spark/skills/arn-spark-discover/references/competitive-landscape-template.md +87 -0
- package/plugins/arn-spark/skills/arn-spark-discover/references/discovery-questions.md +120 -0
- package/plugins/arn-spark/skills/arn-spark-discover/references/persona-profile-template.md +97 -0
- package/plugins/arn-spark/skills/arn-spark-discover/references/product-concept-template.md +253 -0
- package/plugins/arn-spark/skills/arn-spark-ensure-config/SKILL.md +23 -0
- package/plugins/arn-spark/skills/arn-spark-ensure-config/references/ensure-config.md +388 -0
- package/plugins/arn-spark/skills/arn-spark-ensure-config/references/step-0-fast-path.md +25 -0
- package/plugins/arn-spark/skills/arn-spark-ensure-config/scripts/cache-check.sh +127 -0
- package/plugins/arn-spark/skills/arn-spark-feature-extract/SKILL.md +483 -0
- package/plugins/arn-spark/skills/arn-spark-feature-extract/references/feature-backlog-template.md +176 -0
- package/plugins/arn-spark/skills/arn-spark-feature-extract/references/feature-entry-template.md +209 -0
- package/plugins/arn-spark/skills/arn-spark-help/SKILL.md +149 -0
- package/plugins/arn-spark/skills/arn-spark-help/references/pipeline-map.md +211 -0
- package/plugins/arn-spark/skills/arn-spark-init/SKILL.md +312 -0
- package/plugins/arn-spark/skills/arn-spark-init/references/agent-models-presets/all-opus.md +23 -0
- package/plugins/arn-spark/skills/arn-spark-init/references/agent-models-presets/balanced.md +23 -0
- package/plugins/arn-spark/skills/arn-spark-init/references/bkt-setup.md +55 -0
- package/plugins/arn-spark/skills/arn-spark-init/references/jira-mcp-setup.md +61 -0
- package/plugins/arn-spark/skills/arn-spark-init/references/platform-labels.md +97 -0
- package/plugins/arn-spark/skills/arn-spark-naming/SKILL.md +275 -0
- package/plugins/arn-spark/skills/arn-spark-naming/references/creative-brief-template.md +146 -0
- package/plugins/arn-spark/skills/arn-spark-naming/references/naming-methodology.md +237 -0
- package/plugins/arn-spark/skills/arn-spark-naming/references/naming-report-template.md +122 -0
- package/plugins/arn-spark/skills/arn-spark-naming/references/trademark-databases.md +88 -0
- package/plugins/arn-spark/skills/arn-spark-naming/references/whois-server-map.md +164 -0
- package/plugins/arn-spark/skills/arn-spark-naming/scripts/whois-check.js +502 -0
- package/plugins/arn-spark/skills/arn-spark-naming/scripts/whois-check.py +533 -0
- package/plugins/arn-spark/skills/arn-spark-prototype-lock/SKILL.md +260 -0
- package/plugins/arn-spark/skills/arn-spark-prototype-lock/references/lock-report-template.md +68 -0
- package/plugins/arn-spark/skills/arn-spark-prototype-lock/references/pretooluse-hook-template.json +35 -0
- package/plugins/arn-spark/skills/arn-spark-prototype-lock/references/prototype-guardrail-rules.md +38 -0
- package/plugins/arn-spark/skills/arn-spark-report/SKILL.md +144 -0
- package/plugins/arn-spark/skills/arn-spark-report/references/issue-template.md +81 -0
- package/plugins/arn-spark/skills/arn-spark-report/references/spark-knowledge-base.md +293 -0
- package/plugins/arn-spark/skills/arn-spark-scaffold/SKILL.md +239 -0
- package/plugins/arn-spark/skills/arn-spark-scaffold/references/scaffold-checklist.md +79 -0
- package/plugins/arn-spark/skills/arn-spark-scaffold/references/scaffold-summary-template.md +74 -0
- package/plugins/arn-spark/skills/arn-spark-spike/SKILL.md +209 -0
- package/plugins/arn-spark/skills/arn-spark-spike/references/spike-report-template.md +123 -0
- package/plugins/arn-spark/skills/arn-spark-static-prototype/SKILL.md +362 -0
- package/plugins/arn-spark/skills/arn-spark-static-prototype/references/review-report-template.md +65 -0
- package/plugins/arn-spark/skills/arn-spark-static-prototype/references/showcase-capture-guide.md +153 -0
- package/plugins/arn-spark/skills/arn-spark-static-prototype/references/static-prototype-criteria.md +54 -0
- package/plugins/arn-spark/skills/arn-spark-static-prototype-teams/SKILL.md +518 -0
- package/plugins/arn-spark/skills/arn-spark-static-prototype-teams/references/debate-protocol.md +230 -0
- package/plugins/arn-spark/skills/arn-spark-static-prototype-teams/references/debate-review-report-template.md +148 -0
- package/plugins/arn-spark/skills/arn-spark-static-prototype-teams/references/expert-visual-review-template.md +130 -0
- package/plugins/arn-spark/skills/arn-spark-stress-competitive/SKILL.md +166 -0
- package/plugins/arn-spark/skills/arn-spark-stress-competitive/references/competitive-report-template.md +139 -0
- package/plugins/arn-spark/skills/arn-spark-stress-competitive/references/gap-analysis-framework.md +111 -0
- package/plugins/arn-spark/skills/arn-spark-stress-interview/SKILL.md +257 -0
- package/plugins/arn-spark/skills/arn-spark-stress-interview/references/interview-protocol.md +140 -0
- package/plugins/arn-spark/skills/arn-spark-stress-interview/references/interview-report-template.md +165 -0
- package/plugins/arn-spark/skills/arn-spark-stress-interview/references/persona-casting-spec.md +138 -0
- package/plugins/arn-spark/skills/arn-spark-stress-premortem/SKILL.md +181 -0
- package/plugins/arn-spark/skills/arn-spark-stress-premortem/references/premortem-protocol.md +112 -0
- package/plugins/arn-spark/skills/arn-spark-stress-premortem/references/premortem-report-template.md +158 -0
- package/plugins/arn-spark/skills/arn-spark-stress-prfaq/SKILL.md +206 -0
- package/plugins/arn-spark/skills/arn-spark-stress-prfaq/references/prfaq-report-template.md +139 -0
- package/plugins/arn-spark/skills/arn-spark-stress-prfaq/references/prfaq-workflow.md +118 -0
- package/plugins/arn-spark/skills/arn-spark-style-explore/SKILL.md +281 -0
- package/plugins/arn-spark/skills/arn-spark-style-explore/references/style-brief-template.md +198 -0
- package/plugins/arn-spark/skills/arn-spark-use-cases/SKILL.md +359 -0
- package/plugins/arn-spark/skills/arn-spark-use-cases/references/expert-review-template.md +94 -0
- package/plugins/arn-spark/skills/arn-spark-use-cases/references/review-protocol.md +150 -0
- package/plugins/arn-spark/skills/arn-spark-use-cases/references/use-case-index-template.md +108 -0
- package/plugins/arn-spark/skills/arn-spark-use-cases/references/use-case-template.md +125 -0
- package/plugins/arn-spark/skills/arn-spark-use-cases-teams/SKILL.md +306 -0
- package/plugins/arn-spark/skills/arn-spark-use-cases-teams/references/debate-protocol.md +272 -0
- package/plugins/arn-spark/skills/arn-spark-use-cases-teams/references/review-report-template.md +112 -0
- package/plugins/arn-spark/skills/arn-spark-visual-readiness/SKILL.md +293 -0
- package/plugins/arn-spark/skills/arn-spark-visual-readiness/references/readiness-checklist.md +196 -0
- package/plugins/arn-spark/skills/arn-spark-visual-sketch/SKILL.md +376 -0
- package/plugins/arn-spark/skills/arn-spark-visual-sketch/references/aesthetic-philosophy.md +210 -0
- package/plugins/arn-spark/skills/arn-spark-visual-sketch/references/sketch-gallery-guide.md +282 -0
- package/plugins/arn-spark/skills/arn-spark-visual-sketch/references/visual-direction-template.md +174 -0
- package/plugins/arn-spark/skills/arn-spark-visual-strategy/SKILL.md +447 -0
- package/plugins/arn-spark/skills/arn-spark-visual-strategy/references/baseline-capture-script-template.js +89 -0
- package/plugins/arn-spark/skills/arn-spark-visual-strategy/references/journey-schema.md +375 -0
- package/plugins/arn-spark/skills/arn-spark-visual-strategy/references/spike-checklist.md +122 -0
- package/plugins/arn-spark/skills/arn-spark-visual-strategy/references/strategy-layers-guide.md +132 -0
- package/plugins/arn-spark/skills/arn-spark-visual-strategy/references/visual-strategy-template.md +141 -0
package/plugins/arn-spark/skills/arn-spark-clickable-prototype/references/review-report-template.md
ADDED
|
@@ -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.
|
package/plugins/arn-spark/skills/arn-spark-clickable-prototype/references/showcase-capture-guide.md
ADDED
|
@@ -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
|
+

|
|
144
|
+
|
|
145
|
+
### [Area 1: Setup]
|
|
146
|
+
|
|
147
|
+
#### Device Search
|
|
148
|
+

|
|
149
|
+
|
|
150
|
+
#### Device Found
|
|
151
|
+

|
|
152
|
+
|
|
153
|
+
[... one entry per screen in the area ...]
|
|
154
|
+
|
|
155
|
+
### [Area 2: Main Experience]
|
|
156
|
+
|
|
157
|
+
#### Dashboard
|
|
158
|
+

|
|
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 |  | OK |
|
|
176
|
+
| 1 | [action] |  | OK |
|
|
177
|
+
| 2 | [action] |  | 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
|
+

|
|
192
|
+
|
|
193
|
+
### [Area 1: Setup] (Dark)
|
|
194
|
+
|
|
195
|
+
#### Device Search (Dark)
|
|
196
|
+

|
|
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.
|