From arn-spark
This skill should be used when the user says "concept review", "review concept", "update product concept", "synthesize stress tests", "stress test review", "apply stress test findings", "review stress test results", "concept update", "merge stress test recommendations", or wants to synthesize findings from completed stress tests into a reviewed and updated product concept document. Scans for stress test reports, consolidates recommendations, resolves conflicts using product pillars, presents the full changeset for user approval, and produces an updated product-concept.md alongside a concept-review-report.md.
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.
Synthesize findings from completed stress tests into an updated product concept. This skill scans for stress test reports, extracts their Recommended Concept Updates tables and Unresolved Questions, invokes the product strategist to consolidate and de-duplicate recommendations, resolves conflicts using product pillars, and presents the full proposed changeset to the user for approval before making any changes.
This is the only skill that modifies product-concept.md. All stress test skills are read-only with respect to the product concept -- they write recommendations to their reports, and this skill is the single point where those recommendations become actual changes, subject to explicit user approval.
The process:
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.stress-tests/ subdirectory does not exist, inform the user: "No stress-tests directory found. Run a stress test skill first to generate reports." (The stress test skills create this directory when writing their reports.)| Artifact | Status | Location | Fallback |
|---|---|---|---|
| Product concept | REQUIRED | <vision-dir>/product-concept.md | Cannot proceed without it -- suggest running /arn-spark-discover |
| Product pillars | REQUIRED | Product Pillars section of product concept | Cannot resolve conflicts without pillars -- suggest running /arn-spark-discover to define pillars |
| At least 1 stress test report | REQUIRED | <reports-dir>/stress-tests/ | Cannot proceed without at least one report -- see below |
| Competitive landscape | ENRICHES | Competitive Landscape section of product concept | Review proceeds but competitive context is unavailable for conflict resolution |
Stress test report detection:
Scan <reports-dir>/stress-tests/ for the following report files:
interview-report.md (from /arn-spark-stress-interview)competitive-report.md (from /arn-spark-stress-competitive)premortem-report.md (from /arn-spark-stress-premortem)prfaq-report.md (from /arn-spark-stress-prfaq)Present the scan results to the user:
"Found [N] stress test report(s):
Use ✓ for found reports and — for missing reports.
If 0 reports found:
Inform the user: "No stress test reports found in <reports-dir>/stress-tests/. Run at least one stress test skill before reviewing the concept."
List the available stress test skills:
/arn-spark-stress-interview -- Synthetic user interviews with adversarial personas/arn-spark-stress-competitive -- Competitive gap analysis/arn-spark-stress-premortem -- Pre-mortem failure investigation/arn-spark-stress-prfaq -- PR/FAQ marketing stress testDo not proceed. Exit the skill.
If 1 or more reports found: Proceed with the available reports.
Load the conflict resolution protocol and review report template:
Read
${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-concept-review/references/conflict-resolution-protocol.mdRead${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-concept-review/references/review-report-template.md
For each available stress test report:
<reports-dir>/stress-tests/Also read the current product concept from <vision-dir>/product-concept.md. Extract:
Invoke the arn-spark-product-strategist agent with:
--- PRODUCT CONCEPT --- [full product concept content] --- END PRODUCT CONCEPT ---
--- PRODUCT PILLARS --- [product pillars section content] --- END PRODUCT PILLARS ---
--- STRESS TEST RECOMMENDATIONS --- Source: [Report 1 name] [full Recommended Concept Updates table from report 1]
Source: [Report 2 name] [full Recommended Concept Updates table from report 2]
[... for all available reports] --- END STRESS TEST RECOMMENDATIONS ---
--- CONSOLIDATION TASK --- Follow the conflict resolution protocol:
Receive back the consolidated changeset with de-duplicated recommendations, detected conflicts with resolution assessments, and the organized section grouping.
Check the product concept content for signals that the UX specialist was involved in its creation:
Trigger condition: If ANY of these signals are present, invoke the UX specialist.
If UX signals are detected:
Identify which recommendations in the consolidated changeset affect UX-relevant sections (Core Experience, visual direction, interaction patterns, onboarding flows, accessibility). If any exist, invoke arn-spark-ux-specialist with:
--- PRODUCT CONCEPT --- [full product concept content] --- END PRODUCT CONCEPT ---
--- UX-RELEVANT CHANGES --- [subset of changeset recommendations that affect UX sections] --- END UX-RELEVANT CHANGES ---
--- UX REVIEW TASK --- Review the proposed changes to UX-relevant sections. For each change:
Incorporate the UX specialist's feedback into the changeset as supplementary notes alongside each relevant recommendation.
If no UX signals are detected: Skip this step entirely.
This is the mandatory user approval gate. No changes to the product concept are made without explicit user approval.
Present the full consolidated changeset to the user, organized by product concept section. For each recommendation, show:
For each conflict, show:
After presenting the changeset, also show the aggregated unresolved questions (de-duplicated across reports, with source attribution).
Then ask for the user's decision:
Ask (using AskUserQuestion): "How would you like to handle these [N] proposed changes?"
If the user chooses "Accept all": All non-conflicting changes are accepted as-is. For each conflict, accept the strategist's recommended resolution. Proceed to Step 6.
If the user chooses "Review by section": Present changes grouped by product concept section. For each section with changes:
Ask (using AskUserQuestion): "[Section Name] — [N] changes: [brief summary of changes]"
If Accept all or Reject all, record the batch decision and move to the next section. If Review individually, present each change in the section using the individual review pattern below. After all sections are reviewed, handle conflicts (same as individual review).
If the user chooses "Review individually": Present changes grouped by product concept section. For each change (or batch of related changes within a section):
Ask (using AskUserQuestion): "[Section Name] -- [Change summary]: [Type] -- [brief description]"
For conflicts, present both sides with the strategist's assessment:
Ask (using AskUserQuestion): "CONFLICT in [Section Name]: [Brief description]. The strategist recommends [recommended side]. How would you like to resolve this?"
If the user rejects ALL changes (every individual change rejected): Inform the user: "All proposed changes have been rejected. The product concept will not be modified. A review report will still be written documenting the stress test findings and your decisions." Skip the concept rename and rewrite in Step 6. Proceed directly to Step 7 to write the review report.
This step is skipped if the user rejected all changes.
6a. Read the product concept template:
Read
${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-discover/references/product-concept-template.md
This is the template that governs the structure of the product concept. The updated concept MUST preserve this template's section structure exactly.
6b. Rename the original concept:
Rename <vision-dir>/product-concept.md to <vision-dir>/product-concept-pre-review.md.
If a file named product-concept-pre-review.md already exists (from a previous review cycle), overwrite it. Git provides history.
If the rename fails, inform the user of the error and ask whether to proceed with writing the updated concept anyway (the original would be lost) or abort. Use:
Ask (using AskUserQuestion): "Could not rename the original product concept. How would you like to proceed?"
6c. Write the updated product concept:
Starting from the pre-review product concept content, apply all accepted and modified changes while preserving the template structure:
Write the updated concept to <vision-dir>/product-concept.md.
Using the review report template, populate all sections:
Write the report to <reports-dir>/stress-tests/concept-review-report.md.
Present a summary to the user:
"Concept review complete.
Reports reviewed: [N] stress test report(s) ([list names]) Total recommendations: [N] (after de-duplication: [N]) Conflicts detected: [N] Changes accepted: [N] ([X] adds, [Y] modifies, [Z] removes) Changes rejected: [N] Changes modified: [N] Unresolved questions: [N]
[If concept was updated:]
Updated product concept saved to [vision-dir]/product-concept.md.
Original preserved as [vision-dir]/product-concept-pre-review.md.
[If concept was NOT updated:] Product concept was not modified (all changes rejected).
Review report saved to [reports-dir]/stress-tests/concept-review-report.md.
Next step: Run /arn-spark-arch-vision to define the architecture based on the [updated / current] product concept."
| Situation | Agent | Context |
|---|---|---|
| Consolidate recommendations from multiple reports | arn-spark-product-strategist | All extracted recommendation tables, full product concept, product pillars, consolidation task instructions |
| Review UX-relevant changes (conditional) | arn-spark-ux-specialist | Full product concept, UX-relevant subset of changeset, UX review task instructions |
No stress test reports found: Inform the user and list available stress test skills. Do not proceed. Exit the skill.
Product concept missing: Inform the user: "No product concept found at <vision-dir>/product-concept.md. Run /arn-spark-discover to create a product concept before running stress tests and concept review." Do not proceed.
Product pillars missing or contain "Not explored" sentinel: Inform the user: "The product concept does not include product pillars, which are needed for conflict resolution. Run /arn-spark-discover to define product pillars." Do not proceed.
Report exists but recommendation table is malformed or missing: Note the gap. Extract what is parseable. If zero recommendations can be extracted from a report, note it as having "0 recommendations (malformed or missing table)" in the review report. Continue with other reports.
Product strategist returns poor consolidation: Retry once with a simplified prompt that emphasizes the consolidation task steps from the conflict resolution protocol. If retry fails:
Ask (using AskUserQuestion): "The product strategist produced a poor consolidation. How would you like to proceed?"
UX specialist returns unhelpful review: Note the gap in the review report. Proceed without UX specialist input. Do not block the review.
File rename fails: Present the error and offer the user the choice to write anyway or abort (see Step 6b).
User rejects all changes: Write the review report documenting the full changeset and all rejections. Do NOT modify the product concept. The review report is the audit trail.
Writing updated concept fails: Print the updated concept content in the conversation so the user can copy it. Suggest checking file permissions or the output directory path.
Writing review report fails: Print the report content in the conversation so the user can copy it. Suggest checking file permissions or the reports directory path.
product-concept-template.md). Sections are never dropped, reordered, or renamed.product-concept-pre-review.md before the updated concept is written. This ensures recovery if the review produced undesirable results.concept-review-report.md already exists, it is overwritten. Git provides history.${CLAUDE_PLUGIN_ROOT} paths. No absolute paths or user-specific paths in reference loading instructions.