@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,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).
|