@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,176 @@
1
+ # Feature Backlog Index Template
2
+
3
+ This template defines the structure for the feature backlog index document written by the `arn-spark-feature-extract` skill. The index is saved to `features/feature-backlog.md` under the project's Vision directory. Individual feature entries are saved as separate files (`F-NNN-kebab-name.md`) in the same `features/` directory.
4
+
5
+ The index is a lightweight navigation and tracking document. It contains the Feature Tracker table (local source of truth for dependency resolution and status tracking), a Feature Index with links to individual feature files, journey mappings, and implementation ordering. The detailed feature content lives in the individual files.
6
+
7
+ ## Instructions for arn-spark-feature-extract
8
+
9
+ When populating this template:
10
+
11
+ - Generate the Feature Tracker table after finalizing all features -- it is the local source of truth for dependency resolution and issue tracking
12
+ - The Feature Index table provides one row per feature with a relative link to the individual feature file
13
+ - Group features by functional area in the Feature Index (matching the functional area grouping in individual files)
14
+ - Include the journey-to-feature mapping table to ensure complete coverage
15
+ - The Issue Body Template at the bottom defines the format for uploading features to GitHub/Jira
16
+ - Individual feature files are written using the feature entry template (`feature-entry-template.md`) -- see that template for field-level guidance
17
+
18
+ ---
19
+
20
+ ## Template
21
+
22
+ ```markdown
23
+ # [Product Name] - Feature Backlog
24
+
25
+ Generated by `/arn-spark-feature-extract` on [date].
26
+
27
+ ## Summary
28
+
29
+ | Priority | Count |
30
+ |----------|-------|
31
+ | Must-have | [N] |
32
+ | Should-have | [N] |
33
+ | Nice-to-have | [N] |
34
+ | **Total** | **[N]** |
35
+
36
+ **Journey coverage:** [N] of [M] user journeys fully mapped to features.
37
+ **Feature files:** [N] individual feature files in this directory.
38
+
39
+ ## Feature Tracker
40
+
41
+ [Local source of truth for dependency resolution and issue tracking. This table enables `/arn-code-pick-issue` to find unblocked features without network calls, and `/arn-code-ship` to update status after PRs are created.]
42
+
43
+ | ID | Feature | Priority | Deps | Phase | Issue | Status |
44
+ |----|---------|----------|------|-------|-------|--------|
45
+ | F-001 | [Feature Name] | Must-have | None | Foundation | -- | pending |
46
+ | F-002 | [Feature Name] | Must-have | F-001 | Foundation | -- | pending |
47
+ | F-003 | [Feature Name] | Should-have | F-001, F-002 | Core | -- | pending |
48
+ | ... | ... | ... | ... | ... | ... | ... |
49
+
50
+ **Column definitions:**
51
+ - **ID:** Feature identifier (F-NNN), matches the individual feature file
52
+ - **Priority:** Must-have / Should-have / Nice-to-have
53
+ - **Deps:** Comma-separated feature IDs that must be `done` before this feature can start, or `None`
54
+ - **Phase:** Implementation phase from the Implementation Order Suggestion: Foundation, Core, Enhancement, or Polish
55
+ - **Issue:** Issue tracker reference: GitHub issue number (`#42`), Jira key (`PROJ-42`), or `--` if not uploaded
56
+ - **Status:** `pending` (not started), `in-progress` (being worked on), `done` (shipped), `decomposed` (XL feature split into sub-features by `arn-code-feature-spec` -- not directly pickable; parent is marked `done` when all sub-features are `done`)
57
+
58
+ **Sub-feature rows (added by `arn-code-feature-spec` when decomposing XL features):**
59
+
60
+ When `arn-code-feature-spec` decomposes an XL feature, it adds sub-feature rows to the Feature Tracker and sets the parent's status to `decomposed`. Sub-features use dot notation (`F-NNN.N`):
61
+
62
+ | ID | Feature | Priority | Deps | Phase | Issue | Status |
63
+ |----|---------|----------|------|-------|-------|--------|
64
+ | F-005 | Ambient Portal Communication | Must-have | F-001, F-002 | Core | #42 | decomposed |
65
+ | F-005.1 | Audio Pipeline | Must-have | F-001 | Core | #43 | pending |
66
+ | F-005.2 | Signaling | Must-have | F-002 | Core | #44 | pending |
67
+ | F-005.3 | Portal UI Integration | Must-have | F-005.1, F-005.2 | Core | #45 | pending |
68
+
69
+ - Sub-feature IDs use the parent's ID with a dot suffix: `F-NNN.N`
70
+ - Sub-feature priority inherits from the parent unless overridden during spec
71
+ - Sub-feature deps can reference sibling sub-features (for ordering) or external features
72
+ - The parent row's status is `decomposed` and its Issue column keeps the original parent issue reference
73
+ - `/arn-code-pick-issue` skips `decomposed` rows and shows sub-features as pickable items
74
+ - `/arn-code-ship` marks individual sub-features as `done`; when ALL sub-features of a parent are `done`, the parent is also marked `done`
75
+
76
+ ## Feature Index
77
+
78
+ ### [Functional Area 1]
79
+
80
+ | ID | Feature | Priority | Complexity | File |
81
+ |----|---------|----------|------------|------|
82
+ | F-001 | [Feature Name] | Must-have | M | [F-001-feature-name.md](./F-001-feature-name.md) |
83
+ | F-002 | [Feature Name] | Must-have | L | [F-002-feature-name.md](./F-002-feature-name.md) |
84
+
85
+ ### [Functional Area 2]
86
+
87
+ | ID | Feature | Priority | Complexity | File |
88
+ |----|---------|----------|------------|------|
89
+ | F-003 | [Feature Name] | Should-have | M | [F-003-feature-name.md](./F-003-feature-name.md) |
90
+ | ... | ... | ... | ... | ... |
91
+
92
+ [Repeat for each functional area. For decomposed XL features, list the parent in its functional area, then sub-features grouped below:]
93
+
94
+ | ID | Feature | Priority | Complexity | File |
95
+ |----|---------|----------|------------|------|
96
+ | F-005 | Ambient Portal Communication | Must-have | XL | [F-005-ambient-portal.md](./F-005-ambient-portal.md) |
97
+ | F-005.1 | -- Audio Pipeline | Must-have | M | (spec: `FEATURE_F-005.1_audio-pipeline.md`) |
98
+ | F-005.2 | -- Signaling | Must-have | M | (spec: `FEATURE_F-005.2_signaling.md`) |
99
+ | F-005.3 | -- Portal UI Integration | Must-have | L | (spec: `FEATURE_F-005.3_portal-ui.md`) |
100
+
101
+ ## Journey-to-Feature Mapping
102
+
103
+ [Maps each user journey to the features that implement it. Ensures no journey is left without implementing features and no feature is orphaned from a journey.]
104
+
105
+ | Journey | Steps | Features |
106
+ |---------|-------|----------|
107
+ | [Journey name] | [total steps] | F-001, F-003, F-007 |
108
+ | [Journey name] | [total steps] | F-002, F-004 |
109
+ | ... | ... | ... |
110
+
111
+ **Unmapped journeys:** [Any journeys not fully covered by features -- these represent gaps]
112
+ **Orphaned features:** [Any features not referenced by any journey -- these may be infrastructure or may indicate missing journeys]
113
+
114
+ ## Implementation Order Suggestion
115
+
116
+ [A suggested sequence for implementing features, considering dependencies, priorities, and journey completeness. This is a recommendation, not a mandate. The Phase column in the Feature Tracker is derived from this section.]
117
+
118
+ 1. **Foundation:** [Features that establish core infrastructure, typically must-haves with no dependencies. These enable other features but may not complete any journey on their own.]
119
+ 2. **Core experience:** [Features that deliver the primary user value. Completing this phase should make at least the main user journey functional end-to-end.]
120
+ 3. **Enhancement:** [Should-have features that round out the experience. Additional journeys become functional.]
121
+ 4. **Polish:** [Nice-to-have features that add refinement.]
122
+
123
+ ## Deferred Items
124
+
125
+ [Items that came up during extraction but were explicitly excluded from the backlog. These are not features for v1 -- they are noted here for future reference.]
126
+
127
+ | Item | Reason for Deferral | Revisit When |
128
+ |------|-------------------|--------------|
129
+ | [Item] | [Why it is not in v1] | [Condition that would trigger reconsideration] |
130
+ ```
131
+
132
+ ---
133
+
134
+ ## Issue Body Template
135
+
136
+ When uploading features as issues to GitHub/Jira (Step 7 of `arn-spark-feature-extract`), use this lean template for the issue body. Include repo links so the full detail is always accessible from the issue. The issue body matches the lean F-NNN file -- it does not expand UC content inline.
137
+
138
+ Read the content from the individual feature file. Construct repo links using the platform and repo URL from the `## Arness` config in arness.md.
139
+
140
+ ```markdown
141
+ ### F-[NNN]: [Feature Name]
142
+
143
+ **Priority:** [Must-have / Should-have / Nice-to-have]
144
+ **Complexity:** [S / M / L / XL]
145
+ **Phase:** [Foundation / Core / Enhancement / Polish]
146
+ **Dependencies:** [F-NNN: Name (ISSUE-KEY), ... / None]
147
+
148
+ #### Description
149
+ [Full description from feature file]
150
+
151
+ #### Journey Summary
152
+ [Brief journey summary from feature file -- 2-3 sentences, not full steps]
153
+
154
+ #### Acceptance Criteria
155
+ [Full acceptance criteria from feature file]
156
+
157
+ #### Components
158
+ [Library and product-specific components with references]
159
+
160
+ #### Technical Notes
161
+ [Technical notes from feature file]
162
+
163
+ ---
164
+
165
+ **Full detail:** [Feature file](REPO-BROWSE-URL/[vision-dir]/features/F-NNN-name.md)
166
+ **Use cases:** [UC-NNN: Title](REPO-BROWSE-URL/[use-cases-dir]/UC-NNN-name.md), [UC-NNN: Title](REPO-BROWSE-URL/[use-cases-dir]/UC-NNN-name.md)
167
+
168
+ *Generated by `/arn-spark-feature-extract` from the feature backlog.*
169
+ ```
170
+
171
+ **Repo link construction:**
172
+ - Read Platform from `## Arness` config: `github`, `bitbucket`, or `none`
173
+ - For GitHub: `https://github.com/<owner>/<repo>/blob/main/`
174
+ - For Bitbucket: `https://bitbucket.org/<workspace>/<repo>/src/main/`
175
+ - Append the relative path to the feature file or UC file
176
+ - If platform is `none` or URL cannot be determined: omit repo links, add "See local files for full detail." instead
@@ -0,0 +1,209 @@
1
+ # Feature Entry Template
2
+
3
+ This template defines the structure for individual feature files written by the `arn-spark-feature-extract` skill. Each feature is saved as a separate file (`F-NNN-kebab-name.md`) in the `features/` directory under the project's Vision directory.
4
+
5
+ A feature entry captures lean context -- description, journey summary, UI behavior unique to the feature, validated components, use case references, debate insights, technical notes, and acceptance criteria -- with references to upstream UC documents. `arn-code-feature-spec` expands these references at spec time by reading the referenced UC documents directly, so feature files avoid duplicating UC content.
6
+
7
+ ## Instructions for arn-spark-feature-extract
8
+
9
+ When populating this template for each feature:
10
+
11
+ - Extract the feature from ALL available artifacts: product concept, architecture vision, style brief, spike results, static prototype results (including showcase), clickable prototype results (including showcase and screen manifest), use cases (including postconditions and business rules), user journey definitions, debate reports (from teams variants), and visual grounding assets
12
+ - Each feature should be a user-facing capability, not a technical task (e.g., "Voice communication between paired devices" not "Implement WebRTC peer connection")
13
+ - **Journey summary, UI behavior, and components are mandatory fields** -- journey summary captures the user flow briefly with UC references; UI behavior describes only interactions unique to this feature (not already described in the UC); components list the validated building blocks
14
+ - Priority must be justified -- not every feature is must-have
15
+ - Complexity estimates are relative within the project (S/M/L/XL) and based on the architecture vision's stack
16
+ - The "Source" field tracks where the feature was identified, for traceability
17
+ - Features marked "Ready for spec: Yes" must have description, journey summary (with UC references), UI behavior, and components filled in with enough detail for `arn-code-feature-spec` to start (it will read the referenced UC documents for full behavioral detail)
18
+ - XL features should be flagged for decomposition -- either split into separate backlog features, or if the UX specialist determines it is one coherent user-facing capability, kept whole with a `## Decomposition Hints` section providing suggested sub-feature boundaries for `arn-code-feature-spec` to decompose at spec time
19
+ - When use cases exist, reference them with step ranges and BR identifiers -- do not inline postconditions or business rules verbatim (arn-code-feature-spec reads the UC documents directly at spec time)
20
+
21
+ ---
22
+
23
+ ## Template
24
+
25
+ ```markdown
26
+ # F-[NNN]: [Feature Name]
27
+
28
+ **Priority:** [Must-have / Should-have / Nice-to-have]
29
+ **Complexity:** [S / M / L / XL]
30
+ **Phase:** [Foundation / Core / Enhancement / Polish]
31
+ **Dependencies:** [F-NNN, F-NNN / None]
32
+ **Status:** pending
33
+
34
+ ## Description
35
+
36
+ [2-4 sentences describing what the feature does from the user's perspective. What can the user do that they could not do before? What problem does it solve?]
37
+
38
+ ## Journey Steps
39
+
40
+ [Brief summary of the user journey this feature covers (2-3 sentences), with references to UC documents for full step-by-step detail:]
41
+
42
+ **Journey: [Journey Name]**
43
+ [2-3 sentence summary of what happens in this journey segment. E.g., "User discovers peers via mDNS, selects one, sends a pairing request, and upon acceptance exchanges Ed25519 identities to establish a permanent pairing."]
44
+ **UC references:** UC-NNN steps N-M, UC-NNN
45
+
46
+ [If the feature spans multiple journeys, list each with a brief summary and UC references. If no UC exists for this feature, provide 3-5 inline step descriptions instead.]
47
+
48
+ ## UI Behavior
49
+
50
+ [Describe only the UI interactions and visual details that are unique to this feature and NOT already described in the referenced UC documents. Focus on:]
51
+
52
+ - [Prototype-specific details: animations, transitions, visual effects not in the UC]
53
+ - [Component-level interactions: how specific UI components behave (hover states, expand/collapse, etc.)]
54
+ - [Feedback mechanisms: sounds, haptic, toast notifications, loading states]
55
+ - [Edge case UI states: empty states, error states, disabled states]
56
+ - [Layout and positioning details from the prototype that the UC does not specify]
57
+
58
+ [If the UC's Main Success Scenario already describes the core flow, do not rewrite it here. Reference it: "Core flow follows UC-NNN steps N-M. Additional UI details:"]
59
+
60
+ ## Components
61
+
62
+ [Validated UI components this feature uses, split by tier:]
63
+
64
+ - **Library:** [Component name] ([variants]) -- [static showcase reference]. E.g., "Button (primary, secondary) -- static showcase v3 section 3"
65
+ - **Library:** [Component name] ([variants]) -- [static showcase reference]
66
+ - **Product-specific:** [Component name] -- [clickable screen reference]. E.g., "DeviceListItem -- clickable v2 screen 04-main-dashboard"
67
+
68
+ [If no prototypes exist: "None -- no validated components available"]
69
+
70
+ ## Animation
71
+
72
+ [Animation behaviors for this feature, described in platform-agnostic intent language. Reference the style brief's Animation and Motion section for the motion design system.]
73
+
74
+ - [e.g., "Scroll-triggered card stagger entrance, 0.15s delay between cards — validated in clickable v2 screen 03"]
75
+ - [e.g., "State transition: status change fades between states over 200ms ease-in-out"]
76
+ - [Or "None — this feature has no animation requirements"]
77
+
78
+ **Core or decorative:** [Is animation core to this feature's UX (removing it degrades the experience) or purely decorative (removing it has no functional impact)?]
79
+
80
+ [If no style brief Animation section exists: omit this section entirely.]
81
+
82
+ ## Priority Rationale
83
+
84
+ [Why this priority. Must-haves: core experience collapses without it. Should-haves: significantly improves the experience. Nice-to-haves: polish or convenience.]
85
+
86
+ ## Complexity Notes
87
+
88
+ [Brief explanation of what drives the complexity. E.g., "M -- straightforward UI but requires mDNS integration" or "L -- multiple screens with real-time state updates across peers"]
89
+
90
+ ## Technical Notes
91
+
92
+ [Relevant technical context from architecture vision and spike results. E.g., "WebRTC getUserMedia validated in spike-001. Uses mDNS for discovery (validated). Requires Ed25519 keypair for identity." Or "Spike-003 showed WKWebView has limited Notification API -- use Tauri notification plugin instead."]
93
+
94
+ ## Source
95
+
96
+ [Which artifact(s) this was extracted from: product-concept, architecture-vision, spike-results, prototype screen name, journey name, use-case UC-NNN, user input]
97
+
98
+ ## References
99
+
100
+ **Prototype:** [Which prototype screens show this feature. E.g., "Clickable prototype v3: screens /pairing, /pairing/confirm. Journey screenshots: prototypes/clickable/v3/journeys/device-pairing/"]
101
+ **Showcase:** [Which showcase sections show this feature's screens/components. E.g., "Static showcase v3: sections 3 (Buttons), 5 (Inputs). Clickable showcase v2: screens 01-hub, 04-main-dashboard." Or "None"]
102
+ **Visual target:** [Implementation precision for this feature's visual appearance:]
103
+ - `Design assets` -- design mockups exist in visual grounding `designs/` matching this feature's screens. Implementation should aim for pixel-level fidelity.
104
+ - `Reference alignment` -- reference images exist in visual grounding `references/` setting the direction. Implementation should match the feel, not pixel-perfect.
105
+ - `Style brief only` -- no visual grounding assets for this feature. Implementation follows style brief text specifications.
106
+
107
+ ## Debate Insights
108
+
109
+ [Key expert findings from debate reports (static-prototype-teams, clickable-prototype-teams, use-cases-teams) relevant to this feature. E.g., "UX specialist noted pairing flow needs inline error messages (round-2 cross-review). Business reviewer agreed and added: must show device name in error context." Or "None"]
110
+
111
+ ## Use Case Context
112
+
113
+ **References:** [UC-IDs this feature implements, with relationship and step ranges. E.g., "Implements UC-001 Device Pairing (steps 1-6). Includes UC-005 Device Discovery." Or "None"]
114
+ **Postconditions:** See UC-NNN Postconditions [or "None" if no use cases exist]
115
+ **Business rules:** See UC-NNN Business Rules (BR-1 through BR-N) [or "None" if no use cases exist]
116
+
117
+ [If the feature adds business rules BEYOND what the UC defines, inline only those additional rules here:]
118
+ - [BR-N+1: Additional rule not in the UC. E.g., "Portal materialization animation must complete before audio pipeline starts."]
119
+
120
+ ## Acceptance Criteria
121
+
122
+ [3-5 testable conditions that define when this feature is complete. Derived from journey steps, prototype behavior, and use case postconditions.]
123
+
124
+ - [ ] [Criterion 1 -- e.g., "User can see available devices within 3 seconds of opening the pairing screen"]
125
+ - [ ] [Criterion 2 -- e.g., "Selected device shows confirmation dialog before connecting"]
126
+ - [ ] [Criterion 3 -- e.g., "Connected device appears in the main device list with status indicator"]
127
+
128
+ ## Decomposition Hints
129
+
130
+ [Only for XL features kept whole in the backlog. Omit this section entirely for S/M/L features.]
131
+
132
+ [When the UX specialist or user decides an XL feature should stay as one coherent user-facing capability (not split into separate backlog features), provide decomposition hints so `arn-code-feature-spec` can split it into implementation sub-features at spec time.]
133
+
134
+ **Suggested sub-features:**
135
+
136
+ 1. **[Sub-feature name]** -- [1 sentence describing the implementation slice]
137
+ - Journey segment: [which UC steps this covers]
138
+ - Key components: [which components from the Components section apply]
139
+
140
+ 2. **[Sub-feature name]** -- [1 sentence]
141
+ - Journey segment: [steps]
142
+ - Key components: [components]
143
+
144
+ 3. **[Sub-feature name]** -- [1 sentence]
145
+ - Journey segment: [steps]
146
+ - Key components: [components]
147
+
148
+ **Split rationale:** [Why this decomposition. E.g., "Each sub-feature targets a distinct technical domain (audio, signaling, UI) while the user experience is one coherent capability."]
149
+
150
+ **Dependencies between sub-features:** [E.g., "Sub-feature 1 (audio pipeline) must complete before sub-feature 3 (UI integration) can start. Sub-feature 2 (signaling) is independent."]
151
+
152
+ ## Spec Readiness
153
+
154
+ **Ready for spec:** [Yes / No]
155
+
156
+ [If No, note what is missing.]
157
+ ```
158
+
159
+ ---
160
+
161
+ ## Priority Definitions
162
+
163
+ | Priority | Definition | Test |
164
+ |----------|-----------|------|
165
+ | Must-have | The core experience cannot function without this feature | If removed, does the product still deliver its primary value? If not, it is must-have. |
166
+ | Should-have | The experience is significantly degraded without this feature | Users would notice and be frustrated by its absence, but the product still works. |
167
+ | Nice-to-have | Adds polish, convenience, or secondary value | The product is complete without it; this makes it better. |
168
+
169
+ ## Complexity Definitions
170
+
171
+ | Size | Scope | Typical characteristics |
172
+ |------|-------|----------------------|
173
+ | S | Single component or minor change | One file or a few lines in 2-3 files. Clear implementation path. No new dependencies. Consider merging into a parent feature if too thin. |
174
+ | M | Feature within a single domain | Multiple files in one area. May require a new dependency or integration point. Maps to 1-2 journey segments. |
175
+ | L | Feature spanning multiple domains | Touches multiple parts of the stack (UI + backend, or multiple services). Requires design decisions. Maps to a full journey. |
176
+ | XL | Major feature or infrastructure | New subsystem, complex protocol implementation, or architectural change. **Should be decomposed** into smaller features before speccing, OR kept whole with `## Decomposition Hints` if the UX specialist determines it is one coherent user-facing capability -- `arn-code-feature-spec` decomposes at spec time. Maps to multiple journeys. |
177
+
178
+ ## Spec Readiness Criteria
179
+
180
+ A feature is **ready for spec** when ALL of the following are true:
181
+
182
+ 1. **Description** is 2-4 sentences covering what the user can do
183
+ 2. **Journey steps** include at least one journey with actual step descriptions
184
+ 3. **UI behavior** describes the key interactions with transition details and feedback
185
+ 4. **Components** lists the validated library and product-specific components used
186
+ 5. **Technical notes** capture any relevant spike results, validated capabilities, or known limitations
187
+ 6. **Acceptance criteria** list 3-5 testable conditions
188
+ 7. **Use case references** are listed with step ranges if use cases exist (arn-code-feature-spec reads UC documents at spec time)
189
+ 8. **Complexity** is not XL, OR if XL, a `## Decomposition Hints` section is present with at least 2 suggested sub-features (`arn-code-feature-spec` decomposes at spec time)
190
+ 9. **Animation** (if style brief has Animation and Motion section) describes the feature's animation behaviors in platform-agnostic intent language, with core/decorative classification
191
+
192
+ If any of these are missing, mark "Ready for spec: No" and note what is needed.
193
+
194
+ ## UI Behavior Writing Guide
195
+
196
+ The UI behavior field should describe only the interactions and visual details that are **unique to this feature** and not already covered by the referenced UC documents. The UC's Main Success Scenario and Extensions describe the core user flow -- do not rewrite them here.
197
+
198
+ Focus on:
199
+
200
+ - **Prototype-specific details:** Animations, transitions, visual effects that the UC text does not describe
201
+ - **Component interactions:** How specific UI components behave (hover states, expand/collapse, inline editing)
202
+ - **Feedback mechanisms:** Sounds, haptic, toast notifications, loading indicators
203
+ - **Edge case UI states:** Empty states, disabled states, error display styles
204
+ - **Layout and positioning:** Where elements appear on screen, how they stack or overlay
205
+
206
+ If the UC already describes the core flow well, reference it and add only the unique UI layer:
207
+
208
+ Example:
209
+ > Core flow follows UC-002 steps 1-10. Additional UI details: Scanning indicator animates while mDNS discovery runs. Discovered devices appear in real-time as PairingCard entries. Portal materialization: fade-in with frosted-glass appearance, brief pulse, settles into ambient state.
@@ -0,0 +1,149 @@
1
+ ---
2
+ name: arn-spark-help
3
+ description: >-
4
+ This skill should be used when the user says "spark help", "arn spark help",
5
+ "greenfield status", "greenfield help", "where am I in spark", "what's next for spark",
6
+ "spark pipeline", "spark status", "arn-spark-help", "show spark pipeline",
7
+ "what step am I on for spark", "spark workflow", "exploration status",
8
+ "show exploration pipeline", "how does spark work", "explain spark pipeline",
9
+ or wants to see their current position in the
10
+ Arness Spark exploration pipeline and get guidance on the next step.
11
+ version: 1.0.0
12
+ ---
13
+
14
+ # Arness Spark Help
15
+
16
+ Detect the user's current position in the Arness Spark exploration pipeline, render a diagram with the active stage marked, and suggest the next command to run. Supports cross-plugin awareness — detects activity in Arness Code and Arness Infra and provides hints at the bottom of the output. This skill is strictly read-only — it never modifies files or project state.
17
+
18
+ **Allowed tools:** Read, Glob, Grep only. This skill MUST NOT use Write, Edit, Bash, or Task tools. This skill MUST NOT invoke any agents.
19
+
20
+ ## Workflow
21
+
22
+ ### Step 0: Multi-Plugin Awareness
23
+
24
+ 1. Read the project's `arness.md` file.
25
+ 2. Extract the `## Arness` section.
26
+ 3. Detect other plugin field groups:
27
+ - **code_fields_present**: true if `Plans directory` OR `Specs directory` present in `## Arness`
28
+ - **infra_fields_present**: true if `Infra plans directory` OR `Infra specs directory` present in `## Arness`
29
+ 4. For each detected plugin, do a quick existence check (max 2 files):
30
+ - **Code**: Check if `<Specs directory>` contains any `FEATURE_*.md` or `BUGFIX_*.md`, OR `<Plans directory>` has any subdirectories
31
+ - **Infra**: Check if `<Infra plans directory>` has any subdirectories, OR if `Dockerfile` or `docker-compose.yml` exists in the project root
32
+ 5. Record `{ plugin_name, has_activity: bool }` for each detected plugin.
33
+ 6. Proceed to Step 1. The cross-plugin hints are appended AFTER own status is rendered in Step 3.
34
+
35
+ ---
36
+
37
+ ### Step 1: Load Configuration
38
+
39
+ 1. From the `## Arness` section, extract **Spark fields**:
40
+ - **Vision directory** (e.g., `.arness/vision/`)
41
+ - **Use cases directory** (e.g., `.arness/use-cases/`)
42
+ - **Prototypes directory** (e.g., `.arness/prototypes/`)
43
+ - **Spikes directory** (e.g., `.arness/spikes/`)
44
+ - **Visual grounding directory** (e.g., `.arness/visual-grounding/`)
45
+ - **Reports directory** (e.g., `.arness/reports/`)
46
+
47
+ **If `## Arness` is missing or no Spark fields present:** Show the Spark pipeline diagram with all stages unmarked. Suggest `/arn-brainstorming` to start a new greenfield project. Do not attempt detection.
48
+
49
+ ---
50
+
51
+ ### Step 2: Detect Pipeline Position
52
+
53
+ Read the pipeline reference file at `${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-help/references/pipeline-map.md` to load detection rules, rendering templates, and next-step tables.
54
+
55
+ Check from most advanced to least advanced — first match wins:
56
+
57
+ 1. **Feature backlog ready** (`gf-feature-extract`): `<vision-dir>/features/feature-backlog.md` exists
58
+ 2. **Prototype locked** (`gf-prototype-lock`): `<prototypes-dir>/locked/LOCKED.md` exists
59
+ 3. **Clickable prototype done** (`gf-clickable-proto`): `<prototypes-dir>/clickable/final-report.md` exists
60
+ 4. **Static prototype done** (`gf-static-proto`): `<prototypes-dir>/static/final-report.md` exists
61
+ 5. **Style defined** (`gf-style-explore`): `<vision-dir>/style-brief.md` exists
62
+ 6. **Visual direction chosen** (`gf-visual-sketch`): `<vision-dir>/visual-direction.md` exists
63
+ 7. **Spike complete** (`gf-spike`): `<vision-dir>/spike-results.md` exists
64
+ 8. **Scaffold built** (`gf-scaffold`): `<vision-dir>/scaffold-summary.md` exists
65
+ 9. **Use cases written** (`gf-use-cases`): At least one `UC-*.md` file exists in `<use-cases-dir>/`
66
+ 10. **Architecture defined** (`gf-arch-vision`): `<vision-dir>/architecture-vision.md` exists
67
+ 11. **Naming complete** (`gf-naming`): `<vision-dir>/naming-brief.md` exists OR `<reports-dir>/naming-report.md` exists
68
+ 12. **Concept reviewed** (`gf-concept-review`): `<reports-dir>/stress-tests/concept-review-report.md` exists
69
+ 13. **Stress tests run** (`gf-stress-test`): Any of `interview-report.md`, `competitive-report.md`, `premortem-report.md`, `prfaq-report.md` exists in `<reports-dir>/stress-tests/`
70
+ 14. **Product discovered** (`gf-discover`): `<vision-dir>/product-concept.md` exists
71
+ 15. **Spark initialized** (`gf-init`): Spark fields exist in `## Arness` but none of the above artifacts found
72
+
73
+ **Spark complete:** If the detected stage is `gf-feature-extract`, Spark exploration is considered complete.
74
+
75
+ ---
76
+
77
+ ### Step 3: Render Pipeline Diagram
78
+
79
+ Read the pipeline templates from `${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-help/references/pipeline-map.md`.
80
+
81
+ 1. Place the `YOU ARE HERE` marker below the detected stage.
82
+ 2. Display the next-step suggestion from the next-step table.
83
+ 3. Spark is a single-track pipeline (no per-project subdirectories).
84
+
85
+ **Own-plugin suggestions always come first.** After the pipeline diagram and next-step suggestion, append cross-plugin hints from Step 0:
86
+
87
+ - If own plugin has activity: show own status first. If other plugins have activity, append 1-2 lines at the bottom:
88
+ ```
89
+ Other pipelines: Development (active) — `/arn-code-help` | Infrastructure (not started)
90
+ ```
91
+
92
+ - If own plugin is idle (`gf-init`) but other plugins have activity: show own-plugin "ready to start" suggestions FIRST:
93
+ ```
94
+ Ready to start: run `/arn-spark-discover` to shape your product idea, or `/arn-brainstorming` for the guided wizard.
95
+ ```
96
+ Then mention others:
97
+ ```
98
+ You also have active work in Code — run `/arn-code-help` for details.
99
+ ```
100
+
101
+ - When Spark pipeline is complete (`gf-feature-extract`): suggest transition:
102
+ ```
103
+ Spark exploration is complete. Next steps:
104
+ - Start developing features: `/arn-planning`
105
+ - Deploy infrastructure: `/arn-infra-wizard`
106
+ ```
107
+
108
+ Keep output concise — the user wants a quick status check, not a wall of text.
109
+
110
+ ---
111
+
112
+ ### Step 4: Answer Follow-up Questions
113
+
114
+ After presenting the pipeline status:
115
+
116
+ 1. Remain available for follow-up questions about the Spark pipeline, skill purposes, or workflow decisions.
117
+ 2. Reference `${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-help/references/pipeline-map.md` for answers — do not re-scan the filesystem unless the user explicitly asks to refresh the detection.
118
+ 3. Keep answers brief and direct.
119
+
120
+ Common questions the user might ask:
121
+ - "What is Spark?" — Spark is the exploration phase for new projects. It takes a raw idea through structured discovery, validation, prototyping, and feature extraction before development begins.
122
+ - "How do I run the full Spark pipeline?" — Run `/arn-brainstorming`, which walks through the entire exploration pipeline with guided decision gates.
123
+ - "What are stress tests?" — Four adversarial lenses that test your product concept: synthetic user interviews, competitive gap analysis, pre-mortem failure analysis, and PR/FAQ stress testing.
124
+ - "What is naming?" — A structured 4-step brand naming methodology: strategic foundation, creative generation, qualitative scoring, and due diligence with WHOIS domain checking.
125
+ - "Can I skip stress tests?" — Yes, all stages are optional. The brainstorming wizard presents skip options at each gate.
126
+ - "How do I transition to development?" — After feature extraction, run `/arn-planning` in the project. Arness Code sets up automatically on first use.
127
+ - "Where is the development pipeline status?" — Run `/arn-code-help` for the Arness Code development pipeline.
128
+ - "Where is infrastructure status?" — Run `/arn-infra-help` for the Arness Infra infrastructure pipeline.
129
+ - "What are the entry points?" — `/arn-brainstorming` is the main Spark entry point. For development: `/arn-planning`. For infrastructure: `/arn-infra-wizard`.
130
+ - "What is dev-setup?" — `/arn-spark-dev-setup` is a standalone skill for defining or onboarding to a development environment (dev containers, Docker, CI workflows). It can be run at any time after greenfield config exists.
131
+ - "What is visual-strategy?" — `/arn-spark-visual-strategy` sets up layered visual regression testing infrastructure (capture scripts, baselines, comparison pipelines). Requires scaffold and at least style-explore to be complete.
132
+ - "What is visual-readiness?" — `/arn-spark-visual-readiness` validates and activates deferred visual testing layers after project milestones. Requires a visual strategy to be defined first.
133
+
134
+ ---
135
+
136
+ ## Error Handling
137
+
138
+ - **`## Arness` section not found in arness.md** — Show the Spark pipeline diagram with no stage marked. Suggest running `/arn-brainstorming` to start a new greenfield project.
139
+ - **arness.md does not exist** — Same as `## Arness` not found.
140
+ - **Spark fields present but directories don't exist** — Treat as `gf-init` stage. The directories may not have been created yet.
141
+ - **Pipeline reference file not found** — Inform the user that the pipeline-map.md reference is missing and suggest reinstalling or updating the Arness Spark plugin.
142
+ - **Reports directory not configured** — Skip stress-test, concept-review, and naming detection (these stages require the Reports directory). Proceed with detection from `gf-arch-vision` downward.
143
+
144
+ ## Constraints
145
+
146
+ - This skill MUST NOT write or modify any files.
147
+ - This skill MUST NOT invoke any agents.
148
+ - All tools used must be read-only: Read, Glob, Grep.
149
+ - All command suggestions must use bare skill names (e.g., `/arn-spark-discover`, `/arn-code-help`). Do not use the fully qualified `plugin:skill` format in user-facing text.