@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,293 @@
1
+ # Spark Knowledge Base
2
+
3
+ Reference documentation for the `arn-spark-doctor` agent. Describes the Arness Spark plugin's pipeline, configuration requirements, expected file structures, common failure modes, and inter-skill data flow.
4
+
5
+ ## Pipeline Map
6
+
7
+ ### Main Pipeline (Brainstorming Wizard)
8
+
9
+ ```
10
+ discover → stress-test → concept-review → naming → arch-vision → use-cases → scaffold → spike → visual-sketch → style-explore → static-prototype → clickable-prototype → prototype-lock → feature-extract
11
+ ```
12
+
13
+ The `arn-brainstorming` wizard walks through this pipeline with decision gates, detecting progress and offering to resume at the correct stage.
14
+
15
+ ### Stress Testing Suite
16
+
17
+ Four stress test skills run after discovery and before concept review:
18
+
19
+ ```
20
+ discover → stress-interview ──┐
21
+ → stress-competitive ─┤
22
+ → stress-premortem ───┤ → concept-review
23
+ → stress-prfaq ───────┘
24
+ ```
25
+
26
+ Stress tests can run in parallel and produce independent reports. Concept review synthesizes all available stress test findings.
27
+
28
+ ### Teams Variants
29
+
30
+ - `arn-spark-use-cases-teams` — team debate variant of use case authoring
31
+ - `arn-spark-static-prototype-teams` — team debate variant of static prototype validation
32
+ - `arn-spark-clickable-prototype-teams` — team debate variant of clickable prototype validation
33
+
34
+ ### Standalone Skills
35
+
36
+ - `arn-spark-dev-setup` — development environment setup (can run independently after scaffold)
37
+ - `arn-spark-visual-strategy` — visual testing strategy with layered validation
38
+ - `arn-spark-visual-readiness` — visual readiness checkpoint for deferred layer activation
39
+
40
+ ### Entry Point
41
+
42
+ - `arn-brainstorming` — guided wizard that walks through the entire greenfield pipeline with decision gates, detects resume point
43
+
44
+ ## Config Requirements
45
+
46
+ The `## Arness` section in arness.md includes Spark-specific fields. Each skill reads specific fields:
47
+
48
+ | Skill | Vision dir | Use cases dir | Prototypes dir | Spikes dir | Visual grounding dir | Reports dir |
49
+ |-------|-----------|---------------|---------------|------------|---------------------|-------------|
50
+ | arn-spark-ensure-config | creates | creates | creates | creates | creates | creates |
51
+ | arn-spark-discover | writes to | - | - | - | - | - |
52
+ | arn-spark-stress-interview | reads (vision) | - | - | - | - | writes to |
53
+ | arn-spark-stress-competitive | reads (vision) | - | - | - | - | writes to |
54
+ | arn-spark-stress-premortem | reads (vision) | - | - | - | - | writes to |
55
+ | arn-spark-stress-prfaq | reads (vision) | - | - | - | - | writes to |
56
+ | arn-spark-concept-review | reads (vision) | - | - | - | - | writes to |
57
+ | arn-spark-naming | reads (vision) | - | - | - | - | writes to |
58
+ | arn-spark-arch-vision | reads (vision) | - | - | - | - | - |
59
+ | arn-spark-use-cases | reads (vision) | writes to | - | - | - | - |
60
+ | arn-spark-use-cases-teams | reads (vision) | writes to | - | - | - | - |
61
+ | arn-spark-scaffold | reads (vision) | - | - | - | - | - |
62
+ | arn-spark-spike | reads (vision) | - | - | reads/writes | - | - |
63
+ | arn-spark-visual-sketch | reads (vision) | - | - | - | writes to | - |
64
+ | arn-spark-style-explore | reads (vision) | - | - | - | writes to | - |
65
+ | arn-spark-static-prototype | reads (vision) | - | reads/writes | - | writes to | - |
66
+ | arn-spark-static-prototype-teams | reads (vision) | - | reads/writes | - | writes to | - |
67
+ | arn-spark-clickable-prototype | reads (vision) | - | reads/writes | - | writes to | - |
68
+ | arn-spark-clickable-prototype-teams | reads (vision) | - | reads/writes | - | writes to | - |
69
+ | arn-spark-prototype-lock | - | - | reads | - | - | - |
70
+ | arn-spark-feature-extract | reads (vision) | reads | reads | reads | reads | writes to |
71
+ | arn-spark-visual-strategy | - | - | - | - | reads | - |
72
+ | arn-spark-visual-readiness | - | - | - | - | reads | - |
73
+ | arn-spark-dev-setup | - | - | - | - | - | - |
74
+ | arn-brainstorming | all (via ensure-config) | all | all | all | all | all |
75
+
76
+ ## Expected ## Arness Config Format (Spark Fields)
77
+
78
+ ```markdown
79
+ ## Arness
80
+ - **Vision directory:** <path>
81
+ - **Use cases directory:** <path>
82
+ - **Prototypes directory:** <path>
83
+ - **Spikes directory:** <path>
84
+ - **Visual grounding directory:** <path>
85
+ - **Reports directory:** <path>
86
+ ```
87
+
88
+ Default values (created by arn-spark-ensure-config): Vision directory = `.arness/vision`, Use cases directory = `.arness/use-cases`, Prototypes directory = `.arness/prototypes`, Spikes directory = `.arness/spikes`, Visual grounding directory = `.arness/visual-grounding`, Reports directory = `.arness/reports`.
89
+
90
+ ## Expected Directory/File Structure
91
+
92
+ ### After arn-spark-discover
93
+
94
+ ```
95
+ <vision-dir>/
96
+ └── product-concept.md
97
+ ```
98
+
99
+ ### After stress tests (one or more)
100
+
101
+ ```
102
+ <reports-dir>/
103
+ ├── stress-interview-report.md (from arn-spark-stress-interview)
104
+ ├── stress-competitive-report.md (from arn-spark-stress-competitive)
105
+ ├── stress-premortem-report.md (from arn-spark-stress-premortem)
106
+ └── stress-prfaq-report.md (from arn-spark-stress-prfaq)
107
+ ```
108
+
109
+ ### After arn-spark-concept-review
110
+
111
+ ```
112
+ <vision-dir>/
113
+ ├── product-concept.md (updated with approved changes)
114
+ └── product-concept-pre-review.md (backup of pre-review version)
115
+ <reports-dir>/
116
+ └── concept-review-report.md
117
+ ```
118
+
119
+ ### After arn-spark-naming
120
+
121
+ ```
122
+ <vision-dir>/
123
+ └── naming-brief.md (includes Final Decision section)
124
+ <reports-dir>/
125
+ └── naming-report.md
126
+ ```
127
+
128
+ ### After arn-spark-arch-vision
129
+
130
+ ```
131
+ <vision-dir>/
132
+ └── architecture-vision.md
133
+ ```
134
+
135
+ ### After arn-spark-scaffold
136
+
137
+ ```
138
+ <project-root>/
139
+ ├── package.json (or equivalent)
140
+ ├── node_modules/ (or equivalent)
141
+ ├── src/ (or framework-specific structure)
142
+ └── ... (framework scaffolded files)
143
+ ```
144
+
145
+ ### After arn-spark-prototype-lock
146
+
147
+ ```
148
+ <prototypes-dir>/
149
+ ├── locked/ (frozen prototype copy)
150
+ │ └── ... (snapshot of prototype files)
151
+ └── LOCKED.md (lock manifest with timestamp and git tag)
152
+ ```
153
+
154
+ ### After arn-spark-feature-extract
155
+
156
+ ```
157
+ <reports-dir>/
158
+ └── feature-backlog.md (prioritized feature list with Feature Tracker)
159
+ ```
160
+
161
+ ## Common Failure Modes
162
+
163
+ | Symptom | Likely Cause | Diagnostic Check |
164
+ |---------|-------------|------------------|
165
+ | product-concept.md not found after discovery | arn-spark-discover did not complete, or Vision directory misconfigured | Check `<vision-dir>/product-concept.md` exists |
166
+ | Stress test reports not in expected directory | Reports directory misconfigured, or stress test did not complete | Check `<reports-dir>/` for `stress-*-report.md` files |
167
+ | naming-brief.md incomplete (no Final Decision section) | Naming skill did not reach Step 4 (due diligence), or user exited early | Check `<vision-dir>/naming-brief.md` for "Final Decision" heading |
168
+ | Scaffold fails (npm/yarn install errors, framework init fails) | Missing Node.js, wrong version, network issues, or framework CLI not available | Run `node --version`, `npm --version`, check network |
169
+ | Playwright not available for prototyping | Playwright not installed or not in PATH | Run `npx playwright --version` |
170
+ | Visual sketch server won't start | Scaffold not completed, dev server config broken, or port conflict | Check scaffold output exists, dev server is runnable |
171
+ | Style brief not generated from visual direction | visual-direction.md missing in Vision directory, or style-explore did not complete | Check `<vision-dir>/visual-direction.md` exists |
172
+ | Static/clickable prototype build fails | Missing dependencies, scaffold incomplete, or style tokens not applied | Check `node_modules/` exists, scaffold files present |
173
+ | Feature extraction finds no upstream artifacts | No product concept, no use cases, no prototype validation reports | Check Vision, Use cases, Prototypes directories for expected files |
174
+ | Visual testing layer activation fails | Visual grounding directory missing or empty, visual strategy not run | Check `<visual-grounding-dir>/` exists and contains assets |
175
+ | Figma/Canva MCP not available | MCP server not configured for design tool integration | Check `.mcp.json` for design tool entries |
176
+ | Use case files not in expected format | Use cases written manually instead of via arn-spark-use-cases skill | Check `<use-cases-dir>/` for `UC-*.md` pattern |
177
+ | Prototype lock LOCKED.md missing | arn-spark-prototype-lock did not complete or Prototypes directory misconfigured | Check `<prototypes-dir>/LOCKED.md` exists |
178
+ | Brainstorming wizard can't detect resume point | Artifacts in unexpected locations, config directories changed after initial run | Check all configured directories match where artifacts were actually written |
179
+ | ensure-config fails to create Spark fields | arness.md not writable, or `## Arness` section has unexpected format | Check arness.md exists and is writable, check `## Arness` section format |
180
+
181
+ ## Inter-Skill Data Flow
182
+
183
+ ```
184
+ arn-spark-ensure-config
185
+ outputs: ## Arness config in arness.md (Spark fields), directories created
186
+ consumed by: all other Spark skills read ## Arness config
187
+
188
+ arn-spark-discover
189
+ outputs: product-concept.md in <vision-dir>/
190
+ consumed by: stress tests, concept-review, naming, arch-vision, use-cases,
191
+ scaffold (reads product pillars), feature-extract
192
+
193
+ arn-spark-stress-interview
194
+ outputs: stress-interview-report.md in <reports-dir>/
195
+ consumed by: arn-spark-concept-review
196
+
197
+ arn-spark-stress-competitive
198
+ outputs: stress-competitive-report.md in <reports-dir>/
199
+ consumed by: arn-spark-concept-review
200
+
201
+ arn-spark-stress-premortem
202
+ outputs: stress-premortem-report.md in <reports-dir>/
203
+ consumed by: arn-spark-concept-review
204
+
205
+ arn-spark-stress-prfaq
206
+ outputs: stress-prfaq-report.md in <reports-dir>/
207
+ consumed by: arn-spark-concept-review
208
+
209
+ arn-spark-concept-review
210
+ outputs: updated product-concept.md, concept-review-report.md in <reports-dir>/
211
+ consumed by: downstream skills that read product-concept.md
212
+
213
+ arn-spark-naming
214
+ outputs: naming-brief.md in <vision-dir>/, naming-report.md in <reports-dir>/
215
+ consumed by: scaffold (project name), arch-vision (brand context)
216
+
217
+ arn-spark-arch-vision
218
+ outputs: architecture-vision.md in <vision-dir>/
219
+ consumed by: scaffold, spike, use-cases, feature-extract
220
+
221
+ arn-spark-use-cases / arn-spark-use-cases-teams
222
+ outputs: UC-*.md files in <use-cases-dir>/
223
+ consumed by: static-prototype, clickable-prototype, feature-extract
224
+
225
+ arn-spark-scaffold
226
+ outputs: buildable project skeleton at <project-root>/
227
+ consumed by: spike, visual-sketch, style-explore, static-prototype,
228
+ clickable-prototype, dev-setup
229
+
230
+ arn-spark-spike
231
+ outputs: spike results in <spikes-dir>/
232
+ consumed by: visual-sketch (optional), feature-extract
233
+
234
+ arn-spark-visual-sketch
235
+ outputs: visual-direction.md in <vision-dir>/, screenshots in <visual-grounding-dir>/
236
+ consumed by: style-explore
237
+
238
+ arn-spark-style-explore
239
+ outputs: style-brief.md in <vision-dir>/, style tokens in <visual-grounding-dir>/
240
+ consumed by: static-prototype, clickable-prototype
241
+
242
+ arn-spark-static-prototype / arn-spark-static-prototype-teams
243
+ outputs: prototype files in <prototypes-dir>/, validation reports in <reports-dir>/,
244
+ screenshots in <visual-grounding-dir>/
245
+ consumed by: clickable-prototype, prototype-lock, feature-extract
246
+
247
+ arn-spark-clickable-prototype / arn-spark-clickable-prototype-teams
248
+ outputs: interactive prototype in <prototypes-dir>/, journey screenshots in
249
+ <visual-grounding-dir>/, validation reports in <reports-dir>/
250
+ consumed by: prototype-lock, feature-extract
251
+
252
+ arn-spark-prototype-lock
253
+ outputs: locked/ directory in <prototypes-dir>/, LOCKED.md, git tag
254
+ consumed by: development phase (read-only reference)
255
+
256
+ arn-spark-feature-extract
257
+ outputs: feature-backlog.md in <reports-dir>/, optional issue tracker uploads
258
+ consumed by: arn-code-feature-spec (bridges into Arness Code pipeline)
259
+
260
+ arn-brainstorming (entry point)
261
+ inputs: detects current pipeline state from artifacts on disk
262
+ outputs: drives discover → ... → feature-extract
263
+ consumed by: user (full greenfield workflow)
264
+ ```
265
+
266
+ ## Version History
267
+
268
+ ### 1.0.0
269
+ - Initial release: 19 skills + 13 agents for the greenfield exploration pipeline
270
+ - Includes discover, arch-vision, use-cases, scaffold, spike, visual-sketch, style-explore, static-prototype, clickable-prototype, prototype-lock, feature-extract, dev-setup, visual-strategy, visual-readiness
271
+ - Brainstorming wizard for guided pipeline traversal
272
+ - Renamed from nova-green-* to arn-spark-* prefix
273
+
274
+ ### 1.1.0
275
+ - AI-assisted discovery enrichment: product-concept sections, market-researcher + persona-architect agents
276
+ - Stress testing suite: stress-interview, stress-competitive, stress-premortem, stress-prfaq
277
+ - Concept review skill for synthesizing stress test findings
278
+ - Brand naming skill with 4-step methodology, brand-strategist agent, WHOIS scripts
279
+
280
+ ### 2.0.0
281
+ - Nova to Arness rebrand: all skills/agents renamed from nova-green-*/nova-spark-* to arn-spark-*
282
+ - Directory convention changed from .nova/ to .arness/
283
+ - Config section changed from ## Nova to ## Arness
284
+
285
+ ### 2.1.0
286
+ - Progressive zero-config init: arn-spark-ensure-config for automatic setup
287
+ - Deferred pattern docs, welcome/profile flow
288
+ - Teams variants for use cases, static prototype, and clickable prototype
289
+
290
+ ## Version Information
291
+
292
+ - Plugin version — read via [PLATFORM_PLUGIN_METADATA] (field: `version`)
293
+ - Skill versions are in each SKILL.md frontmatter (field: `version`)
@@ -0,0 +1,239 @@
1
+ ---
2
+ name: arn-spark-scaffold
3
+ description: >-
4
+ This skill should be used when the user says "scaffold", "arn scaffold",
5
+ "set up the project", "create project", "initialize project",
6
+ "bootstrap project", "create the skeleton",
7
+ "install dependencies", "configure the project", or wants to create a working
8
+ project skeleton from architecture decisions with installed dependencies,
9
+ configured build tools, and a UI toolkit ready for development.
10
+ version: 1.0.0
11
+ ---
12
+
13
+ # Arness Scaffold
14
+
15
+ Set up a working project skeleton from architecture vision decisions through guided conversation, aided by the `arn-spark-scaffolder` agent for project creation and optionally the `arn-spark-tech-evaluator` agent for UI toolkit comparisons. This is a conversational skill that runs in normal conversation (NOT plan mode). The primary artifact is a **buildable project** with all dependencies installed and configured.
16
+
17
+ This skill covers the initial project setup: framework scaffolding, dependency installation, build configuration, linting, and UI toolkit setup. It does not implement features, create screens, or write application logic -- those are handled by subsequent skills (`/arn-spark-spike`, `/arn-spark-style-explore`, `/arn-spark-static-prototype`, `/arn-spark-clickable-prototype`).
18
+
19
+ ## Prerequisites
20
+
21
+ An architecture vision document must exist. Check in order:
22
+
23
+ 1. Read the project's `arness.md` for a `## Arness` section. If found, check the configured Vision directory for `architecture-vision.md`
24
+ 2. If no `## Arness` section exists or Arness Spark fields are missing, inform the user: "Arness Spark is not configured for this project yet. Run `/arn-brainstorming` to get started — it will set everything up automatically." Do not proceed without it.
25
+ 3. If `## Arness` exists but no architecture vision found, check `.arness/vision/architecture-vision.md` at the project root
26
+
27
+ **If an architecture vision is found:** Read it and proceed to Step 1.
28
+
29
+ **If no architecture vision is found:** Inform the user:
30
+
31
+ "No architecture vision document found. I recommend running `/arn-spark-arch-vision` first to define your technology stack. The scaffold needs to know which frameworks, build tools, and libraries to set up."
32
+
33
+ Do not proceed without an architecture vision or explicit technology stack from the user.
34
+
35
+ Determine the project root:
36
+ 1. The project root is the working directory unless the user specifies otherwise
37
+ 2. If the project root already contains a `package.json`, `Cargo.toml`, or similar, warn the user: "This directory already has a project manifest. Do you want to extend the existing project or start fresh in a subdirectory?"
38
+
39
+ ## Workflow
40
+
41
+ ### Step 1: Load Architecture Vision, Product Pillars, and Extract Stack Decisions
42
+
43
+ Read the architecture vision document. Extract technology decisions for each layer:
44
+
45
+ - **Application framework:** e.g., Tauri, Electron, plain web
46
+ - **UI framework:** e.g., Svelte, React, Vue
47
+ - **Language:** e.g., TypeScript, JavaScript
48
+ - **Build tool:** e.g., Vite, webpack
49
+ - **Package manager:** e.g., npm, pnpm, yarn, bun
50
+ - **Test framework:** e.g., Vitest, Jest, Playwright
51
+ - **Linter/formatter:** e.g., ESLint + Prettier, Biome
52
+
53
+ Also load the product concept document (same Vision directory) and extract the **Product Pillars** section if it exists. Pillars guide UI toolkit decisions in Step 2 — for example, a "design fidelity" pillar means the component library must allow full visual customization, while a "simplicity" pillar favors pre-styled components with minimal configuration.
54
+
55
+ Present the extracted stack and relevant pillars to the user:
56
+
57
+ "Based on your architecture vision, here is the stack I will scaffold:
58
+
59
+ | Layer | Technology |
60
+ |-------|-----------|
61
+ | Framework | [value] |
62
+ | UI | [value] |
63
+ | Build | [value] |
64
+ | ... | ... |
65
+
66
+ [If pillars found:] Your product pillars that will guide UI toolkit choices:
67
+ - **[Pillar]:** [what it implies for CSS/component library decisions]
68
+ - ...
69
+
70
+ Ask the user:
71
+
72
+ **"Does this stack look right?"**
73
+
74
+ Options:
75
+ 1. **Yes, proceed** — Set up the project with this stack
76
+ 2. **Adjust** — I want to change something before proceeding"
77
+
78
+ ### Step 2: UI Toolkit Decisions
79
+
80
+ The architecture vision defines the high-level UI framework (e.g., Svelte) but typically does not specify the CSS approach and component library. These decisions happen now because they affect the scaffold setup and all subsequent work (style exploration, prototyping, production code).
81
+
82
+ When product pillars are available, annotate each option with how it serves or challenges the pillars. This helps the user make an informed choice aligned with their product's non-negotiable qualities.
83
+
84
+ **Profile-aware recommendations:** Read user profile from `.arness/profile.yaml`. Also check `.arness/preferences.yaml` for project-level team preferences. If the user lists specific frameworks (e.g., "React"), suggest compatible component libraries the user likely knows. If `development_experience: learning`, favor pre-styled libraries (DaisyUI, Chakra) over headless ones (shadcn, Radix) -- pre-styled libraries have less configuration overhead and visible results faster. If `development_experience: non-technical`, favor the most mainstream option with the largest community and most tutorials. Apply the advisory pattern for all toolkit recommendations: present the technically optimal recommendation first, then a preference-aligned alternative with pros/cons if they differ.
85
+
86
+ Ask the user about each:
87
+
88
+ **CSS approach:**
89
+
90
+ Ask the user:
91
+
92
+ **"Which CSS framework should we use?"**
93
+
94
+ Offer common options for the chosen UI framework, noting pillar alignment where relevant. For example, for Svelte with a "design fidelity" pillar:
95
+
96
+ Options:
97
+ 1. **Tailwind CSS** (most popular, utility-first) — Supports design fidelity: fine-grained control over every visual detail
98
+ 2. **UnoCSS** (similar to Tailwind, faster build) — Same control as Tailwind, lighter toolchain
99
+ 3. **CSS Modules** (scoped styles, no utility framework) — Maximum control but more manual effort
100
+ 4. **Vanilla CSS** (no framework, component-scoped styles) — Full freedom but no utility shortcuts
101
+
102
+ **Component library:**
103
+
104
+ Ask the user:
105
+
106
+ **"Which component library should we use?"**
107
+
108
+ Offer common options for the chosen UI framework + CSS approach, noting pillar alignment. For example, for Svelte + Tailwind with a "design fidelity" pillar:
109
+
110
+ Options:
111
+ 1. **shadcn-svelte** (headless components, fully customizable) — Strong pillar fit: unstyled primitives give complete visual control
112
+ 2. **Skeleton UI** (Svelte-native, Tailwind-based) — Moderate: customizable but has opinionated defaults
113
+ 3. **DaisyUI** (Tailwind plugin, pre-styled) — Pillar risk: pre-styled components may conflict with custom design direction
114
+ 4. **None** (build custom components) — Maximum control, highest effort
115
+
116
+ Note: Limit to 4 options. If more options exist, group or prioritize based on the chosen framework.
117
+
118
+ **Icon library (optional):**
119
+
120
+ Ask the user:
121
+
122
+ **"Do you want an icon library?"**
123
+
124
+ Options:
125
+ 1. **Lucide** — Clean, consistent, popular
126
+ 2. **Heroicons** — From the Tailwind team
127
+ 3. **None** — Add later if needed
128
+
129
+ If the user is unsure about CSS or component library choices, invoke the `arn-spark-tech-evaluator` agent with a head-to-head comparison request for the specific options — include the product pillars so the evaluator can assess pillar alignment. Present the comparison and let the user decide.
130
+
131
+ Record all UI toolkit decisions for the scaffolder.
132
+
133
+ ### Step 3: Invoke Scaffolder
134
+
135
+ Invoke the `arn-spark-scaffolder` agent via the Task tool, passing the model from `.arness/agent-models/spark.md` as the `model` parameter (see `plugins/arn-spark/skills/arn-spark-ensure-config/references/ensure-config.md` "Dispatch convention" for fallback). Context:
136
+
137
+ - All stack decisions from Step 1 (framework, UI, build, package manager, test, linter)
138
+ - All UI toolkit decisions from Step 2 (CSS framework, component library, icon library)
139
+ - Project root path
140
+ - Any configuration preferences the user mentioned
141
+
142
+ The agent creates the project structure, installs dependencies, configures build tools, sets up the UI toolkit, creates a minimal entry point, and runs the build to verify.
143
+
144
+ **Staging behavior:** When using official project creation tools (npm create, etc.), the scaffolder uses a `_scaffold-staging/` subdirectory to avoid overwriting existing project content (`.arness/`, `arness.md`, `.git/`, and any other files already present). Generated files are merged into the project root after creation, skipping any that already exist. The staging directory is removed after a successful merge. On failure, the staging directory is left in place so the user can inspect it.
145
+
146
+ ### Step 4: Verify the Scaffold
147
+
148
+ After the scaffolder reports completion, verify using the scaffold checklist:
149
+
150
+ > Read `${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-scaffold/references/scaffold-checklist.md`
151
+
152
+ Walk through all checklist categories:
153
+
154
+ 1. **Project structure:** Key directories exist (src/, tests/, config files)
155
+ 2. **Dependency management:** Package manifest exists, dependencies installed without errors, lock file present
156
+ 3. **Build configuration:** Build tool configured, compiles or bundles without errors
157
+ 4. **Linting and formatting:** Linter and formatter configured, run without errors on the minimal code
158
+ 5. **Testing framework:** Test runner configured and executes (even with zero tests)
159
+ 6. **UI toolkit:** CSS framework configured, component library initialized, a component renders
160
+ 7. **Git configuration:** .gitignore is appropriate for the stack
161
+ 8. **Minimal entry point:** App starts and renders something visible
162
+ 9. **Run instructions:** Dev server, build, test, and lint commands documented
163
+
164
+ For any failed checks:
165
+ - Critical failures (build broken, dependencies not installed): Ask the scaffolder to fix
166
+ - Non-critical gaps (missing .gitignore entry): Note for the user
167
+
168
+ ### Step 5: Write Scaffold Summary
169
+
170
+ Write a scaffold summary document so downstream skills have a record of the full technology stack including UI toolkit decisions made during scaffolding.
171
+
172
+ 1. Read the template:
173
+ > Read `${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-scaffold/references/scaffold-summary-template.md`
174
+
175
+ 2. Populate the template with the scaffolding results:
176
+ - Technology stack with actual installed versions (from the scaffolder's report)
177
+ - UI toolkit decisions from Step 2 (CSS framework, component library, icon library)
178
+ - Pillar alignment assessment (if product pillars exist)
179
+ - Key files created
180
+ - Commands
181
+ - Build verification result
182
+
183
+ 3. Determine the output directory:
184
+ - Read the project's `arness.md` for the configured Vision directory
185
+ - If not found, use `.arness/vision` at the project root
186
+ - Create the directory if it does not exist
187
+
188
+ 4. Write the document to the Vision directory as `scaffold-summary.md`
189
+
190
+ ### Step 6: Present Results and Recommend Next Steps
191
+
192
+ Present what was created:
193
+
194
+ "Project scaffolded successfully. Here is what was set up:
195
+
196
+ **Stack:**
197
+ | Layer | Technology | Version |
198
+ |-------|-----------|---------|
199
+ | ... | ... | ... |
200
+
201
+ **Key files created:**
202
+ - [list of important configuration and entry point files]
203
+
204
+ **Commands:**
205
+ - Dev server: `[command]`
206
+ - Build: `[command]`
207
+ - Test: `[command]`
208
+ - Lint: `[command]`
209
+
210
+ **Build result:** [pass/fail]
211
+
212
+ Scaffold summary saved to `[path]/scaffold-summary.md`.
213
+
214
+ Recommended next steps:
215
+ 1. **Set up development environment:** Run `/arn-spark-dev-setup` to configure setup scripts, CI, dev containers, and developer onboarding
216
+ 2. **Validate critical risks:** Run `/arn-spark-spike` to test technical risks from your architecture vision
217
+ 3. **Explore visual style:** Run `/arn-spark-style-explore` to define the look and feel"
218
+
219
+ Adapt next steps based on context. If the architecture vision identified critical risks, emphasize spiking first. If the user is eager to see UI, suggest style exploration.
220
+
221
+ ## Agent Invocation Guide
222
+
223
+ | Situation | Action |
224
+ |-----------|--------|
225
+ | Initial scaffold (Step 3) | Invoke `arn-spark-scaffolder` with full stack + UI toolkit decisions |
226
+ | User unsure about CSS framework | Invoke `arn-spark-tech-evaluator` with comparison request |
227
+ | User unsure about component library | Invoke `arn-spark-tech-evaluator` with comparison request |
228
+ | User asks about code patterns | Defer: "Code patterns will be established when features are built. The scaffold just sets up the foundation." |
229
+ | User asks about features or screens | Defer: "Features come after the scaffold. Next steps are `/arn-spark-spike` or `/arn-spark-style-explore`." |
230
+ | Build fails after scaffold | Ask `arn-spark-scaffolder` to diagnose and fix |
231
+
232
+ ## Error Handling
233
+
234
+ - **Architecture vision not found:** Cannot proceed. Suggest `/arn-spark-arch-vision` first.
235
+ - **Project directory already has code:** Warn the user. Offer to extend the existing project or scaffold in a subdirectory.
236
+ - **Scaffold build fails:** Report the error. Invoke scaffolder to fix. If it fails after 3 attempts, present the error and suggest the user investigate manually.
237
+ - **Dependency installation fails:** Check network connectivity. Report the specific package that failed. Suggest the user try installing it manually.
238
+ - **UI toolkit comparison requested but arn-spark-tech-evaluator unavailable:** Provide a brief comparison from general knowledge and note that it was not verified via web search.
239
+ - **User cancels mid-scaffold:** Note what was completed. The user can re-run `/arn-spark-scaffold` to continue or start fresh.
@@ -0,0 +1,79 @@
1
+ # Scaffold Checklist
2
+
3
+ This checklist defines what a properly scaffolded project should have. The `arn-spark-scaffold` skill uses it to verify completeness after the `arn-spark-scaffolder` agent finishes. Items are framework-agnostic -- adapt specifics to the chosen stack.
4
+
5
+ ## Verification Categories
6
+
7
+ ### 1. Project Structure
8
+
9
+ - [ ] Root directory exists with the project name or at the specified path
10
+ - [ ] `src/` directory (or framework equivalent) exists for application source code
11
+ - [ ] Entry point file exists (e.g., `src/main.ts`, `src/App.svelte`, `src/index.tsx`)
12
+ - [ ] Static assets directory exists if applicable (e.g., `public/`, `static/`)
13
+ - [ ] Test directory exists (e.g., `tests/`, `test/`, `__tests__/`)
14
+
15
+ ### 2. Dependency Management
16
+
17
+ - [ ] Package manifest exists (e.g., `package.json`, `Cargo.toml`)
18
+ - [ ] Lock file exists (e.g., `package-lock.json`, `pnpm-lock.yaml`, `yarn.lock`, `Cargo.lock`)
19
+ - [ ] Core framework dependencies are installed (not just listed)
20
+ - [ ] Development dependencies are installed (linter, formatter, test framework)
21
+ - [ ] No missing peer dependencies (check install output for warnings)
22
+
23
+ ### 3. Build Configuration
24
+
25
+ - [ ] Build tool configuration exists (e.g., `vite.config.ts`, `webpack.config.js`, `tauri.conf.json`)
26
+ - [ ] TypeScript configuration exists if using TypeScript (`tsconfig.json`)
27
+ - [ ] Build command runs without errors
28
+ - [ ] Development server starts without errors (if applicable)
29
+
30
+ ### 4. Linting and Formatting
31
+
32
+ - [ ] Linter configuration exists (e.g., `eslint.config.js`, `.eslintrc`, `biome.json`)
33
+ - [ ] Formatter configuration exists (e.g., `.prettierrc`, integrated in biome/eslint)
34
+ - [ ] Linter runs on the minimal source code without errors
35
+ - [ ] Formatter runs without errors
36
+
37
+ ### 5. Testing Framework
38
+
39
+ - [ ] Test framework is installed and configured
40
+ - [ ] Test command is defined in package scripts or is runnable
41
+ - [ ] A sample or smoke test can be executed (even if there are no real tests yet)
42
+ - [ ] Test configuration exists if needed (e.g., `vitest.config.ts`, `jest.config.js`)
43
+
44
+ ### 6. UI Toolkit (if applicable)
45
+
46
+ - [ ] CSS framework is installed and configured (e.g., Tailwind CSS with `tailwind.config.js`)
47
+ - [ ] CSS framework directives are included in the global stylesheet (e.g., `@tailwind base;`)
48
+ - [ ] PostCSS is configured if required by the CSS framework
49
+ - [ ] Component library is installed and initialized (e.g., shadcn-svelte, Skeleton UI)
50
+ - [ ] Component library theme or base configuration is in place
51
+ - [ ] A component library component renders correctly in the minimal entry point
52
+
53
+ ### 7. Git Configuration
54
+
55
+ - [ ] `.gitignore` exists with appropriate entries for the stack (node_modules, dist, build artifacts, OS files)
56
+ - [ ] No sensitive files or large binaries are unignored
57
+
58
+ ### 8. Minimal Entry Point
59
+
60
+ - [ ] Application renders something visible (text, a component, a styled element)
61
+ - [ ] Entry point uses the UI framework (not just raw HTML)
62
+ - [ ] If a component library is installed, at least one component is used to verify integration
63
+ - [ ] The entry point is intentionally minimal -- no features beyond proving the stack works
64
+
65
+ ### 9. Run Instructions
66
+
67
+ - [ ] Development server command is clear (e.g., `npm run dev`, `cargo tauri dev`)
68
+ - [ ] Build command is clear (e.g., `npm run build`, `cargo tauri build`)
69
+ - [ ] Test command is clear (e.g., `npm test`, `npx vitest`)
70
+
71
+ ## How to Use This Checklist
72
+
73
+ The `arn-spark-scaffold` skill should:
74
+
75
+ 1. After the `arn-spark-scaffolder` agent reports completion, walk through each applicable category
76
+ 2. Skip categories that do not apply to the chosen stack (e.g., skip "UI Toolkit" for a CLI project)
77
+ 3. For each failed check, note it as an issue in the scaffold summary
78
+ 4. Critical failures (build does not pass, dependencies not installed) should be addressed before proceeding
79
+ 5. Non-critical gaps (missing .gitignore entry, no sample test) can be noted for the user to address later