@dzhechkov/skills-feature-adr 1.2.0 → 1.3.1

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 (24) hide show
  1. package/bin/cli.js +0 -0
  2. package/package.json +1 -1
  3. package/src/commands/init.js +15 -7
  4. package/src/utils.js +16 -1
  5. package/templates/.claude/commands/harvest.md +49 -0
  6. package/templates/.claude/rules/reward-learning.md +124 -0
  7. package/templates/.claude/skills/explore/SKILL.md +218 -0
  8. package/templates/.claude/skills/explore/references/questioning-techniques.md +151 -0
  9. package/templates/.claude/skills/explore/references/task-brief-templates.md +355 -0
  10. package/templates/.claude/skills/frontend-design/LICENSE.txt +177 -0
  11. package/templates/.claude/skills/frontend-design/SKILL.md +45 -0
  12. package/templates/.claude/skills/knowledge-extractor/SKILL.md +254 -0
  13. package/templates/.claude/skills/knowledge-extractor/modules/01-extract.md +188 -0
  14. package/templates/.claude/skills/knowledge-extractor/modules/02-classify.md +99 -0
  15. package/templates/.claude/skills/knowledge-extractor/modules/03-gate.md +150 -0
  16. package/templates/.claude/skills/knowledge-extractor/modules/04-integrate.md +159 -0
  17. package/templates/.claude/skills/knowledge-extractor/references/artifact-categories.md +100 -0
  18. package/templates/.claude/skills/knowledge-extractor/references/maturity-model.md +94 -0
  19. package/templates/.claude/skills/knowledge-extractor/references/quality-gates.md +98 -0
  20. package/templates/.claude/skills/knowledge-extractor/templates/artifact-card.md +63 -0
  21. package/templates/.claude/skills/knowledge-extractor/templates/harvest-report.md +102 -0
  22. package/templates/.claude/skills/problem-solver-enhanced/SKILL.md +565 -0
  23. package/templates/lib/memory-protocol.md +348 -0
  24. package/templates/lib/reward-tracker.md +259 -0
package/bin/cli.js CHANGED
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dzhechkov/skills-feature-adr",
3
- "version": "1.2.0",
3
+ "version": "1.3.1",
4
4
  "description": "Adaptive Feature Development skill pack for Claude Code — 11-step pipeline with Complexity Router (S/M/L/XL), ADR-driven architecture, 15 agentic-qe skills, multi-agent fleet QE. Supports --full-qe, --full-qe-extended, --with-learning, and --knowledge-extractor modes.",
5
5
  "main": "src/cli.js",
6
6
  "bin": {
@@ -167,14 +167,21 @@ async function run(options) {
167
167
  installedFiles.push(...files);
168
168
  }
169
169
 
170
- // ── e2) Install optional components ────────────────────────────────────
170
+ // ── e2) Install optional components — track which actually installed ──
171
+ // Components whose template source is missing return [] from installComponent;
172
+ // we must NOT record them in the manifest, otherwise `update` reports
173
+ // "Unknown component" on subsequent runs.
174
+ const installedOptionalKeys = [];
171
175
  for (const key of optionalKeys) {
172
176
  stepNum++;
173
177
  const comp = OPTIONAL_COMPONENTS[key];
174
178
  step(stepNum, totalComponents, `Installing ${comp.label}...`);
175
179
 
176
180
  const files = installComponent(key, comp, templatesDir, targetDir);
177
- installedFiles.push(...files);
181
+ if (files.length > 0) {
182
+ installedFiles.push(...files);
183
+ installedOptionalKeys.push(key);
184
+ }
178
185
  }
179
186
 
180
187
  // ── f) Write manifest ──────────────────────────────────────────────────
@@ -182,13 +189,14 @@ async function run(options) {
182
189
  const pkg = readJSON(pkgPath);
183
190
  const version = pkg ? pkg.version : '0.0.0';
184
191
 
185
- const allKeys = [...componentKeys, ...optionalKeys];
192
+ // Only manifest components whose templates were actually present on disk
193
+ const allKeys = [...componentKeys, ...installedOptionalKeys];
186
194
  const manifest = createManifest(version, allKeys, installedFiles.sort());
187
195
 
188
- // Track optional features in manifest
196
+ // Track optional features in manifest based on actual installs
189
197
  manifest.optional = {
190
- withLearning: optionalKeys.some((k) => OPTIONAL_COMPONENTS[k]?.group === 'learning'),
191
- knowledgeExtractor: optionalKeys.some((k) => OPTIONAL_COMPONENTS[k]?.group === 'knowledge-extractor'),
198
+ withLearning: installedOptionalKeys.some((k) => OPTIONAL_COMPONENTS[k]?.group === 'learning'),
199
+ knowledgeExtractor: installedOptionalKeys.some((k) => OPTIONAL_COMPONENTS[k]?.group === 'knowledge-extractor'),
192
200
  };
193
201
 
194
202
  writeManifest(targetDir, manifest);
@@ -204,7 +212,7 @@ async function run(options) {
204
212
  const comp = COMPONENTS[key];
205
213
  console.log(` ${green('\u2713')} ${comp.label}`);
206
214
  }
207
- for (const key of optionalKeys) {
215
+ for (const key of installedOptionalKeys) {
208
216
  const comp = OPTIONAL_COMPONENTS[key];
209
217
  console.log(` ${green('\u2713')} ${comp.label} ${yellow('[optional]')}`);
210
218
  }
package/src/utils.js CHANGED
@@ -247,9 +247,24 @@ function getTemplatesDir() {
247
247
  const COMPONENTS = {
248
248
  skill: {
249
249
  src: '.claude/skills/feature-adr',
250
- label: 'Feature ADR Skill (9 modules + 4 references)',
250
+ label: 'Feature ADR Skill (11 modules + references + agentic-qe)',
251
251
  group: 'core',
252
252
  },
253
+ skill_explore: {
254
+ src: '.claude/skills/explore',
255
+ label: 'Explore Skill (task clarification)',
256
+ group: 'deps',
257
+ },
258
+ skill_solver: {
259
+ src: '.claude/skills/problem-solver-enhanced',
260
+ label: 'Problem Solver Enhanced (TRIZ + Game Theory)',
261
+ group: 'deps',
262
+ },
263
+ skill_frontend: {
264
+ src: '.claude/skills/frontend-design',
265
+ label: 'Frontend Design Skill (UI implementation)',
266
+ group: 'deps',
267
+ },
253
268
  commands: {
254
269
  src: '.claude/commands',
255
270
  label: 'Feature ADR Command (1 command)',
@@ -0,0 +1,49 @@
1
+ # Harvest — Ритуал извлечения знаний из проекта
2
+
3
+ ## Использование
4
+ ```
5
+ /harvest [путь к директории или "all"] [only категория1,категория2]
6
+ ```
7
+
8
+ ## Аргумент
9
+ $ARGUMENTS
10
+
11
+ ## Скилл
12
+
13
+ ```
14
+ Read: .claude/skills/knowledge-extractor/SKILL.md
15
+ ```
16
+
17
+ Загрузи knowledge-extractor skill и следуй его Pipeline Protocol.
18
+
19
+ ## Парсинг аргументов
20
+
21
+ 1. **Путь:** Первый аргумент — путь к директории исследования или `"all"` для всех директорий в `researches/`
22
+ 2. **Scope filter:** Если после пути есть `only X,Y` — передай как `{SCOPE_FILTER}` в skill
23
+ - Допустимые значения: `skills`, `commands`, `hooks`, `rules`, `templates`, `patterns`, `snippets`
24
+ - Множественные через запятую: `only rules,templates`
25
+ 3. Если аргументов нет — запроси путь у пользователя
26
+
27
+ ## Примеры
28
+
29
+ ```
30
+ /harvest researches/bank-kc-automation/ ← полный harvest одной директории
31
+ /harvest researches/bank-kc-automation/ only patterns ← только паттерны
32
+ /harvest all ← все исследования
33
+ /harvest all only rules,templates ← все исследования, только правила и шаблоны
34
+ /harvest features/add-user-auth/ ← harvest фичи (не только исследования)
35
+ ```
36
+
37
+ ## Параллелизация
38
+
39
+ Если путь = `"all"`:
40
+ 1. Получи список всех директорий в `researches/`
41
+ 2. Для каждой директории запусти отдельную harvest сессию
42
+ 3. Каждая сессия создаёт свой findings JSON и проходит полный pipeline
43
+ 4. По завершении всех сессий — объедини отчёты
44
+
45
+ ## Суть
46
+
47
+ Систематический процесс извлечения и организации полезных знаний после завершения проекта. Использует 5 параллельных агентов-экстракторов, 7-категорийную классификацию, 8 блокирующих quality gates, и автоматическое размещение артефактов.
48
+
49
+ Pipeline: Extract (5 agents) → Classify (7 categories) → User Checkpoint → Gate (8 checks) → Integrate (auto-place)
@@ -0,0 +1,124 @@
1
+ # Reward Learning Rules
2
+
3
+ ## Purpose
4
+
5
+ Govern how the Keysarium pipeline integrates with the Reward-Calibrated Learning System. These rules define when and how to call `memory_query()` and `memory_store()`, how reward scores are assigned, and how historical patterns influence phase execution.
6
+
7
+ ## Core Protocol
8
+
9
+ Read `lib/memory-protocol.md` for the full protocol specification.
10
+ Read `lib/reward-tracker.md` for analytics and pattern detection.
11
+
12
+ ## When to Call memory_query()
13
+
14
+ **Trigger:** At the START of every pipeline phase (Phase 0 through Phase 5).
15
+
16
+ **Protocol:**
17
+ 1. Before loading the phase's governance shard, check if `.keysarium/memory/` exists.
18
+ 2. If it exists, call `memory_query()` with the current context:
19
+ - `phase`: Current phase identifier (e.g., "phase-2")
20
+ - `domain`: Detected domain from Phase 0 (or "unknown" if Phase 0 has not run yet)
21
+ - `slug`: Current case slug
22
+ - `skill`: Skill about to be loaded for this phase
23
+ 3. Log the number of patterns loaded.
24
+ 4. If relevant patterns are found, incorporate the top 3 into the phase brief:
25
+ - Include high-reward approaches from similar past cases
26
+ - Apply actionable advice from domain patterns
27
+ - Note any bottleneck warnings for the current phase/domain combination
28
+ 5. If no patterns are found (first run or no relevant data), proceed normally.
29
+
30
+ **Exception:** Phase 0 (Discovery) may not have a domain yet. Query with `domain: "unknown"` to load cross-domain patterns.
31
+
32
+ ## When to Call memory_store()
33
+
34
+ **Trigger:** At every CHECKPOINT, after the user responds.
35
+
36
+ **Protocol:**
37
+ 1. After displaying the checkpoint banner and receiving user response.
38
+ 2. Classify the user response into a reward level (see Reward Assignment below).
39
+ 3. Call `memory_store()` with:
40
+ - The phase result (artifacts created, promise tag emitted)
41
+ - The reward score and label
42
+ - Context metadata (upstream promises, patterns loaded, agent count)
43
+ - Outcome metadata (user response, iteration count)
44
+ 4. Log the stored reward.
45
+ 5. Continue with the checkpoint protocol as normal (proceed / adjust / redo).
46
+
47
+ **Exception:** If the session ends without a user response at the checkpoint, do NOT store a record. Only explicit user responses generate reward data.
48
+
49
+ ## Reward Assignment
50
+
51
+ Map the user's checkpoint response to a reward score:
52
+
53
+ | User Response Pattern | Reward | Label | Examples |
54
+ |----------------------|--------|-------|----------|
55
+ | Immediate approval | 1.0 | excellent | "ok", "ок", "next", "продолжай", "good", single-word approval |
56
+ | Minor adjustments | 0.7 | good | "углуби X", "expand section Y", "add one more competitor", feedback on 1 area |
57
+ | Significant rework | 0.3 | needs_work | "rework the approach", "this misses the point of X and Y", feedback on 3+ areas |
58
+ | Complete restart | 0.0 | failed | "start over", "this is wrong", "redo this phase completely" |
59
+
60
+ ### Classification Rules
61
+
62
+ 1. **Count the areas of feedback:** 0 areas = 1.0, 1 area = 0.7, 2+ areas = 0.3, full restart = 0.0
63
+ 2. **Positive feedback with minor note** counts as 1.0 (e.g., "great work, just fix the typo")
64
+ 3. **Multiple rounds:** If user gives feedback more than twice on the same phase, cap reward at 0.3
65
+ 4. **Ambiguous responses:** Default to 0.7 (assume minor adjustment)
66
+
67
+ ## Integration with Promise Tags
68
+
69
+ Every `memory_store()` call includes the promise tag emitted at the checkpoint:
70
+
71
+ | Phase | Promise Tag in Record |
72
+ |-------|----------------------|
73
+ | Phase 0 | `DISCOVERY_COMPLETE` |
74
+ | Phase 1 | `CASE_EXPLORED` |
75
+ | Phase 2 | `RESEARCH_PARANOID_PASSED` |
76
+ | Phase 2.5 | `CJM_VALIDATED` |
77
+ | Phase 3 | `SOLUTION_DESIGNED` |
78
+ | Phase 4 | `ARCHITECTURE_DEFINED` |
79
+ | Phase 5 | `PRESENTATION_READY` |
80
+
81
+ If a promise is `_INCOMPLETE`, the reward should be 0.3 or lower.
82
+
83
+ ## Integration with Feedback Loops
84
+
85
+ This system adds a new feedback loop to the Variable Registry (see `.claude/rules/feedback-loops.md`):
86
+
87
+ ### Loop 7: Memory -> All Phases
88
+
89
+ | Property | Value |
90
+ |----------|-------|
91
+ | Direction | `.keysarium/memory/` -> Phase 0-5 start |
92
+ | Variable | `{MEMORY_PATTERNS}` |
93
+ | Payload | Top reward records + domain patterns from memory_query() |
94
+ | Consumers | All phases (loaded at phase start) |
95
+ | Persistence | `.keysarium/memory/{domain}/{slug}/` |
96
+
97
+ **Contract:** `memory_query()` is called before each phase starts. Empty result is acceptable (first run).
98
+
99
+ ## Retention Policy
100
+
101
+ - **Default:** 90 days from record creation
102
+ - **Configuration:** Set in `.keysarium/memory/config.json` via `retention_days`
103
+ - **Enforcement:** Expired records are purged during `memory_query()` calls
104
+ - **Override:** Set `retention_days: 0` to disable expiration (keep forever)
105
+ - **Manual purge:** Delete `.keysarium/memory/` directory to reset all memory
106
+
107
+ ## Error Handling
108
+
109
+ | Situation | Behavior |
110
+ |-----------|----------|
111
+ | `.keysarium/memory/` does not exist | `memory_query()` returns empty; `memory_store()` creates it |
112
+ | `config.json` missing | Use defaults (90 days, 10 max results, enabled) |
113
+ | Corrupted JSON file during query | Skip file, log warning, continue with other records |
114
+ | Write failure during store | Log error, continue pipeline (memory is non-blocking) |
115
+ | Unknown domain | Store under `unknown/` directory |
116
+
117
+ ## Rules Summary
118
+
119
+ 1. **ALWAYS** call `memory_query()` at the start of every phase
120
+ 2. **ALWAYS** call `memory_store()` at every checkpoint after user responds
121
+ 3. **NEVER** block the pipeline if memory operations fail
122
+ 4. **NEVER** store a record without an explicit user response
123
+ 5. **ALWAYS** log memory operations (patterns loaded, reward stored)
124
+ 6. Memory operations are **advisory** -- they enhance quality but are not mandatory gates
@@ -0,0 +1,218 @@
1
+ ---
2
+ name: explore
3
+ description: >
4
+ Adaptive task exploration and clarification skill for transforming vague
5
+ requests into actionable specifications. Use when a user presents any task,
6
+ problem, or goal that requires clarification before execution. Triggers on
7
+ ambiguous requests, complex multi-part tasks, "I want to...", "help me with...",
8
+ strategic decisions, product ideas, creative briefs, and any situation where
9
+ understanding the real need is essential before proposing solutions. Does NOT
10
+ provide solutions until task is fully explored.
11
+ trust_tier: 1
12
+ trust_tier_label: "Structured"
13
+ trust_tier_path: "Run /bto-test to promote to Tier 2"
14
+ ---
15
+
16
+ # Explore: Adaptive Task Clarification
17
+
18
+ Transform vague requests into crystal-clear, actionable task specifications through systematic Socratic questioning.
19
+
20
+ ## Core Philosophy
21
+
22
+ **Never solve before you understand.** Most failed solutions solve the wrong problem. This skill ensures the real problem is understood before any solution is proposed.
23
+
24
+ Key principles:
25
+ - Questions unlock understanding; answers often hide assumptions
26
+ - The stated goal is rarely the real goal
27
+ - Constraints reveal opportunities
28
+ - Success criteria prevent scope creep
29
+
30
+ ## Task Classification
31
+
32
+ Before asking questions, classify the task type to select appropriate exploration dimensions:
33
+
34
+ | Task Type | Indicators | Primary Dimensions |
35
+ |-----------|------------|-------------------|
36
+ | **Product/Feature** | "build", "create app", "develop" | Outcome, Users, Constraints, Success |
37
+ | **Problem Solving** | "fix", "solve", "issue with" | Root Cause, Constraints, Attempted Solutions |
38
+ | **Decision Making** | "should I", "choose between", "evaluate" | Criteria, Tradeoffs, Timeline, Reversibility |
39
+ | **Creative** | "write", "design", "make content" | Audience, Tone, Format, Examples |
40
+ | **Research** | "find out", "analyze", "understand" | Scope, Depth, Sources, Deliverable |
41
+ | **Process/Workflow** | "how to", "improve process" | Current State, Desired State, Blockers |
42
+
43
+ ## Exploration Dimensions
44
+
45
+ Select 3-5 dimensions based on task type. Each dimension has multiple question variants—choose the most natural for context.
46
+
47
+ ### 1. The Real Objective
48
+ Uncover what success truly looks like, beyond the stated request.
49
+
50
+ **Questions:**
51
+ - "If this worked perfectly, what would be different in your [work/life/business]?"
52
+ - "What outcome would make you say 'this was absolutely worth it'?"
53
+ - "Is this goal a means to something else, or the end itself?"
54
+ - "If you could wave a magic wand and have any result, what would you choose?"
55
+
56
+ **Red flags to probe:** Generic goals ("make it better"), proxy metrics, solutions presented as requirements.
57
+
58
+ ### 2. Constraints & Boundaries
59
+ Identify hard limits that shape the solution space.
60
+
61
+ **Questions:**
62
+ - "What's absolutely off the table—budget, time, technology, or approach-wise?"
63
+ - "What existing systems, processes, or decisions must this work with?"
64
+ - "Who needs to approve this, and what are their non-negotiables?"
65
+ - "What would disqualify a solution, even if it technically works?"
66
+
67
+ **Red flags to probe:** No constraints mentioned (usually means hidden ones), unrealistic expectations.
68
+
69
+ ### 3. Available Resources
70
+ Understand leverage points and existing assets.
71
+
72
+ **Questions:**
73
+ - "What do you already have that we could build on—data, tools, people, prior work?"
74
+ - "Who else is involved, and what can they contribute?"
75
+ - "What similar problems have you solved before, and what worked?"
76
+ - "What's your actual capacity to implement this?"
77
+
78
+ **Red flags to probe:** Overestimated capabilities, unacknowledged dependencies.
79
+
80
+ ### 4. Timeline & Urgency
81
+ Distinguish real deadlines from arbitrary ones.
82
+
83
+ **Questions:**
84
+ - "What happens if this takes 2x longer than expected?"
85
+ - "Is there a hard deadline, and what's driving it?"
86
+ - "Would you prefer a quick 80% solution or a slower 100% solution?"
87
+ - "What's the cost of delay vs. the cost of getting it wrong?"
88
+
89
+ **Red flags to probe:** Artificial urgency, no clear driver for deadline.
90
+
91
+ ### 5. Success Criteria
92
+ Define what "done" actually means.
93
+
94
+ **Questions:**
95
+ - "How will you know this is successful? What will you measure?"
96
+ - "Who decides if this is good enough, and what will they look for?"
97
+ - "What's the minimum viable outcome that would still be valuable?"
98
+ - "In 6 months, what would make you regret the approach we took?"
99
+
100
+ **Red flags to probe:** Vague criteria ("stakeholders will be happy"), moving targets.
101
+
102
+ ### 6. Attempted Solutions (for problems)
103
+ Learn from what hasn't worked.
104
+
105
+ **Questions:**
106
+ - "What have you already tried, and why didn't it work?"
107
+ - "What solutions have you considered but rejected?"
108
+ - "What would the obvious solution be, and why isn't that good enough?"
109
+
110
+ ### 7. Audience & Stakeholders (for products/content)
111
+ Understand who this serves.
112
+
113
+ **Questions:**
114
+ - "Who specifically will use this, and what's their context when they do?"
115
+ - "What does your audience already know or believe about this?"
116
+ - "Who might be negatively affected, and does that matter?"
117
+
118
+ ## Execution Protocol
119
+
120
+ ### Phase 1: Initial Assessment (1 turn)
121
+
122
+ 1. Parse the user's request
123
+ 2. Identify what's already clear from context
124
+ 3. Classify task type
125
+ 4. Select 3-5 most critical dimensions
126
+ 5. Note any immediate red flags or assumptions
127
+
128
+ ### Phase 2: Adaptive Questioning (3-7 turns)
129
+
130
+ **Rules:**
131
+ - Ask ONE question at a time
132
+ - Make questions specific and decision-shaping, not generic
133
+ - Challenge vague answers: "Can you be more specific about...?"
134
+ - Acknowledge answers before next question
135
+ - Skip dimensions already clarified
136
+ - Stop when you have enough to create a clear brief
137
+
138
+ **Question Sequencing:**
139
+ 1. Start with Real Objective (reveals the most)
140
+ 2. Follow with Constraints (narrows solution space)
141
+ 3. Then Success Criteria (defines done)
142
+ 4. Fill gaps with other dimensions as needed
143
+
144
+ **Adaptive behavior:**
145
+ - If user gives detailed answer → compress follow-ups
146
+ - If user seems frustrated → summarize and ask if they want to continue
147
+ - If contradiction detected → gently probe: "Earlier you mentioned X, but now Y—help me understand?"
148
+
149
+ ### Phase 3: Task Brief Synthesis (1 turn)
150
+
151
+ After sufficient exploration, synthesize into a **Task Brief**:
152
+
153
+ ```
154
+ ## Task Brief
155
+
156
+ **Objective:** [Clear statement of what we're actually solving]
157
+
158
+ **Context:** [Relevant background and constraints]
159
+
160
+ **Success Criteria:**
161
+ - [Measurable criterion 1]
162
+ - [Measurable criterion 2]
163
+
164
+ **Constraints:**
165
+ - [Hard constraint 1]
166
+ - [Hard constraint 2]
167
+
168
+ **Resources Available:** [What we can leverage]
169
+
170
+ **Timeline:** [Deadline and urgency level]
171
+
172
+ **Key Assumptions:** [Things we're assuming that could change the approach]
173
+
174
+ **Out of Scope:** [Explicitly excluded items]
175
+ ```
176
+
177
+ Ask user: "Does this capture what you need? Anything to add or correct?"
178
+
179
+ ### Phase 4: Handoff
180
+
181
+ Once validated, either:
182
+ - Proceed to solution (if user wants immediate help)
183
+ - Export brief for later use
184
+ - Suggest appropriate next steps/skills
185
+
186
+ ## Anti-Patterns to Avoid
187
+
188
+ ❌ **Interrogation mode:** Don't fire questions robotically
189
+ ❌ **Assuming context:** Don't skip clarification because you "think" you understand
190
+ ❌ **Premature solutions:** Don't hint at solutions before exploration is complete
191
+ ❌ **Over-questioning:** Stop when you have enough clarity
192
+ ❌ **Generic questions:** Each question should be tailored to this specific task
193
+ ❌ **Ignoring signals:** If user provides info proactively, don't re-ask
194
+
195
+ ## Example Flow
196
+
197
+ **User:** "I want to create a dashboard for my team"
198
+
199
+ **Claude (Phase 1 assessment):**
200
+ - Task type: Product/Feature
201
+ - Unclear: Who uses it, what data, what decisions it enables, timeline
202
+ - Dimensions needed: Real Objective, Audience, Constraints, Success Criteria
203
+
204
+ **Claude:** "Before we dive in—what decisions will your team make differently once they have this dashboard? What's the main insight they're missing today?"
205
+
206
+ *[User answers about tracking project delays]*
207
+
208
+ **Claude:** "Got it—so the core need is visibility into project health to catch delays early. How do you know a project is delayed today? What's the current process for catching these issues?"
209
+
210
+ *[Continues adaptively based on answers...]*
211
+
212
+ ## Integration Notes
213
+
214
+ After exploration, this skill can hand off to:
215
+ - problem-solver-enhanced (for complex problems)
216
+ - goap-research (for research tasks)
217
+ - frontend-design (for UI/product tasks)
218
+ - Any implementation skill with the structured Task Brief
@@ -0,0 +1,151 @@
1
+ # Advanced Questioning Techniques
2
+
3
+ Reference for sophisticated question patterns when standard approaches don't yield clarity.
4
+
5
+ ## Socratic Techniques
6
+
7
+ ### Clarifying Questions
8
+ When answers are vague or use undefined terms:
9
+ - "What do you mean by [term]?"
10
+ - "Can you give me a specific example of [concept]?"
11
+ - "How would you explain this to someone unfamiliar with your context?"
12
+
13
+ ### Assumption Probing
14
+ When hidden assumptions might be distorting the problem:
15
+ - "What would have to be true for this approach to work?"
16
+ - "What are you taking for granted here that might not be true?"
17
+ - "If you were wrong about [assumption], how would that change things?"
18
+
19
+ ### Consequence Exploration
20
+ When second-order effects matter:
21
+ - "If this succeeds, what problems might it create?"
22
+ - "Who might be affected that we haven't considered?"
23
+ - "What's the worst realistic outcome if this goes wrong?"
24
+
25
+ ### Perspective Shifting
26
+ When stuck in one frame:
27
+ - "How would [competitor/user/skeptic] view this?"
28
+ - "If you had to argue against this approach, what would you say?"
29
+ - "What would you advise someone else in this situation?"
30
+
31
+ ## Techniques for Specific Blockers
32
+
33
+ ### When user presents solution as requirement
34
+ "I need a mobile app for X"
35
+
36
+ **Approach:** Trace back to underlying need
37
+ - "What problem would the mobile app solve?"
38
+ - "How do users handle this today without the app?"
39
+ - "If a mobile app wasn't an option, how else might you solve this?"
40
+
41
+ ### When user can't articulate success
42
+ "I'll know it when I see it"
43
+
44
+ **Approach:** Use concrete scenarios
45
+ - "Imagine it's 6 months from now and this was a huge success—describe what's happening"
46
+ - "If you had to bet money on one metric improving, what would it be?"
47
+ - "What would your boss/customer/user say that would prove this worked?"
48
+
49
+ ### When constraints seem impossible
50
+ "We need enterprise features but have startup budget"
51
+
52
+ **Approach:** Separate hard from soft constraints
53
+ - "If you had to prioritize: which constraint is truly immovable?"
54
+ - "What's the minimum viable version that would still be valuable?"
55
+ - "What could you trade off to make this feasible?"
56
+
57
+ ### When user is emotionally invested
58
+ User seems attached to a specific solution
59
+
60
+ **Approach:** Validate, then explore
61
+ - "It sounds like you've thought about this a lot. What led you to this approach?"
62
+ - "What would make you reconsider this direction?"
63
+ - "What's the strongest argument against this that you've heard?"
64
+
65
+ ### When multiple stakeholders with conflicting needs
66
+ "My boss wants X but users want Y"
67
+
68
+ **Approach:** Map the conflict explicitly
69
+ - "Let's map out who wants what. What does your boss's ideal outcome look like?"
70
+ - "Where exactly do these needs conflict?"
71
+ - "Is there a version that gives each party their most important thing?"
72
+
73
+ ## Question Formulation Patterns
74
+
75
+ ### The Magic Wand
76
+ Removes artificial constraints to reveal true desires:
77
+ "If you could wave a magic wand and have any outcome, what would you choose?"
78
+
79
+ ### The Premortem
80
+ Surfaces hidden risks:
81
+ "Imagine this failed spectacularly—what went wrong?"
82
+
83
+ ### The Constraint Inversion
84
+ Challenges assumptions about limitations:
85
+ "What if [constraint] wasn't a factor—would you approach this differently?"
86
+
87
+ ### The Minimum Viable Success
88
+ Defines the essential core:
89
+ "What's the smallest version of this that would still be valuable?"
90
+
91
+ ### The Regret Test
92
+ Clarifies priorities over time:
93
+ "In a year, what would you regret not having done?"
94
+
95
+ ### The Opportunity Cost
96
+ Reveals trade-offs:
97
+ "What else could you do with the time/money/effort this would require?"
98
+
99
+ ### The Outsider View
100
+ Escapes insider bias:
101
+ "How would you explain this problem to someone completely outside your industry?"
102
+
103
+ ## Red Flags and Responses
104
+
105
+ | Red Flag | What It Might Mean | How to Probe |
106
+ |----------|-------------------|--------------|
107
+ | "Everyone knows..." | Unexamined assumption | "Help me understand—what's the evidence for this?" |
108
+ | "We've always done it this way" | Inertia, not strategy | "What originally drove this approach? Is that still true?" |
109
+ | "It's obvious that..." | Blind spot | "Walk me through why this is obvious—I want to make sure I understand" |
110
+ | "We just need to..." | Oversimplification | "What could go wrong with this approach?" |
111
+ | "ASAP" | Artificial urgency | "What specifically happens if this takes longer?" |
112
+ | No constraints mentioned | Hidden constraints | "What would disqualify a solution even if it technically works?" |
113
+ | Very specific solution stated | Solution fixation | "What problem does this solve? Are there other ways to solve it?" |
114
+
115
+ ## Calibrating Question Depth
116
+
117
+ ### Light Touch (1-2 questions per dimension)
118
+ Use when:
119
+ - User is experienced and already has clarity
120
+ - Task is straightforward
121
+ - Time is genuinely constrained
122
+ - User shows frustration
123
+
124
+ ### Deep Exploration (3-5 questions per dimension)
125
+ Use when:
126
+ - High stakes decision
127
+ - Multiple stakeholders
128
+ - Technical complexity
129
+ - User seems uncertain
130
+ - Contradictions in answers
131
+
132
+ ### Signs to Stop Questioning
133
+ - User is repeating themselves
134
+ - Answers are becoming terse
135
+ - You have enough for a clear brief
136
+ - User explicitly says "that's enough"
137
+ - Remaining questions are nice-to-know, not need-to-know
138
+
139
+ ## Cultural Considerations
140
+
141
+ Some users may:
142
+ - View detailed questions as distrust
143
+ - Expect to define solutions themselves
144
+ - Be uncomfortable with "why" questions
145
+ - Prefer to give context incrementally
146
+
147
+ **Adaptive responses:**
148
+ - Frame questions as "helping me help you better"
149
+ - Acknowledge their expertise: "You know this space—help me understand..."
150
+ - Use "what" instead of "why" when appropriate
151
+ - Offer to explain why you're asking