@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,108 @@
|
|
|
1
|
+
# Use Case Index Template
|
|
2
|
+
|
|
3
|
+
This template defines the structure for the `use-cases/README.md` file written by the `arn-spark-use-case-writer` agent. This file serves as the entry point for the use case directory, providing an overview of the application's behavior, a complete actor catalog, a use case index with links, and a relationship diagram.
|
|
4
|
+
|
|
5
|
+
## Instructions for arn-spark-use-case-writer
|
|
6
|
+
|
|
7
|
+
When populating this template:
|
|
8
|
+
|
|
9
|
+
- The introduction should summarize what the application does in 2-3 paragraphs, derived from the product concept but focused on system behavior (what it does), not identity (what it is)
|
|
10
|
+
- The actor catalog must include every actor referenced in any use case file
|
|
11
|
+
- The use case index must link to every UC file in the directory using relative paths
|
|
12
|
+
- The use case diagram should show all actors and use cases with their relationships as a Mermaid `graph TB` diagram, with `click` directives linking to UC files. Keep the text relationship summary below for accessibility.
|
|
13
|
+
- Coverage notes should honestly assess completeness -- note known gaps
|
|
14
|
+
- Update this file whenever use cases are added, removed, or restructured
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Template
|
|
19
|
+
|
|
20
|
+
```markdown
|
|
21
|
+
# [Product Name] -- Use Cases
|
|
22
|
+
|
|
23
|
+
## Introduction
|
|
24
|
+
|
|
25
|
+
[2-3 paragraphs summarizing the application's behavioral scope. Describe what the system does from the actors' perspectives. Readers should understand the full range of behaviors the application supports from this introduction alone.
|
|
26
|
+
|
|
27
|
+
Focus on behavior, not identity. Instead of "Talkie is a walkie-talkie app", write "The system enables real-time voice communication between devices on a local network. Users discover nearby devices, pair with them, and initiate voice calls with a single action. Optional video and text capabilities extend the core voice experience."]
|
|
28
|
+
|
|
29
|
+
## Actor Catalog
|
|
30
|
+
|
|
31
|
+
| Actor | Type | Description |
|
|
32
|
+
|-------|------|-------------|
|
|
33
|
+
| [Name] | Primary | [What this actor is, what they want from the system, and how they interact with it] |
|
|
34
|
+
| [Name] | Secondary | [What this actor is and how it participates in interactions initiated by primary actors] |
|
|
35
|
+
| [Name] | Supporting | [What this external system or service provides to the system] |
|
|
36
|
+
|
|
37
|
+
**Actor types:**
|
|
38
|
+
- **Primary:** Initiates interactions with the system to achieve a goal
|
|
39
|
+
- **Secondary:** Participates in interactions initiated by primary actors (e.g., a paired device, another user)
|
|
40
|
+
- **Supporting:** External systems or services that the system depends on (e.g., operating system, network)
|
|
41
|
+
|
|
42
|
+
## Use Case Index
|
|
43
|
+
|
|
44
|
+
| UC-ID | Title | Primary Actor | Level | Priority | File |
|
|
45
|
+
|-------|-------|---------------|-------|----------|------|
|
|
46
|
+
| UC-001 | [Title] | [Actor] | User Goal | Must-have | [UC-001-title.md](./UC-001-title.md) |
|
|
47
|
+
| UC-002 | [Title] | [Actor] | User Goal | Must-have | [UC-002-title.md](./UC-002-title.md) |
|
|
48
|
+
| UC-003 | [Title] | [Actor] | Subfunction | Should-have | [UC-003-title.md](./UC-003-title.md) |
|
|
49
|
+
| ... | ... | ... | ... | ... | ... |
|
|
50
|
+
|
|
51
|
+
## Use Case Diagram
|
|
52
|
+
|
|
53
|
+
\`\`\`mermaid
|
|
54
|
+
graph TB
|
|
55
|
+
%% Actors
|
|
56
|
+
Actor1((Actor Name))
|
|
57
|
+
Actor2((Actor Name))
|
|
58
|
+
|
|
59
|
+
%% Use Cases
|
|
60
|
+
UC001[UC-001: Title]
|
|
61
|
+
UC002[UC-002: Title]
|
|
62
|
+
UC003[UC-003: Title]
|
|
63
|
+
UC004[UC-004: Title]
|
|
64
|
+
|
|
65
|
+
%% Actor-UseCase connections
|
|
66
|
+
Actor1 --> UC001
|
|
67
|
+
Actor1 --> UC002
|
|
68
|
+
Actor2 -.participates.-> UC002
|
|
69
|
+
|
|
70
|
+
%% Relationships
|
|
71
|
+
UC001 -.includes.-> UC003
|
|
72
|
+
UC004 -.extends.-> UC001
|
|
73
|
+
UC001 -- follows --> UC002
|
|
74
|
+
|
|
75
|
+
%% Click links (relative paths to UC files)
|
|
76
|
+
click UC001 "./UC-001-title.md" "Open use case"
|
|
77
|
+
click UC002 "./UC-002-title.md" "Open use case"
|
|
78
|
+
click UC003 "./UC-003-title.md" "Open use case"
|
|
79
|
+
click UC004 "./UC-004-title.md" "Open use case"
|
|
80
|
+
\`\`\`
|
|
81
|
+
|
|
82
|
+
[Show ALL actors and ALL use cases with their relationships. Use `graph TB` (top-to-bottom) for the system-level overview. Include:
|
|
83
|
+
- All actors as `((Actor Name))` circle nodes
|
|
84
|
+
- All use cases as `[UC-NNN: Title]` rectangle nodes
|
|
85
|
+
- Solid arrows `-->` for actor-to-use-case connections (primary actors)
|
|
86
|
+
- Dotted arrows `-.participates.->` for secondary actor connections
|
|
87
|
+
- Dotted arrows `-.includes.->` for includes relationships
|
|
88
|
+
- Dotted arrows `-.extends.->` for extends relationships
|
|
89
|
+
- Solid arrows `-- follows -->` for temporal ordering
|
|
90
|
+
- `click` directives with relative file paths for every use case node
|
|
91
|
+
- Remove any example nodes/lines that do not apply — only show actual actors, use cases, and relationships from the catalog]
|
|
92
|
+
|
|
93
|
+
## Use Case Relationships
|
|
94
|
+
|
|
95
|
+
[Text summary of relationships for accessibility and searchability. One line per use case with relationships:]
|
|
96
|
+
|
|
97
|
+
- **UC-001 [Title]:** includes UC-003, extended by UC-004, follows → UC-002
|
|
98
|
+
- **UC-002 [Title]:** includes UC-005, extended by UC-006
|
|
99
|
+
- **UC-003 [Title]** (subfunction): included by UC-001, UC-002
|
|
100
|
+
|
|
101
|
+
## Coverage Notes
|
|
102
|
+
|
|
103
|
+
**Actors fully covered:** [List actors whose goals are all captured in use cases above]
|
|
104
|
+
|
|
105
|
+
**Actors partially covered:** [List actors with known goals not yet captured, and what is missing]
|
|
106
|
+
|
|
107
|
+
**Known gaps:** [Behaviors mentioned in the product concept or discussed with the user that are not yet written as use cases. Note why -- deferred, out of scope, or pending clarification.]
|
|
108
|
+
```
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Use Case Template
|
|
2
|
+
|
|
3
|
+
This template defines the structure for individual use case documents written by the `arn-spark-use-case-writer` agent. Each use case is saved as a separate file in the `use-cases/` directory as `UC-NNN-kebab-case-title.md`.
|
|
4
|
+
|
|
5
|
+
A use case describes a single, coherent interaction between an actor and the system to achieve a specific goal. It uses Cockburn's fully-dressed format for completeness while remaining technology-agnostic.
|
|
6
|
+
|
|
7
|
+
## Instructions for arn-spark-use-case-writer
|
|
8
|
+
|
|
9
|
+
When populating this template:
|
|
10
|
+
|
|
11
|
+
- Every field below MUST appear in the output, even if the value is brief or "None"
|
|
12
|
+
- Use cases are technology-agnostic: describe behavior ("The system displays"), not implementation ("The mDNS service queries")
|
|
13
|
+
- Main success scenario steps follow actor-system alternation where natural: odd steps are actor actions, even steps are system responses (guideline, not rigid)
|
|
14
|
+
- Extensions branch from a specific main scenario step and either rejoin the main flow or terminate
|
|
15
|
+
- Preconditions must be verifiable states, not assumptions
|
|
16
|
+
- Postconditions describe system state, not actor satisfaction
|
|
17
|
+
- Business rules are constraints that govern the behavior within this use case
|
|
18
|
+
- Screen references are optional -- include only when prototype screens exist and clearly correspond to a step
|
|
19
|
+
- Priority and complexity should match the use case catalog agreed with the user
|
|
20
|
+
- Related use cases should use the UC-ID format and note the relationship type (includes, extended by, follows, precedes, included by)
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Template
|
|
25
|
+
|
|
26
|
+
```markdown
|
|
27
|
+
# UC-[NNN]: [Title]
|
|
28
|
+
|
|
29
|
+
**Primary Actor:** [The entity that initiates or primarily benefits from this use case]
|
|
30
|
+
**Goal:** [What the primary actor wants to accomplish -- one sentence, verb-noun form]
|
|
31
|
+
**Scope:** [The system boundary -- what system is being described]
|
|
32
|
+
**Level:** [User Goal / Subfunction / Summary]
|
|
33
|
+
|
|
34
|
+
## Use Case Diagram
|
|
35
|
+
|
|
36
|
+
\`\`\`mermaid
|
|
37
|
+
graph LR
|
|
38
|
+
Actor1((Primary Actor)) --> ThisUC[UC-NNN: Title]
|
|
39
|
+
Actor2((Secondary Actor)) -.participates.-> ThisUC
|
|
40
|
+
ThisUC -.includes.-> IncludedUC[UC-NNN: Included Title]
|
|
41
|
+
ExtendingUC[UC-NNN: Extending Title] -.extends.-> ThisUC
|
|
42
|
+
ThisUC -- follows --> NextUC[UC-NNN: Next Title]
|
|
43
|
+
click IncludedUC "./UC-NNN-included-title.md" "Open use case"
|
|
44
|
+
click ExtendingUC "./UC-NNN-extending-title.md" "Open use case"
|
|
45
|
+
click NextUC "./UC-NNN-next-title.md" "Open use case"
|
|
46
|
+
\`\`\`
|
|
47
|
+
|
|
48
|
+
[Show the primary actor, this use case, any secondary/supporting actors that participate, and all related use cases (includes, extended by, follows, precedes) as connected nodes. Include `click` directives with relative file paths for each related use case node. Remove any relationship lines that do not apply — only show relationships that exist in the Related Use Cases section. If this use case has no relationships, show only the primary actor connected to the use case node.]
|
|
49
|
+
|
|
50
|
+
## Preconditions
|
|
51
|
+
|
|
52
|
+
- [Verifiable state that must be true before this use case can begin]
|
|
53
|
+
- [Each precondition on its own line]
|
|
54
|
+
|
|
55
|
+
## Trigger
|
|
56
|
+
|
|
57
|
+
[What event or actor action starts this use case]
|
|
58
|
+
|
|
59
|
+
## Main Success Scenario
|
|
60
|
+
|
|
61
|
+
1. [Actor action or system response]
|
|
62
|
+
2. [Next step]
|
|
63
|
+
3. [Continue with actor-system alternation where natural]
|
|
64
|
+
4. [...]
|
|
65
|
+
N. [Final step that achieves the goal]
|
|
66
|
+
|
|
67
|
+
## Extensions
|
|
68
|
+
|
|
69
|
+
**[Step]a. [Condition]:**
|
|
70
|
+
1. [What happens when the condition is true]
|
|
71
|
+
2. [Additional steps if needed]
|
|
72
|
+
3. [Rejoin step N of main scenario / Use case ends in failure / Use case ends with partial success]
|
|
73
|
+
|
|
74
|
+
**[Step]b. [Another condition at the same step]:**
|
|
75
|
+
1. [What happens]
|
|
76
|
+
2. [Rejoin step N / Use case ends]
|
|
77
|
+
|
|
78
|
+
[Repeat for each extension point. Extensions are numbered from the main scenario step they branch from.]
|
|
79
|
+
|
|
80
|
+
## Postconditions
|
|
81
|
+
|
|
82
|
+
**Success guarantee:** [System state when the main success scenario completes successfully]
|
|
83
|
+
**Minimal guarantee:** [System state preserved regardless of outcome -- what is always true after the use case ends, even on failure. Resources released, partial state cleaned up, etc.]
|
|
84
|
+
|
|
85
|
+
## Business Rules
|
|
86
|
+
|
|
87
|
+
- [BR-1: Constraint that governs behavior within this use case]
|
|
88
|
+
- [BR-2: Another constraint]
|
|
89
|
+
- [If none apply, write "None"]
|
|
90
|
+
|
|
91
|
+
## Related Use Cases
|
|
92
|
+
|
|
93
|
+
- **Includes:** [UC-NNN Title] -- [why this is included as a substep]
|
|
94
|
+
- **Extended by:** [UC-NNN Title] -- [what optional behavior it adds]
|
|
95
|
+
- **Follows:** [UC-NNN Title] -- [what typically happens after this use case]
|
|
96
|
+
- **Precedes:** [UC-NNN Title] -- [what typically happens before this use case]
|
|
97
|
+
- **Included by:** [UC-NNN Title] -- [which use case contains this one as a substep]
|
|
98
|
+
- [If no relationships, write "None"]
|
|
99
|
+
|
|
100
|
+
## Metadata
|
|
101
|
+
|
|
102
|
+
- **Priority:** [Must-have / Should-have / Nice-to-have]
|
|
103
|
+
- **Complexity:** [S / M / L / XL]
|
|
104
|
+
- **Screen References:** [Summary list of prototype screen paths referenced in this use case, e.g., "setup/welcome, setup/pairing". Individual steps may also have inline screen annotations (e.g., "Screen: setup/welcome") where the system presents information. This field summarizes all referenced screens. "None" if no prototype screens exist.]
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Section Guidance
|
|
110
|
+
|
|
111
|
+
| Section | Guidance | Common Mistakes |
|
|
112
|
+
|---------|----------|-----------------|
|
|
113
|
+
| Use Case Diagram | Mermaid `graph LR` showing this UC's actor(s) and related UCs as linked nodes. Include `click` directives with relative `.md` file paths. Only show relationships that exist. | Including UCs that are not in the Related Use Cases section. Forgetting `click` directives. Using `graph TB`/`graph TD` for per-UC diagrams (use `graph LR` for horizontal layout; `TB` is reserved for the system-level index diagram). |
|
|
114
|
+
| Primary Actor | The entity initiating the interaction. Always external to the system boundary. | Naming the system as actor. The system responds, it does not initiate use cases. |
|
|
115
|
+
| Goal | One sentence, verb-noun form ("Pair with a new device", "Initiate a voice call") | Too vague ("Use the app") or too implementation-specific ("Send mDNS query") |
|
|
116
|
+
| Scope | The system being described. Usually the application name. | Listing subsystems instead of the whole system boundary |
|
|
117
|
+
| Level | User Goal = what a user sits down to do; Subfunction = a step reused by multiple user goals; Summary = spans multiple user goals | Defaulting everything to User Goal. If a use case is always invoked within another, it is likely a Subfunction. |
|
|
118
|
+
| Preconditions | States that must be true BEFORE the trigger. Must be verifiable. | Including things that happen AS PART of the use case. "App is running" is a precondition. "User has opened settings" is a precondition only if the use case does not start by opening settings. |
|
|
119
|
+
| Trigger | The specific event that starts the flow. One sentence. | Confusing the trigger with the first step of the main scenario. The trigger is what initiates; step 1 is the first action. |
|
|
120
|
+
| Main Success Scenario | Happy path only, typically 4-12 steps. Actor-system alternation. | Including error handling (belongs in extensions). Steps that are too granular ("User moves cursor to button") or too vague ("System handles the request"). |
|
|
121
|
+
| Extensions | Branch from a specific step number. Specify rejoin or termination. | Vague branching ("at any point") -- be specific about which step. Forgetting to specify where the extension rejoins or terminates. |
|
|
122
|
+
| Postconditions | Observable system state after the use case ends. | Describing actor emotions ("User is satisfied") or vague outcomes ("Everything works"). State what is TRUE about the system. |
|
|
123
|
+
| Business Rules | Constraints governing THIS use case specifically. | Generic rules not specific to this use case ("The system must be secure"). Business rules are concrete: "Maximum 8 participants per call", "Pairing requires physical proximity". |
|
|
124
|
+
| Related Use Cases | Explicit relationship type with UC-ID. Bidirectional. | Listing related use cases without the relationship type. If UC-001 includes UC-005, then UC-005 must list "Included by UC-001". |
|
|
125
|
+
| Screen References | Optional. Only when prototype screens exist. Relative paths. | Inventing screen references when no prototype exists. Screen references are enrichment, not required. |
|
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: arn-spark-use-cases-teams
|
|
3
|
+
description: >-
|
|
4
|
+
This skill should be used when the user says "use cases teams",
|
|
5
|
+
"arn use cases teams", "team use cases", "debate use cases",
|
|
6
|
+
"collaborative use cases", "use cases with debate",
|
|
7
|
+
"team-based use case review", "use case debate", "review use cases as a team",
|
|
8
|
+
or wants to create structured use case documents through expert debate
|
|
9
|
+
where product strategist and UX specialist review and discuss each other's
|
|
10
|
+
findings before revising, producing a use-cases/ directory with individual
|
|
11
|
+
Cockburn fully-dressed use case files and a README index.
|
|
12
|
+
version: 1.0.0
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Arness Use Cases Teams
|
|
16
|
+
|
|
17
|
+
Create structured use case documents in Cockburn fully-dressed format through a team debate process. The `arn-spark-use-case-writer` agent drafts, then `arn-spark-product-strategist` and `arn-spark-ux-specialist` (greenfield agents in this plugin) engage in a structured debate -- reviewing each other's findings, agreeing, disagreeing, and surfacing insights neither would find alone. Supports Agent Teams for parallel debate or sequential simulation as fallback. If `arn-spark-ux-specialist` is unavailable, the skill falls back to single-reviewer mode with product strategist only. This is a conversational skill that runs in normal conversation (NOT plan mode).
|
|
18
|
+
|
|
19
|
+
This is an alternative to `arn-spark-use-cases` (independent sequential review). Use this when the project has enough complexity that expert debate adds value -- multiple actors, many use cases, or business rules that benefit from cross-disciplinary scrutiny. For simpler projects or lower token budgets, use `/arn-spark-use-cases` instead.
|
|
20
|
+
|
|
21
|
+
The primary artifacts are a **use-cases/ directory** at the project root containing individual use case files (`UC-NNN-title.md`) and a **README.md** index -- the same output format as `/arn-spark-use-cases`. Additionally, mandatory **per-round debate reports** are saved to `use-cases/reviews/`.
|
|
22
|
+
|
|
23
|
+
## Prerequisites
|
|
24
|
+
|
|
25
|
+
Same prerequisites as `/arn-spark-use-cases`. Check in order:
|
|
26
|
+
|
|
27
|
+
Determine the use cases output directory:
|
|
28
|
+
1. Read the project's `arness.md` and check for a `## Arness` section
|
|
29
|
+
2. If found, extract the configured Use cases directory path — this is the source of truth
|
|
30
|
+
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.
|
|
31
|
+
4. If the directory does not exist, create it
|
|
32
|
+
|
|
33
|
+
> All references to `use-cases/` in this skill refer to the configured use cases directory determined above.
|
|
34
|
+
|
|
35
|
+
**Product concept (strongly recommended):**
|
|
36
|
+
1. Read the project's `arness.md` for a `## Arness` section. If found, look for a `Vision Directory` field and check that directory for `product-concept.md`
|
|
37
|
+
2. If no `## Arness` section found, check `.arness/vision/product-concept.md` at the project root
|
|
38
|
+
|
|
39
|
+
**If a product concept is found:** Use it as the primary source for actors, goals, and use case derivation.
|
|
40
|
+
|
|
41
|
+
**If no product concept is found:** Ask the user: "No product concept found. I recommend running `/arn-spark-discover` first to define your product. Alternatively, describe your application's purpose, users, and main capabilities and I will work from that."
|
|
42
|
+
|
|
43
|
+
**Architecture vision (optional):**
|
|
44
|
+
1. Check the same Vision directory for `architecture-vision.md`
|
|
45
|
+
2. If no `## Arness` section found, check `.arness/vision/architecture-vision.md` at the project root
|
|
46
|
+
|
|
47
|
+
If found: use for understanding system capabilities, constraints, and platform scope.
|
|
48
|
+
|
|
49
|
+
**Existing prototype screens (optional):**
|
|
50
|
+
1. Read the configured Prototypes directory from the `## Arness` section (default: `.arness/prototypes`)
|
|
51
|
+
2. Check for `[prototypes-dir]/clickable/` directories
|
|
52
|
+
3. Check for `[prototypes-dir]/static/` directories
|
|
53
|
+
|
|
54
|
+
If found: screen references can enrich use case steps with concrete screen paths.
|
|
55
|
+
|
|
56
|
+
**Style brief is NOT needed.** Use cases describe behavior, not visual presentation.
|
|
57
|
+
|
|
58
|
+
## Workflow
|
|
59
|
+
|
|
60
|
+
### Step 1: Detect Resume or Fresh Start
|
|
61
|
+
|
|
62
|
+
Check for existing use case output:
|
|
63
|
+
|
|
64
|
+
1. Look for `use-cases/README.md` at the project root
|
|
65
|
+
2. If found, scan for `use-cases/UC-*.md` files
|
|
66
|
+
|
|
67
|
+
**If existing use cases found:**
|
|
68
|
+
|
|
69
|
+
Ask the user:
|
|
70
|
+
|
|
71
|
+
**"I found an existing use cases directory with [N] use case files. Which would you prefer?"**
|
|
72
|
+
|
|
73
|
+
Options:
|
|
74
|
+
1. **Continue** — I will read the existing use cases and offer to add new ones or revise existing ones
|
|
75
|
+
2. **Fresh start** — I will begin from scratch (existing files will be overwritten)
|
|
76
|
+
|
|
77
|
+
If continuing: read all existing use case files and the README. Present the current catalog to the user. Ask what they want to change, add, or revise. Skip to the appropriate step.
|
|
78
|
+
|
|
79
|
+
**If no existing use cases:** Proceed to Step 2.
|
|
80
|
+
|
|
81
|
+
### Step 2: Configure Debate Parameters
|
|
82
|
+
|
|
83
|
+
1. Check for Agent Teams support (whether your platform supports it)
|
|
84
|
+
2. Record the debate mode: "agent_teams" if supported, otherwise "sequential". **The mode selection is based ONLY on Agent Teams support. File-based review output works identically in both modes and does NOT affect mode selection. When Agent Teams is supported, always use Agent Teams mode.**
|
|
85
|
+
3. Check `arn-spark-ux-specialist` availability by attempting to invoke it with a minimal prompt (e.g., "Respond with OK to confirm availability"). If the agent is not found or the invocation fails, record single-reviewer mode.
|
|
86
|
+
|
|
87
|
+
Present the configuration:
|
|
88
|
+
|
|
89
|
+
"**Debate configuration:**
|
|
90
|
+
|
|
91
|
+
- **Debate mode:** [Agent Teams (parallel debate) / Sequential (simulated debate)]
|
|
92
|
+
- **Reviewers:** arn-spark-product-strategist + arn-spark-ux-specialist [/ arn-spark-product-strategist only (UX specialist unavailable)]
|
|
93
|
+
- **Max review rounds:** 2 (each round: expert debate + writer revision)
|
|
94
|
+
|
|
95
|
+
Ask the user:
|
|
96
|
+
|
|
97
|
+
**"Confirm debate configuration or adjust?"**
|
|
98
|
+
|
|
99
|
+
Options:
|
|
100
|
+
1. **Confirm** — Proceed with these settings
|
|
101
|
+
2. **Adjust** — Change max review rounds (1-4) or other settings"
|
|
102
|
+
|
|
103
|
+
If Agent Teams is not enabled, also note: "Agent Teams is not enabled. The debate will run sequentially (I will pass feedback between experts). Enable Agent Teams if your platform supports it. Alternatively, use `/arn-spark-use-cases` for independent sequential reviews (lower cost)."
|
|
104
|
+
|
|
105
|
+
If `arn-spark-ux-specialist` is unavailable: "UX specialist is not available. Review will be strategist-only (no debate). Consider `/arn-spark-use-cases` which handles single-reviewer mode identically."
|
|
106
|
+
|
|
107
|
+
Wait for user confirmation or adjustments.
|
|
108
|
+
|
|
109
|
+
### Step 3: Identify Actors and Propose Use Case Catalog
|
|
110
|
+
|
|
111
|
+
Load the product concept and extract actors and use cases. Read the base skill for the detailed actor and use case identification process:
|
|
112
|
+
|
|
113
|
+
> Read `${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-use-cases/SKILL.md` — follow its Step 2 (Identify Actors and Propose Use Case Catalog) for the actor extraction, use case derivation, level classification, and relationship mapping process.
|
|
114
|
+
|
|
115
|
+
Present the actor catalog, proposed use case catalog, and relationship diagram as specified in that step. Wait for user confirmation or adjustments.
|
|
116
|
+
|
|
117
|
+
### Step 4: Draft All Use Cases and Create Task List
|
|
118
|
+
|
|
119
|
+
Draft use cases in parallel by invoking multiple `arn-spark-use-case-writer` agents simultaneously. Follow the same grouping strategy and invocation pattern as `/arn-spark-use-cases` Step 3:
|
|
120
|
+
|
|
121
|
+
- Group use cases with direct includes/extends relationships into clusters
|
|
122
|
+
- Each writer receives the FULL catalog for cross-reference awareness but only its assigned UC-IDs to draft
|
|
123
|
+
- Each writer receives: product concept, actor catalog, full use case catalog, assigned UC-IDs, use case template (`${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-use-cases/references/use-case-template.md`), output directory (`use-cases/`), prototype screens (if any), architecture vision (if available)
|
|
124
|
+
- After all parallel writers complete, invoke one final writer to produce the README index using the index template (`${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-use-cases/references/use-case-index-template.md`)
|
|
125
|
+
|
|
126
|
+
Create the task list based on the configured max_rounds. For max_rounds=2:
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
Task 1: Draft all use cases
|
|
130
|
+
Task 2: Expert review debate (Round 1)
|
|
131
|
+
Task 3: Revise use cases (Round 1)
|
|
132
|
+
Task 4: Expert review debate (Round 2)
|
|
133
|
+
Task 5: Revise use cases (Round 2)
|
|
134
|
+
Task 6: User review
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Mark Task 1 as completed. Present the task list to the user in conversation and update it visually after each completed step. Present a brief summary: "**[N] use cases drafted.** Files written to `use-cases/`. Starting expert review debate."
|
|
138
|
+
|
|
139
|
+
### Step 5: Expert Review Debate (Iterative)
|
|
140
|
+
|
|
141
|
+
For each review round (up to max_rounds):
|
|
142
|
+
|
|
143
|
+
Read the debate protocol:
|
|
144
|
+
> Read `${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-use-cases-teams/references/debate-protocol.md`
|
|
145
|
+
|
|
146
|
+
#### 5a: Debate
|
|
147
|
+
|
|
148
|
+
Create the `[use-cases-dir]/reviews/` directory if it does not exist.
|
|
149
|
+
|
|
150
|
+
**If debate_mode is "agent_teams":**
|
|
151
|
+
|
|
152
|
+
Follow the Agent Teams Mode Invocation Detail in the debate protocol. Spawn both experts simultaneously as teammates. Each expert receives the expert review template path (`${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-use-cases/references/expert-review-template.md`) and a unique file path to write to (no file contention — each agent writes to a different file). Phase 1: both experts write independent reviews to their respective files in parallel. Phase 2: each expert reads the other's completed file and writes its cross-review to a separate file. File-based output works naturally with Agent Teams — do not fall back to sequential mode because of file output.
|
|
153
|
+
|
|
154
|
+
**If debate_mode is "sequential":**
|
|
155
|
+
|
|
156
|
+
Follow the Sequential Mode Invocation Detail in the debate protocol:
|
|
157
|
+
|
|
158
|
+
1. Invoke `arn-spark-product-strategist` with all UC content, product concept, actor catalog, business review focus instructions, expert review template path, and file path to write to: `[use-cases-dir]/reviews/round-N-business-review.md`. The strategist writes its Phase 1 review to the file.
|
|
159
|
+
2. Invoke `arn-spark-ux-specialist` with all UC content, product concept, screens (if any), flow review focus instructions, expert review template path, the business reviewer's file path to read (`[use-cases-dir]/reviews/round-N-business-review.md`), and file path to write to: `[use-cases-dir]/reviews/round-N-flow-review.md`. Instruct: "Review independently first using the Phase 1 format. Then read the business reviewer's review at the specified file path and respond to each finding using the Phase 2 cross-review format. Write your complete review (Phase 1 + Phase 2 combined) to the specified file path."
|
|
160
|
+
3. Invoke `arn-spark-product-strategist` with the flow reviewer's file path to read (`[use-cases-dir]/reviews/round-N-flow-review.md`), expert review template path, and file path to write to: `[use-cases-dir]/reviews/round-N-business-cross-review.md`. Instruct: "Read the flow reviewer's review at the specified file path. Respond to their findings and their responses to your review using the Phase 2 cross-review format. Write your cross-review to the specified file path."
|
|
161
|
+
|
|
162
|
+
**If arn-spark-ux-specialist is unavailable (single-reviewer mode):**
|
|
163
|
+
|
|
164
|
+
Invoke `arn-spark-product-strategist` only with all UC content, business review focus instructions, expert review template path, and file path to write to: `[use-cases-dir]/reviews/round-N-business-review.md`. No cross-review phase. Note limitation.
|
|
165
|
+
|
|
166
|
+
#### 5b: Synthesize Debate Report
|
|
167
|
+
|
|
168
|
+
Read the review report template:
|
|
169
|
+
> Read `${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-use-cases-teams/references/review-report-template.md`
|
|
170
|
+
|
|
171
|
+
Read all expert review files written during Step 5a (never from conversation context):
|
|
172
|
+
- `[use-cases-dir]/reviews/round-N-business-review.md` (Phase 1)
|
|
173
|
+
- `[use-cases-dir]/reviews/round-N-flow-review.md` (Phase 1, or Phase 1 + Phase 2 combined in sequential mode)
|
|
174
|
+
- `[use-cases-dir]/reviews/round-N-business-cross-review.md` (Phase 2, if it exists)
|
|
175
|
+
- `[use-cases-dir]/reviews/round-N-flow-cross-review.md` (Phase 2, Agent Teams mode only, if it exists)
|
|
176
|
+
|
|
177
|
+
Synthesize from all expert review files:
|
|
178
|
+
- **Consensus:** Items both experts flagged, or one raised and the other agreed in cross-review
|
|
179
|
+
- **Additions:** Items one expert raised that the other did not dispute
|
|
180
|
+
- **Disagreements:** Items where experts explicitly disagreed and the disagreement persisted
|
|
181
|
+
|
|
182
|
+
Save the report to `[use-cases-dir]/reviews/round-N-review-report.md`.
|
|
183
|
+
|
|
184
|
+
#### 5c: Resolve Conflicts
|
|
185
|
+
|
|
186
|
+
**If disagreements exist:** For each disagreement, present both positions and the trade-off summary, then ask:
|
|
187
|
+
|
|
188
|
+
Ask the user:
|
|
189
|
+
|
|
190
|
+
> **Expert disagreement on UC-[NNN] [Title]: [brief description]. Which direction?**
|
|
191
|
+
> 1. **Business Reviewer's position** — [brief summary]
|
|
192
|
+
> 2. **Flow Reviewer's position** — [brief summary]
|
|
193
|
+
> 3. **Compromise** — I will describe a middle ground
|
|
194
|
+
|
|
195
|
+
If the user chooses option 3, collect their compromise as free-form text. Update the report with all resolutions.
|
|
196
|
+
|
|
197
|
+
**If no disagreements:** Skip this sub-step.
|
|
198
|
+
|
|
199
|
+
#### 5d: Revise Use Cases
|
|
200
|
+
|
|
201
|
+
Revise use cases in parallel using the same grouping strategy as Step 4. Each `arn-spark-use-case-writer` receives:
|
|
202
|
+
- **Existing draft paths:** the current use case files for its assigned UC-IDs
|
|
203
|
+
- **Combined debate report:** the "Recommended Changes for Writer" section, filtered to its assigned UCs (plus any cross-cutting changes that apply to all UCs)
|
|
204
|
+
- **Use case catalog:** the FULL catalog (for cross-reference awareness)
|
|
205
|
+
- **Use case template:** (same shared path)
|
|
206
|
+
- **Output directory:** `use-cases/` (overwrites existing files)
|
|
207
|
+
|
|
208
|
+
After all parallel writers complete, invoke one final writer to update the README index.
|
|
209
|
+
|
|
210
|
+
#### 5e: Convergence Check
|
|
211
|
+
|
|
212
|
+
Evaluate the debate report's convergence status using the convergence criteria defined in the debate protocol (`${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-use-cases-teams/references/debate-protocol.md`, Convergence Criteria section). The debate report's "Round recommendation" field provides a preliminary assessment — verify it against the full criteria.
|
|
213
|
+
|
|
214
|
+
Present the round summary: "**Round [N] complete.** [M] use cases revised. [Summary of major changes]. [Convergence status: converged / another round needed]."
|
|
215
|
+
|
|
216
|
+
If converged: skip remaining rounds, mark remaining debate+revision tasks as completed, proceed to Step 6.
|
|
217
|
+
|
|
218
|
+
### Step 6: User Review
|
|
219
|
+
|
|
220
|
+
Present the final use case catalog:
|
|
221
|
+
|
|
222
|
+
"**Use case authoring complete.**
|
|
223
|
+
|
|
224
|
+
**Summary:**
|
|
225
|
+
- **Use cases:** [N] total ([X] user-goal, [Y] subfunction, [Z] summary)
|
|
226
|
+
- **Actors:** [N] actors ([X] primary, [Y] secondary, [Z] supporting)
|
|
227
|
+
- **Debate mode:** [Agent Teams / Sequential / Single-Reviewer]
|
|
228
|
+
- **Review rounds:** [N] of [max_rounds]
|
|
229
|
+
|
|
230
|
+
**Use Case Catalog:**
|
|
231
|
+
| UC-ID | Title | Actor | Level | Priority | Status |
|
|
232
|
+
|-------|-------|-------|-------|----------|--------|
|
|
233
|
+
| UC-001 | [Title] | [Actor] | User Goal | Must-have | Final |
|
|
234
|
+
| ... | ... | ... | ... | ... | ... |
|
|
235
|
+
|
|
236
|
+
All files are in the `use-cases/` directory. Debate reports are in `use-cases/reviews/`.
|
|
237
|
+
|
|
238
|
+
Ask the user:
|
|
239
|
+
|
|
240
|
+
**"What would you like to do?"**
|
|
241
|
+
|
|
242
|
+
Options:
|
|
243
|
+
1. **Adjust a specific use case** — Tell me which one and what to change
|
|
244
|
+
2. **Add new use cases** — I will extend the catalog
|
|
245
|
+
3. **Proceed** — Use cases are complete"
|
|
246
|
+
|
|
247
|
+
If the user wants adjustments: invoke `arn-spark-use-case-writer` with the specific use case and the user's change request.
|
|
248
|
+
If the user wants new use cases: return to Step 3 with the additions (existing use cases are preserved).
|
|
249
|
+
If the user is satisfied: proceed to Step 7.
|
|
250
|
+
|
|
251
|
+
### Step 7: Write Final Report
|
|
252
|
+
|
|
253
|
+
Write `use-cases/reviews/final-report.md` with:
|
|
254
|
+
- Complete debate history across all rounds
|
|
255
|
+
- Aggregated review arc: how findings evolved, what converged, what the user decided
|
|
256
|
+
- Links to all per-round reports
|
|
257
|
+
- Final convergence status
|
|
258
|
+
- Summary statistics (total findings, consensus count, disagreement count, user decisions)
|
|
259
|
+
|
|
260
|
+
### Step 8: Recommend Next Steps
|
|
261
|
+
|
|
262
|
+
"Use cases saved to `use-cases/`. Debate reports saved to `use-cases/reviews/`.
|
|
263
|
+
|
|
264
|
+
These use cases are now available as input for downstream skills:
|
|
265
|
+
1. **Scaffold the project:** Run `/arn-spark-scaffold` to set up the development skeleton
|
|
266
|
+
2. **Explore visual style:** Run `/arn-spark-style-explore` to establish the visual direction
|
|
267
|
+
3. **Prototype the UI:** Run `/arn-spark-clickable-prototype` -- use cases will enrich screen derivation and replace manually defined journeys
|
|
268
|
+
4. **Extract features:** Run `/arn-spark-feature-extract` -- use cases provide structured behavioral specs for richer feature extraction
|
|
269
|
+
|
|
270
|
+
Use cases are living documents. As the project evolves, run `/arn-spark-use-cases-teams` again to add or revise them."
|
|
271
|
+
|
|
272
|
+
## Agent Invocation Guide
|
|
273
|
+
|
|
274
|
+
| Situation | Action |
|
|
275
|
+
|-----------|--------|
|
|
276
|
+
| Draft all use cases (Step 4) | Invoke multiple `arn-spark-use-case-writer` agents in parallel, each with full catalog + assigned UC subset. Then one final writer for the README index. |
|
|
277
|
+
| Expert debate -- Agent Teams (Step 5a) | Spawn both experts simultaneously. Each gets expert review template path + file path to write to. Phase 1: write independent reviews to files. Phase 2: read each other's files, write cross-reviews to separate files. Follow debate protocol. |
|
|
278
|
+
| Expert debate -- Sequential (Step 5a) | (1) Invoke strategist with UCs + business focus + file path to write to. (2) Invoke UX specialist with UCs + flow focus + strategist's file path to read + own file path to write to. (3) Invoke strategist with UX specialist's file path to read + cross-review file path to write to. Follow debate protocol. |
|
|
279
|
+
| Expert debate -- UX unavailable (Step 5a) | Invoke strategist only with file path to write to. No debate phases. Note limitation in report. |
|
|
280
|
+
| Synthesize debate report (Step 5b) | Skill reads all expert review files (not from conversation). Synthesizes and saves to `[use-cases-dir]/reviews/round-N-review-report.md`. |
|
|
281
|
+
| Resolve conflicts (Step 5c) | Present each disagreement to user with both positions. Wait for decisions. Update report. |
|
|
282
|
+
| Revise use cases (Step 5d) | Invoke multiple `arn-spark-use-case-writer` agents in parallel, each with its assigned UC drafts + debate report changes. Then one final writer for the README index. |
|
|
283
|
+
| User requests specific UC adjustment (Step 6) | Invoke `arn-spark-use-case-writer` with the specific UC path and the user's change description |
|
|
284
|
+
| User wants to add new use cases | Return to Step 3 with additions to the catalog |
|
|
285
|
+
| User asks about technology choices | Defer: "Use cases describe behavior, not implementation. Technology choices are in `/arn-spark-arch-vision`." |
|
|
286
|
+
| User asks about screen design | Defer: "Screen design is handled by `/arn-spark-style-explore` and `/arn-spark-clickable-prototype`. Use cases focus on what the system does, not how it looks." |
|
|
287
|
+
| User asks about features | Defer: "Feature extraction happens in `/arn-spark-feature-extract`, which will consume these use cases as input." |
|
|
288
|
+
| User asks about implementation specs | Defer: "Implementation specifications are created by `/arn-code-feature-spec` (requires arn-code plugin). Use cases provide the behavioral foundation that feature specs build on." |
|
|
289
|
+
| Strategist returns vague review | Re-invoke with more specific prompt: "Review each use case individually. For each, provide at least one Critical or Minor feedback item with a specific observation and suggestion." |
|
|
290
|
+
| UX specialist returns vague review | Re-invoke with more specific prompt focusing on flow analysis: "For each use case, assess the main scenario naturalness, step granularity, and identify at least one missing interaction pattern (cancel, timeout, retry, empty state)." |
|
|
291
|
+
|
|
292
|
+
## Error Handling
|
|
293
|
+
|
|
294
|
+
- **Agent Teams not enabled:** Fall back to sequential debate mode automatically. Inform user and offer `/arn-spark-use-cases` as lower-cost alternative.
|
|
295
|
+
- **Expert unresponsive in Agent Teams mode:** Fall back to sequential mode for this round. Note the issue in the debate report.
|
|
296
|
+
- **arn-spark-ux-specialist unavailable:** Single-reviewer mode. No debate, strategist reviews alone. Suggest `/arn-spark-use-cases` as equivalent for single-reviewer. Note limitation in all reports.
|
|
297
|
+
- **No product concept found and user declines to describe:** Cannot proceed meaningfully. Suggest: "Run `/arn-spark-discover` first to define what you are building."
|
|
298
|
+
- **Product concept is very brief:** Proceed but warn: "The product concept has limited detail. Use cases may be thin and need more revision."
|
|
299
|
+
- **arn-spark-use-case-writer fails to write files:** Print the use case content in conversation so the user can copy it manually.
|
|
300
|
+
- **Very large number of use cases (>15):** Warn the user: "This is a large number of use cases, which increases debate time and token cost. I recommend focusing on must-have use cases first."
|
|
301
|
+
- **Debate loops without convergence at max_rounds:** Proceed to user review with remaining issues noted in the final report.
|
|
302
|
+
- **No actors identified from product concept:** Ask the user directly: "I could not identify clear actors from the product concept. Who uses this application and what do they want to accomplish?"
|
|
303
|
+
- **Review reports directory creation fails:** Print report content in conversation so the user can save it manually.
|
|
304
|
+
- **User cancels mid-process:** Inform the user that partial use case files exist in `use-cases/` and any completed debate reports exist in `use-cases/reviews/`. They can resume later.
|
|
305
|
+
- **User wants to add a use case during review (Step 5):** Accept the addition. Add it to the catalog and include it in the current or next writer invocation.
|
|
306
|
+
- **Resume with corrupted or incomplete files:** Offer a fresh start. If the user wants to preserve partial work, read what exists and present it for the user to decide what to keep.
|