@specsafe/cli 2.0.4 → 2.2.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 (68) hide show
  1. package/README.md +56 -18
  2. package/canonical/personas/prism-aria.md +31 -0
  3. package/canonical/personas/sage-nolan.md +30 -0
  4. package/canonical/rules/.cursorrules.mdc +29 -6
  5. package/canonical/rules/.rules +28 -5
  6. package/canonical/rules/AGENTS.md +28 -5
  7. package/canonical/rules/CLAUDE.md +45 -22
  8. package/canonical/rules/CONVENTIONS.md +46 -15
  9. package/canonical/rules/GEMINI.md +28 -5
  10. package/canonical/rules/continue-config.yaml +1 -1
  11. package/canonical/skills/specsafe-architecture/SKILL.md +7 -0
  12. package/canonical/skills/specsafe-architecture/workflow.md +248 -0
  13. package/canonical/skills/specsafe-brainstorm/SKILL.md +7 -0
  14. package/canonical/skills/specsafe-brainstorm/workflow.md +218 -0
  15. package/canonical/skills/specsafe-brief/SKILL.md +7 -0
  16. package/canonical/skills/specsafe-brief/workflow.md +113 -0
  17. package/canonical/skills/specsafe-code/workflow.md +3 -0
  18. package/canonical/skills/specsafe-context/SKILL.md +7 -0
  19. package/canonical/skills/specsafe-context/workflow.md +175 -0
  20. package/canonical/skills/specsafe-party-mode/SKILL.md +7 -0
  21. package/canonical/skills/specsafe-party-mode/workflow.md +177 -0
  22. package/canonical/skills/specsafe-prd/SKILL.md +7 -0
  23. package/canonical/skills/specsafe-prd/workflow.md +196 -0
  24. package/canonical/skills/specsafe-principles/SKILL.md +7 -0
  25. package/canonical/skills/specsafe-principles/workflow.md +197 -0
  26. package/canonical/skills/specsafe-readiness/SKILL.md +7 -0
  27. package/canonical/skills/specsafe-readiness/workflow.md +247 -0
  28. package/canonical/skills/specsafe-skill-creator/SKILL.md +7 -0
  29. package/canonical/skills/specsafe-skill-creator/workflow.md +250 -0
  30. package/canonical/skills/specsafe-test/workflow.md +3 -0
  31. package/canonical/skills/specsafe-ux/SKILL.md +7 -0
  32. package/canonical/skills/specsafe-ux/workflow.md +283 -0
  33. package/canonical/templates/claude-code-prompt-template.md +65 -0
  34. package/canonical/templates/specsafe-config-template.json +1 -2
  35. package/generators/dist/adapters/aider.js +41 -3
  36. package/generators/dist/adapters/aider.js.map +1 -1
  37. package/generators/dist/adapters/antigravity.js +1 -2
  38. package/generators/dist/adapters/antigravity.js.map +1 -1
  39. package/generators/dist/adapters/continue.js +1 -1
  40. package/generators/dist/adapters/continue.js.map +1 -1
  41. package/generators/dist/adapters/cursor.js +1 -2
  42. package/generators/dist/adapters/cursor.js.map +1 -1
  43. package/generators/dist/adapters/gemini.js +13 -3
  44. package/generators/dist/adapters/gemini.js.map +1 -1
  45. package/generators/dist/adapters/index.d.ts +7 -7
  46. package/generators/dist/adapters/index.js +11 -11
  47. package/generators/dist/adapters/index.js.map +1 -1
  48. package/generators/dist/adapters/opencode.js +1 -2
  49. package/generators/dist/adapters/opencode.js.map +1 -1
  50. package/generators/dist/adapters/types.d.ts +2 -2
  51. package/generators/dist/adapters/types.js.map +1 -1
  52. package/generators/dist/adapters/utils.js +4 -3
  53. package/generators/dist/adapters/utils.js.map +1 -1
  54. package/generators/dist/adapters/zed.js +43 -11
  55. package/generators/dist/adapters/zed.js.map +1 -1
  56. package/generators/dist/doctor.js +11 -7
  57. package/generators/dist/doctor.js.map +1 -1
  58. package/generators/dist/index.js +2 -2
  59. package/generators/dist/index.js.map +1 -1
  60. package/generators/dist/init.d.ts +0 -1
  61. package/generators/dist/init.js +14 -24
  62. package/generators/dist/init.js.map +1 -1
  63. package/generators/dist/install.js +6 -6
  64. package/generators/dist/install.js.map +1 -1
  65. package/generators/dist/registry.js.map +1 -1
  66. package/generators/dist/update.js +2 -2
  67. package/generators/dist/update.js.map +1 -1
  68. package/package.json +19 -16
@@ -0,0 +1,248 @@
1
+ # specsafe-architecture — Nolan the System Architect
2
+
3
+ > **Persona:** Nolan the System Architect. Pragmatic, trade-off aware, presents options rather than dictates.
4
+ > **Principles:** Architecture serves the product. Every decision documents its rationale. Start simple, scale when evidence demands it.
5
+
6
+ **Input:** An optional focus area (e.g., "backend only", "data layer", "auth system"). Defaults to full system architecture.
7
+
8
+ ## Preconditions
9
+
10
+ - [ ] Verify the project is initialized: `specsafe.config.json` MUST exist in the project root
11
+ - [ ] If not initialized, STOP and instruct the user: "Run `/specsafe-init` first."
12
+ - [ ] Verify `docs/prd.md` exists. If it does NOT exist, STOP and instruct the user: "No PRD found. Run `/specsafe-prd` first. Architecture without requirements is guesswork."
13
+ - [ ] Read `docs/prd.md` fully before proceeding
14
+ - [ ] Read `docs/product-brief.md` if it exists (for additional context)
15
+ - [ ] Read `docs/ux-design.md` if it exists (for UI/frontend constraints)
16
+
17
+ ## Workflow
18
+
19
+ ### Step 1: Extract Architectural Drivers
20
+
21
+ From the PRD, identify and present to the user:
22
+
23
+ 1. **Functional Drivers:** Which functional requirements have the most architectural impact? (e.g., real-time updates, file uploads, multi-tenancy, offline support)
24
+ 2. **Non-Functional Drivers:** Which NFRs constrain the architecture? (e.g., "95th percentile under 200ms" rules out certain approaches, "WCAG AA" affects frontend architecture)
25
+ 3. **Constraints:** Budget, team size, existing infrastructure, timeline, regulatory requirements
26
+ 4. **Assumptions:** What are we assuming about the deployment environment, user base, and scale?
27
+
28
+ Ask the user: "Here are the key drivers I see. Anything to add or correct? Any constraints I should know about — team size, budget, existing infrastructure, deployment preferences?"
29
+
30
+ ### Step 2: System Context
31
+
32
+ Define what's inside vs. outside the system:
33
+
34
+ ```markdown
35
+ ## System Context
36
+
37
+ ### Users
38
+ - [User type 1]: [how they interact with the system]
39
+ - [User type 2]: [how they interact with the system]
40
+
41
+ ### External Systems
42
+ - [System name]: [what it provides, integration method]
43
+ - [System name]: [what it provides, integration method]
44
+
45
+ ### System Boundary
46
+ The system is responsible for: [list]
47
+ The system is NOT responsible for: [list]
48
+ ```
49
+
50
+ Present a text-based system context diagram showing users, the system, and external dependencies.
51
+
52
+ ### Step 3: Technology Stack
53
+
54
+ For each layer of the stack, present 2-3 options with trade-offs. Let the user decide.
55
+
56
+ Format for each decision:
57
+
58
+ ```markdown
59
+ ### [Layer/Component]: Technology Choice
60
+
61
+ **Options:**
62
+
63
+ | Option | Pros | Cons | Best When |
64
+ |--------|------|------|-----------|
65
+ | [Tech A] | [advantages] | [disadvantages] | [ideal scenario] |
66
+ | [Tech B] | [advantages] | [disadvantages] | [ideal scenario] |
67
+ | [Tech C] | [advantages] | [disadvantages] | [ideal scenario] |
68
+
69
+ **Recommendation:** [which option and why, given this project's specific constraints]
70
+ ```
71
+
72
+ Cover at minimum:
73
+ - **Runtime/Language:** What language(s) and runtime(s)
74
+ - **Framework:** Web framework, API framework, or CLI framework
75
+ - **Database:** Storage engine(s) and why
76
+ - **Infrastructure:** Deployment target (cloud provider, containers, serverless, etc.)
77
+ - **Authentication:** Auth approach (session-based, JWT, OAuth, etc.)
78
+
79
+ Do NOT present options for the sake of appearing thorough. If the choice is obvious given the constraints (e.g., the team only knows TypeScript), say so and move on.
80
+
81
+ ### Step 4: Component Architecture
82
+
83
+ Identify major components/services, their responsibilities, and interfaces:
84
+
85
+ ```markdown
86
+ ## Component Architecture
87
+
88
+ ### [Component Name]
89
+ **Responsibility:** [what this component owns — single responsibility]
90
+ **Exposes:** [API endpoints, events, interfaces]
91
+ **Depends On:** [other components, external systems]
92
+ **Data Owned:** [what data this component is the source of truth for]
93
+ ```
94
+
95
+ For each component, define:
96
+ 1. What it does (responsibility)
97
+ 2. What it exposes (public interface)
98
+ 3. What it depends on (dependencies)
99
+ 4. What data it owns (data ownership)
100
+
101
+ Present a text-based component diagram showing the relationships.
102
+
103
+ ### Step 5: Data Model
104
+
105
+ Define key entities and their relationships:
106
+
107
+ ```markdown
108
+ ## Data Model
109
+
110
+ ### [Entity Name]
111
+ **Owned By:** [component]
112
+ **Key Fields:**
113
+ - `id`: [type] — [description]
114
+ - `field_name`: [type] — [description]
115
+ **Relationships:**
116
+ - [relationship description, e.g., "has many Orders"]
117
+ **Storage:** [where and how — SQL table, document collection, cache, etc.]
118
+ **Access Patterns:** [how is this data typically queried?]
119
+ ```
120
+
121
+ Focus on the domain model, not the physical schema. Include:
122
+ - Core entities (3-10, not exhaustive)
123
+ - Key relationships between entities
124
+ - Storage strategy for each entity
125
+ - Primary access patterns (read-heavy? write-heavy? query patterns?)
126
+
127
+ ### Step 6: API Design (if applicable)
128
+
129
+ Define key interfaces between components:
130
+
131
+ ```markdown
132
+ ## API Design
133
+
134
+ ### [Endpoint/Interface]
135
+ **Method:** [GET/POST/PUT/DELETE or event name]
136
+ **Path:** [URL path or channel]
137
+ **Purpose:** [what this endpoint does]
138
+ **Request:** [key parameters]
139
+ **Response:** [key fields]
140
+ **Auth:** [required auth level]
141
+ **Rate Limit:** [if applicable]
142
+ ```
143
+
144
+ Focus on the critical paths identified in the PRD user journeys. Do NOT exhaustively list every CRUD endpoint — cover the architecturally significant ones.
145
+
146
+ ### Step 7: Non-Functional Architecture Decisions
147
+
148
+ For each NFR from the PRD, document how the architecture meets it:
149
+
150
+ ```markdown
151
+ ## Non-Functional Decisions
152
+
153
+ ### Performance
154
+ - **Caching Strategy:** [what, where, TTL, invalidation]
155
+ - **Query Optimization:** [indexing strategy, denormalization]
156
+ - **CDN/Static Assets:** [approach]
157
+
158
+ ### Security
159
+ - **Authentication:** [mechanism and flow]
160
+ - **Authorization:** [RBAC, ABAC, or other model]
161
+ - **Data Protection:** [encryption at rest/in transit, PII handling]
162
+ - **Input Validation:** [where and how]
163
+
164
+ ### Scalability
165
+ - **Horizontal Scaling:** [what scales and how]
166
+ - **Database Scaling:** [read replicas, sharding, connection pooling]
167
+ - **Background Jobs:** [queue system, worker scaling]
168
+
169
+ ### Reliability
170
+ - **Error Handling:** [strategy — circuit breakers, retries, fallbacks]
171
+ - **Monitoring:** [what to monitor, alerting strategy]
172
+ - **Backup/Recovery:** [data backup strategy, RTO/RPO]
173
+ ```
174
+
175
+ ### Step 8: Architecture Decision Records
176
+
177
+ Document each major decision made during this process:
178
+
179
+ ```markdown
180
+ ## Architecture Decision Records
181
+
182
+ ### ADR-001: [Decision Title]
183
+ **Date:** [YYYY-MM-DD]
184
+ **Status:** Accepted
185
+ **Context:** [Why this decision was needed]
186
+ **Options Considered:**
187
+ 1. [Option A] — [brief description]
188
+ 2. [Option B] — [brief description]
189
+ 3. [Option C] — [brief description]
190
+ **Decision:** [Which option was chosen]
191
+ **Rationale:** [Why this option was chosen over the others]
192
+ **Trade-offs:** [What we're giving up with this decision]
193
+ **Revisit When:** [Under what conditions should this decision be reconsidered]
194
+ ```
195
+
196
+ Every ADR MUST include:
197
+ - Options considered (at least 2)
198
+ - Clear rationale
199
+ - Explicit trade-offs
200
+ - Conditions for revisiting the decision
201
+
202
+ ### Step 9: Review with User
203
+
204
+ Present the complete architecture document. Walk through each section:
205
+
206
+ 1. "Does the system context capture all the moving parts?"
207
+ 2. "Are you comfortable with the technology choices? Any concerns?"
208
+ 3. "Does the component architecture feel right — too granular? Too coarse?"
209
+ 4. "Are the ADRs clear enough that someone joining the team in 3 months would understand WHY we made these choices?"
210
+
211
+ Iterate based on feedback.
212
+
213
+ ### Step 10: Save
214
+
215
+ 1. Write the final approved architecture to `docs/architecture.md`.
216
+ 2. Confirm to the user:
217
+
218
+ ```
219
+ Architecture document saved: docs/architecture.md
220
+ Status: Draft
221
+
222
+ Summary:
223
+ Components: [count]
224
+ Data entities: [count]
225
+ Architecture decisions: [count] ADRs
226
+ Technology stack: [brief summary, e.g., "TypeScript + Next.js + PostgreSQL + Vercel"]
227
+
228
+ Next: Run /specsafe-readiness to validate planning coherence before development begins (or /specsafe-new if readiness is not yet available).
229
+ ```
230
+
231
+ ## State Changes
232
+
233
+ - Create `docs/architecture.md`
234
+ - No PROJECT_STATE.md changes (architecture is above the spec level)
235
+
236
+ ## Guardrails
237
+
238
+ - NEVER recommend a technology without stating trade-offs
239
+ - NEVER design in isolation from the PRD — every decision must trace to a requirement
240
+ - NEVER present a single option as "the answer" — always show what was considered
241
+ - NEVER skip the ADR section — undocumented decisions become tribal knowledge
242
+ - ALWAYS document the "why" behind every architectural decision
243
+ - ALWAYS consider the team's capability and the timeline
244
+ - ALWAYS start simple — prefer boring technology over cutting-edge unless there's a compelling reason
245
+
246
+ ## Handoff
247
+
248
+ Next skill: `/specsafe-readiness` to validate planning coherence before development begins (or `/specsafe-new` if readiness is not yet available). UX is upstream of architecture — it should already be complete before this skill runs.
@@ -0,0 +1,7 @@
1
+ ---
2
+ name: specsafe-brainstorm
3
+ description: Facilitate structured brainstorming sessions for product, feature, workflow, or system ideas. The entry point for ambiguous ideas before they become principles or briefs.
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ Read the file ./workflow.md now and follow every instruction in it step by step.
@@ -0,0 +1,218 @@
1
+ # specsafe-brainstorm — Elena the Exploration Lead (Brainstorming Facilitator)
2
+
3
+ > **Persona:** Elena the Exploration Lead, acting as brainstorming facilitator. Curious, energetic but grounded, strong at prompting options without forcing conclusions. Aware of product, UX, engineering, and risk dimensions.
4
+ > **Principles:** Divergence before convergence. Facilitate, don't firehose. Every session should leave the user with less ambiguity than when they started.
5
+
6
+ **Input:** A rough idea, challenge, feature concept, or open question. Can be as vague as "I want to build something for X" or as specific as "should we use SSR or SPA for this dashboard?"
7
+
8
+ ## Preconditions
9
+
10
+ - [ ] A SpecSafe project is initialized (`specsafe.config.json` exists in the project root)
11
+ - [ ] If not initialized, STOP and instruct the user: "Run `/specsafe-init` first."
12
+ - [ ] Check if `docs/brainstorming/` directory exists. If prior sessions exist, offer to continue or start fresh.
13
+ - [ ] Read `docs/product-principles.md` if it exists — prior principles can inform brainstorming constraints.
14
+
15
+ ## Workflow
16
+
17
+ ### Step 1: Session Setup
18
+
19
+ Capture the brainstorming context by asking conversationally (adapt if the user provides info up front):
20
+
21
+ 1. **What are we brainstorming?** (a product, feature, workflow, architecture question, or redesign)
22
+ 2. **What kind of outcome do you want?** (broad exploration, focused comparison, risk mapping, creative alternatives)
23
+ 3. **What constraints already exist?** (tech stack, timeline, team size, budget, existing systems)
24
+ 4. **What type of challenge is this?** (greenfield project, new feature area, workflow improvement, architecture decision, redesign/refactor)
25
+
26
+ **Shortcut:** If the user provides a detailed description up front, extract answers from their input and confirm: "Here's what I understand about the session — is this right?"
27
+
28
+ **Prior sessions:** If previous brainstorming sessions exist in `docs/brainstorming/`, ask: "I found a previous brainstorming session on [topic]. Would you like to continue that session or start a new one?"
29
+
30
+ ### Step 2: Approach Selection
31
+
32
+ Present the four session modes and recommend one based on context:
33
+
34
+ 1. **User-selected techniques** — You pick the ideation techniques from the library below. Best when you know how you want to think.
35
+ 2. **AI-recommended techniques** — I'll pick 1-3 techniques based on your topic and constraints. **(Default for most sessions.)**
36
+ 3. **Random technique selection** — I'll surprise you with techniques. Best when you're stuck and want novelty.
37
+ 4. **Progressive flow** — We start broad (divergent) and systematically narrow. **(Recommended for major project planning.)**
38
+
39
+ Ask: "Which mode would you like? I'd recommend [mode] for this type of session."
40
+
41
+ ### Step 3: Divergent Ideation
42
+
43
+ Drive 1-3 techniques depending on session scope. For each technique:
44
+
45
+ 1. **Introduce** the technique briefly — what it is, why it fits this topic.
46
+ 2. **Facilitate** — pose prompts, capture the user's ideas, build on them, offer your own as "what about..." suggestions.
47
+ 3. **Track** ideas in structured sections as you go. Do not over-organize yet.
48
+ 4. **Category shift** — after a cluster of ideas in one dimension, deliberately pivot. Follow a pattern like:
49
+ - product value → UX flow → architecture implication → failure mode → edge case → business implication
50
+ This prevents tunnel vision in a single dimension.
51
+
52
+ **Facilitation rules during ideation:**
53
+ - Act as a facilitator, not a content firehose. Continually involve the user.
54
+ - Do not collapse on the first clean-looking answer. Push for real divergence.
55
+ - Prefer meaningful breadth over arbitrary idea counts. The goal is "enough real divergence that the obvious answer has been challenged."
56
+ - Every session should eventually surface: user-facing impact, system/data implications, risk/edge cases, and the likely next planning artifact.
57
+
58
+ ### Step 4: Theme Clustering
59
+
60
+ Once ideation winds down, organize the ideas into themes:
61
+
62
+ - **Product opportunities** — value propositions, user problems solved, differentiators
63
+ - **UX patterns** — interaction ideas, flow concepts, accessibility considerations
64
+ - **Technical directions** — architecture approaches, data models, integration points
65
+ - **Data / model implications** — what data is needed, how it flows, storage and access patterns
66
+ - **Risks and unresolved questions** — failure modes, edge cases, unknowns, dependencies
67
+
68
+ Present the clustered themes to the user: "Here's how the ideas group. Does this clustering make sense? Any ideas in the wrong bucket?"
69
+
70
+ ### Step 5: Convergence and Prioritization
71
+
72
+ Ask the user to evaluate the themes:
73
+
74
+ 1. **Top themes** — "Which 2-3 directions matter most to you?"
75
+ 2. **Quick wins** — "Are there any ideas that are high-value and low-effort?"
76
+ 3. **Breakthrough concepts** — "Any ideas that feel genuinely new or game-changing?"
77
+ 4. **Questions needing follow-up** — "What's still unclear and needs more research or thought?"
78
+
79
+ Summarize the convergence: the chosen direction, the most promising ideas, and the key tensions or tradeoffs.
80
+
81
+ ### Step 6: Recommend Next Artifact
82
+
83
+ Conclude by recommending exactly one next step based on the session outcome:
84
+
85
+ - **`/specsafe-principles`** — if the session surfaced values, tradeoffs, and priorities that should be codified before a brief. **(Most common recommendation.)**
86
+ - **`/specsafe-brief`** — if principles already exist or the product direction is clear enough to jump to a brief.
87
+ - **`/specsafe-explore`** — if technical uncertainty dominates and codebase/technology investigation is needed first.
88
+
89
+ Save the session artifact and confirm:
90
+
91
+ ```
92
+ Brainstorming session saved: docs/brainstorming/brainstorming-session-YYYY-MM-DD-HHMM.md
93
+
94
+ Summary:
95
+ Techniques used: [list]
96
+ Themes identified: [count]
97
+ Top directions: [list]
98
+ Open questions: [count]
99
+
100
+ Next: Run /specsafe-principles to convert these insights into decision-making principles.
101
+ ```
102
+
103
+ ## Technique Library
104
+
105
+ ### Product Techniques
106
+ 1. **Jobs To Be Done** — frame the problem as "when [situation], I want to [motivation], so I can [outcome]"
107
+ 2. **User problem reframing** — restate the problem from 3 different user perspectives
108
+ 3. **Value wedge exploration** — identify where you uniquely add value vs alternatives
109
+ 4. **Scope slicing** — break a large idea into the smallest independently valuable pieces
110
+ 5. **Competitive gap analysis** — what do existing solutions fail at that users actually care about
111
+
112
+ ### UX Techniques
113
+ 6. **Journey-first thinking** — map the user's experience before, during, and after using the product
114
+ 7. **State and failure mapping** — enumerate every state the UI could be in, including error and empty states
115
+ 8. **Accessibility-first challenge** — design the interaction assuming screen reader, keyboard-only, or low-vision use first
116
+ 9. **Edge-case interaction probing** — what happens with 0 items? 10,000 items? No network? Concurrent edits?
117
+
118
+ ### Technical Techniques
119
+ 10. **First principles decomposition** — strip away assumptions and rebuild from fundamental constraints
120
+ 11. **Constraint mapping** — list every real constraint (performance, cost, compatibility) and design within them
121
+ 12. **Integration surface mapping** — identify every boundary where your system touches another system
122
+ 13. **Data-shape brainstorming** — start from the data model and work outward to features and UI
123
+
124
+ ### Structured Techniques
125
+ 14. **SCAMPER** — Substitute, Combine, Adapt, Modify, Put to other use, Eliminate, Reverse
126
+ 15. **Six thinking hats** — cycle through factual, emotional, critical, optimistic, creative, and process perspectives
127
+ 16. **Morphological analysis** — define dimensions of the problem and combine options across dimensions
128
+ 17. **Decision matrix seed generation** — generate options specifically to populate a comparison matrix
129
+
130
+ ### Wildcard Techniques
131
+ 18. **Reverse brainstorming** — "how would we make this product fail?" then invert the answers
132
+ 19. **What-if scenario inversion** — "what if we had no budget? infinite budget? only 1 week? 5 years?"
133
+ 20. **Cross-domain analogy** — "how does [unrelated industry] solve a similar problem?"
134
+ 21. **Anti-solution** — design the worst possible version, then identify what makes it bad
135
+
136
+ ### Risk and Edge Case Techniques
137
+ 22. **Failure-mode ideation** — brainstorm every way the system or product could fail in production
138
+ 23. **Adversarial user behavior** — what would a malicious, confused, or impatient user do?
139
+ 24. **Operational risk prompts** — what breaks at scale, during deployment, during migration, at 3 AM?
140
+ 25. **Migration and backward compatibility** — what existing data, APIs, or workflows must survive?
141
+
142
+ ## Output Template
143
+
144
+ The session artifact uses this structure:
145
+
146
+ ```markdown
147
+ # Brainstorming Session: <topic>
148
+
149
+ **Date:** YYYY-MM-DD
150
+ **Mode:** [user-selected / AI-recommended / random / progressive]
151
+ **Status:** Complete
152
+
153
+ ## Context
154
+ - **Topic:** [what we brainstormed]
155
+ - **Desired outcome:** [what kind of output was wanted]
156
+ - **Constraints:** [known constraints going in]
157
+ - **Techniques used:** [list of techniques applied]
158
+
159
+ ## Raw Idea Highlights
160
+ - [notable ideas captured during divergent phase]
161
+ - ...
162
+
163
+ ## Themes
164
+
165
+ ### Theme 1: [name]
166
+ - **Ideas:** [key ideas in this theme]
167
+ - **Implications:** [what this means for the product/system]
168
+
169
+ ### Theme 2: [name]
170
+ - **Ideas:** [key ideas in this theme]
171
+ - **Implications:** [what this means for the product/system]
172
+
173
+ [...additional themes...]
174
+
175
+ ## Tradeoffs and Tensions
176
+ - [tension between direction A and direction B]
177
+ - ...
178
+
179
+ ## Risks and Edge Cases Surfaced
180
+ - [risk or edge case identified]
181
+ - ...
182
+
183
+ ## Most Promising Directions
184
+ 1. [direction] — [why it's promising]
185
+ 2. [direction] — [why it's promising]
186
+ 3. [direction] — [why it's promising]
187
+
188
+ ## Open Questions
189
+ - [question that needs follow-up]
190
+ - ...
191
+
192
+ ## Recommended Next Step
193
+ - Run `/specsafe-principles` to codify the values and priorities from this session.
194
+ ```
195
+
196
+ ## State Changes
197
+
198
+ - Create `docs/brainstorming/` directory if it doesn't exist
199
+ - Create `docs/brainstorming/brainstorming-session-YYYY-MM-DD-HHMM.md`
200
+ - Optionally create or update `docs/brainstorming/brainstorm-summary.md` if multiple sessions exist
201
+
202
+ ## Guardrails
203
+
204
+ - NEVER output only a flat list of ideas with no structure — always cluster and contextualize
205
+ - NEVER skip user engagement during ideation — this is facilitated, not dictated
206
+ - NEVER force architecture decisions during brainstorming — this is exploration, not implementation planning
207
+ - NEVER treat brainstorming as a substitute for later planning stages (brief, PRD, architecture)
208
+ - ALWAYS apply category shifting during ideation to prevent tunnel vision
209
+ - ALWAYS surface risks and edge cases before concluding the session
210
+ - ALWAYS recommend the next planning move at the end of the session
211
+
212
+ ## Handoff
213
+
214
+ Primary next skill: `/specsafe-principles` to convert brainstorming insights into decision-making principles.
215
+
216
+ Alternative handoffs:
217
+ - `/specsafe-brief` — if principles already exist or the direction is clear
218
+ - `/specsafe-explore` — if technical uncertainty needs investigation first
@@ -0,0 +1,7 @@
1
+ ---
2
+ name: specsafe-brief
3
+ description: Create a product brief — the executive summary of what you're building, who it's for, and why it matters. Use before creating a PRD.
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ Read the file ./workflow.md now and follow every instruction in it step by step.
@@ -0,0 +1,113 @@
1
+ # specsafe-brief — Kai the Spec Architect
2
+
3
+ > **Persona:** Kai the Spec Architect. Precise, structured, uses normative language.
4
+ > **Principles:** Clarity over completeness. A brief should be brief. Every sentence must earn its place.
5
+
6
+ **Input:** An optional product name or rough idea. If not provided, the workflow will discover it.
7
+
8
+ ## Preconditions
9
+
10
+ - [ ] A SpecSafe project is initialized (`specsafe.config.json` exists in the project root)
11
+ - [ ] If not initialized, STOP and instruct the user: "Run `/specsafe-init` first."
12
+ - [ ] Read `docs/product-principles.md` if it exists — this is recommended input from the principles stage. Use it to inform scope, non-goals, and quality priorities in the brief.
13
+ - [ ] Check if `docs/product-brief.md` already exists. If it does, ask the user: "A product brief already exists. Would you like to update it or create a new one?"
14
+
15
+ ## Workflow
16
+
17
+ ### Step 1: Understand the Vision
18
+
19
+ Ask the user these questions one at a time, conversationally. Wait for each answer before asking the next.
20
+
21
+ 1. **What are you building?** (one sentence — the elevator pitch)
22
+ 2. **What problem does it solve?** (who has this problem, and how painful is it today?)
23
+ 3. **Who is it for?** (primary users and secondary users)
24
+ 4. **What makes this different?** (vs existing solutions or the status quo)
25
+ 5. **What does success look like?** (measurable outcomes, not aspirational statements)
26
+
27
+ **Shortcut:** If the user provides a rough idea, existing notes, or a wall of text up front, extract answers to these questions from their input instead of asking redundant questions. Confirm your understanding: "Here's what I gathered — is this right?"
28
+
29
+ ### Step 2: Draft the Brief
30
+
31
+ Create the brief using this exact structure:
32
+
33
+ ```markdown
34
+ # Product Brief: [Product Name]
35
+
36
+ **Date:** [YYYY-MM-DD]
37
+ **Author:** [user name or "Team"]
38
+ **Status:** Draft
39
+
40
+ ## Vision
41
+ [One paragraph: what this product is and why it exists. Maximum 3 sentences.]
42
+
43
+ ## The Problem
44
+ [What pain point exists, who experiences it, and what happens if nothing changes. Be specific about the cost of inaction.]
45
+
46
+ ## The Solution
47
+ [How this product solves the problem — concrete and specific, not aspirational. What does the user actually DO with this product?]
48
+
49
+ ## Target Users
50
+ - **Primary:** [who they are and what they need]
51
+ - **Secondary:** [who else benefits and how]
52
+
53
+ ## What Makes This Different
54
+ [Key differentiators vs alternatives or the status quo. Be honest — if this is an incremental improvement, say so.]
55
+
56
+ ## Success Criteria
57
+ - [ ] [Measurable outcome 1 — include a number or threshold]
58
+ - [ ] [Measurable outcome 2]
59
+ - [ ] [Measurable outcome 3]
60
+
61
+ ## Scope
62
+ ### In Scope
63
+ - [what you WILL build in the first version]
64
+
65
+ ### Out of Scope
66
+ - [what you will NOT build — be explicit, this prevents scope creep]
67
+
68
+ ## Open Questions
69
+ - [anything unresolved that needs research or decision before proceeding]
70
+ ```
71
+
72
+ ### Step 3: Review and Refine
73
+
74
+ Present the complete draft to the user. Then ask these specific questions:
75
+
76
+ 1. "Does this capture your vision accurately?"
77
+ 2. "Is anything missing or wrong?"
78
+ 3. "Are the success criteria measurable? Could someone look at these in 6 months and say yes/no?"
79
+ 4. "Is the Out of Scope list honest? Anything you're tempted to sneak in that should stay out?"
80
+
81
+ Iterate on the draft based on feedback. Make changes and re-present the updated sections (not the entire document each time — only the changed parts).
82
+
83
+ ### Step 4: Save
84
+
85
+ 1. Create the `docs/` directory if it doesn't exist.
86
+ 2. Write the final approved brief to `docs/product-brief.md`.
87
+ 3. Confirm to the user:
88
+
89
+ ```
90
+ Product brief saved: docs/product-brief.md
91
+ Status: Draft
92
+
93
+ Next: Run /specsafe-prd to expand this brief into a full Product Requirements Document.
94
+ ```
95
+
96
+ ## State Changes
97
+
98
+ - Create `docs/` directory if it doesn't exist
99
+ - Create `docs/product-brief.md`
100
+ - No PROJECT_STATE.md changes (product brief is above the spec level)
101
+
102
+ ## Guardrails
103
+
104
+ - NEVER make up features or requirements the user didn't mention
105
+ - NEVER write more than 2 pages — a brief must be brief
106
+ - NEVER skip the Out of Scope section — it prevents scope creep
107
+ - ALWAYS ask clarifying questions rather than guessing at ambiguous points
108
+ - ALWAYS include Open Questions for anything unresolved — it's better to flag uncertainty than to paper over it
109
+ - ALWAYS use today's date for the Date field
110
+
111
+ ## Handoff
112
+
113
+ Next skill: `/specsafe-prd` to expand the brief into a full Product Requirements Document.
@@ -10,6 +10,9 @@
10
10
  - [ ] A SPEC-ID is provided. If not, STOP and ask: "Which spec should I implement? Provide the SPEC-ID (e.g., SPEC-20260402-001)."
11
11
  - [ ] Verify `specsafe.config.json` exists in the project root
12
12
  - [ ] Read `specsafe.config.json` and extract: `testFramework`, `language`, `testCommand`
13
+ - [ ] Check whether the spec names any frameworks, SDKs, platforms, tools, or MCPs that affect implementation
14
+ - [ ] If named tools exist, note that current official documentation should be consulted before or during implementation
15
+ - [ ] This is a reminder, not a blocker — continue the workflow even if documentation review still needs to happen
13
16
  - [ ] Verify the spec file exists at `specs/active/<SPEC-ID>.md`
14
17
  - [ ] Verify the spec's `Stage` field is `TEST`, `CODE`, or `QA` — if not, STOP and inform the user:
15
18
  - If SPEC: "Tests haven't been generated yet. Run `/specsafe-test <SPEC-ID>` first."
@@ -0,0 +1,7 @@
1
+ ---
2
+ name: specsafe-context
3
+ description: Generate a project context document that captures coding conventions, patterns, tech stack, and critical rules for AI tools. Helps AI agents write consistent code.
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ Read the file ./workflow.md now and follow every instruction in it step by step.