@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,359 @@
1
+ ---
2
+ name: arn-spark-use-cases
3
+ description: >-
4
+ This skill should be used when the user says "use cases", "arn use cases",
5
+ "write use cases", "define use cases", "Cockburn use cases", "actor goals",
6
+ "behavioral requirements", "system behavior", "what does the app do",
7
+ "describe the behavior", "use case document", "document the behavior",
8
+ "define system behavior", or wants to create structured use case documents
9
+ that describe the application's behavior from actor perspectives, producing
10
+ a use-cases/ directory with individual Cockburn fully-dressed use case files
11
+ and a README index.
12
+ version: 1.0.0
13
+ ---
14
+
15
+ # Arness Use Cases
16
+
17
+ Create structured use case documents in Cockburn fully-dressed format through a team-based conversational process, aided by the `arn-spark-use-case-writer` agent for drafting and revising, `arn-spark-product-strategist` for business relevance review, and `arn-spark-ux-specialist` for flow quality review (both are greenfield agents in this plugin -- if `arn-spark-ux-specialist` is unavailable, the skill proceeds with product strategist review only). This is a conversational skill that runs in normal conversation (NOT plan mode).
18
+
19
+ 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. Use cases are technology-agnostic behavioral descriptions that serve as the source of truth for what the application does from the actors' perspectives.
20
+
21
+ Use cases bridge the gap between the high-level product concept and the concrete artifacts consumed by downstream skills. They describe the WHAT (system behavior) not the HOW (implementation). Each use case specifies actors, preconditions, main success scenarios, alternate flows, postconditions, and business rules -- structured detail that the product concept alone does not provide.
22
+
23
+ For a richer review process where experts debate each other's findings (product strategist and UX specialist cross-review and respond to each other), use `/arn-spark-use-cases-teams` instead. The teams variant produces the same output format but through structured expert debate with mandatory per-round reports.
24
+
25
+ ## Prerequisites
26
+
27
+ The following artifacts inform the use cases. Check in order:
28
+
29
+ Determine the use cases output directory:
30
+ 1. Read the project's `arness.md` and check for a `## Arness` section
31
+ 2. If found, extract the configured Use cases directory path — this is the source of truth
32
+ 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.
33
+ 4. If the directory does not exist, create it
34
+
35
+ > All references to `use-cases/` in this skill refer to the configured use cases directory determined above.
36
+
37
+ **Product concept (strongly recommended):**
38
+ 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`
39
+ 2. If no `## Arness` section found, check `.arness/vision/product-concept.md` at the project root
40
+
41
+ **If a product concept is found:** Use it as the primary source for actors, goals, and use case derivation.
42
+
43
+ **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."
44
+
45
+ **Architecture vision (optional):**
46
+ 1. Check the same Vision directory (from the `## Arness` section) for `architecture-vision.md`
47
+ 2. If no `## Arness` section found, check `.arness/vision/architecture-vision.md` at the project root
48
+
49
+ If found: use for understanding system capabilities, constraints, and platform scope.
50
+
51
+ **Existing prototype screens (optional):**
52
+ 1. Read the configured Prototypes directory from the `## Arness` section (default: `.arness/prototypes`)
53
+ 2. Check for `[prototypes-dir]/clickable/` directories
54
+ 3. Check for `[prototypes-dir]/static/` directories
55
+ 4. Check for `[prototypes-dir]/clickable/screen-list.md` (if clickable prototype was run)
56
+
57
+ If found: screen references can enrich use case steps with concrete screen paths.
58
+
59
+ **Style brief is NOT needed.** Use cases describe behavior, not visual presentation.
60
+
61
+ ## Workflow
62
+
63
+ ### Step 1: Detect Resume or Fresh Start
64
+
65
+ Check for existing use case output:
66
+
67
+ 1. Look for `use-cases/README.md` at the project root
68
+ 2. If found, scan for `use-cases/UC-*.md` files
69
+
70
+ **If existing use cases found:**
71
+
72
+ Ask the user:
73
+
74
+ **"I found an existing use cases directory with [N] use case files. Which would you prefer?"**
75
+
76
+ Options:
77
+ 1. **Continue** — I will read the existing use cases and offer to add new ones or revise existing ones
78
+ 2. **Fresh start** — I will begin from scratch (existing files will be overwritten)
79
+
80
+ 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 (Step 3 for new additions, Step 4 for review of existing, Step 7 for direct user edits).
81
+
82
+ **If no existing use cases:** Proceed to Step 2.
83
+
84
+ ### Step 2: Identify Actors and Propose Use Case Catalog
85
+
86
+ This step uses expert agents to help build a comprehensive catalog before any use cases are drafted. The experts do not write use case details here — they identify actors, goals, and candidate use cases from their specialist perspectives.
87
+
88
+ #### 2a: Initial Extraction
89
+
90
+ Load the product concept and perform an initial extraction of actors and use cases.
91
+
92
+ **Actors:** Identify all entities that interact with the system:
93
+
94
+ - **Primary actors:** Entities that initiate interactions to achieve a goal (e.g., a human user, another application)
95
+ - **Secondary actors:** Entities that participate in interactions initiated by primary actors (e.g., a paired device in a communication app, another user being called)
96
+ - **Supporting actors:** External systems or services the system depends on (e.g., the operating system for hardware access, a network for connectivity)
97
+
98
+ **Use cases:** For each actor, identify their goals. Each distinct goal becomes a candidate use case. Organize by level:
99
+
100
+ - **Summary level:** High-level business goals that span multiple user goals (rare -- most applications have 0-2 of these)
101
+ - **User goal level:** What a user sits down to accomplish in one session. This is the most common level. Each user-goal use case should be completable in a single interaction session.
102
+ - **Subfunction level:** Steps that are reused across multiple user-goal use cases. These become separate use cases when the substep is complex enough to document independently and is included by 2+ user-goal use cases.
103
+
104
+ **Relationships:** Identify how use cases connect:
105
+ - **Includes:** UC-A contains UC-B as a substep
106
+ - **Extends:** UC-B adds optional behavior to UC-A
107
+ - **Follows/Precedes:** Temporal ordering (UC-A typically happens before UC-B)
108
+
109
+ #### 2b: Expert Use Case Discovery
110
+
111
+ Invoke the `arn-spark-product-strategist` agent via the Task tool, passing the model from `.arness/agent-models/spark.md` as the `model` parameter (see `plugins/arn-spark/skills/arn-spark-ensure-config/references/ensure-config.md` "Dispatch convention" for fallback). Context:
112
+ - The product concept document
113
+ - The initial actor and use case extraction from Step 2a
114
+ - Product pillars (if present in the product concept)
115
+ - Instructions: "Review this initial actor and use case catalog from a business perspective. Identify: (1) Missing actors — are there stakeholders, external systems, or participant roles not captured? (2) Missing use cases — are there business processes, capabilities described in the product concept, or product pillar implications that do not have a corresponding use case? (3) Priority concerns — are any use cases mislabeled as must-have or should-have? (4) Scope concerns — are any proposed use cases out of scope for v1? Do not draft use case details — just identify what is missing or needs adjustment. Return a list of suggested additions and corrections."
116
+
117
+ Then invoke the `arn-spark-ux-specialist` agent via the Task tool, passing the model from `.arness/agent-models/spark.md` as the `model` parameter (see `plugins/arn-spark/skills/arn-spark-ensure-config/references/ensure-config.md` "Dispatch convention" for fallback). Context:
118
+ - The product concept document
119
+ - The initial actor and use case extraction from Step 2a
120
+ - Existing prototype screens (if available)
121
+ - Instructions: "Review this initial actor and use case catalog from a user experience perspective. Identify: (1) Missing user goals — are there interaction patterns, user journeys, or common user needs not captured? Think about first-run experience, error recovery, settings management, and lifecycle events (install, update, uninstall). (2) Missing actors — are there user roles or external systems that participate in UX flows but are not listed? (3) Granularity concerns — are any proposed use cases too broad (should split) or too narrow (should merge)? (4) Missing interaction patterns — cancel, undo, timeout, retry, empty states, accessibility needs. Do not draft use case details — just identify what is missing or needs adjustment. Return a list of suggested additions and corrections."
122
+
123
+ If `arn-spark-ux-specialist` is unavailable, proceed with the product strategist's suggestions only. Note the limitation.
124
+
125
+ #### 2c: Merge and Present Consolidated Catalog
126
+
127
+ Merge the initial extraction with expert suggestions:
128
+ - Add any actors or use cases both experts agree are missing
129
+ - Add any actors or use cases one expert raised that do not conflict with the other
130
+ - Note any disagreements (one expert suggests adding something the other considers out of scope) — present these to the user for resolution
131
+ - Apply priority corrections if both experts agree
132
+
133
+ Present the consolidated actor catalog and proposed use case catalog:
134
+
135
+ "Based on your product concept and expert analysis, here are the actors and use cases identified:
136
+
137
+ [If experts contributed additions:] The product strategist suggested [N] additions (business processes, missing actors) and the UX specialist suggested [M] additions (user flows, interaction patterns). These are marked with their source below.
138
+
139
+ **Actors:**
140
+ | Actor | Type | Description | Source |
141
+ |-------|------|-------------|--------|
142
+ | [Name] | Primary | [brief description] | Initial |
143
+ | [Name] | Secondary | [brief description] | Product strategist |
144
+ | [Name] | Supporting | [brief description] | UX specialist |
145
+
146
+ **Proposed Use Cases:**
147
+ | UC-ID | Title | Primary Actor | Level | Priority | Source | Notes |
148
+ |-------|-------|---------------|-------|----------|--------|-------|
149
+ | UC-001 | [Title] | [Actor] | User Goal | Must-have | Initial | [brief note] |
150
+ | UC-002 | [Title] | [Actor] | User Goal | Must-have | Product strategist | [brief note] |
151
+ | UC-003 | [Title] | [Actor] | Subfunction | Should-have | UX specialist | [included by UC-001, UC-002] |
152
+ | ... | ... | ... | ... | ... | ... | ... |
153
+
154
+ **Relationships:**
155
+ ```
156
+ UC-001 [Title]
157
+ |-- includes UC-003 [Title]
158
+ +-- follows --> UC-002 [Title]
159
+
160
+ UC-002 [Title]
161
+ +-- extended by UC-004 [Title]
162
+ ```
163
+
164
+ [If disagreements exist:] **Needs your input:**
165
+ - [Expert A] suggests [addition/change] because [reason]. [Expert B] considers it [out of scope / too granular / etc.] because [reason]. What do you think?
166
+
167
+ Adjust actors, use cases, priorities, or relationships before I proceed."
168
+
169
+ Wait for user confirmation or adjustments. The user may add, remove, rename, re-prioritize, or restructure the catalog. The user has final authority — expert suggestions are recommendations, not mandates.
170
+
171
+ ### Step 3: Draft All Use Cases (Parallel)
172
+
173
+ Draft use cases in parallel by invoking multiple `arn-spark-use-case-writer` agents simultaneously. Each writer receives the full shared context but is assigned a subset of use cases to write.
174
+
175
+ **Grouping strategy:**
176
+ - Group use cases that have direct includes/extends relationships into clusters (e.g., if UC-001 includes UC-005, they go to the same writer). This keeps closely related use cases together for consistent cross-referencing.
177
+ - Independent use cases (no includes/extends relationship to other UCs) can each be assigned to their own writer or batched into small groups of 2-3.
178
+ - Aim for 3-5 parallel writer invocations. For small catalogs (5 or fewer use cases), a single writer is fine.
179
+
180
+ **Each writer receives:**
181
+ - **Product concept:** document path
182
+ - **Actor catalog:** the confirmed actor table
183
+ - **Use case catalog:** the FULL confirmed catalog with all relationships (not just the assigned subset)
184
+ - **Assigned use cases:** the specific UC-IDs this writer should draft
185
+ - **Use case template:** `${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-use-cases/references/use-case-template.md`
186
+ - **Output directory:** `use-cases/`
187
+ - **Existing prototype screens (if any):** paths to prototype directories
188
+ - **Architecture vision (if available):** for system capability context
189
+
190
+ After all parallel writers complete, invoke one final `arn-spark-use-case-writer` agent via the Task tool, passing the model from `.arness/agent-models/spark.md` as the `model` parameter (see `plugins/arn-spark/skills/arn-spark-ensure-config/references/ensure-config.md` "Dispatch convention" for fallback). Context:
191
+ - **Index template:** `${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-use-cases/references/use-case-index-template.md`
192
+ - **Output directory:** `use-cases/`
193
+ - **Product concept:** document path
194
+ - **Actor catalog and use case catalog:** for populating the index
195
+ - Instruction: "Write only the README index. All use case files already exist."
196
+
197
+ Present a brief summary: "**[N] use cases drafted.** Files written to `use-cases/`. Starting expert review."
198
+
199
+ ### Step 4: Product Strategist Review (Batch)
200
+
201
+ Read the review protocol for the team process:
202
+ > Read `${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-use-cases/references/review-protocol.md`
203
+
204
+ Create the `[use-cases-dir]/reviews/` directory if it does not exist.
205
+
206
+ Invoke the `arn-spark-product-strategist` agent via the Task tool, passing the model from `.arness/agent-models/spark.md` as the `model` parameter (see `plugins/arn-spark/skills/arn-spark-ensure-config/references/ensure-config.md` "Dispatch convention" for fallback). Context:
207
+ - All drafted use case content (read each file and provide the content)
208
+ - Product concept for context
209
+ - Actor catalog
210
+ - Expert review template path: `${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-use-cases/references/expert-review-template.md`
211
+ - File path to write to: `[use-cases-dir]/reviews/round-1-business-review.md`
212
+ - Review focus instructions: "Review these use cases from a business perspective. For each use case, assess: Is the goal business-relevant and aligned with the product concept? Is the actor correct? Are the priority and level appropriate? Are there missing alternate flows from a business perspective (policy limits, resource constraints, edge cases)? Are business rules complete? Cross-cutting: are there missing actors or missing use cases for capabilities in the product concept? Is scope appropriate? Write your complete review to the specified file path using the expert review template. Return a brief summary in conversation."
213
+
214
+ After the strategist completes, read the review file at the specified path to extract the full feedback.
215
+
216
+ ### Step 5: UX Specialist Review (Batch)
217
+
218
+ Invoke the `arn-spark-ux-specialist` agent via the Task tool, passing the model from `.arness/agent-models/spark.md` as the `model` parameter (see `plugins/arn-spark/skills/arn-spark-ensure-config/references/ensure-config.md` "Dispatch convention" for fallback). Context:
219
+ - All drafted use case content
220
+ - Product concept for context
221
+ - Existing prototype screens (if available)
222
+ - Expert review template path: `${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-use-cases/references/expert-review-template.md`
223
+ - File path to write to: `[use-cases-dir]/reviews/round-1-flow-review.md`
224
+ - Review focus instructions: "Review these use cases from a user experience perspective. For each use case, assess: Is the main success scenario natural from the actor's perspective? Are steps at the right granularity? Are common interaction patterns covered (cancel, undo, timeout, retry, empty states)? Are error recovery flows present for likely failures? Is accessibility considered? Do preconditions and postconditions make sense as observable states? Are related use cases properly connected? Cross-cutting: is step granularity consistent across use cases? Write your complete review to the specified file path using the expert review template. Return a brief summary in conversation."
225
+
226
+ If `arn-spark-ux-specialist` is unavailable: proceed with product strategist feedback only. Note the limitation: "UX specialist was unavailable. Review is based on product strategist feedback only."
227
+
228
+ After the UX specialist completes, read the review file at the specified path to extract the full feedback.
229
+
230
+ ### Step 6: Revise All Use Cases (Batch)
231
+
232
+ Read the review files written by the experts (not from conversation context):
233
+ - `[use-cases-dir]/reviews/round-N-business-review.md`
234
+ - `[use-cases-dir]/reviews/round-N-flow-review.md`
235
+
236
+ Combine feedback from both review files into a consolidated per-use-case list. For each use case, merge product strategist and UX specialist feedback items.
237
+
238
+ **If feedback conflicts exist** (one expert says something contradicts the other), present the conflict to the user for resolution before sending to the writer:
239
+
240
+ "Expert feedback conflict on **UC-NNN [Title]**:
241
+ - **Product strategist:** [position]
242
+ - **UX specialist:** [position]
243
+
244
+ Which direction should the use case take?"
245
+
246
+ Once conflicts are resolved, revise use cases in parallel using the same grouping strategy as Step 3. Each `arn-spark-use-case-writer` receives:
247
+ - **Existing draft paths:** the current use case files for its assigned UC-IDs
248
+ - **Combined per-use-case feedback:** only the feedback for its assigned UCs
249
+ - **Use case catalog:** the FULL catalog (for cross-reference awareness)
250
+ - **Use case template:** (same path)
251
+ - **Output directory:** `use-cases/` (overwrites existing files)
252
+
253
+ After all parallel writers complete, invoke one final writer to update the README index.
254
+
255
+ #### Step 6b: Convergence Check
256
+
257
+ Evaluate the writer's revision report against the convergence criteria in the review protocol:
258
+
259
+ **Proceed to Step 7 (convergence reached) when:**
260
+ - No missing actors flagged by either reviewer
261
+ - No missing use cases flagged
262
+ - No goals challenged as fundamentally wrong
263
+ - All feedback was refinement-level (wording, granularity, additional extensions)
264
+ - No conflicting business rules remain
265
+
266
+ **Trigger one more review round (repeat Steps 4-6) when ANY of these exist:**
267
+ - A reviewer flagged a missing actor that was not added
268
+ - A reviewer flagged a missing use case that was not created
269
+ - A use case goal was challenged and not resolved
270
+ - Business rules conflict between use cases
271
+ - The writer reported feedback that could not be addressed
272
+
273
+ Maximum 2 review rounds total. This keeps total agent invocations to 4-7.
274
+
275
+ Present the revision summary: "[N] use cases revised based on expert feedback. [Summary of major changes]. [Review round status: complete / one more round needed]."
276
+
277
+ ### Step 7: User Review
278
+
279
+ Present the final use case catalog:
280
+
281
+ "**Use case authoring complete.**
282
+
283
+ **Summary:**
284
+ - **Use cases:** [N] total ([X] user-goal, [Y] subfunction, [Z] summary)
285
+ - **Actors:** [N] actors ([X] primary, [Y] secondary, [Z] supporting)
286
+ - **Review rounds:** [N]
287
+
288
+ **Use Case Catalog:**
289
+ | UC-ID | Title | Actor | Level | Priority | Status |
290
+ |-------|-------|-------|-------|----------|--------|
291
+ | UC-001 | [Title] | [Actor] | User Goal | Must-have | Final |
292
+ | UC-002 | [Title] | [Actor] | User Goal | Should-have | Final |
293
+ | ... | ... | ... | ... | ... | ... |
294
+
295
+ All files are in the `use-cases/` directory. Read any use case: `use-cases/UC-001-device-pairing.md`.
296
+
297
+ Ask the user:
298
+
299
+ **"What would you like to do?"**
300
+
301
+ Options:
302
+ 1. **Adjust a specific use case** — Tell me which one and what to change
303
+ 2. **Add new use cases** — I will extend the catalog
304
+ 3. **Proceed** — Use cases are complete"
305
+
306
+ If the user wants adjustments: invoke `arn-spark-use-case-writer` with the specific use case and the user's change request.
307
+ If the user wants new use cases: return to Step 2 with the additions (existing use cases are preserved).
308
+ If the user is satisfied: proceed to Step 8.
309
+
310
+ ### Step 8: Recommend Next Steps
311
+
312
+ "Use cases saved to `use-cases/`.
313
+
314
+ These use cases are now available as input for downstream skills:
315
+ 1. **Scaffold the project:** Run `/arn-spark-scaffold` to set up the development skeleton
316
+ 2. **Explore visual style:** Run `/arn-spark-style-explore` to establish the visual direction
317
+ 3. **Prototype the UI:** Run `/arn-spark-clickable-prototype` -- use cases will enrich screen derivation and replace manually defined journeys
318
+ 4. **Extract features:** Run `/arn-spark-feature-extract` -- use cases provide structured behavioral specs for richer feature extraction
319
+
320
+ Use cases are living documents. As the project evolves, run `/arn-spark-use-cases` again to add or revise them."
321
+
322
+ ## Agent Invocation Guide
323
+
324
+ | Situation | Action |
325
+ |-----------|--------|
326
+ | Expert use case discovery (Step 2b) | Invoke `arn-spark-product-strategist` with product concept + initial catalog for missing actors/use cases from business perspective. Then invoke `arn-spark-ux-specialist` with same + screen refs for missing user flows and interaction patterns. |
327
+ | Draft all use cases (Step 3) | 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. |
328
+ | Product strategist review (Step 4) | Invoke `arn-spark-product-strategist` with all UC content, business review focus instructions, expert review template path, and file path to write to (`reviews/round-N-business-review.md`). Read the file after completion. |
329
+ | UX specialist review (Step 5) | Invoke `arn-spark-ux-specialist` with all UC content, screen refs, flow review focus instructions, expert review template path, and file path to write to (`reviews/round-N-flow-review.md`). Read the file after completion. |
330
+ | Revise all use cases (Step 6) | Invoke multiple `arn-spark-use-case-writer` agents in parallel, each with its assigned UC drafts + feedback. Then one final writer for the README index. |
331
+ | Second review round (Step 6b) | Repeat Steps 4-6 if convergence criteria not met. Max 2 rounds. |
332
+ | User requests specific UC adjustment (Step 7) | Invoke `arn-spark-use-case-writer` with the specific UC path and the user's change description |
333
+ | User wants to add new use cases | Return to Step 2 with additions to the catalog |
334
+ | User asks about technology choices | Defer: "Use cases describe behavior, not implementation. Technology choices are in `/arn-spark-arch-vision`." |
335
+ | 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." |
336
+ | User asks about features | Defer: "Feature extraction happens in `/arn-spark-feature-extract`, which will consume these use cases as input." |
337
+ | User asks about implementation specs | Defer: "Implementation specifications are created by `/arn-code-feature-spec`. Use cases provide the behavioral foundation that feature specs build on." |
338
+ | Product strategist returns vague feedback | 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." |
339
+ | UX specialist unavailable | Proceed with product strategist review only. Note the limitation in all subsequent summaries. |
340
+
341
+ ## Error Handling
342
+
343
+ - **No product concept found and user declines to describe:** Cannot proceed meaningfully. Suggest: "Run `/arn-spark-discover` first to define what you are building."
344
+ - **Product concept is very brief:** Proceed but warn: "The product concept has limited detail. Use cases may be thin and need more revision. Consider expanding the product concept with `/arn-spark-discover` first."
345
+ - **arn-spark-use-case-writer fails to write files:** Print the use case content in conversation so the user can copy it manually. Suggest checking file permissions or the output directory path.
346
+ - **arn-spark-product-strategist returns unhelpful review:** Re-invoke with more specific instructions referencing the review protocol format. If still unhelpful, proceed to UX specialist review and note the limitation.
347
+ - **arn-spark-ux-specialist unavailable:** Proceed with product strategist review only. Note the limitation. The review will be less thorough on flow quality and interaction completeness.
348
+ - **User cancels mid-process:** Inform the user that partial use case files exist in `use-cases/` and they can resume later by running `/arn-spark-use-cases` again.
349
+ - **Very large number of use cases (>15):** Warn the user: "This is a large number of use cases, which increases review time and token cost. I recommend focusing on must-have use cases first and adding should-have and nice-to-have in a follow-up run."
350
+ - **Expert feedback conflicts:** Present the specific conflict to the user with both positions. User resolves before the writer revises.
351
+ - **Revision introduces new issues:** Caught by the second review round (Step 6b). Maximum 2 rounds prevents infinite loops.
352
+ - **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?"
353
+ - **Product strategist returns no suggestions in Step 2b:** The initial extraction was already comprehensive. Proceed with the initial catalog.
354
+ - **UX specialist unavailable in Step 2b:** Proceed with the initial extraction + product strategist suggestions only. Note the limitation — user flow gaps may be caught later during the UX review in Step 5.
355
+ - **Use case level ambiguity:** Default to user-goal level. Only create subfunction use cases when a substep is clearly reused by 2+ user-goal use cases and is complex enough to warrant its own document.
356
+ - **Prototype screens change after use cases are written:** Use cases remain valid because they describe behavior, not screens. Screen references can be updated by running `/arn-spark-use-cases` again with the "Continue" option.
357
+ - **Writing the index/README fails:** Print the index content in conversation so the user can save it manually.
358
+ - **User wants to add a use case during review (Steps 4-6):** Accept the addition. Add it to the catalog and include it in the current or next writer invocation.
359
+ - **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.
@@ -0,0 +1,94 @@
1
+ # Expert Review Template
2
+
3
+ This template defines the file format that expert agents (arn-spark-product-strategist, arn-spark-ux-specialist) use when writing their use case review reports to disk. Writing reviews to files ensures they survive context compression and provides a full audit trail.
4
+
5
+ ## File Naming Convention
6
+
7
+ All review files go in `[use-cases-dir]/reviews/`. Create the directory if it does not exist.
8
+
9
+ ### arn-spark-use-cases (independent reviews, no debate)
10
+
11
+ ```
12
+ reviews/
13
+ ├── round-N-business-review.md ← Product strategist review
14
+ └── round-N-flow-review.md ← UX specialist review (if available)
15
+ ```
16
+
17
+ ### arn-spark-use-cases-teams (debate reviews)
18
+
19
+ ```
20
+ reviews/
21
+ ├── round-N-business-review.md ← Product strategist Phase 1
22
+ ├── round-N-flow-review.md ← UX specialist Phase 1 (+Phase 2 in sequential mode)
23
+ ├── round-N-business-cross-review.md ← Product strategist Phase 2 response
24
+ ├── round-N-flow-cross-review.md ← UX specialist Phase 2 response (Agent Teams mode only)
25
+ ├── round-N-review-report.md ← Synthesized debate report (written by skill)
26
+ └── final-report.md ← Aggregated final report (written by skill)
27
+ ```
28
+
29
+ ## Template
30
+
31
+ When an expert writes their review, the file must follow this structure:
32
+
33
+ ```markdown
34
+ # Expert Review: Round [N] — [Business Reviewer / Flow Reviewer]
35
+
36
+ **Agent:** [arn-spark-product-strategist / arn-spark-ux-specialist]
37
+ **Phase:** [Phase 1: Independent Review / Phase 2: Cross-Review / Phase 1 + Phase 2 Combined]
38
+ **Mode:** [Sequential / Agent Teams / Single-Reviewer / Independent]
39
+ **Use cases reviewed:** [count]
40
+
41
+ ---
42
+
43
+ ## Per-Use-Case Feedback
44
+
45
+ **UC-NNN: [Title]**
46
+ - **[Critical]:** [Specific observation] --> [Specific suggestion]
47
+ - **[Minor]:** [Specific observation] --> [Specific suggestion]
48
+
49
+ [Repeat for each use case with findings. Use cases with no findings may be omitted.]
50
+
51
+ ## Cross-Cutting Observations
52
+
53
+ - **Missing use case:** [Description of what behavior is not captured]
54
+ - **Missing actor:** [Who is not represented and what they do]
55
+ - **Scope concern:** [What appears out of scope or missing from scope]
56
+ - **Consistency issue:** [What is inconsistent across use cases]
57
+
58
+ [For Phase 2 cross-review, add the following section after the above:]
59
+
60
+ ## Cross-Review Response
61
+
62
+ ### Response to [Business/Flow] Reviewer's Findings
63
+
64
+ **UC-NNN: [Title]**
65
+ - **Agree:** [item from other expert] -- [supporting reason or additional evidence]
66
+ - **Disagree:** [item from other expert] -- [counterargument with specific reasoning]
67
+ - **New concern prompted:** [description of something their finding revealed]
68
+
69
+ ### Response to Cross-Cutting Observations
70
+ - **Agree:** [item] -- [reason]
71
+ - **Disagree:** [item] -- [counterargument]
72
+ - **New concern prompted:** [description]
73
+ ```
74
+
75
+ ## Instructions for Expert Agents
76
+
77
+ When instructed to write a review:
78
+
79
+ 1. Read all use case files provided
80
+ 2. Perform the review according to your focus area
81
+ 3. Read this template to understand the expected format
82
+ 4. Write your review to the file path specified by the caller
83
+ 5. Return a brief summary in conversation (what you reviewed, how many findings, key concerns) — the full detail is in the file
84
+
85
+ The file contains the COMPLETE review. The conversation summary is just an acknowledgment — downstream steps read from the file, not from the conversation.
86
+
87
+ ## Instructions for the Skill (Facilitator)
88
+
89
+ When orchestrating expert reviews:
90
+
91
+ 1. Tell each expert agent the exact file path to write to and the path to this template
92
+ 2. When invoking the next expert (cross-review), tell it to READ the previous expert's file — pass the file path, not the file content
93
+ 3. When synthesizing the debate report, read ALL review files from the current round
94
+ 4. Never rely on the expert's conversation summary for synthesis — always read the file
@@ -0,0 +1,150 @@
1
+ # Use Case Review Protocol
2
+
3
+ This document defines the team review process for use case documents. The `arn-spark-use-cases` skill follows this protocol to coordinate expert reviews and writer revisions efficiently while keeping token costs manageable.
4
+
5
+ ## Team Roles
6
+
7
+ | Role | Agent | Perspective |
8
+ |------|-------|-------------|
9
+ | Writer | `arn-spark-use-case-writer` | Drafts and revises use case documents in Cockburn format |
10
+ | Business Reviewer | `arn-spark-product-strategist` | Business relevance, scope alignment, actor/goal accuracy, priority |
11
+ | Flow Reviewer | `arn-spark-ux-specialist` | Flow quality, user-friendliness, interaction completeness, accessibility |
12
+
13
+ The skill acts as the **facilitator**: it does not participate in the review but orchestrates the agents, combines feedback, checks convergence, and presents results to the user.
14
+
15
+ ## Review Process
16
+
17
+ ### Round 1: Draft + Full Review
18
+
19
+ **Step 1: Writer drafts all use cases** (1 invocation)
20
+ - Reads product concept, templates, and any existing screen references
21
+ - Writes all UC files and the README index
22
+ - Reports gaps and assumptions made during drafting
23
+
24
+ **Step 2: Business reviewer reviews all use cases** (1 invocation)
25
+
26
+ Focus areas:
27
+ - Are all business-relevant actors identified?
28
+ - Does each use case goal align with the product concept's stated capabilities?
29
+ - Are priorities consistent with product scope boundaries (v1 vs. future)?
30
+ - Are there missing use cases for capabilities described in the product concept?
31
+ - Do extensions cover business-relevant exceptions (payment failures, policy violations, resource limits)?
32
+ - Are business rules complete, correct, and specific to each use case?
33
+ - Is scope appropriate -- no use cases that exceed the product concept's boundaries?
34
+ - Do the use case levels make sense (are subfunctions actually reused, are user goals actually what a user sits down to do)?
35
+
36
+ **File output:** The business reviewer writes its review to `[use-cases-dir]/reviews/round-N-business-review.md` using the expert review template (`${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-use-cases/references/expert-review-template.md`). The skill tells the agent the exact file path and template path. The agent returns a brief summary in conversation — the full review is in the file.
37
+
38
+ **Step 3: Flow reviewer reviews all use cases** (1 invocation)
39
+
40
+ Focus areas:
41
+ - Is the main success scenario natural from the actor's perspective?
42
+ - Are actor-system steps at the right granularity (not too detailed, not too vague)?
43
+ - Are common interaction patterns covered? Specifically:
44
+ - Cancel/abort at reasonable points
45
+ - Undo or back-navigation where applicable
46
+ - Timeout or inactivity handling
47
+ - Retry after failure
48
+ - Empty states (no items found, no devices available)
49
+ - Are error recovery flows present for likely failures?
50
+ - Is accessibility considered (alternative interaction paths, non-visual feedback)?
51
+ - Do preconditions and postconditions make sense as observable, verifiable states?
52
+ - Are related use cases properly connected (bidirectional references)?
53
+ - Is step granularity consistent across use cases (one UC has 4 steps while a similar one has 12)?
54
+
55
+ **File output:** The flow reviewer writes its review to `[use-cases-dir]/reviews/round-N-flow-review.md` using the same expert review template. The skill tells the agent the exact file path and template path.
56
+
57
+ **Step 4: Writer revises all use cases** (1 invocation)
58
+ - The skill reads the review files written by the experts (not from conversation context)
59
+ - Combines feedback from both review files into a consolidated per-use-case list
60
+ - Sends combined feedback to the writer
61
+ - Writer applies changes to all use case files
62
+ - Updates README index if relationships or actors changed
63
+ - Reports: changes made per UC, any feedback that could not be fully addressed, any conflicting feedback between reviewers
64
+
65
+ ### Round 2: Convergence Check (Conditional)
66
+
67
+ The skill evaluates the writer's revision report to decide whether a second round is needed.
68
+
69
+ **Proceed without Round 2 (convergence reached) when:**
70
+ - No missing actors were flagged by either reviewer
71
+ - No missing use cases were flagged
72
+ - No use case goals were challenged as fundamentally wrong or out of scope
73
+ - All feedback was refinement-level: wording improvements, additional extensions, granularity adjustments, minor precondition/postcondition fixes
74
+ - No conflicting business rules between use cases remain unresolved
75
+
76
+ **Trigger Round 2 when ANY of these exist after revision:**
77
+ - A reviewer flagged a missing actor that was not added
78
+ - A reviewer flagged a missing use case that was not created
79
+ - A use case goal was challenged as wrong or out of scope and was not resolved
80
+ - Business rules conflict between use cases (e.g., UC-001 says max 4 participants, UC-002 says max 8)
81
+ - The writer reported feedback items that could not be addressed
82
+
83
+ **Round 2 steps** (if triggered):
84
+
85
+ **Step 5: Business reviewer re-reviews** (1 invocation)
86
+ - Focuses only on previously flagged critical issues
87
+ - Verifies that major concerns from Round 1 were addressed
88
+ - May flag NEW issues discovered in the revisions
89
+ - Writes review to `[use-cases-dir]/reviews/round-N-business-review.md` (N=2 for Round 2)
90
+
91
+ **Step 6: Flow reviewer re-reviews** (1 invocation)
92
+ - Focuses only on previously flagged critical issues
93
+ - Verifies that flow concerns were addressed
94
+ - May flag new issues in revised flows
95
+ - Writes review to `[use-cases-dir]/reviews/round-N-flow-review.md` (N=2 for Round 2)
96
+
97
+ **Step 7: Writer applies final revisions** (1 invocation)
98
+ - The skill reads the Round 2 review files written by the experts
99
+ - Addresses Round 2 feedback
100
+ - Updates all affected files
101
+
102
+ ### Maximum Invocations
103
+
104
+ | Scenario | Writer | Strategist | UX Specialist | Total |
105
+ |----------|--------|-----------|---------------|-------|
106
+ | Single review round (no structural issues) | 2 | 1 | 1 | 4 |
107
+ | Two review rounds (structural issues found) | 2 | 2 | 2 | 6-7* |
108
+
109
+ *The writer's final revision in Round 2 is the 7th invocation. If only one reviewer triggered Round 2, the other reviewer may be skipped in Round 2, reducing to 6.
110
+
111
+ The process never exceeds 7 agent invocations.
112
+
113
+ ## Feedback Format
114
+
115
+ Expert reviewers should structure their feedback as follows:
116
+
117
+ ### Per-Use-Case Feedback
118
+
119
+ ```markdown
120
+ **UC-NNN: [Title]**
121
+ - **[Critical]:** [Specific observation] --> [Specific suggestion]
122
+ - **[Minor]:** [Specific observation] --> [Specific suggestion]
123
+ ```
124
+
125
+ **Critical** feedback indicates issues that affect the use case's correctness, completeness, or alignment with the product concept. These MUST be addressed.
126
+
127
+ **Minor** feedback indicates improvements to clarity, granularity, or style. These SHOULD be addressed but are not blockers.
128
+
129
+ ### Cross-Cutting Feedback
130
+
131
+ ```markdown
132
+ **Missing use case:** [Description of what behavior is not captured by any existing use case]
133
+ **Missing actor:** [Who is not represented in the actor catalog and what they do]
134
+ **Scope concern:** [What appears to be out of scope or missing from scope relative to the product concept]
135
+ **Consistency issue:** [What is inconsistent across use cases -- step granularity, terminology, business rules, actor naming]
136
+ ```
137
+
138
+ Cross-cutting feedback is addressed by the writer across all affected use cases, not in a single UC.
139
+
140
+ ## Skill's Facilitation Responsibilities
141
+
142
+ The `arn-spark-use-cases` skill (not the agents) is responsible for:
143
+
144
+ 1. **Telling each expert where to write:** Provide the exact file path and template path when invoking each expert. Create the `[use-cases-dir]/reviews/` directory if it does not exist.
145
+ 2. **Reading review files:** After each expert completes, read the review file (not the conversation summary) to extract feedback.
146
+ 3. **Combining feedback:** Merge per-UC feedback from both review files into a single combined list per UC before sending to the writer.
147
+ 4. **Flagging conflicts:** If both reviewers give contradictory feedback on the same UC, note the conflict and present it to the user for resolution before sending to the writer.
148
+ 5. **Convergence decision:** Evaluate the writer's revision report against the convergence criteria above.
149
+ 6. **User communication:** Present review summaries and revision results to the user between rounds.
150
+ 7. **Budget management:** Never exceed 2 review rounds (7 invocations).