@fredcallagan/arn-spark 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +9 -0
- package/.opencode/plugins/arn-spark.js +272 -0
- package/package.json +17 -0
- package/plugins/arn-spark/.claude-plugin/plugin.json +9 -0
- package/plugins/arn-spark/LICENSE +21 -0
- package/plugins/arn-spark/README.md +25 -0
- package/plugins/arn-spark/agents/arn-spark-brand-strategist.md +299 -0
- package/plugins/arn-spark/agents/arn-spark-dev-env-builder.md +228 -0
- package/plugins/arn-spark/agents/arn-spark-doctor.md +92 -0
- package/plugins/arn-spark/agents/arn-spark-forensic-investigator.md +181 -0
- package/plugins/arn-spark/agents/arn-spark-market-researcher.md +232 -0
- package/plugins/arn-spark/agents/arn-spark-marketing-pm.md +225 -0
- package/plugins/arn-spark/agents/arn-spark-persona-architect.md +259 -0
- package/plugins/arn-spark/agents/arn-spark-persona-impersonator.md +183 -0
- package/plugins/arn-spark/agents/arn-spark-product-strategist.md +191 -0
- package/plugins/arn-spark/agents/arn-spark-prototype-builder.md +497 -0
- package/plugins/arn-spark/agents/arn-spark-scaffolder.md +228 -0
- package/plugins/arn-spark/agents/arn-spark-spike-runner.md +209 -0
- package/plugins/arn-spark/agents/arn-spark-style-capture.md +196 -0
- package/plugins/arn-spark/agents/arn-spark-tech-evaluator.md +229 -0
- package/plugins/arn-spark/agents/arn-spark-ui-interactor.md +235 -0
- package/plugins/arn-spark/agents/arn-spark-use-case-writer.md +280 -0
- package/plugins/arn-spark/agents/arn-spark-ux-judge.md +215 -0
- package/plugins/arn-spark/agents/arn-spark-ux-specialist.md +200 -0
- package/plugins/arn-spark/agents/arn-spark-visual-sketcher.md +285 -0
- package/plugins/arn-spark/agents/arn-spark-visual-test-engineer.md +224 -0
- package/plugins/arn-spark/references/copilot-tools.md +62 -0
- package/plugins/arn-spark/skills/arn-brainstorming/SKILL.md +520 -0
- package/plugins/arn-spark/skills/arn-brainstorming/references/add-feature-flow.md +155 -0
- package/plugins/arn-spark/skills/arn-spark-arch-vision/SKILL.md +226 -0
- package/plugins/arn-spark/skills/arn-spark-arch-vision/references/architecture-vision-template.md +153 -0
- package/plugins/arn-spark/skills/arn-spark-arch-vision/references/technology-evaluation-guide.md +86 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype/SKILL.md +471 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype/references/clickable-prototype-criteria.md +65 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype/references/journey-template.md +62 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype/references/review-report-template.md +75 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype/references/showcase-capture-guide.md +213 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype-teams/SKILL.md +642 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype-teams/references/debate-protocol.md +242 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype-teams/references/debate-review-report-template.md +161 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype-teams/references/expert-interaction-review-template.md +152 -0
- package/plugins/arn-spark/skills/arn-spark-concept-review/SKILL.md +350 -0
- package/plugins/arn-spark/skills/arn-spark-concept-review/references/conflict-resolution-protocol.md +145 -0
- package/plugins/arn-spark/skills/arn-spark-concept-review/references/review-report-template.md +185 -0
- package/plugins/arn-spark/skills/arn-spark-dev-setup/SKILL.md +366 -0
- package/plugins/arn-spark/skills/arn-spark-dev-setup/references/dev-setup-checklist.md +84 -0
- package/plugins/arn-spark/skills/arn-spark-dev-setup/references/dev-setup-template.md +205 -0
- package/plugins/arn-spark/skills/arn-spark-discover/SKILL.md +303 -0
- package/plugins/arn-spark/skills/arn-spark-discover/references/competitive-landscape-template.md +87 -0
- package/plugins/arn-spark/skills/arn-spark-discover/references/discovery-questions.md +120 -0
- package/plugins/arn-spark/skills/arn-spark-discover/references/persona-profile-template.md +97 -0
- package/plugins/arn-spark/skills/arn-spark-discover/references/product-concept-template.md +253 -0
- package/plugins/arn-spark/skills/arn-spark-ensure-config/SKILL.md +23 -0
- package/plugins/arn-spark/skills/arn-spark-ensure-config/references/ensure-config.md +388 -0
- package/plugins/arn-spark/skills/arn-spark-ensure-config/references/step-0-fast-path.md +25 -0
- package/plugins/arn-spark/skills/arn-spark-ensure-config/scripts/cache-check.sh +127 -0
- package/plugins/arn-spark/skills/arn-spark-feature-extract/SKILL.md +483 -0
- package/plugins/arn-spark/skills/arn-spark-feature-extract/references/feature-backlog-template.md +176 -0
- package/plugins/arn-spark/skills/arn-spark-feature-extract/references/feature-entry-template.md +209 -0
- package/plugins/arn-spark/skills/arn-spark-help/SKILL.md +149 -0
- package/plugins/arn-spark/skills/arn-spark-help/references/pipeline-map.md +211 -0
- package/plugins/arn-spark/skills/arn-spark-init/SKILL.md +312 -0
- package/plugins/arn-spark/skills/arn-spark-init/references/agent-models-presets/all-opus.md +23 -0
- package/plugins/arn-spark/skills/arn-spark-init/references/agent-models-presets/balanced.md +23 -0
- package/plugins/arn-spark/skills/arn-spark-init/references/bkt-setup.md +55 -0
- package/plugins/arn-spark/skills/arn-spark-init/references/jira-mcp-setup.md +61 -0
- package/plugins/arn-spark/skills/arn-spark-init/references/platform-labels.md +97 -0
- package/plugins/arn-spark/skills/arn-spark-naming/SKILL.md +275 -0
- package/plugins/arn-spark/skills/arn-spark-naming/references/creative-brief-template.md +146 -0
- package/plugins/arn-spark/skills/arn-spark-naming/references/naming-methodology.md +237 -0
- package/plugins/arn-spark/skills/arn-spark-naming/references/naming-report-template.md +122 -0
- package/plugins/arn-spark/skills/arn-spark-naming/references/trademark-databases.md +88 -0
- package/plugins/arn-spark/skills/arn-spark-naming/references/whois-server-map.md +164 -0
- package/plugins/arn-spark/skills/arn-spark-naming/scripts/whois-check.js +502 -0
- package/plugins/arn-spark/skills/arn-spark-naming/scripts/whois-check.py +533 -0
- package/plugins/arn-spark/skills/arn-spark-prototype-lock/SKILL.md +260 -0
- package/plugins/arn-spark/skills/arn-spark-prototype-lock/references/lock-report-template.md +68 -0
- package/plugins/arn-spark/skills/arn-spark-prototype-lock/references/pretooluse-hook-template.json +35 -0
- package/plugins/arn-spark/skills/arn-spark-prototype-lock/references/prototype-guardrail-rules.md +38 -0
- package/plugins/arn-spark/skills/arn-spark-report/SKILL.md +144 -0
- package/plugins/arn-spark/skills/arn-spark-report/references/issue-template.md +81 -0
- package/plugins/arn-spark/skills/arn-spark-report/references/spark-knowledge-base.md +293 -0
- package/plugins/arn-spark/skills/arn-spark-scaffold/SKILL.md +239 -0
- package/plugins/arn-spark/skills/arn-spark-scaffold/references/scaffold-checklist.md +79 -0
- package/plugins/arn-spark/skills/arn-spark-scaffold/references/scaffold-summary-template.md +74 -0
- package/plugins/arn-spark/skills/arn-spark-spike/SKILL.md +209 -0
- package/plugins/arn-spark/skills/arn-spark-spike/references/spike-report-template.md +123 -0
- package/plugins/arn-spark/skills/arn-spark-static-prototype/SKILL.md +362 -0
- package/plugins/arn-spark/skills/arn-spark-static-prototype/references/review-report-template.md +65 -0
- package/plugins/arn-spark/skills/arn-spark-static-prototype/references/showcase-capture-guide.md +153 -0
- package/plugins/arn-spark/skills/arn-spark-static-prototype/references/static-prototype-criteria.md +54 -0
- package/plugins/arn-spark/skills/arn-spark-static-prototype-teams/SKILL.md +518 -0
- package/plugins/arn-spark/skills/arn-spark-static-prototype-teams/references/debate-protocol.md +230 -0
- package/plugins/arn-spark/skills/arn-spark-static-prototype-teams/references/debate-review-report-template.md +148 -0
- package/plugins/arn-spark/skills/arn-spark-static-prototype-teams/references/expert-visual-review-template.md +130 -0
- package/plugins/arn-spark/skills/arn-spark-stress-competitive/SKILL.md +166 -0
- package/plugins/arn-spark/skills/arn-spark-stress-competitive/references/competitive-report-template.md +139 -0
- package/plugins/arn-spark/skills/arn-spark-stress-competitive/references/gap-analysis-framework.md +111 -0
- package/plugins/arn-spark/skills/arn-spark-stress-interview/SKILL.md +257 -0
- package/plugins/arn-spark/skills/arn-spark-stress-interview/references/interview-protocol.md +140 -0
- package/plugins/arn-spark/skills/arn-spark-stress-interview/references/interview-report-template.md +165 -0
- package/plugins/arn-spark/skills/arn-spark-stress-interview/references/persona-casting-spec.md +138 -0
- package/plugins/arn-spark/skills/arn-spark-stress-premortem/SKILL.md +181 -0
- package/plugins/arn-spark/skills/arn-spark-stress-premortem/references/premortem-protocol.md +112 -0
- package/plugins/arn-spark/skills/arn-spark-stress-premortem/references/premortem-report-template.md +158 -0
- package/plugins/arn-spark/skills/arn-spark-stress-prfaq/SKILL.md +206 -0
- package/plugins/arn-spark/skills/arn-spark-stress-prfaq/references/prfaq-report-template.md +139 -0
- package/plugins/arn-spark/skills/arn-spark-stress-prfaq/references/prfaq-workflow.md +118 -0
- package/plugins/arn-spark/skills/arn-spark-style-explore/SKILL.md +281 -0
- package/plugins/arn-spark/skills/arn-spark-style-explore/references/style-brief-template.md +198 -0
- package/plugins/arn-spark/skills/arn-spark-use-cases/SKILL.md +359 -0
- package/plugins/arn-spark/skills/arn-spark-use-cases/references/expert-review-template.md +94 -0
- package/plugins/arn-spark/skills/arn-spark-use-cases/references/review-protocol.md +150 -0
- package/plugins/arn-spark/skills/arn-spark-use-cases/references/use-case-index-template.md +108 -0
- package/plugins/arn-spark/skills/arn-spark-use-cases/references/use-case-template.md +125 -0
- package/plugins/arn-spark/skills/arn-spark-use-cases-teams/SKILL.md +306 -0
- package/plugins/arn-spark/skills/arn-spark-use-cases-teams/references/debate-protocol.md +272 -0
- package/plugins/arn-spark/skills/arn-spark-use-cases-teams/references/review-report-template.md +112 -0
- package/plugins/arn-spark/skills/arn-spark-visual-readiness/SKILL.md +293 -0
- package/plugins/arn-spark/skills/arn-spark-visual-readiness/references/readiness-checklist.md +196 -0
- package/plugins/arn-spark/skills/arn-spark-visual-sketch/SKILL.md +376 -0
- package/plugins/arn-spark/skills/arn-spark-visual-sketch/references/aesthetic-philosophy.md +210 -0
- package/plugins/arn-spark/skills/arn-spark-visual-sketch/references/sketch-gallery-guide.md +282 -0
- package/plugins/arn-spark/skills/arn-spark-visual-sketch/references/visual-direction-template.md +174 -0
- package/plugins/arn-spark/skills/arn-spark-visual-strategy/SKILL.md +447 -0
- package/plugins/arn-spark/skills/arn-spark-visual-strategy/references/baseline-capture-script-template.js +89 -0
- package/plugins/arn-spark/skills/arn-spark-visual-strategy/references/journey-schema.md +375 -0
- package/plugins/arn-spark/skills/arn-spark-visual-strategy/references/spike-checklist.md +122 -0
- package/plugins/arn-spark/skills/arn-spark-visual-strategy/references/strategy-layers-guide.md +132 -0
- package/plugins/arn-spark/skills/arn-spark-visual-strategy/references/visual-strategy-template.md +141 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Scaffold Summary Template
|
|
2
|
+
|
|
3
|
+
This template defines the structure for the scaffold summary document written by the `arn-spark-scaffold` skill after a successful scaffolding. The document is saved to the project's Vision directory as `scaffold-summary.md`.
|
|
4
|
+
|
|
5
|
+
A scaffold summary records the full technology stack including UI toolkit decisions made during scaffolding. The architecture vision captures high-level technology choices, but CSS framework, component library, and icon library are decided during scaffolding. Downstream skills (style-explore, static-prototype, clickable-prototype, feature-extract) need this information to make informed decisions.
|
|
6
|
+
|
|
7
|
+
## Instructions for arn-spark-scaffold
|
|
8
|
+
|
|
9
|
+
When populating this template:
|
|
10
|
+
|
|
11
|
+
- Fill in all sections from the scaffold results and UI toolkit decisions
|
|
12
|
+
- Version numbers should reflect what was actually installed, not what was planned
|
|
13
|
+
- Commands should be copy-pasteable — no placeholders
|
|
14
|
+
- If a layer was not applicable (e.g., no icon library), omit it from the table
|
|
15
|
+
- The Pillar Alignment section should only appear if product pillars exist
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Template
|
|
20
|
+
|
|
21
|
+
```markdown
|
|
22
|
+
# [Product Name] - Scaffold Summary
|
|
23
|
+
|
|
24
|
+
## Technology Stack
|
|
25
|
+
|
|
26
|
+
| Layer | Technology | Version |
|
|
27
|
+
|-------|-----------|---------|
|
|
28
|
+
| Application framework | [value] | [version] |
|
|
29
|
+
| UI framework | [value] | [version] |
|
|
30
|
+
| Language | [value] | [version] |
|
|
31
|
+
| CSS framework | [value] | [version] |
|
|
32
|
+
| Component library | [value] | [version] |
|
|
33
|
+
| Icon library | [value or "none"] | [version] |
|
|
34
|
+
| Build tool | [value] | [version] |
|
|
35
|
+
| Package manager | [value] | [version] |
|
|
36
|
+
| Test framework | [value] | [version] |
|
|
37
|
+
| Linter/formatter | [value] | [version] |
|
|
38
|
+
|
|
39
|
+
## Pillar Alignment
|
|
40
|
+
|
|
41
|
+
[Only include if product pillars exist. Assess how the UI toolkit decisions (CSS framework, component library) serve each pillar.]
|
|
42
|
+
|
|
43
|
+
| Pillar | Status | How the Toolkit Serves It |
|
|
44
|
+
|--------|--------|--------------------------|
|
|
45
|
+
| [Pillar name] | Supported / At Risk | [Specific explanation referencing the CSS framework, component library, or icon library choice.] |
|
|
46
|
+
|
|
47
|
+
## Key Files
|
|
48
|
+
|
|
49
|
+
[List the important configuration and entry point files created during scaffolding, grouped by category.]
|
|
50
|
+
|
|
51
|
+
**Configuration:**
|
|
52
|
+
- [file path] — [brief purpose]
|
|
53
|
+
|
|
54
|
+
**Entry points:**
|
|
55
|
+
- [file path] — [brief purpose]
|
|
56
|
+
|
|
57
|
+
**UI toolkit:**
|
|
58
|
+
- [file path] — [brief purpose, e.g., "Tailwind config with content paths"]
|
|
59
|
+
|
|
60
|
+
## Commands
|
|
61
|
+
|
|
62
|
+
| Action | Command |
|
|
63
|
+
|--------|---------|
|
|
64
|
+
| Dev server | `[command]` |
|
|
65
|
+
| Build | `[command]` |
|
|
66
|
+
| Test | `[command]` |
|
|
67
|
+
| Lint | `[command]` |
|
|
68
|
+
|
|
69
|
+
## Build Verification
|
|
70
|
+
|
|
71
|
+
- **Build result:** [pass/fail]
|
|
72
|
+
- **Warnings:** [any warnings, or "none"]
|
|
73
|
+
- **Issues resolved during scaffolding:** [any problems encountered and how they were fixed, or "none"]
|
|
74
|
+
```
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: arn-spark-spike
|
|
3
|
+
description: >-
|
|
4
|
+
This skill should be used when the user says "spike", "arn spike",
|
|
5
|
+
"validate risks", "technical validation", "proof of concept",
|
|
6
|
+
"validate architecture", "risk spike", "test this risk", "will this work",
|
|
7
|
+
"technical spike", "validate the stack", or wants to validate critical
|
|
8
|
+
technical risks from the architecture vision by creating minimal
|
|
9
|
+
proof-of-concept code and testing whether the chosen technologies work as
|
|
10
|
+
expected.
|
|
11
|
+
version: 1.0.0
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Arness Spike
|
|
15
|
+
|
|
16
|
+
Validate critical technical risks from the architecture vision through minimal proof-of-concept implementations, aided by the `arn-spark-spike-runner` agent for POC creation and execution. This is a conversational skill that runs in normal conversation (NOT plan mode). The primary artifacts are **spike POC code** in isolated directories and a **spike results document**.
|
|
17
|
+
|
|
18
|
+
This skill addresses the question: "Will the chosen technologies actually work for our use case?" It does not implement features or build the application -- it runs targeted experiments to validate or invalidate specific technical assumptions before committing to them.
|
|
19
|
+
|
|
20
|
+
## Prerequisites
|
|
21
|
+
|
|
22
|
+
An architecture vision document should exist. Check in order:
|
|
23
|
+
|
|
24
|
+
1. Read the project's `arness.md` for a `## Arness` section. If found, check the configured Vision directory for `architecture-vision.md`
|
|
25
|
+
2. If no `## Arness` section found, check `.arness/vision/architecture-vision.md` at the project root
|
|
26
|
+
|
|
27
|
+
**If an architecture vision is found:** Read it and extract the "Known Risks & Mitigations" section.
|
|
28
|
+
|
|
29
|
+
**If no architecture vision is found:** Inform the user:
|
|
30
|
+
|
|
31
|
+
"No architecture vision document found. I can still run spikes if you describe the specific technical risks to validate. For a comprehensive risk assessment, run `/arn-spark-arch-vision` first."
|
|
32
|
+
|
|
33
|
+
If the user provides risks directly, proceed with those.
|
|
34
|
+
|
|
35
|
+
The project should ideally be scaffolded (via `/arn-spark-scaffold`) so the spike runner can leverage the existing project setup. If not scaffolded, spikes will need to set up their own dependencies, which the spike runner handles.
|
|
36
|
+
|
|
37
|
+
Determine the spike workspace:
|
|
38
|
+
1. Read the project's `arness.md` and check for a `## Arness` section
|
|
39
|
+
2. If found, extract the configured Spikes directory path — this is the source of truth
|
|
40
|
+
3. 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.
|
|
41
|
+
4. If the directory does not exist, create it
|
|
42
|
+
|
|
43
|
+
## Workflow
|
|
44
|
+
|
|
45
|
+
### Step 1: Identify Risks
|
|
46
|
+
|
|
47
|
+
Load the architecture vision and extract all risks from the "Known Risks & Mitigations" section. Parse each risk to identify:
|
|
48
|
+
|
|
49
|
+
- **Risk title:** Brief name
|
|
50
|
+
- **Description:** What could go wrong
|
|
51
|
+
- **Validation priority:** Critical (must validate before any code), Important (validate in first sprint), Monitor (keep an eye on)
|
|
52
|
+
- **Suggested mitigation:** What the architecture vision proposes as a fallback
|
|
53
|
+
|
|
54
|
+
If additional validation points were noted in the tech evaluator's recommendations during the architecture vision phase, include those as well.
|
|
55
|
+
|
|
56
|
+
Present the risk list to the user:
|
|
57
|
+
|
|
58
|
+
"I found [N] risks in your architecture vision. Here they are by priority:
|
|
59
|
+
|
|
60
|
+
**Critical:**
|
|
61
|
+
1. [Risk title] -- [brief description]
|
|
62
|
+
2. [Risk title] -- [brief description]
|
|
63
|
+
|
|
64
|
+
**Important:**
|
|
65
|
+
3. [Risk title] -- [brief description]
|
|
66
|
+
|
|
67
|
+
**Monitor:**
|
|
68
|
+
4. [Risk title] -- [brief description]
|
|
69
|
+
|
|
70
|
+
Ask the user with `multiSelect: true`:
|
|
71
|
+
|
|
72
|
+
**"Which risks would you like to spike? (select multiple)"**
|
|
73
|
+
|
|
74
|
+
Options:
|
|
75
|
+
[List each risk as a numbered option with its title and brief description, e.g.:]
|
|
76
|
+
1. **[Risk 1 title]** — [brief description]
|
|
77
|
+
2. **[Risk 2 title]** — [brief description]
|
|
78
|
+
3. **[Risk 3 title]** — [brief description]
|
|
79
|
+
|
|
80
|
+
If the user adds custom risks not from the architecture vision, include those.
|
|
81
|
+
|
|
82
|
+
### Step 2: Define Validation Criteria (Per Risk)
|
|
83
|
+
|
|
84
|
+
For each selected risk, propose a minimal POC approach and clear validation criteria:
|
|
85
|
+
|
|
86
|
+
"For **[Risk Title]**:
|
|
87
|
+
|
|
88
|
+
**POC approach:** [What we will build to test this. 1-2 sentences describing the minimal experiment.]
|
|
89
|
+
|
|
90
|
+
**Validation criteria:**
|
|
91
|
+
- [Specific, measurable criterion 1]
|
|
92
|
+
- [Specific, measurable criterion 2]
|
|
93
|
+
|
|
94
|
+
**Spike directory:** `<configured Spikes directory>/spike-[NNN]-[descriptive-name]/`
|
|
95
|
+
|
|
96
|
+
Does this approach look right, or would you test it differently?"
|
|
97
|
+
|
|
98
|
+
Wait for user approval or adjustments before running each spike. The user may want to modify the approach, change criteria, or skip the risk.
|
|
99
|
+
|
|
100
|
+
### Step 3: Execute Spikes
|
|
101
|
+
|
|
102
|
+
**IMPORTANT: Run spikes sequentially, one at a time.** Do NOT launch multiple spike-runner agents in parallel or in the background. The spike-runner agent needs Bash and Write tool access, which requires user permission approval. Parallel or background agents cannot surface permission prompts to the user, causing all tool calls to be denied. Wait for each spike to fully complete before starting the next one.
|
|
103
|
+
|
|
104
|
+
For each approved spike, in order:
|
|
105
|
+
|
|
106
|
+
1. Invoke the `arn-spark-spike-runner` agent via the Task tool (foreground, not background), 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:
|
|
107
|
+
- Risk description and context
|
|
108
|
+
- Validation criteria
|
|
109
|
+
- Project context (stack, existing scaffold location)
|
|
110
|
+
- Spike workspace path (e.g., `<Spikes directory>/spike-001-webrtc-wkwebview/`)
|
|
111
|
+
|
|
112
|
+
2. Wait for the agent to complete fully before proceeding.
|
|
113
|
+
|
|
114
|
+
3. Present the spike runner's results to the user:
|
|
115
|
+
- **Validated:** "Risk validated. [Brief evidence summary]. No architecture changes needed."
|
|
116
|
+
- **Partially Validated:** "Risk partially validated. [Caveats]. We should discuss whether these limitations are acceptable."
|
|
117
|
+
- **Failed:** "Risk failed validation. [Evidence]. Here are the alternatives the spike runner identified: [list]. How would you like to proceed?"
|
|
118
|
+
- **Deferred:** "Could not test this in the current environment. [What is needed]. The spike files and manual execution instructions are saved at `[spike directory]` -- you can run this spike manually on the required platform. This should be validated when [condition]."
|
|
119
|
+
|
|
120
|
+
4. **If a spike failed:**
|
|
121
|
+
|
|
122
|
+
Ask the user:
|
|
123
|
+
|
|
124
|
+
**"Risk [Risk Title] failed validation. How would you like to proceed?"**
|
|
125
|
+
|
|
126
|
+
Options:
|
|
127
|
+
1. **Accept the risk** — Proceed anyway with the current approach
|
|
128
|
+
2. **Choose an alternative** — Discuss trade-offs and pick a different approach
|
|
129
|
+
3. **Update architecture vision** — Revise the architecture to address the failure
|
|
130
|
+
|
|
131
|
+
5. Proceed to the next spike only after presenting results and resolving any failures.
|
|
132
|
+
|
|
133
|
+
### Step 4: Write Spike Results Document
|
|
134
|
+
|
|
135
|
+
After all spikes have been run:
|
|
136
|
+
|
|
137
|
+
1. Read the spike report template:
|
|
138
|
+
> Read `${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-spike/references/spike-report-template.md`
|
|
139
|
+
|
|
140
|
+
2. Populate the template with all spike results
|
|
141
|
+
|
|
142
|
+
3. Determine the output directory:
|
|
143
|
+
- Read the project's `arness.md` and check for a `## Arness` section
|
|
144
|
+
- If found, extract the configured Vision directory path — this is the source of truth
|
|
145
|
+
- 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.
|
|
146
|
+
|
|
147
|
+
4. Write the document as `spike-results.md`
|
|
148
|
+
|
|
149
|
+
5. Present a summary:
|
|
150
|
+
|
|
151
|
+
"Spike results saved to `[path]/spike-results.md`.
|
|
152
|
+
|
|
153
|
+
**Summary:**
|
|
154
|
+
| Risk | Result |
|
|
155
|
+
|------|--------|
|
|
156
|
+
| [Risk 1] | Validated |
|
|
157
|
+
| [Risk 2] | Failed -- chose Alternative A |
|
|
158
|
+
| [Risk 3] | Deferred -- needs macOS |
|
|
159
|
+
|
|
160
|
+
[N] of [M] risks validated. [Note any architecture changes decided.]"
|
|
161
|
+
|
|
162
|
+
### Step 5: Update Architecture Vision (If Needed)
|
|
163
|
+
|
|
164
|
+
If any spikes failed and the user chose an alternative approach:
|
|
165
|
+
|
|
166
|
+
"Based on the spike results, the following sections of `architecture-vision.md` should be updated:
|
|
167
|
+
|
|
168
|
+
1. [Section]: [What to change and why]
|
|
169
|
+
2. [Section]: [What to change and why]
|
|
170
|
+
|
|
171
|
+
Ask the user:
|
|
172
|
+
|
|
173
|
+
> **Should I update the architecture vision now?**
|
|
174
|
+
> 1. **Yes** — Update the affected sections
|
|
175
|
+
> 2. **No** — Skip for now, I will update manually later"
|
|
176
|
+
|
|
177
|
+
If the user chooses **Yes**, make the targeted updates to the architecture vision document. Only change the specific sections affected by failed spikes -- do not rewrite the entire document.
|
|
178
|
+
|
|
179
|
+
### Step 6: Recommend Next Steps
|
|
180
|
+
|
|
181
|
+
"All spikes complete. Recommended next steps:
|
|
182
|
+
|
|
183
|
+
1. **Explore visual style:** Run `/arn-spark-style-explore` to define the look and feel
|
|
184
|
+
2. **Build static prototype:** Run `/arn-spark-static-prototype` to validate visual fidelity
|
|
185
|
+
3. **Address deferred risks:** [List any deferred risks and when they should be revisited]"
|
|
186
|
+
|
|
187
|
+
Adapt based on results. If critical risks failed and alternatives were chosen, emphasize the architecture changes. If risks were deferred, note when they should be revisited.
|
|
188
|
+
|
|
189
|
+
## Agent Invocation Guide
|
|
190
|
+
|
|
191
|
+
| Situation | Action |
|
|
192
|
+
|-----------|--------|
|
|
193
|
+
| Run an approved spike (Step 3) | Invoke `arn-spark-spike-runner` sequentially (foreground, not background) with risk details, criteria, and workspace path. Wait for completion before starting the next spike. |
|
|
194
|
+
| Spike runner agent denied permissions | The agent likely failed because it ran in the background or in parallel. Re-run it in the foreground sequentially. If permissions are still denied, run the spike directly in the main conversation instead of delegating to the agent. |
|
|
195
|
+
| User asks about technology alternatives | Answer from the architecture vision context or invoke `arn-spark-tech-evaluator` if deep comparison needed |
|
|
196
|
+
| User wants to add a custom risk | Record it and proceed to Step 2 for that risk |
|
|
197
|
+
| User asks about features or screens | Defer: "Feature work comes after risk validation. Next step after spikes is `/arn-spark-style-explore` or `/arn-spark-static-prototype`." |
|
|
198
|
+
| Spike runner reports environment limitation | Record as deferred, continue to next spike |
|
|
199
|
+
|
|
200
|
+
## Error Handling
|
|
201
|
+
|
|
202
|
+
- **No risks found in architecture vision:** Ask the user if they have specific technical concerns to validate. If none, inform them: "No critical risks identified. You can proceed to `/arn-spark-style-explore` or `/arn-spark-static-prototype`."
|
|
203
|
+
- **Spike cannot run in current environment:** The spike runner still creates all POC files and a README with manual execution instructions on disk. Mark as deferred with specific environment requirements. The user can run the spike manually on the required platform later. Continue to the next spike.
|
|
204
|
+
- **Spike runner agent denied permissions (Bash/Write):** This happens when agents are launched in parallel or in the background -- permission prompts cannot reach the user. Re-run the spike in the foreground sequentially. If permissions are still denied, fall back to running the spike directly in the main conversation context (write POC files and run build/execute commands yourself rather than delegating to the agent).
|
|
205
|
+
- **Spike fails repeatedly (3 times):** The spike runner will halt. Present the failure state to the user and ask how to proceed (skip, try different approach, or investigate manually).
|
|
206
|
+
- **User disagrees with spike result:** Re-examine the evidence. If the user provides additional context, consider re-running with adjusted criteria.
|
|
207
|
+
- **Writing the results document fails:** Print the full content in the conversation so the user can copy it. Suggest checking file permissions.
|
|
208
|
+
- **Architecture vision update conflicts:** If the architecture vision was modified since it was read, re-read it before making changes. Present the diff to the user for confirmation.
|
|
209
|
+
- **No project scaffold exists:** Spikes can still run -- the spike runner creates self-contained workspaces. Note that some spikes may need to install their own dependencies.
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# Spike Report Template
|
|
2
|
+
|
|
3
|
+
This template defines the structure for spike result documents written by the `arn-spark-spike` skill. Individual spike results are collected and written to the project's vision directory as `spike-results.md`.
|
|
4
|
+
|
|
5
|
+
A spike report captures the outcome of technical risk validation: what was tested, how it was tested, whether it passed, and what impact the result has on the architecture.
|
|
6
|
+
|
|
7
|
+
## Instructions for arn-spark-spike
|
|
8
|
+
|
|
9
|
+
When populating this template:
|
|
10
|
+
|
|
11
|
+
- Create one report section per spike run
|
|
12
|
+
- Replace all bracketed placeholders with concrete content from the spike execution
|
|
13
|
+
- Evidence must be concrete: output logs, error messages, measurements, exit codes. "It worked" is not evidence.
|
|
14
|
+
- If a spike was deferred (could not run in current environment), document what would need to be tested and the required environment
|
|
15
|
+
- Impact assessment should reference specific sections of the architecture vision that are affected
|
|
16
|
+
- Suggested alternatives are only needed for Failed or Partially Validated results
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Template
|
|
21
|
+
|
|
22
|
+
```markdown
|
|
23
|
+
# Spike Results
|
|
24
|
+
|
|
25
|
+
Generated by `/arn-spark-spike` on [date].
|
|
26
|
+
|
|
27
|
+
## Summary
|
|
28
|
+
|
|
29
|
+
| # | Risk | Result | Priority | Impact |
|
|
30
|
+
|---|------|--------|----------|--------|
|
|
31
|
+
| [N] | [Brief risk description] | Validated / Partially Validated / Failed / Deferred | Critical / Important / Monitor | [One-line impact summary] |
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Spike [N]: [Risk Title]
|
|
36
|
+
|
|
37
|
+
### Risk Description
|
|
38
|
+
|
|
39
|
+
[What technical assumption was being validated. Be specific about the capability and the environment constraint.]
|
|
40
|
+
|
|
41
|
+
### Priority
|
|
42
|
+
|
|
43
|
+
[Critical / Important / Monitor] -- [Brief rationale for this priority level]
|
|
44
|
+
|
|
45
|
+
### Validation Criteria
|
|
46
|
+
|
|
47
|
+
[What would prove it works. Specific, measurable conditions that were agreed before the spike ran.]
|
|
48
|
+
|
|
49
|
+
- [ ] [Criterion 1]
|
|
50
|
+
- [ ] [Criterion 2]
|
|
51
|
+
- [ ] [Criterion 3]
|
|
52
|
+
|
|
53
|
+
### POC Approach
|
|
54
|
+
|
|
55
|
+
[What was built to test this. Brief description of the proof-of-concept code, key files, and how it tests the risk.]
|
|
56
|
+
|
|
57
|
+
**Spike directory:** `[path to spike workspace, e.g., spikes/spike-001-webrtc-wkwebview/]`
|
|
58
|
+
|
|
59
|
+
### Result: [Validated / Partially Validated / Failed / Deferred]
|
|
60
|
+
|
|
61
|
+
[1-3 sentence summary of the outcome.]
|
|
62
|
+
|
|
63
|
+
### Evidence
|
|
64
|
+
|
|
65
|
+
[Concrete evidence supporting the result. Include relevant output:]
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
[Terminal output, log excerpts, error messages, or measurements]
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
[If measurements were taken, present them in a table:]
|
|
72
|
+
|
|
73
|
+
| Metric | Expected | Actual |
|
|
74
|
+
|--------|----------|--------|
|
|
75
|
+
| [metric] | [target] | [measured] |
|
|
76
|
+
|
|
77
|
+
### Caveats
|
|
78
|
+
|
|
79
|
+
[Any limitations, conditions, or assumptions in the validation. E.g., "Tested on Linux; macOS WKWebView behavior may differ." or "Tested with 2 peers; behavior at 5+ peers not validated."]
|
|
80
|
+
|
|
81
|
+
### Impact on Architecture
|
|
82
|
+
|
|
83
|
+
[How this result affects the architecture vision. Reference specific sections or decisions.]
|
|
84
|
+
|
|
85
|
+
- **If Validated:** [Any implications discovered, or "No architecture changes needed."]
|
|
86
|
+
- **If Partially Validated:** [What limitations must be accommodated. What section of the architecture vision should be updated.]
|
|
87
|
+
- **If Failed:** [What needs to change in the architecture. Which decisions are affected.]
|
|
88
|
+
|
|
89
|
+
### Suggested Alternatives
|
|
90
|
+
|
|
91
|
+
[Only for Failed or Partially Validated results. 1-3 alternative approaches:]
|
|
92
|
+
|
|
93
|
+
1. **[Alternative A]:** [Description. What changes in the architecture. What new risks it introduces.]
|
|
94
|
+
2. **[Alternative B]:** [Description. Trade-offs compared to Alternative A.]
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
[Repeat for each spike]
|
|
99
|
+
|
|
100
|
+
## Architecture Vision Updates
|
|
101
|
+
|
|
102
|
+
[Summary of any changes needed to the architecture vision based on spike results. If no changes needed, state "No updates required -- all critical risks validated."]
|
|
103
|
+
|
|
104
|
+
- [ ] [Specific update 1: section, what to change, why]
|
|
105
|
+
- [ ] [Specific update 2: section, what to change, why]
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Section Guidance
|
|
111
|
+
|
|
112
|
+
| Section | Source | Depth |
|
|
113
|
+
|---------|--------|-------|
|
|
114
|
+
| Summary | Aggregated from all spikes | One row per spike, overview only |
|
|
115
|
+
| Risk Description | Architecture vision "Known Risks" section + user input | 1-2 sentences, specific |
|
|
116
|
+
| Validation Criteria | Agreed with user before spike runs | Checklist format, measurable |
|
|
117
|
+
| POC Approach | arn-spark-spike-runner's report | 1 paragraph + file reference |
|
|
118
|
+
| Result | arn-spark-spike-runner's assessment | One of four status values + summary |
|
|
119
|
+
| Evidence | arn-spark-spike-runner's captured output | Code blocks with actual output |
|
|
120
|
+
| Caveats | arn-spark-spike-runner's observations | Bullet list of limitations |
|
|
121
|
+
| Impact on Architecture | Skill assessment after spike | Reference specific arch-vision sections |
|
|
122
|
+
| Suggested Alternatives | arn-spark-spike-runner (if failed) + skill assessment | Numbered list with trade-offs |
|
|
123
|
+
| Architecture Vision Updates | Aggregated from all spike impacts | Checklist of specific updates |
|