@tgoodington/intuition 10.7.0 → 10.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tgoodington/intuition",
3
- "version": "10.7.0",
3
+ "version": "10.9.0",
4
4
  "description": "Domain-adaptive workflow system for Claude Code: prompt, outline, assemble specialist teams, detail with domain experts, build with format producers, test code output. Supports v8 compat (design, engineer, build) and v9 specialist workflows with 14 domain specialists and 6 format producers.",
5
5
  "keywords": [
6
6
  "claude-code",
@@ -256,14 +256,33 @@ If no large data files are detected, skip this entirely.
256
256
  For each major decision domain identified from the prompt brief, orientation research, and dialogue:
257
257
 
258
258
  1. **Identify** the decision needed. State it clearly.
259
- 2. **Research** (when needed): Launch 1-2 targeted research agents via Task tool.
260
- - Use `intuition-researcher` for straightforward fact-gathering.
261
- - Use `intuition-researcher` (model override: sonnet) for trade-off analysis against the existing codebase.
262
- - Each agent prompt MUST reference the specific decision domain, return under 400 words.
263
- - Write results to `{context_path}/.outline_research/decision_[domain].md` (snake_case).
264
- - NEVER launch more than 2 agents simultaneously.
259
+ 2. **Research** (when needed): Launch research agents via Task tool. Agent count scales with the selected depth tier:
260
+
261
+ **Lightweight (1 agent):** Launch a single `intuition-researcher` agent for neutral fact-gathering.
262
+ "Research [decision domain] in the context of [project]. What are the viable approaches, key trade-offs, and relevant patterns in the codebase? Under 400 words."
263
+ Write results to `{context_path}/.outline_research/decision_[domain].md`.
264
+
265
+ **Standard (2 agents — Advocate/Challenger):** Launch 2 agents in parallel using divergent framing to combat confirmation bias.
266
+
267
+ **Agent A — Advocate** (subagent_type: `intuition-researcher`):
268
+ "Research [decision domain] in the context of [project]. Make the strongest case for the most natural approach given the existing codebase and constraints. What patterns already exist that support it? What makes it the obvious choice? Under 400 words."
269
+
270
+ **Agent B — Challenger** (subagent_type: `intuition-researcher`, model override: sonnet):
271
+ "Research [decision domain] in the context of [project]. Identify the strongest reasons NOT to take the obvious approach. What are the risks, overlooked alternatives, and counterarguments? What has gone wrong when similar projects made the default choice? Under 400 words."
272
+
273
+ Both agents MUST be launched in parallel in a single response. Write combined results to `{context_path}/.outline_research/decision_[domain].md`, clearly labeling the advocate and challenger findings.
274
+
275
+ **Comprehensive (3 agents — Advocate/Challenger/Lateral):** Launch all Standard agents plus:
276
+
277
+ **Agent C — Lateral** (subagent_type: `intuition-researcher`):
278
+ "Research how [decision domain] has been solved in different contexts — different frameworks, industries, or scales. What non-obvious approaches exist that the team might not have considered? Under 400 words."
279
+
280
+ - NEVER launch more than 3 agents simultaneously.
265
281
  - WAIT for all research agents to return and read their results before proceeding to step 3.
266
- 3. **Present** 2-3 options with trade-offs. Include your recommendation and why. Incorporate the research findings.
282
+
283
+ 3. **Synthesize and present** 2-3 options with trade-offs. Synthesis rules scale with tier:
284
+ - **Lightweight**: Present findings directly with your recommendation.
285
+ - **Standard/Comprehensive**: You MUST incorporate findings from BOTH the advocate and challenger before forming your recommendation. If advocate and challenger agree, note that convergence — it strengthens confidence. If they disagree, the tension between them should directly shape the options you present. Do not simply pick the advocate's position.
267
286
  4. **Ask** the user to select via AskUserQuestion.
268
287
  5. **Record** the resolved decision to `{context_path}/.outline_research/decisions_log.md`:
269
288
 
@@ -658,14 +677,26 @@ Launch 2 `intuition-researcher` agents in parallel via Task tool. See Phase 1, S
658
677
 
659
678
  ## Tier 2: Decision Research (launched on demand in Phase 3)
660
679
 
661
- Launch 1-2 agents per decision domain when dialogue reveals unknowns needing investigation.
680
+ Agent count scales with depth tier to balance token cost against confirmation bias risk.
681
+
682
+ **Lightweight (1 agent):**
683
+ - Single `intuition-researcher` for neutral fact-gathering. Low-stakes decisions don't justify the overhead of divergent framing.
684
+
685
+ **Standard (2 agents — Advocate/Challenger):**
686
+ - **Agent A — Advocate** (`intuition-researcher`): Makes the strongest case FOR the natural/obvious approach. Looks for supporting patterns in the codebase.
687
+ - **Agent B — Challenger** (`intuition-researcher`, model: sonnet): Makes the strongest case AGAINST the obvious approach. Surfaces risks, alternatives, counterarguments.
688
+
689
+ **Comprehensive (3 agents — Advocate/Challenger/Lateral):**
690
+ - Advocate and Challenger as above, plus:
691
+ - **Agent C — Lateral** (`intuition-researcher`): Explores how the problem has been solved in different contexts, frameworks, or industries.
662
692
 
663
- - Use `intuition-researcher` agents for fact-gathering (e.g., "What testing framework does this project use?").
664
- - Use `intuition-researcher` agents (model override: sonnet) for trade-off analysis (e.g., "Compare approaches X and Y given the current architecture").
693
+ Rules:
694
+ - Standard/Comprehensive: advocate and challenger MUST be launched in parallel in a single response.
665
695
  - Each prompt MUST specify the decision domain and a 400-word limit.
666
696
  - Reference specific files or directories when possible.
667
- - Write results to `{context_path}/.outline_research/decision_[domain].md`.
668
- - NEVER launch more than 2 simultaneously.
697
+ - Write results to `{context_path}/.outline_research/decision_[domain].md`. Standard/Comprehensive: label advocate and challenger sections.
698
+ - NEVER launch more than 3 simultaneously.
699
+ - Standard/Comprehensive synthesis MUST incorporate tension between advocate and challenger findings. If you find yourself ignoring the challenger, stop and re-read its findings.
669
700
 
670
701
  # CONTEXT MANAGEMENT
671
702
 
@@ -92,17 +92,22 @@ This is the core of the skill. Each turn targets ONE gap using a dependency-orde
92
92
  ### Refinement Order
93
93
 
94
94
  ```
95
- 1. SCOPE → What is IN and what is OUT?
96
- 2. INTENT → What does the end-user experience when this is done and working?
97
- 3. SUCCESS How do you know it worked? What's observable/testable?
98
- 4. CONSTRAINTS → What can't change? Technology, team, timeline, budget?
99
- 5. ASSUMPTIONS → What are we taking as given? How confident are we?
95
+ 1. SCOPE → What is IN and what is OUT? Broad boundaries, not itemized feature lists.
96
+ 2. INTENT → What does "done" look and feel like? The experiential outcome.
97
+ 3. BOUNDARIES What's fixed and what's flexible? Hard constraints and key givens.
100
98
  ```
101
99
 
100
+ The prompt phase paints in broad strokes. Detailed success criteria, testable outcomes, assumption confidence ratings, and architectural constraints belong in outline — not here.
101
+
102
+ **SCOPE sets the playing field** — enough to know what's in-bounds and out-of-bounds, not a requirements list.
103
+
102
104
  **INTENT captures the experiential outcome** — not metrics, but feel:
103
105
  - What the end-user experiences when interacting with the finished product
104
106
  - What the output/interface looks like and feels like in practice
105
107
  - Non-negotiable experiential qualities (fast, simple, invisible, delightful, etc.)
108
+ - What "done" looks like at a high level — outline will sharpen this into testable criteria
109
+
110
+ **BOUNDARIES merge constraints and assumptions into one pass** — what can't change, what we're taking as given, what's flexible. No confidence ratings or detailed analysis — just the lay of the land.
106
111
 
107
112
  INTENT grounds the brief in what success *feels like*, which downstream phases use to distinguish user-facing decisions from technical internals.
108
113
 
@@ -111,33 +116,46 @@ INTENT grounds the brief in what success *feels like*, which downstream phases u
111
116
  Before each question, run this internal check:
112
117
 
113
118
  ```
114
- Is SCOPE clear enough to plan against?
115
- NO → Ask a scope question
116
- YES → Is INTENT defined (experiential outcome, look/feel, non-negotiable qualities)?
119
+ Is SCOPE clear enough to know what's in-bounds and out-of-bounds?
120
+ NO → Ask a scope question (broad boundaries, not feature lists)
121
+ YES → Is INTENT defined (experiential outcome, look/feel, what "done" looks like)?
117
122
  NO → Ask an intent question
118
- YES → Is SUCCESS defined with observable criteria?
119
- NO → Ask a success criteria question
120
- YES → Are binding CONSTRAINTS surfaced?
121
- NO → Ask a constraints question
122
- YES → Are key ASSUMPTIONS identified?
123
- NO → Ask an assumptions question
124
- YES → Move to REFLECT
123
+ YES → Are BOUNDARIES clear (hard constraints, key givens, what's flexible)?
124
+ NO → Ask a boundaries question
125
+ YES → Move to REFLECT
125
126
  ```
126
127
 
127
128
  If the user's initial CAPTURE response already covers some dimensions, skip them. Do not ask about what's already clear.
128
129
 
130
+ **Stay at vision altitude.** If you catch yourself asking about specific metrics, implementation details, or testable acceptance criteria — stop. That's outline's job. The prompt phase asks "what are we building and why does it matter?" not "how will we verify it works?"
131
+
129
132
  ### Question Crafting Rules
130
133
 
131
134
  Every question in REFINE follows these principles:
132
135
 
133
136
  **Derive from their words.** Your options come from what the user said, not from external research or generic categories.
134
137
 
135
- **ANTI-PATTERN: Always presenting 3 options.** This is the most common failure mode. You must count the actual distinct possibilities the user's words imply sometimes that's 2, sometimes 5, sometimes 6. Three is not a safe default; it's a lazy one. Before presenting options, explicitly list the distinct possibilities you've identified and use ALL of them.
138
+ **MANDATORY OPTION ENUMERATIONexecute this before EVERY AskUserQuestion call:**
139
+
140
+ ```
141
+ STEP 1: In your thinking, brainstorm EVERY distinct possibility the user's
142
+ words and context imply. Write them all out. Do not stop at 3.
143
+ STEP 2: Count them. If you have exactly 3, you are almost certainly anchored.
144
+ Go back to Step 1 and ask: "What am I collapsing together that is
145
+ actually two distinct things? What possibility am I forgetting?"
146
+ STEP 3: Only proceed when your count genuinely reflects the decision space.
147
+ 2 is fine. 4 is fine. 7 is fine. 3 is fine ONLY if you passed Step 2
148
+ and confirmed the space truly has exactly 3 distinct options.
149
+ STEP 4: Use ALL the possibilities from your enumeration as AskUserQuestion
150
+ options. Do not trim to fit a round number.
151
+ ```
152
+
153
+ If you skip this procedure or present 3 options without passing Step 2, the protocol has failed.
136
154
 
137
155
  Examples at different scales:
138
156
 
139
157
  - 2 options: "You said 'handle transfers' — does that mean (a) bulk migration when someone leaves, or (b) real-time co-ownership?"
140
- - 3 options: "You mentioned 'fast' — is that (a) sub-second response times, (b) same-day turnaround, or (c) perceived speed through progressive loading?"
158
+ - 3 options (verified): "You mentioned 'fast' — is that (a) sub-second response times, (b) same-day turnaround, or (c) perceived speed through progressive loading?"
141
159
  - 4 options: "The notification system could be (a) email-only, (b) in-app real-time, (c) digest-based batching, or (d) user-configured per event type."
142
160
  - 5 options: "For auth you've got (a) email/password, (b) SSO via existing provider, (c) magic links, (d) OAuth social login, or (e) passkeys."
143
161
  - 6+ options: "The dashboard layout could be (a) single KPI grid, (b) tabbed by department, (c) role-based views, (d) customizable drag-and-drop, (e) narrative/report style, or (f) a combined feed with filters."
@@ -155,9 +173,9 @@ Always include a trailing "or something else entirely?" when the space might be
155
173
  **Aggressive skip rule:** After CAPTURE, check each dimension. If the user's initial response provides a clear, actionable answer for a dimension, mark it satisfied and skip it entirely. Do not ask confirmatory questions for dimensions that are already clear — that's ceremony, not refinement.
156
174
 
157
175
  **Convergence triggers — move to REFLECT when ANY of these are true:**
158
- - All 5 dimensions are satisfied (even if that's after 1 turn of REFINE)
159
- - You've asked 3+ REFINE questions and remaining gaps are minor enough to flag as open questions
160
- - By turn 3-4 you should be asking about what the solution DOES, not what the problem IS. If you're still gathering background context after turn 4, flag remaining unknowns as open questions and move to REFLECT.
176
+ - All 3 dimensions are satisfied (even if that's after 1 turn of REFINE)
177
+ - You've asked 2+ REFINE questions and remaining gaps are minor enough to flag as open questions for outline
178
+ - By turn 3 you should have a clear enough picture to move toward REFLECT. If you're still gathering broad context after turn 3, flag remaining unknowns as open questions and move on.
161
179
 
162
180
  The goal is precision, not thoroughness. A 4-turn prompt session that nails the brief is better than a 9-turn session that asks about things the user already told you.
163
181
 
@@ -175,18 +193,14 @@ Question: "Here's what I've captured from our conversation:
175
193
  **Commander's Intent:**
176
194
  - Desired end state: [What success feels/looks like to the end user — experiential, not metrics]
177
195
  - Non-negotiables: [The 2-3 experiential qualities that would make the user reject the result]
178
- - Boundaries: [Constraints on the solution space, not prescribed solutions]
179
-
180
- **Success looks like:** [bullet list of observable outcomes]
181
-
182
- **In scope:** [list]
183
- **Out of scope:** [list]
184
196
 
185
- **Constraints:** [list]
197
+ **In scope:** [list — broad boundaries]
198
+ **Out of scope:** [list — broad boundaries]
186
199
 
187
- **Assumptions:** [list with confidence notes]
200
+ **What's fixed:** [hard constraints and key givens — brief list]
201
+ **What's flexible:** [areas where outline has room to explore]
188
202
 
189
- **Open questions for outlining:** [list]
203
+ **Open questions for outlining:** [list — things outline should investigate]
190
204
 
191
205
  What needs adjusting?"
192
206
 
@@ -242,35 +256,29 @@ Write the output files and route to handoff.
242
256
  ## Commander's Intent
243
257
  **Desired end state:** [What success feels/looks like to the end user — experiential, not metrics]
244
258
  **Non-negotiables:** [The 2-3 experiential qualities that would make the user reject the result]
245
- **Boundaries:** [Constraints on the solution space, not prescribed solutions]
246
-
247
- ## Success Criteria
248
- - [Observable, testable outcome 1]
249
- - [Observable, testable outcome 2]
250
- - [Observable, testable outcome 3]
251
259
 
252
260
  ## Scope
253
261
  **In scope:**
254
- - [Item 1]
255
- - [Item 2]
262
+ - [Broad boundary 1]
263
+ - [Broad boundary 2]
256
264
 
257
265
  **Out of scope:**
258
- - [Item 1]
259
- - [Item 2]
266
+ - [Broad boundary 1]
267
+ - [Broad boundary 2]
260
268
 
261
- ## Constraints
262
- - [Non-negotiable limit 1]
263
- - [Non-negotiable limit 2]
269
+ ## Boundaries
270
+ **What's fixed:**
271
+ - [Hard constraint or key given 1]
272
+ - [Hard constraint or key given 2]
264
273
 
265
- ## Key Assumptions
266
- | Assumption | Confidence | Basis |
267
- |-----------|-----------|-------|
268
- | [statement] | High/Med/Low | [why we believe this] |
274
+ **What's flexible:**
275
+ - [Area where outline has room to explore 1]
276
+ - [Area where outline has room to explore 2]
269
277
 
270
278
  ## Open Questions for Planning
271
- - [Build decision the outline phase should investigate]
272
- - [Technical unknown that affects architecture]
279
+ - [Thing outline should investigate or decide]
273
280
  - [Assumption that needs validation]
281
+ - [Area where the user was uncertain]
274
282
 
275
283
  ## Decision Posture
276
284
  | Area | Posture | Notes |
@@ -285,26 +293,23 @@ Write the output files and route to handoff.
285
293
  "summary": {
286
294
  "title": "...",
287
295
  "one_liner": "...",
288
- "problem_statement": "...",
289
- "success_criteria": "..."
296
+ "problem_statement": "..."
290
297
  },
291
298
  "commander_intent": {
292
299
  "desired_end_state": "...",
293
- "non_negotiables": ["..."],
294
- "boundaries": ["..."]
300
+ "non_negotiables": ["..."]
295
301
  },
296
302
  "scope": {
297
303
  "in": ["..."],
298
304
  "out": ["..."]
299
305
  },
300
- "constraints": ["..."],
301
- "assumptions": [
302
- { "assumption": "...", "confidence": "high|medium|low", "basis": "..." }
303
- ],
306
+ "boundaries": {
307
+ "fixed": ["..."],
308
+ "flexible": ["..."]
309
+ },
304
310
  "decision_posture": [
305
311
  { "area": "...", "posture": "i_decide|show_options|team_handles", "notes": "..." }
306
312
  ],
307
- "research_performed": [],
308
313
  "open_questions": ["..."]
309
314
  }
310
315
  ```
@@ -366,6 +371,8 @@ These are banned. If you catch yourself doing any of these, stop and correct cou
366
371
  - Asking questions you could have asked in turn one (generic background)
367
372
  - Staying on the same sub-topic for more than 2 follow-ups when the user is uncertain — flag it as an open question and move on
368
373
  - Producing a brief with sections the outline phase doesn't consume
374
+ - **Drilling into implementation-level detail** — observable/testable criteria, confidence-rated assumptions, architectural specifics. The prompt phase captures vision and boundaries; outline sharpens into specifications
375
+ - **Presenting exactly 3 options without running the Mandatory Option Enumeration procedure** — this is the single most persistent failure mode. If you have 3 options, you MUST have verified via Step 2 that you aren't collapsing or omitting possibilities
369
376
 
370
377
  ## RESUME LOGIC
371
378