@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,120 @@
1
+ # Product Discovery Questions
2
+
3
+ Structured question bank for guided product discovery in greenfield projects. These are conversation guides, not a rigid questionnaire. Select questions based on what is weakest or most unclear in the user's description. Never ask all questions at once.
4
+
5
+ ## 1. Vision & Problem
6
+
7
+ - What specific problem does this solve? Who has this problem today?
8
+ - What do people currently do without this product? What is painful or inefficient about their current approach?
9
+ - In one sentence, what is this product? (Forces clarity)
10
+ - What would success look like six months after launch?
11
+ - Is this a "vitamin" (nice to have) or a "painkiller" (solves an urgent need)?
12
+ - How severe is this problem? Is it a daily frustration or an occasional inconvenience?
13
+ - Can you describe a specific recent moment when someone experienced this problem?
14
+ - If this problem disappeared tomorrow, what would change in the user's daily workflow?
15
+ - Who else is affected when this problem occurs? (teammates, customers, family, downstream systems)
16
+
17
+ ## 2. Target Users & Personas
18
+
19
+ - Who is the primary user? Describe them specifically -- not "developers" but "solo developers working on side projects who need quick feedback."
20
+ - What is the user doing when they reach for this product? What triggered that moment?
21
+ - Are there secondary users or stakeholders who benefit but are not the primary user?
22
+ - How technically sophisticated is the target user? Does the product need to be zero-configuration or is customization expected?
23
+ - What does a typical day look like for your primary user? When does the problem surface in their routine?
24
+ - What has your target user already tried to solve this problem? Why did those attempts fail or fall short?
25
+ - How does the target user currently discover new tools? (peer recommendation, search, app store, conference talks, social media)
26
+ - What would make someone stop using your product after trying it? What is their breaking point?
27
+ - Are there users you explicitly do NOT want to serve? Who is this product NOT for?
28
+
29
+ ## 3. Core Experience
30
+
31
+ - What is the primary interaction? Walk me through the "moment of magic" -- what does the user experience that makes this product valuable?
32
+ - What does the user see and feel when they first open this product?
33
+ - What is the single most important thing this product does? If it could only do one thing, what would that be?
34
+ - How frequently will users interact with this? Multiple times a day, daily, weekly?
35
+ - Is this product used actively (user initiates) or passively (runs in background)?
36
+
37
+ ## 4. Trust & Security Model
38
+
39
+ - How do users discover each other or access the product? Is discovery automatic or manual?
40
+ - What trust model applies? (No auth, device pairing, user accounts, invite codes, OAuth, etc.)
41
+ - What is the security posture? (Casual/personal, team/workplace, regulated/enterprise)
42
+ - What data is sensitive? What would be the impact of unauthorized access?
43
+ - Does the product need to work without an internet connection?
44
+
45
+ ## 5. Platform & Constraints
46
+
47
+ - What platforms must be supported on day one? (Desktop, mobile, web, specific OS versions)
48
+ - Are there performance requirements? (Latency, throughput, response time, battery usage)
49
+ - What about offline support? Does it need to work without network access?
50
+ - Are there size or resource constraints? (Embedded, low-memory, bandwidth-limited)
51
+ - How will users install or access this? (App store, installer, browser, CLI)
52
+
53
+ ## 6. Participants & Scale
54
+
55
+ - How many simultaneous users or devices are expected?
56
+ - What is the communication or interaction topology? (1:1, room/group, broadcast, hub-and-spoke)
57
+ - How does the experience change with more participants? Is there a natural upper limit?
58
+ - Do all participants have equal roles or are there different permission levels?
59
+
60
+ ## 7. Scope Boundaries
61
+
62
+ - What is explicitly NOT part of v1? What features have you thought about but want to defer?
63
+ - What features sound essential but could actually wait?
64
+ - What is the absolute minimum version that delivers the core value?
65
+ - Are there adjacent products or features that should remain separate?
66
+ - What would you cut if you had to ship in half the time?
67
+
68
+ ## 8. Product Pillars
69
+
70
+ These questions surface the non-negotiable qualities that define the product's soul -- the standards that every feature, design choice, and trade-off should be measured against. Pillars are not features; they are commitments. Ask these throughout the conversation, not as a separate block. Look for moments when the user expresses strong conviction ("it HAS to feel...", "the whole point is...", "I refuse to compromise on...").
71
+
72
+ - What quality or feeling should this product absolutely nail? If the product does everything else right but gets this wrong, would it still feel like a failure?
73
+ - When you imagine a user recommending this product to someone else, what would they say about it? What one word or phrase would they use?
74
+ - Are there products you admire not for what they do, but for how they do it? What specifically about their approach resonates?
75
+ - If you had to cut a feature to protect the quality of the experience, would you? What would you never compromise even under deadline pressure?
76
+ - What would make this product feel cheap or wrong? What is the opposite of what you are trying to build?
77
+
78
+ ## 9. Business Model & Constraints
79
+
80
+ These questions surface business-model constraints that directly affect architecture and technology choices. Multi-tenancy models, regulatory requirements, budget caps, and vendor preferences can eliminate technology options entirely — a SaaS with 500 tenants cannot use a service with hard per-project connection limits, and HIPAA compliance restricts which cloud providers are viable. Capture concrete numbers, not vague aspirations.
81
+
82
+ - What is the business model? (B2C, B2B SaaS, marketplace, self-hosted, white-label, enterprise on-prem)
83
+ - Is this multi-tenant? If so, how many tenants/clients are expected at launch? At scale? (10, 100, 500, 1000+)
84
+ - What tenant isolation level is needed? (shared database, schema-per-tenant, database-per-tenant, infrastructure-per-tenant)
85
+ - Are there regulatory or compliance requirements? (GDPR, HIPAA, SOC2, PCI-DSS, FedRAMP, ISO 27001)
86
+ - Are there data residency requirements? (data must stay in EU, US, specific country)
87
+ - What is the budget constraint for cloud/infrastructure costs? (monthly spend target, per-tenant cost target)
88
+ - Is there a preference for or against specific vendors? (must use AWS, avoid Google, open-source only)
89
+ - What is the licensing constraint? (open-source only, no AGPL, commercial licenses acceptable)
90
+ - What is the team's technical experience? (languages, frameworks, cloud providers they know)
91
+ - Is there a hard timeline or market window? (MVP by Q3, launch before competitor X)
92
+ - Are there existing systems this must integrate with? (legacy APIs, specific databases, SSO providers)
93
+ - Is vendor lock-in acceptable? (fully managed services OK, or must be portable/self-hostable)
94
+
95
+ ## 10. Competitive Landscape
96
+
97
+ These questions surface the competitive context. Not all products need deep research (internal tools, hobby projects, genuinely novel spaces may have few competitors). The goal is understanding what users do today and what alternatives exist, not building a competitive strategy. When the user cannot name competitors, offer AI-assisted market research via arn-spark-market-researcher.
98
+
99
+ - What do people use today to solve this problem? (Include manual processes, spreadsheets, and "doing nothing" as valid answers)
100
+ - Can you name any direct competitors? What do they do well? What do they get wrong?
101
+ - Are there adjacent products that partially solve this problem even though it is not their main purpose?
102
+ - Why would someone choose your product over the alternatives? What is your unfair advantage?
103
+ - Is the market for this solution growing, stable, or shrinking? What is driving the trend?
104
+ - Are there competitors you admire? What specifically about their approach do you want to learn from or avoid?
105
+
106
+ ## 11. Assumptions & Success Criteria
107
+
108
+ These questions are typically NOT asked directly. The AI synthesizes assumptions from the conversation and presents them for validation. The questions below are fallbacks for when direct probing is needed.
109
+
110
+ Assumptions:
111
+ - What is the biggest bet you are making with this product? What has to be true for it to work?
112
+ - What do you believe about your users that you have not yet verified?
113
+ - What market or behavioral trend are you counting on?
114
+ - If you had to name one thing that could make this product fail, what would it be?
115
+
116
+ Success Criteria:
117
+ - How will you know this product is working? What does success look like in concrete numbers?
118
+ - What is the minimum number of users, transactions, or interactions that would make this worth continuing?
119
+ - Six months after launch, what metric would make you feel this is succeeding? What would make you feel it is failing?
120
+ - Is there a leading indicator you could measure in the first week to predict long-term success?
@@ -0,0 +1,97 @@
1
+ # Persona Profile Template
2
+
3
+ This template defines the dual-layer persona format for the Target Personas section of `product-concept.md`. Each persona archetype includes two layers: an **abstracted profile (mould)** and a **concrete example persona**.
4
+
5
+ The abstracted profile is a generative template -- it defines ranges, patterns, and variation axes rather than single data points. Future skills (e.g., Synthetic User Panel) use moulds to generate fresh concrete persona instances for stress-testing and simulation. The concrete example is a specific, vivid character that was validated during the discovery conversation. Both layers are required for every archetype.
6
+
7
+ ## Instructions for arn-spark-discover
8
+
9
+ When populating this template:
10
+
11
+ - Populate from the `arn-spark-persona-architect` agent's output. The agent produces concrete examples first (for user interaction and critique), then derives abstracted moulds after user approval. Write both layers per archetype.
12
+ - When the user provides concrete personas directly (names, roles, specific details), those become seeds. The persona-architect expands them into full profiles and derives moulds. Do not discard user-provided personas -- they represent domain expertise.
13
+ - Every archetype MUST include both layers. Do not flatten the mould into a summary paragraph or merge it with the concrete example. The dual-layer structure is required for downstream reuse.
14
+ - The moulds are the primary reusable artifact. Concrete examples are illustrative; moulds are generative.
15
+ - Include 2-4 archetypes. 2-3 is ideal. At least one should represent a skeptic or reluctant adopter.
16
+ - End with a Differentiation Summary table that maps all personas across key distinguishing dimensions.
17
+ - If the user declines persona generation entirely, write: `Not explored during discovery.`
18
+ - If personas are genuinely not applicable (e.g., fully automated system with no user-facing interaction -- rare), write: `Not applicable -- [reason].`
19
+
20
+ ---
21
+
22
+ ## Template
23
+
24
+ ```markdown
25
+ ## Target Personas
26
+
27
+ [2-4 persona archetypes identified during discovery. Each includes an abstracted profile (the "mould" -- a generative template for producing concrete instances) and one concrete example persona that was validated during conversation. The moulds can be used by future skills to generate additional concrete personas for stress-testing, simulation panels, and validation.]
28
+
29
+ ### Archetype: The [Archetype Label]
30
+
31
+ #### Abstracted Profile (Mould)
32
+
33
+ **Demographic range:** [Age range, profession spectrum, sophistication range -- expressed as ranges, not single points]
34
+
35
+ **Personality spectrum:** [Range of personality traits for this archetype -- e.g., "pragmatic <-> idealistic", "risk-tolerant <-> risk-averse", "vocal <-> reserved". Concrete instances pick specific positions along these spectrums.]
36
+
37
+ **Core motivation pattern:** [The underlying drive shared by all instances of this archetype]
38
+
39
+ **Pain pattern:** [The category of frustrations -- what kind of problems they face, not specific instances]
40
+
41
+ **Adoption pattern:** [What type of trigger drives them to seek solutions, what type of threshold makes them leave]
42
+
43
+ **Variation axes:**
44
+ - [Dimension 1 that varies between instances, e.g., "technical depth: self-taught -> CS degree"]
45
+ - [Dimension 2, e.g., "urgency: casual exploration -> deadline-driven"]
46
+ - [Dimension 3 if applicable]
47
+
48
+ **Boundary conditions:** [What would NOT be this archetype -- helps distinguish from other moulds]
49
+
50
+ #### Concrete Example: [Persona Name]
51
+
52
+ **Demographics:** [Age, profession, technical sophistication, context (solo/team/enterprise)]
53
+
54
+ **Personality Traits:** [3-5 traits that define how this person thinks, decides, and communicates -- e.g., pragmatic, risk-averse, vocal in meetings, data-driven, impatient with slow tools]
55
+
56
+ **Goals:** [What they are trying to achieve -- primary and secondary]
57
+
58
+ **Pain Points:**
59
+ - [Specific frustration #1 with current state]
60
+ - [Specific frustration #2]
61
+ - [Specific frustration #3]
62
+
63
+ **Current Workarounds:** [Tools or processes they use today, and why they fall short]
64
+
65
+ **Decision Factors:** [What drives adoption for this person -- price, ease of use, peer validation, trust, feature completeness]
66
+
67
+ **Day-in-the-Life:** [2-3 sentences showing a specific moment when the problem surfaces -- time, place, what goes wrong, how they feel]
68
+
69
+ **Adoption Trigger:** [The specific event or moment that makes them actively seek a solution]
70
+
71
+ **Frustration Threshold:** [What would make them stop using the product after trying it]
72
+
73
+ [Repeat "### Archetype: The [Label]" block for each persona archetype (2-4 total)]
74
+
75
+ ### Differentiation Summary
76
+
77
+ | Dimension | [Persona 1 Name] | [Persona 2 Name] | [Persona 3 Name] |
78
+ |-----------|-------------------|-------------------|-------------------|
79
+ | Primary motivation | [key driver] | [key driver] | [key driver] |
80
+ | Technical sophistication | [level] | [level] | [level] |
81
+ | Adoption posture | [eager/cautious/skeptical] | [posture] | [posture] |
82
+ | Pain severity | [high/medium/low] | [severity] | [severity] |
83
+ | Decision style | [style] | [style] | [style] |
84
+ ```
85
+
86
+ ---
87
+
88
+ ## Section Guidance
89
+
90
+ | Section | Source | Depth |
91
+ |---------|--------|-------|
92
+ | Archetype Label | arn-spark-persona-architect output, user-validated | Short, memorable label (e.g., "The Solo Indie Dev", "The Reluctant Enterprise Admin") |
93
+ | Abstracted Profile (Mould) | Derived by persona-architect after user approves concrete examples | All 7 fields required: demographic range, personality spectrum, core motivation pattern, pain pattern, adoption pattern, variation axes (2-3), boundary conditions. Express everything as ranges or patterns, never single data points. |
94
+ | Concrete Example | Generated by persona-architect (discovery mode), or expanded from user-provided seeds, then user-validated | All 10 fields required: name, demographics, personality traits (3-5), goals, pain points (3), current workarounds, decision factors, day-in-the-life, adoption trigger, frustration threshold. Must be vivid and specific. |
95
+ | Differentiation Summary | Synthesized from approved personas | Table with one row per distinguishing dimension, one column per persona. Highlights what makes each archetype distinct. |
96
+ | User-provided personas | User provides names, roles, and partial details during conversation | Accept as seeds. Persona-architect expands into full profiles (filling demographics, personality, pain points, workarounds, day-in-the-life, etc. grounded in domain research). Present expanded profiles for approval. Derive moulds from approved expanded profiles. Never discard user-provided input. |
97
+ | Vague user descriptions | User says "developers" or "small business owners" without specifics | Persona-architect researches the domain and generates 2-4 distinct concrete examples from the vague description. Each must be differentiated on at least 2 axes (motivation, sophistication, urgency, adoption posture). Present for user critique and refinement. |
@@ -0,0 +1,253 @@
1
+ # Product Concept Template
2
+
3
+ This template defines the structure for product concept documents written by the `arn-spark-discover` skill. The document is saved to the project's vision directory as `product-concept.md`.
4
+
5
+ A product concept captures the WHAT and WHY of the product at a high level: the vision, core experience, target users, trust model, platform scope, and explicit boundaries. It does not address HOW to build it -- that is the architecture vision's job.
6
+
7
+ ## Instructions for arn-spark-discover
8
+
9
+ When populating this template:
10
+
11
+ - Every section below MUST appear in the output, even if the content is brief
12
+ - Replace all bracketed placeholders with concrete content from the discovery conversation
13
+ - If information is missing for a section, write what you know and add the gap to a note at the end
14
+ - Adapt subsection names to match the product (e.g., "The Widget" for a desktop app, "The Feed" for a social app)
15
+ - Core Experience subsections should reflect the product's actual interaction modes, not generic categories
16
+ - Product Pillars must come from the user's own convictions, not generic best practices. If the user said "polish is everything," that is a pillar. Do not invent pillars the user did not express. If fewer than 3 emerged from the conversation, ask the user to confirm whether any are missing before writing.
17
+ - Future Considerations should list items that were explicitly discussed and deferred, not speculative features
18
+ - Write in present tense, as if the product exists ("Talkie lives as a small widget" not "Talkie will live as a small widget")
19
+ - For AI-assisted sections (Problem Statement, Target Personas, Competitive Landscape, Key Assumptions, Success Criteria): use the user-approved content. If a section was offered but declined, write "Not explored during discovery." If not applicable, write "Not applicable -- [reason]." Never leave these sections blank without explanation.
20
+ - Target Personas must include BOTH layers: (1) abstracted persona profiles ("moulds") that define the archetype's ranges, patterns, and variation axes, and (2) concrete example personas that were validated during conversation. The moulds are the primary reusable artifact — future skills use them to generate fresh concrete instances. Do not flatten either layer into a single paragraph.
21
+ - Competitive Landscape must include source URLs if market research was conducted. Mark unverified claims accordingly.
22
+ - Key Assumptions are hypotheses, not facts. Frame them as testable statements with confidence levels.
23
+
24
+ ---
25
+
26
+ ## Template
27
+
28
+ ```markdown
29
+ # [Product Name] - Product Concept
30
+
31
+ ## Vision
32
+
33
+ [2-4 sentences. What is this product, who is it for, and what makes it different from existing solutions. Core value proposition. Tone: aspirational but concrete. Avoid buzzwords.]
34
+
35
+ ## Problem Statement
36
+
37
+ **The problem:** [1-2 sentences — what specific problem exists, stated clearly and concretely]
38
+
39
+ **Who experiences it:** [Specific roles, situations, or contexts — not generic categories]
40
+
41
+ **Current workarounds:** [How people cope today — tools, manual processes, or "nothing"]
42
+
43
+ **Why existing solutions fall short:** [What is painful, slow, expensive, or missing about current approaches]
44
+
45
+ **Severity:** [Painkiller (urgent, frequent pain) / Vitamin (nice-to-have, gradual improvement) / Infrastructure (invisible but essential) — with justification]
46
+
47
+ ## Target Personas
48
+
49
+ [2-4 persona archetypes identified during discovery. Each includes an abstracted profile (the "mould" — a generative template for producing concrete instances) and one concrete example persona that was validated during conversation. The moulds can be used by future skills to generate additional concrete personas for stress-testing, simulation panels, and validation.]
50
+
51
+ ### Archetype: The [Archetype Label]
52
+
53
+ #### Abstracted Profile (Mould)
54
+
55
+ **Demographic range:** [Age range, profession spectrum, sophistication range — expressed as ranges, not single points]
56
+
57
+ **Personality spectrum:** [Range of personality traits for this archetype — e.g., "pragmatic ↔ idealistic", "risk-tolerant ↔ risk-averse", "vocal ↔ reserved". Concrete instances pick specific positions along these spectrums.]
58
+
59
+ **Core motivation pattern:** [The underlying drive shared by all instances of this archetype]
60
+
61
+ **Pain pattern:** [The category of frustrations — what kind of problems they face, not specific instances]
62
+
63
+ **Adoption pattern:** [What type of trigger drives them to seek solutions, what type of threshold makes them leave]
64
+
65
+ **Variation axes:**
66
+ - [Dimension 1 that varies between instances, e.g., "technical depth: self-taught → CS degree"]
67
+ - [Dimension 2, e.g., "urgency: casual exploration → deadline-driven"]
68
+ - [Dimension 3 if applicable]
69
+
70
+ **Boundary conditions:** [What would NOT be this archetype — helps distinguish from other moulds]
71
+
72
+ #### Concrete Example: [Persona Name]
73
+
74
+ **Demographics:** [Age, profession, technical sophistication, context (solo/team/enterprise)]
75
+
76
+ **Personality Traits:** [3-5 traits that define how this person thinks, decides, and communicates — e.g., pragmatic, risk-averse, vocal in meetings, data-driven, impatient with slow tools]
77
+
78
+ **Goals:** [What they are trying to achieve — primary and secondary]
79
+
80
+ **Pain Points:**
81
+ - [Specific frustration #1 with current state]
82
+ - [Specific frustration #2]
83
+ - [Specific frustration #3]
84
+
85
+ **Current Workarounds:** [Tools or processes they use today, and why they fall short]
86
+
87
+ **Decision Factors:** [What drives adoption for this person — price, ease of use, peer validation, trust, feature completeness]
88
+
89
+ **Day-in-the-Life:** [2-3 sentences showing a specific moment when the problem surfaces — time, place, what goes wrong, how they feel]
90
+
91
+ **Adoption Trigger:** [The specific event or moment that makes them actively seek a solution]
92
+
93
+ **Frustration Threshold:** [What would make them stop using the product after trying it]
94
+
95
+ [Repeat "### Archetype: The [Label]" block for each persona archetype (2-4 total)]
96
+
97
+ ### Differentiation Summary
98
+
99
+ | Dimension | [Persona 1 Name] | [Persona 2 Name] | [Persona 3 Name] |
100
+ |-----------|-------------------|-------------------|-------------------|
101
+ | Primary motivation | [key driver] | [key driver] | [key driver] |
102
+ | Technical sophistication | [level] | [level] | [level] |
103
+ | Adoption posture | [eager/cautious/skeptical] | [posture] | [posture] |
104
+ | Pain severity | [high/medium/low] | [severity] | [severity] |
105
+ | Decision style | [style] | [style] | [style] |
106
+
107
+ ## Product Pillars
108
+
109
+ [3-5 non-negotiable qualities that define this product's soul. These are not features — they are the standards every feature, design choice, and architectural trade-off must be tested against. If a decision compromises a pillar, it should be reconsidered or rejected. Pillars flow through the entire pipeline: architecture must serve them, use cases must respect them, prototypes must demonstrate them, and features must embody them.]
110
+
111
+ ### [Pillar Name]
112
+
113
+ [What this quality means for the product — not an abstract value, but a concrete commitment. Why it is non-negotiable: what happens to the product if this is compromised. Litmus test: a practical question to test any decision against this pillar. Example: "If a feature can't meet this standard within the timeline, defer it rather than ship it rough."]
114
+
115
+ ### [Pillar Name]
116
+
117
+ [Same structure. Each pillar should be distinct — if two pillars overlap significantly, merge them.]
118
+
119
+ ### [Pillar Name]
120
+
121
+ [Same structure. 3 pillars is the minimum. 5 is the maximum — more than 5 means nothing is truly prioritized.]
122
+
123
+ ## Competitive Landscape
124
+
125
+ [Identified alternatives in this problem space, curated by the user. This is a landscape map — who exists and what they do — not a deep analysis. Detailed feature comparison and gap analysis can be performed separately via dedicated skills. The full research is preserved in tiers so future skills can draw from any level.]
126
+
127
+ ### Primary Competitors (Focus)
128
+ [The user-validated top 5 — these are the most relevant alternatives to track and compare against]
129
+
130
+ 1. **[Name]** ([URL]) — [one-line description of approach and target user]
131
+ **Why primary:** [1 sentence rationale — relevance to problem space, user overlap, market presence]
132
+ **Confidence:** [Verified / Inferred / Unverified]
133
+
134
+ 2. **[Name]** ([URL]) — [one-line]
135
+ **Why primary:** [rationale]
136
+ **Confidence:** [tag]
137
+
138
+ [... up to 5]
139
+
140
+ ### Extended Landscape
141
+ [Additional validated alternatives kept for reference — may become relevant as the product evolves]
142
+
143
+ - **[Name]** ([URL]) — [one-line] [Confidence: tag]
144
+ [... up to ~10]
145
+
146
+ ### Indirect Alternatives
147
+ - **Manual / "Do Nothing"** — [How people cope without a dedicated tool]
148
+ - **[Generic tool]** — [How people repurpose general tools for this]
149
+
150
+ **Initial positioning:** [1-2 sentences — where the proposed product sits relative to these alternatives and what gap it fills]
151
+
152
+ ### Research Metadata
153
+ - **Research date:** [ISO 8601 date]
154
+ - **Search coverage:** [N] queries across [M] search angles
155
+ - **Raw candidates found:** [X]
156
+ - **Validated alternatives:** [Y]
157
+ - **Research mode:** Identification (landscape mapping only — deep analysis available via dedicated skills)
158
+
159
+ ## Core Experience
160
+
161
+ ### [Primary Interaction Mode]
162
+
163
+ [Describe the main way users interact with the product. What do they see, what do they do, what happens? This is the "moment of magic" -- the experience that makes the product valuable. Be specific about the UX, not the technology.]
164
+
165
+ ### [Secondary Interaction Mode(s)]
166
+
167
+ [Additional interaction patterns essential to v1. Each gets its own subsection with a descriptive name. Only include modes that are core to the product -- defer nice-to-haves to Future Considerations.]
168
+
169
+ ### [Discovery / Onboarding]
170
+
171
+ [How do users get started? What is the first-run experience? How do they discover other users, content, or features? Keep it simple -- the best onboarding is minimal.]
172
+
173
+ ## Trust & Security Model
174
+
175
+ ### First-Time Setup
176
+
177
+ [What happens when the user first installs or opens the product? What information do they provide? What identity is established?]
178
+
179
+ ### [Trust Establishment Mechanism]
180
+
181
+ [How do users establish trust with each other or with the system? Device pairing, user accounts, invite codes, OAuth, etc. Describe the flow from the user's perspective.]
182
+
183
+ ### Per-[Entity] Settings
184
+
185
+ [What can be configured per relationship, per device, per user, or per workspace? List the key settings that affect how the product behaves between entities.]
186
+
187
+ ## [Resource / Platform] Management
188
+
189
+ [Platform-specific considerations relevant to the user experience. Device selection (camera, microphone, etc.), system permissions, hot-plug handling, system tray behavior, notification preferences, or other OS integration points. Name the section to match the product domain.]
190
+
191
+ ## Target Platforms
192
+
193
+ [Supported platforms with version requirements. Be specific: "Windows 10/11" not just "Windows." Note any platform-specific considerations that affect the user experience.]
194
+
195
+ ## Participants
196
+
197
+ [How many users or devices participate simultaneously? What is the topology (1:1, room, mesh, broadcast)? Is there an upper limit? Note any scaling considerations that affect the v1 design.]
198
+
199
+ ## Business Constraints
200
+
201
+ **Business model:** [B2C / B2B SaaS / marketplace / self-hosted / white-label / enterprise. How revenue is generated.]
202
+
203
+ **Tenancy:** [Single-tenant / multi-tenant. Expected tenant count at launch and at scale. Required isolation level (shared DB, schema-per-tenant, DB-per-tenant, infra-per-tenant). "Not applicable" for consumer products.]
204
+
205
+ **Compliance:** [Regulatory requirements: GDPR, HIPAA, SOC2, PCI-DSS, FedRAMP, or none. Data residency constraints (EU-only, US-only, etc.). "None" if no regulatory requirements.]
206
+
207
+ **Cost constraints:** [Monthly cloud/infrastructure budget target. Per-tenant cost target if multi-tenant. Licensing constraints (open-source only, commercial OK). "No hard limit" if unconstrained.]
208
+
209
+ **Vendor & technology constraints:** [Required or excluded vendors/clouds. Required integrations with existing systems. Team technical experience that constrains technology choices. "No constraints" if flexible.]
210
+
211
+ **Timeline:** [Hard deadlines, market windows, or competitive pressures that affect build-vs-buy decisions. "No hard deadline" if flexible.]
212
+
213
+ ## Key Assumptions
214
+
215
+ [Assumptions underlying the product concept — things stated or implied during discovery that have not been empirically validated. Each is a testable hypothesis.]
216
+
217
+ | Assumption | Confidence | What Would Disprove It |
218
+ |-----------|-----------|----------------------|
219
+ | [Market/user/tech/business assumption] | High / Medium / Low | [Observable evidence that would invalidate this] |
220
+
221
+ ## Success Criteria
222
+
223
+ [Measurable outcomes that define whether the product is succeeding.]
224
+
225
+ | Metric | Target | Timeframe | Why It Matters |
226
+ |--------|--------|-----------|----------------|
227
+ | [What to measure] | [Specific target value] | [By when] | [Connection to product vision] |
228
+
229
+ ## Future Considerations (Not in v1)
230
+
231
+ [Explicitly scoped-out items. Each should have a brief note explaining why it was deferred and, if relevant, how v1's design accommodates it later. These are items that were actively discussed and decided against for v1, not a wishlist.]
232
+ ```
233
+
234
+ ---
235
+
236
+ ## Section Guidance
237
+
238
+ | Section | Source | Depth |
239
+ |---------|--------|-------|
240
+ | Vision | User's initial idea + refined through conversation | 2-4 sentences, sharp and specific |
241
+ | Problem Statement | AI-drafted from conversation, user-approved | 3-5 sentences structured as problem/who/workarounds/gap/severity |
242
+ | Target Personas | AI-generated by persona-architect (discovery mode), user-approved | 2-4 archetypes, each with: abstracted mould (ranges, patterns, variation axes, boundaries) + concrete example (full detailed profile). Both layers user-approved. |
243
+ | Product Pillars | Conversation exploration of non-negotiable qualities | 3-5 pillars, each with meaning, rationale, and litmus test |
244
+ | Competitive Landscape | AI-identified by market-researcher (identification mode), user-approved | Tiered list: Primary (top 5 with rationale and confidence tags), Extended (~10), Indirect. Includes research metadata and initial positioning. Source URLs required. Identification only — deep analysis deferred to Gap Analysis skill. |
245
+ | Core Experience | Conversation exploration of interaction modes | 1-3 subsections, each 1-3 paragraphs. UX-focused, not technical. |
246
+ | Trust & Security Model | Conversation exploration of trust/security category | 2-3 subsections covering setup, trust mechanism, and per-entity config |
247
+ | Resource / Platform Management | Conversation exploration of platform category | 1-2 paragraphs on platform integration relevant to UX |
248
+ | Target Platforms | Conversation exploration of platform category | Bullet list with version specifics |
249
+ | Participants | Conversation exploration of participants category | 1 paragraph covering count, topology, and limits |
250
+ | Business Constraints | Conversation exploration of business model, tenancy, compliance, cost, vendor preferences | 1-2 sentences per subsection; concrete numbers for tenant count, budget, and compliance requirements. Skip subsections that don't apply (write "Not applicable" or "None"). |
251
+ | Key Assumptions | AI-derived from conversation, user-validated | 5-8 testable assumptions with confidence levels |
252
+ | Success Criteria | AI-suggested based on product type + business model, user-approved | 3-5 measurable outcomes with targets and timeframes |
253
+ | Future Considerations | Accumulated deferred items from conversation | Bullet list, each with brief rationale for deferral |
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: arn-spark-ensure-config
3
+ description: >-
4
+ This skill should be used when the user says "ensure config", "check arn spark config",
5
+ "arn-spark-ensure-config", "verify arn spark setup", "configure spark", "setup arness spark",
6
+ "spark config", or wants to verify that Arness Spark configuration is present for the
7
+ current project. This skill is primarily consumed as a reference by entry-point skills
8
+ (arn-brainstorming, arn-spark-discover, arn-spark-arch-vision) which read the
9
+ `references/step-0-fast-path.md` reference as Step 0 before proceeding with their workflow.
10
+ version: 1.1.0
11
+ ---
12
+
13
+ # Arness Spark Ensure Config
14
+
15
+ Verify and establish Arness Spark configuration for the current project. This skill guarantees that a valid user profile and `## Arness` section exist before any Arness Spark workflow proceeds. It runs automatically as Step 0 of all entry-point skills via a hash-based fast-path cache.
16
+
17
+ **Entry points should NOT read this SKILL.md directly.** They should read `${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-ensure-config/references/step-0-fast-path.md`, which runs the cache-check shell script and only falls through to the full validation when needed. This indirection is what saves ~95% of ensure-config token cost.
18
+
19
+ When invoked DIRECTLY (rare — typically via `/arn-spark-ensure-config`), this skill bypasses the cache and runs the full validation flow.
20
+
21
+ ## Workflow
22
+
23
+ Read `${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-ensure-config/references/ensure-config.md` and follow its instructions (Layers 1–2, then Layer 3 cache write).