From arn-spark
This skill should be used when the user says "use cases", "arn use cases", "write use cases", "define use cases", "Cockburn use cases", "actor goals", "behavioral requirements", "system behavior", "what does the app do", "describe the behavior", "use case document", "document the behavior", "define system behavior", or wants to create structured use case documents that describe the application's behavior from actor perspectives, producing a use-cases/ directory with individual Cockburn fully-dressed use case files and a README index.
npx claudepluginhub appsvortex/arness --plugin arn-sparkThis skill uses the workspace's default tool permissions.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Implements structured self-debugging workflow for AI agent failures: capture errors, diagnose patterns like loops or context overflow, apply contained recoveries, and generate introspection reports.
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).
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.
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.
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.
The following artifacts inform the use cases. Check in order:
Determine the use cases output directory:
CLAUDE.md and check for a ## Arness section## 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.All references to
use-cases/in this skill refer to the configured use cases directory determined above.
Product concept (strongly recommended):
CLAUDE.md for a ## Arness section. If found, look for a Vision Directory field and check that directory for product-concept.md## Arness section found, check .arness/vision/product-concept.md at the project rootIf a product concept is found: Use it as the primary source for actors, goals, and use case derivation.
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."
Architecture vision (optional):
## Arness section) for architecture-vision.md## Arness section found, check .arness/vision/architecture-vision.md at the project rootIf found: use for understanding system capabilities, constraints, and platform scope.
Existing prototype screens (optional):
## Arness section (default: .arness/prototypes)[prototypes-dir]/clickable/ directories[prototypes-dir]/static/ directories[prototypes-dir]/clickable/screen-list.md (if clickable prototype was run)If found: screen references can enrich use case steps with concrete screen paths.
Style brief is NOT needed. Use cases describe behavior, not visual presentation.
Check for existing use case output:
use-cases/README.md at the project rootuse-cases/UC-*.md filesIf existing use cases found:
Ask (using AskUserQuestion):
"I found an existing use cases directory with [N] use case files. Which would you prefer?"
Options:
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).
If no existing use cases: Proceed to Step 2.
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.
Load the product concept and perform an initial extraction of actors and use cases.
Actors: Identify all entities that interact with the system:
Use cases: For each actor, identify their goals. Each distinct goal becomes a candidate use case. Organize by level:
Relationships: Identify how use cases connect:
Invoke arn-spark-product-strategist with:
Then invoke arn-spark-ux-specialist with:
If arn-spark-ux-specialist is unavailable, proceed with the product strategist's suggestions only. Note the limitation.
Merge the initial extraction with expert suggestions:
Present the consolidated actor catalog and proposed use case catalog:
"Based on your product concept and expert analysis, here are the actors and use cases identified:
[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.
Actors:
| Actor | Type | Description | Source |
|---|---|---|---|
| [Name] | Primary | [brief description] | Initial |
| [Name] | Secondary | [brief description] | Product strategist |
| [Name] | Supporting | [brief description] | UX specialist |
Proposed Use Cases:
| UC-ID | Title | Primary Actor | Level | Priority | Source | Notes |
|---|---|---|---|---|---|---|
| UC-001 | [Title] | [Actor] | User Goal | Must-have | Initial | [brief note] |
| UC-002 | [Title] | [Actor] | User Goal | Must-have | Product strategist | [brief note] |
| UC-003 | [Title] | [Actor] | Subfunction | Should-have | UX specialist | [included by UC-001, UC-002] |
| ... | ... | ... | ... | ... | ... | ... |
Relationships:
UC-001 [Title]
|-- includes UC-003 [Title]
+-- follows --> UC-002 [Title]
UC-002 [Title]
+-- extended by UC-004 [Title]
[If disagreements exist:] Needs your input:
Adjust actors, use cases, priorities, or relationships before I proceed."
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.
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.
Grouping strategy:
Each writer receives:
${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-use-cases/references/use-case-template.mduse-cases/After all parallel writers complete, invoke one final arn-spark-use-case-writer with:
${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-use-cases/references/use-case-index-template.mduse-cases/Present a brief summary: "[N] use cases drafted. Files written to use-cases/. Starting expert review."
Read the review protocol for the team process:
Read
${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-use-cases/references/review-protocol.md
Create the [use-cases-dir]/reviews/ directory if it does not exist.
Invoke arn-spark-product-strategist with:
${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-use-cases/references/expert-review-template.md[use-cases-dir]/reviews/round-1-business-review.mdAfter the strategist completes, read the review file at the specified path to extract the full feedback.
Invoke arn-spark-ux-specialist with:
${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-use-cases/references/expert-review-template.md[use-cases-dir]/reviews/round-1-flow-review.mdIf 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."
After the UX specialist completes, read the review file at the specified path to extract the full feedback.
Read the review files written by the experts (not from conversation context):
[use-cases-dir]/reviews/round-N-business-review.md[use-cases-dir]/reviews/round-N-flow-review.mdCombine feedback from both review files into a consolidated per-use-case list. For each use case, merge product strategist and UX specialist feedback items.
If feedback conflicts exist (one expert says something contradicts the other), present the conflict to the user for resolution before sending to the writer:
"Expert feedback conflict on UC-NNN [Title]:
Which direction should the use case take?"
Once conflicts are resolved, revise use cases in parallel using the same grouping strategy as Step 3. Each arn-spark-use-case-writer receives:
use-cases/ (overwrites existing files)After all parallel writers complete, invoke one final writer to update the README index.
Evaluate the writer's revision report against the convergence criteria in the review protocol:
Proceed to Step 7 (convergence reached) when:
Trigger one more review round (repeat Steps 4-6) when ANY of these exist:
Maximum 2 review rounds total. This keeps total agent invocations to 4-7.
Present the revision summary: "[N] use cases revised based on expert feedback. [Summary of major changes]. [Review round status: complete / one more round needed]."
Present the final use case catalog:
"Use case authoring complete.
Summary:
Use Case Catalog:
| UC-ID | Title | Actor | Level | Priority | Status |
|---|---|---|---|---|---|
| UC-001 | [Title] | [Actor] | User Goal | Must-have | Final |
| UC-002 | [Title] | [Actor] | User Goal | Should-have | Final |
| ... | ... | ... | ... | ... | ... |
All files are in the use-cases/ directory. Read any use case: use-cases/UC-001-device-pairing.md.
Ask (using AskUserQuestion):
"What would you like to do?"
Options:
If the user wants adjustments: invoke arn-spark-use-case-writer with the specific use case and the user's change request.
If the user wants new use cases: return to Step 2 with the additions (existing use cases are preserved).
If the user is satisfied: proceed to Step 8.
"Use cases saved to use-cases/.
These use cases are now available as input for downstream skills:
/arn-spark-scaffold to set up the development skeleton/arn-spark-style-explore to establish the visual direction/arn-spark-clickable-prototype -- use cases will enrich screen derivation and replace manually defined journeys/arn-spark-feature-extract -- use cases provide structured behavioral specs for richer feature extractionUse cases are living documents. As the project evolves, run /arn-spark-use-cases again to add or revise them."
| Situation | Action |
|---|---|
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| Second review round (Step 6b) | Repeat Steps 4-6 if convergence criteria not met. Max 2 rounds. |
| User requests specific UC adjustment (Step 7) | Invoke arn-spark-use-case-writer with the specific UC path and the user's change description |
| User wants to add new use cases | Return to Step 2 with additions to the catalog |
| User asks about technology choices | Defer: "Use cases describe behavior, not implementation. Technology choices are in /arn-spark-arch-vision." |
| 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." |
| User asks about features | Defer: "Feature extraction happens in /arn-spark-feature-extract, which will consume these use cases as input." |
| 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." |
| 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." |
| UX specialist unavailable | Proceed with product strategist review only. Note the limitation in all subsequent summaries. |
/arn-spark-discover first to define what you are building."/arn-spark-discover first."use-cases/ and they can resume later by running /arn-spark-use-cases again./arn-spark-use-cases again with the "Continue" option.