@polderlabs/bizar 10.7.0 → 10.7.2

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 (148) hide show
  1. package/.claude/agents/_shared/AGENT_BASELINE.md +266 -0
  2. package/.claude/agents/_shared/CLAUDE_TOOLS.md +412 -0
  3. package/.claude/agents/_shared/SKILLS.md +109 -0
  4. package/.claude/agents/brand-designer.md +55 -0
  5. package/.claude/agents/exec-assistant.md +34 -0
  6. package/.claude/agents/help-desk.md +44 -0
  7. package/.claude/agents/it-lead.md +53 -0
  8. package/.claude/agents/knowledge-manager.md +49 -0
  9. package/.claude/agents/office-coordinator.md +39 -0
  10. package/.claude/agents/office-greeter.md +53 -0
  11. package/.claude/agents/office-manager.md +287 -0
  12. package/.claude/agents/principal-engineer.md +58 -0
  13. package/.claude/agents/qa-reviewer.md +51 -0
  14. package/.claude/agents/research-analyst.md +53 -0
  15. package/.claude/agents/senior-engineer.md +55 -0
  16. package/.claude/agents/support-tech.md +87 -0
  17. package/.claude/agents/vp-engineering.md +54 -0
  18. package/.claude/commands/audit.md +48 -0
  19. package/.claude/commands/bizar.md +22 -0
  20. package/.claude/commands/cron.md +36 -0
  21. package/.claude/commands/explain.md +17 -0
  22. package/.claude/commands/goal.md +99 -0
  23. package/.claude/commands/init.md +15 -0
  24. package/.claude/commands/learn.md +46 -0
  25. package/.claude/commands/plan.md +35 -0
  26. package/.claude/commands/plow-through.md +50 -0
  27. package/.claude/commands/pr-review.md +49 -0
  28. package/.claude/commands/setup-provider.md +96 -0
  29. package/.claude/commands/spec.md +47 -0
  30. package/.claude/commands/sprint.md +43 -0
  31. package/.claude/commands/tailscale-serve.md +100 -0
  32. package/.claude/commands/team.md +132 -0
  33. package/.claude/commands/test.md +62 -0
  34. package/.claude/commands/validate.md +68 -0
  35. package/.claude/commands/visual-plan.md +24 -0
  36. package/.claude/hooks/README.md +108 -0
  37. package/.claude/hooks/__tests__/pretooluse-editwrite.test.mjs +146 -0
  38. package/.claude/hooks/__tests__/sessionend-recall.test.mjs +256 -0
  39. package/.claude/hooks/__tests__/sessionstart-prime.test.mjs +325 -0
  40. package/.claude/hooks/__tests__/thinking-route.test.mjs +319 -0
  41. package/.claude/hooks/auto-instinct.sh +81 -0
  42. package/.claude/hooks/learning-extract.mjs +92 -0
  43. package/.claude/hooks/post-merge-audit.sh +93 -0
  44. package/.claude/hooks/posttooluse-editwrite.mjs +91 -0
  45. package/.claude/hooks/pretooluse-bash.mjs +87 -0
  46. package/.claude/hooks/pretooluse-editwrite.mjs +117 -0
  47. package/.claude/hooks/sessionend-recall.mjs +384 -0
  48. package/.claude/hooks/sessionstart-prime.mjs +278 -0
  49. package/.claude/hooks/thinking-route.mjs +314 -0
  50. package/.claude/hooks/worker-suggest.mjs +110 -0
  51. package/.claude/settings.json +167 -0
  52. package/.claude/skills/9router/SKILL.md +80 -0
  53. package/.claude/skills/9router-chat/SKILL.md +73 -0
  54. package/.claude/skills/9router-embeddings/SKILL.md +69 -0
  55. package/.claude/skills/9router-image/SKILL.md +86 -0
  56. package/.claude/skills/9router-stt/SKILL.md +79 -0
  57. package/.claude/skills/9router-tts/SKILL.md +80 -0
  58. package/.claude/skills/9router-web-fetch/SKILL.md +99 -0
  59. package/.claude/skills/9router-web-search/SKILL.md +91 -0
  60. package/.claude/skills/agent-browser/SKILL.md +64 -0
  61. package/.claude/skills/bizar/README.md +9 -0
  62. package/.claude/skills/bizar/SKILL.md +447 -0
  63. package/.claude/skills/cpp-coding-standards/README.md +28 -0
  64. package/.claude/skills/cpp-coding-standards/SKILL.md +634 -0
  65. package/.claude/skills/cpp-coding-standards/references/concurrency.md +320 -0
  66. package/.claude/skills/cpp-coding-standards/references/error-handling.md +229 -0
  67. package/.claude/skills/cpp-coding-standards/references/memory-safety.md +216 -0
  68. package/.claude/skills/cpp-coding-standards/references/modern-idioms.md +282 -0
  69. package/.claude/skills/cpp-coding-standards/references/review-checklist.md +96 -0
  70. package/.claude/skills/cpp-testing/README.md +28 -0
  71. package/.claude/skills/cpp-testing/SKILL.md +304 -0
  72. package/.claude/skills/cpp-testing/references/coverage.md +370 -0
  73. package/.claude/skills/cpp-testing/references/framework-compare.md +175 -0
  74. package/.claude/skills/cpp-testing/references/host-test-for-embedded.md +499 -0
  75. package/.claude/skills/cpp-testing/references/mocking.md +364 -0
  76. package/.claude/skills/cpp-testing/references/tdd-workflow.md +308 -0
  77. package/.claude/skills/cubesandbox/SKILL.md +148 -0
  78. package/.claude/skills/de-sloppify/SKILL.md +38 -0
  79. package/.claude/skills/de-sloppify/cleanup.mjs +253 -0
  80. package/.claude/skills/de-sloppify/cleanup.test.mjs +189 -0
  81. package/.claude/skills/embedded-esp-idf/README.md +41 -0
  82. package/.claude/skills/embedded-esp-idf/SKILL.md +439 -0
  83. package/.claude/skills/embedded-esp-idf/references/freertos-patterns.md +214 -0
  84. package/.claude/skills/embedded-esp-idf/references/host-tests.md +164 -0
  85. package/.claude/skills/embedded-esp-idf/references/idf-py-commands.md +157 -0
  86. package/.claude/skills/embedded-esp-idf/references/kconfig.md +159 -0
  87. package/.claude/skills/embedded-esp-idf/references/logging-discipline.md +118 -0
  88. package/.claude/skills/embedded-esp-idf/references/memory-and-iram.md +137 -0
  89. package/.claude/skills/embedded-esp-idf/references/nvs.md +121 -0
  90. package/.claude/skills/embedded-esp-idf/references/packed-structs.md +192 -0
  91. package/.claude/skills/embedded-esp-idf/scripts/idf_env.sh +47 -0
  92. package/.claude/skills/embedded-esp-idf/scripts/size_check.sh +77 -0
  93. package/.claude/skills/glyph/SKILL.md +163 -0
  94. package/.claude/skills/harness-engineering/SKILL.md +142 -0
  95. package/.claude/skills/lightrag/SKILL.md +81 -0
  96. package/.claude/skills/memory-protocol/SKILL.md +105 -0
  97. package/.claude/skills/obsidian/SKILL.md +306 -0
  98. package/.claude/skills/read-the-damn-docs/SKILL.md +113 -0
  99. package/.claude/skills/self-improvement/SKILL.md +64 -0
  100. package/.claude/skills/skillopt/SKILL.md +129 -0
  101. package/.claude/skills/thinking-archetypes/SKILL.md +90 -0
  102. package/.claude/skills/thinking-bayesian/SKILL.md +267 -0
  103. package/.claude/skills/thinking-bounded-rationality/SKILL.md +406 -0
  104. package/.claude/skills/thinking-circle-of-competence/SKILL.md +216 -0
  105. package/.claude/skills/thinking-cynefin/SKILL.md +70 -0
  106. package/.claude/skills/thinking-debiasing/SKILL.md +192 -0
  107. package/.claude/skills/thinking-dual-process/SKILL.md +282 -0
  108. package/.claude/skills/thinking-effectuation/SKILL.md +366 -0
  109. package/.claude/skills/thinking-feedback-loops/SKILL.md +464 -0
  110. package/.claude/skills/thinking-fermi-estimation/SKILL.md +263 -0
  111. package/.claude/skills/thinking-first-principles/SKILL.md +167 -0
  112. package/.claude/skills/thinking-five-whys-plus/SKILL.md +139 -0
  113. package/.claude/skills/thinking-inversion/SKILL.md +195 -0
  114. package/.claude/skills/thinking-jobs-to-be-done/SKILL.md +363 -0
  115. package/.claude/skills/thinking-kepner-tregoe/SKILL.md +154 -0
  116. package/.claude/skills/thinking-leverage-points/SKILL.md +390 -0
  117. package/.claude/skills/thinking-lindy-effect/SKILL.md +331 -0
  118. package/.claude/skills/thinking-map-territory/SKILL.md +111 -0
  119. package/.claude/skills/thinking-margin-of-safety/SKILL.md +330 -0
  120. package/.claude/skills/thinking-model-combination/SKILL.md +406 -0
  121. package/.claude/skills/thinking-model-router/SKILL.md +360 -0
  122. package/.claude/skills/thinking-model-selection/SKILL.md +341 -0
  123. package/.claude/skills/thinking-occams-razor/SKILL.md +129 -0
  124. package/.claude/skills/thinking-ooda/SKILL.md +127 -0
  125. package/.claude/skills/thinking-opportunity-cost/SKILL.md +360 -0
  126. package/.claude/skills/thinking-pre-mortem/SKILL.md +170 -0
  127. package/.claude/skills/thinking-probabilistic/SKILL.md +324 -0
  128. package/.claude/skills/thinking-red-team/SKILL.md +142 -0
  129. package/.claude/skills/thinking-regret-minimization/SKILL.md +335 -0
  130. package/.claude/skills/thinking-reversibility/SKILL.md +326 -0
  131. package/.claude/skills/thinking-scientific-method/SKILL.md +162 -0
  132. package/.claude/skills/thinking-second-order/SKILL.md +184 -0
  133. package/.claude/skills/thinking-socratic/SKILL.md +198 -0
  134. package/.claude/skills/thinking-steel-manning/SKILL.md +332 -0
  135. package/.claude/skills/thinking-systems/SKILL.md +238 -0
  136. package/.claude/skills/thinking-theory-of-constraints/SKILL.md +338 -0
  137. package/.claude/skills/thinking-thought-experiment/SKILL.md +354 -0
  138. package/.claude/skills/thinking-triz/SKILL.md +171 -0
  139. package/.claude/skills/thinking-via-negativa/SKILL.md +358 -0
  140. package/bizar-dash/skills/publishing/SKILL.md +2 -1
  141. package/cli/install/postinstall.mjs +54 -28
  142. package/cli/install/postinstall.test.mjs +98 -0
  143. package/cli/provision.mjs +29 -0
  144. package/install.sh +7 -0
  145. package/package.json +7 -2
  146. package/scripts/git-hooks/__tests__/commit-msg.test.mjs +61 -0
  147. package/scripts/git-hooks/commit-msg +38 -0
  148. package/scripts/install-hooks.sh +9 -0
@@ -0,0 +1,162 @@
1
+ ---
2
+ name: thinking-scientific-method
3
+ description: Use when a symptom could have several causes and you must find the faulty code by ranking falsifiable hypotheses and checking the cheapest discriminating observation first.
4
+ ---
5
+
6
+ # Hypothesis-Differential Debugging
7
+
8
+ ## Overview
9
+
10
+ The scientific method's payoff for an agent is not narrating "observe -> question." It is the **differential**: when a symptom could come from several places, enumerate competing falsifiable hypotheses and spend your cheapest observation on the one that best discriminates between them.
11
+
12
+ This is the proven replacement for the old broad scientific-method skill. In SWE-bench fault localization, the original was flat; this agent-native version turned it into the strongest measured debugging lift in the current eval set.
13
+
14
+ **Core Principle:** Don't guess-and-patch. Enumerate competing causes, then make the cheapest observation that would falsify the most likely one.
15
+
16
+ ## When to Use
17
+
18
+ - A bug or incident symptom could plausibly come from more than one place
19
+ - You have read access to code, logs, diffs, traces, or tests
20
+ - You need to localize the faulty file, function, branch, config, or invariant before fixing
21
+
22
+ ```
23
+ Symptom has several plausible causes?
24
+ -> no -> test or fix the obvious cause directly
25
+ -> yes -> can you make cheap observations now?
26
+ -> no -> gather access/evidence first
27
+ -> yes -> apply hypothesis-differential debugging
28
+ ```
29
+
30
+ ## When NOT to Use
31
+
32
+ - The cause is already obvious from a single trace, failing test, or recent diff -> fix directly.
33
+ - Only one plausible hypothesis exists -> test it directly.
34
+ - You cannot make any observation -> get access first; don't speculate.
35
+ - You are designing an A/B test, canary, or multi-week experiment -> this skill is for observations an agent can make now.
36
+
37
+ ## The Procedure
38
+
39
+ ### Step 1: Enumerate competing hypotheses
40
+
41
+ List 3-5 specific, falsifiable hypotheses. Name the likely file, function, subsystem, input condition, or invariant. Avoid vague buckets like "backend issue" or "race condition somewhere."
42
+
43
+ ```markdown
44
+ | # | Hypothesis | Why plausible? |
45
+ |---|------------|----------------|
46
+ | H1 | `auth/session.py:refresh` drops rotated tokens | failures start after token rotation |
47
+ | H2 | cache TTL mismatch in `session_cache` | stale sessions persist across deploys |
48
+ | H3 | frontend retries reuse expired cookie | only browser flow is affected |
49
+ ```
50
+
51
+ If you can only think of one hypothesis, you are guessing. Force alternatives before inspecting deeper.
52
+
53
+ ### Step 2: Name the cheapest discriminating observation
54
+
55
+ For each hypothesis, name one observation you can make now that would separate it from the others.
56
+
57
+ Good observations:
58
+ - read the function the stack trace names
59
+ - grep callers of a parser or config key
60
+ - inspect the recent diff touching the failing path
61
+ - compare two log lines across working and broken cases
62
+ - check a test fixture or schema invariant
63
+
64
+ Bad observations:
65
+ - deploy a canary
66
+ - run a long experiment
67
+ - ask users to wait
68
+ - inspect every file in the subsystem
69
+
70
+ ### Step 3: State falsifiers before looking
71
+
72
+ For each hypothesis, write what result would make you drop it. This prevents confirmation search.
73
+
74
+ ```markdown
75
+ | Hypothesis | Falsified if... |
76
+ |------------|-----------------|
77
+ | H1 token refresh | refresh path never reads rotated token state |
78
+ | H2 cache TTL | cache entry expires before the observed stale window |
79
+ | H3 frontend retry | same failure occurs in API-only reproduction |
80
+ ```
81
+
82
+ ### Step 4: Rank by likelihood x cheapness
83
+
84
+ Test the observation with the best expected information per unit of effort. Start with the cheapest observation that separates your top hypotheses, not the most elaborate investigation.
85
+
86
+ ```
87
+ For each hypothesis → name falsifier → rank by likelihood x cheapness → observe → update/drop → localize fault
88
+ ```
89
+
90
+ ### Step 5: Stop on direct localization
91
+
92
+ Stop when one hypothesis is supported by direct evidence and the key alternatives are ruled out. Name the file/function/config to change and the evidence that localizes it.
93
+
94
+ ## Investigation Template
95
+
96
+ ```markdown
97
+ ## Symptom
98
+ [Specific failing behavior, scope, timing, and known constraints]
99
+
100
+ ## Hypotheses
101
+ | # | Hypothesis | Why plausible? | Cheapest observation | Falsified if... |
102
+ |---|------------|----------------|----------------------|-----------------|
103
+ | H1 | [specific file/function/config cause] | [evidence] | [read/grep/diff/check] | [drop condition] |
104
+ | H2 | [specific alternate cause] | [evidence] | [read/grep/diff/check] | [drop condition] |
105
+ | H3 | [specific alternate cause] | [evidence] | [read/grep/diff/check] | [drop condition] |
106
+
107
+ ## Test Order
108
+ 1. [Cheapest discriminating observation]
109
+ 2. [Next observation if H1 is falsified]
110
+ 3. [Deferred only if cheap observations do not localize]
111
+
112
+ ## Localization
113
+ [Supported hypothesis, ruled-out alternatives, and the file/function/config to change]
114
+ ```
115
+
116
+ ## Worked Shape
117
+
118
+ ```markdown
119
+ Symptom: intermittent 500s on /export, only eu-west, started three days ago.
120
+
121
+ Hypotheses:
122
+ 1. recent diff to export serializer
123
+ Observation: inspect commits touching `export_serializer`
124
+ Falsified if: no diff touches the failing codepath
125
+ 2. eu-west Redis rotation broke a cache key
126
+ Observation: read cache key construction + region config
127
+ Falsified if: key and TTL match healthy regions
128
+ 3. upstream timeout under load
129
+ Observation: compare timeout logs during failure window
130
+ Falsified if: no upstream latency spike
131
+
132
+ Test order: H1, H2, H3.
133
+ Result: H1 diff changed nested export handling and matches stack trace.
134
+ Localized fault: `app/export/serializer.py`.
135
+ ```
136
+
137
+ ## Anti-Patterns
138
+
139
+ - Narrating the scientific method without proposing competing causes
140
+ - Looking only for evidence that supports your first guess
141
+ - Calling an expensive experiment a "test" when a cheap observation exists
142
+ - Stopping at a plausible explanation before ruling out alternatives
143
+ - Continuing to analyze after the faulty file/function is localized
144
+
145
+ ## Verification Checklist
146
+
147
+ - [ ] Listed 3-5 specific hypotheses
148
+ - [ ] Each hypothesis has a cheap observation available now
149
+ - [ ] Each hypothesis has a stated falsifier
150
+ - [ ] Observations are ranked by likelihood x cheapness
151
+ - [ ] Final answer names the localized file/function/config and the evidence
152
+
153
+ ## Key Questions
154
+
155
+ - What would I see if this hypothesis were false?
156
+ - Which observation best separates the top two hypotheses?
157
+ - Am I testing a hypothesis or confirming my first guess?
158
+ - Can I localize the fault with a cheaper observation?
159
+
160
+ ## Feynman's Wisdom
161
+
162
+ "The first principle is that you must not fool yourself - and you are the easiest person to fool." Your intuition generates hypotheses; the differential tests them.
@@ -0,0 +1,184 @@
1
+ ---
2
+ name: thinking-second-order
3
+ description: When a change has effects past the immediate fix (incentives, scale, feedback loops), ask "and then what?" across horizons before committing — the obvious fix often backfires downstream.
4
+ ---
5
+
6
+ # Second-Order Thinking
7
+
8
+ ## Overview
9
+ Second-order thinking, articulated by Howard Marks, moves beyond immediate effects to consider what happens next, and what that leads to. First-order thinking is simplistic ("This action solves the problem"); second-order thinking asks "And then what?" repeatedly.
10
+
11
+ **Core Principle:** The obvious answer to "What should I do?" is often wrong because it ignores downstream effects.
12
+
13
+ ## When to Use
14
+ - Making strategic or architectural decisions
15
+ - Evaluating policy or process changes
16
+ - Considering incentive structures
17
+ - Planning features that change user behavior
18
+ - Decisions with long-term consequences
19
+ - When the "obvious" solution feels too easy
20
+
21
+ Decision flow:
22
+ ```
23
+ Decision with consequences beyond immediate? → yes → APPLY SECOND-ORDER THINKING
24
+ ↘ no → First-order may suffice
25
+ ```
26
+
27
+ ## When NOT to Use
28
+ - The change is local and reversible (a two-way door) with no downstream coupling — just make it and observe.
29
+ - The first-order fix is also the correct one and the chain is obvious; don't manufacture speculative cascades.
30
+ - You'd be inventing implausible third- and fourth-order effects to seem thorough — stop at the first effect that actually changes the decision.
31
+ - Pure mechanical edits (rename, format, dependency bump) with no behavioral or incentive change.
32
+
33
+ ## First vs Second-Order Thinking
34
+
35
+ | Situation | First-Order | Second-Order |
36
+ |-----------|-------------|--------------|
37
+ | Team is slow | Add more engineers | More engineers → more coordination → slower decisions → may get slower |
38
+ | Users complain | Add the feature they request | Feature → complexity → more support load → less time for core work |
39
+ | Costs too high | Cut spending | Cuts → reduced quality → customer churn → revenue drop → worse situation |
40
+ | Bug in prod | Hotfix immediately | Hotfix → skip testing → more bugs → trust erosion → slower deployments |
41
+
42
+ ## The Process
43
+
44
+ ### Step 1: Identify the Decision and First-Order Effect
45
+ ```
46
+ Decision: Add a feature flag system
47
+ First-order: Teams can ship features independently ✓
48
+ ```
49
+
50
+ ### Step 2: Ask "And Then What?"
51
+ Chain the consequences:
52
+ ```
53
+ Feature flags → More flags created → Flag debt accumulates
54
+ → Teams don't clean up → Combinatorial testing complexity
55
+ → Bugs from flag interactions → "Turn it off" becomes risky
56
+ → Flags become permanent → Codebase complexity explodes
57
+ ```
58
+
59
+ ### Step 3: Evaluate Across Engineering Horizons
60
+ Trace the effect at three concrete horizons (not emotional ones):
61
+
62
+ | Horizon | Question | Analysis |
63
+ |---------|----------|----------|
64
+ | Immediate | What happens on the next request/run? | Problem solved—flag ships the feature |
65
+ | Next deploy / weeks | What does the team do because of this? | Flag sprawl, more flags created |
66
+ | At scale / months+ | Where does the trajectory lead at 10x usage or adoption? | Combinatorial flag debt, fragile codebase |
67
+
68
+ ### Step 4: Consider Systemic Effects
69
+ Ask: "What if everyone did this?"
70
+ ```
71
+ Decision: Skip code review for urgent fixes
72
+ If everyone: All urgent fixes skip review
73
+ Result: Definition of "urgent" expands → most things skip review
74
+ Outcome: Quality collapses, more urgent fixes needed
75
+ ```
76
+
77
+ ### Step 5: Map the Consequence Chain
78
+ ```
79
+ ┌─────────────────┐
80
+ │ Decision: X │
81
+ └────────┬────────┘
82
+
83
+ ┌─────────────────┐
84
+ │ 1st Order: A │ ← Obvious, intended
85
+ └────────┬────────┘
86
+
87
+ ┌─────────────────┐
88
+ │ 2nd Order: B │ ← Less obvious
89
+ └────────┬────────┘
90
+
91
+ ┌─────────────────┐
92
+ │ 3rd Order: C │ ← Often counterintuitive
93
+ └────────┬────────┘
94
+
95
+ ┌─────────────────┐
96
+ │ Feedback Loop │ ← May reinforce or counteract
97
+ └─────────────────┘
98
+ ```
99
+
100
+ ## Common Second-Order Effects in Software
101
+
102
+ ### Optimization
103
+ ```
104
+ 1st: Optimize critical path → Faster
105
+ 2nd: Team focuses on optimization → Less feature work
106
+ 3rd: Premature optimization spreads → Complexity increases
107
+ 4th: Maintenance burden grows → Slower overall
108
+ ```
109
+
110
+ ### Hiring
111
+ ```
112
+ 1st: Hire senior engineers → More capacity
113
+ 2nd: Salary expectations rise → Budget pressure
114
+ 3rd: Junior engineers feel stuck → Attrition
115
+ 4th: Knowledge concentrated in seniors → Bus factor risk
116
+ ```
117
+
118
+ ### Process Addition
119
+ ```
120
+ 1st: Add approval process → More oversight
121
+ 2nd: Approvals create bottleneck → Slower delivery
122
+ 3rd: People route around process → Shadow processes
123
+ 4th: Formal process becomes theater → Worst of both worlds
124
+ ```
125
+
126
+ ### Technical Shortcuts
127
+ ```
128
+ 1st: Skip tests to ship faster → Feature delivered
129
+ 2nd: Bugs emerge → Support load increases
130
+ 3rd: Team fights fires → Less time for features
131
+ 4th: More shortcuts taken → Quality death spiral
132
+ ```
133
+
134
+ ## Application Framework
135
+
136
+ For any significant decision, fill out:
137
+
138
+ ```markdown
139
+ ## Second-Order Analysis: [Decision]
140
+
141
+ ### Immediate Effect (1st Order)
142
+ [What happens right away]
143
+
144
+ ### Near-Term Consequences (2nd Order)
145
+ [What does the immediate effect cause? 1-3 months]
146
+
147
+ ### Medium-Term Consequences (3rd Order)
148
+ [What do the near-term effects cause? 3-12 months]
149
+
150
+ ### Long-Term Trajectory
151
+ [Where does this path lead? 1+ years]
152
+
153
+ ### Feedback Loops
154
+ [Does this create reinforcing or balancing dynamics?]
155
+
156
+ ### If Scaled
157
+ [What happens if this becomes standard practice?]
158
+
159
+ ### Revised Decision
160
+ [Given analysis, what should we actually do?]
161
+ ```
162
+
163
+ ## Questions to Surface Second-Order Effects
164
+ - "And then what?"
165
+ - "Who else is affected, and how will they respond?"
166
+ - "What incentives does this create?"
167
+ - "What behavior does this encourage/discourage?"
168
+ - "If this works, what problems does success create?"
169
+ - "What will we wish we had done differently in a year?"
170
+ - "What does this look like if everyone does it?"
171
+
172
+ ## Verification Checklist
173
+ - [ ] Identified first-order effect clearly
174
+ - [ ] Asked "and then what?" at least 3 times
175
+ - [ ] Traced effects across immediate / next-deploy / at-scale horizons
176
+ - [ ] Considered systemic/scaled effects
177
+ - [ ] Identified potential feedback loops
178
+ - [ ] Revised decision based on full consequence chain
179
+ - [ ] Documented reasoning for future reference
180
+
181
+ ## Marks' Warning
182
+ "First-level thinking is simplistic and superficial, and just about everyone can do it. Second-level thinking is deep, complex, and convoluted."
183
+
184
+ The crowd uses first-order thinking. Competitive advantage comes from thinking one level deeper—seeing what happens after the obvious effect.
@@ -0,0 +1,198 @@
1
+ ---
2
+ name: thinking-socratic
3
+ description: Use before building when a request is vague, assumption-laden, or "obvious." Ask the clarifying questions that surface hidden requirements and false premises instead of guessing.
4
+ ---
5
+
6
+ # Socratic Questioning
7
+
8
+ ## Overview
9
+ The Socratic Method, developed by the ancient Greek philosopher Socrates, uses systematic questioning to stimulate critical thinking and illuminate ideas. Rather than providing answers, it draws out knowledge by challenging assumptions and exploring implications.
10
+
11
+ **Core Principle:** A vague or assumption-laden request is cheaper to clarify than to misbuild. The right question up front surfaces the hidden requirement or false premise that would otherwise be discovered only after the work is done.
12
+
13
+ Use this as a **pre-build clarification tool**: when a task is underspecified, ambiguous, or rests on an unstated assumption, ask the targeted question before writing code or committing to an approach — don't fill the gap with a guess.
14
+
15
+ ## When to Use
16
+ - A request is vague ("make it fast", "add a dashboard", "fix the bug") and you'd otherwise guess the spec
17
+ - The request rests on an unstated assumption that might be the actual problem
18
+ - Someone asserts something is "obvious" or "everyone knows" — exactly when premises go unchecked
19
+ - A proposal jumps to a solution before the problem is defined
20
+ - Debugging, to trace a claim ("the system is slow") back to a checkable specific
21
+
22
+ Decision flow:
23
+ ```
24
+ About to build/commit on an underspecified request? → yes → ASK CLARIFYING QUESTIONS FIRST
25
+ Request rests on an unexamined assumption? → yes → PROBE THE ASSUMPTION
26
+ Stated problem is a vague symptom? → yes → QUESTION DOWN TO A SPECIFIC
27
+ ```
28
+
29
+ ## When NOT to Use
30
+ - **The request is already clear and specified.** Don't interrogate a well-defined task — just do it. Question-asking theater wastes the user's time.
31
+ - **You can answer the question yourself by checking.** If the ambiguity is resolvable by reading the code, running a command, or consulting the docs, do that instead of asking the user.
32
+ - **During execution of an agreed plan.** Clarify before building; once the spec is settled, stopping to re-question every step is friction, not rigor.
33
+ - **A genuine emergency / time-pressured incident** where acting on 70% understanding beats a round of questions — clarify the one thing that's load-bearing, then act.
34
+
35
+ ## The Six Types of Socratic Questions
36
+
37
+ ### 1. Clarification Questions
38
+ **Purpose:** Ensure clear understanding of the claim or concept
39
+
40
+ | Question | Use When |
41
+ |----------|----------|
42
+ | "What do you mean by X?" | Term is ambiguous |
43
+ | "Can you give me an example?" | Concept is abstract |
44
+ | "How does this relate to Y?" | Connection unclear |
45
+ | "Can you rephrase that?" | Statement is confusing |
46
+ | "What is the main point?" | Discussion is scattered |
47
+
48
+ **Example:**
49
+ > "The system needs to be fast."
50
+ > → "What do you mean by 'fast'? What latency is acceptable?"
51
+ > → "Fast for whom? End users? Batch processes?"
52
+
53
+ ### 2. Assumption-Probing Questions
54
+ **Purpose:** Expose underlying beliefs that may be unexamined
55
+
56
+ | Question | Use When |
57
+ |----------|----------|
58
+ | "What are we assuming here?" | Conclusion seems too pam |
59
+ | "Is this always true?" | Generalization made |
60
+ | "What if that assumption is wrong?" | Testing robustness |
61
+ | "Why do we believe this?" | Basis unclear |
62
+ | "What would have to change for this to be false?" | Finding conditions |
63
+
64
+ **Example:**
65
+ > "We need microservices for scale."
66
+ > → "What are we assuming about our scale requirements?"
67
+ > → "Is it always true that microservices scale better?"
68
+ > → "What if a modular monolith could meet our needs?"
69
+
70
+ ### 3. Reason & Evidence Questions
71
+ **Purpose:** Examine the support for a claim
72
+
73
+ | Question | Use When |
74
+ |----------|----------|
75
+ | "What evidence supports this?" | Claim is asserted |
76
+ | "How do we know this?" | Source unclear |
77
+ | "Are there other explanations?" | Causation assumed |
78
+ | "What would prove this wrong?" | Testing falsifiability |
79
+ | "Is this evidence sufficient?" | Conclusion seems strong |
80
+
81
+ **Example:**
82
+ > "Users don't want feature X."
83
+ > → "What evidence do we have for this?"
84
+ > → "How many users did we ask? How were they selected?"
85
+ > → "Could there be other explanations for the feedback?"
86
+
87
+ ### 4. Perspective & Viewpoint Questions
88
+ **Purpose:** Consider alternative angles and stakeholders
89
+
90
+ | Question | Use When |
91
+ |----------|----------|
92
+ | "How would X see this?" | Single perspective dominates |
93
+ | "What's the opposite view?" | No alternatives considered |
94
+ | "Who disagrees, and why?" | Consensus seems too easy |
95
+ | "What are we not seeing?" | Blind spots suspected |
96
+ | "How does this look from [role]?" | Stakeholder impact unclear |
97
+
98
+ **Example:**
99
+ > "This API design is intuitive."
100
+ > → "How would a new developer view this?"
101
+ > → "What would someone from a different language background expect?"
102
+ > → "Who might find this confusing, and why?"
103
+
104
+ ### 5. Implication & Consequence Questions
105
+ **Purpose:** Explore downstream effects and logical conclusions
106
+
107
+ | Question | Use When |
108
+ |----------|----------|
109
+ | "What follows from this?" | Implications unexplored |
110
+ | "If this is true, what else must be true?" | Testing consistency |
111
+ | "What are the consequences?" | Impact unclear |
112
+ | "How does this affect X?" | Ripple effects not considered |
113
+ | "What are the second-order effects?" | Only immediate effects seen |
114
+
115
+ **Example:**
116
+ > "We'll add this field to the API response."
117
+ > → "What follows from adding this field?"
118
+ > → "How does this affect clients that don't need it?"
119
+ > → "What are the implications for backward compatibility?"
120
+
121
+ ### 6. Questions About the Question
122
+ **Purpose:** Reflect on the inquiry itself; meta-level examination
123
+
124
+ | Question | Use When |
125
+ |----------|----------|
126
+ | "Why is this question important?" | Purpose unclear |
127
+ | "What would answering this tell us?" | Value of question unclear |
128
+ | "Is this the right question?" | May be missing the point |
129
+ | "What question should we be asking?" | Reframing needed |
130
+ | "Why are we asking this now?" | Timing or priority unclear |
131
+
132
+ **Example:**
133
+ > "Which database should we use?"
134
+ > → "Why is this question important right now?"
135
+ > → "What would answering this tell us that we don't know?"
136
+ > → "Is the real question about database, or about data modeling?"
137
+
138
+ ## Application Patterns
139
+
140
+ ### For Requirements Gathering
141
+ ```
142
+ Stakeholder: "We need a dashboard."
143
+ Clarification: "What decisions will the dashboard help you make?"
144
+ Assumptions: "What are we assuming about who will use this?"
145
+ Evidence: "What data shows this is the highest priority?"
146
+ Perspective: "How do different user roles need different views?"
147
+ Implications: "If we build this, what won't we build?"
148
+ Meta: "Is a dashboard the best solution, or is there another approach?"
149
+ ```
150
+
151
+ ### For Debugging
152
+ ```
153
+ Report: "The system is slow."
154
+ Clarification: "Which operations are slow? How slow?"
155
+ Assumptions: "What are we assuming about where the bottleneck is?"
156
+ Evidence: "What metrics/traces support this?"
157
+ Perspective: "Is it slow for all users or specific patterns?"
158
+ Implications: "If we fix this, what else might change?"
159
+ Meta: "Is 'slow' the right frame? Could it be 'inconsistent'?"
160
+ ```
161
+
162
+ ### For Design Review
163
+ ```
164
+ Proposal: "We should use event sourcing."
165
+ Clarification: "What do you mean by event sourcing in this context?"
166
+ Assumptions: "What are we assuming about our query patterns?"
167
+ Evidence: "What evidence suggests this fits our use case?"
168
+ Perspective: "How would ops view this? New team members?"
169
+ Implications: "What are the consequences for debugging? Storage?"
170
+ Meta: "Is the real question about event sourcing or auditability?"
171
+ ```
172
+
173
+ ## How to Ask Well
174
+ - **Ask the load-bearing question first**: lead with the one whose answer most changes what you'll build.
175
+ - **One or two questions, not an interrogation**: batch the few that actually gate the work; don't run all six categories for show.
176
+ - **Follow the thread**: let each answer narrow the next question instead of working from a fixed script.
177
+ - **Resolve what you can yourself**: only ask the user what you can't determine by reading the code, running a command, or checking the docs.
178
+ - **Make the assumption explicit**: "This assumes X — is that right?" beats silently guessing X.
179
+
180
+ ## Verification Checklist
181
+ - [ ] Used questions from at least 3 of the 6 categories
182
+ - [ ] Probed assumptions underlying the topic
183
+ - [ ] Explored at least one alternative perspective
184
+ - [ ] Examined implications and consequences
185
+ - [ ] Reached deeper understanding than starting point
186
+ - [ ] Documented key insights from questioning
187
+
188
+ ## Key Meta-Questions
189
+ - "What do I think I know, and how do I know it?"
190
+ - "What question am I not asking?"
191
+ - "What would change my mind about this?"
192
+ - "Who knows more about this than I do?"
193
+ - "What's the question behind the question?"
194
+
195
+ ## Socrates' Reminder
196
+ "I know that I know nothing."
197
+
198
+ The goal is not to prove others wrong but to discover truth together. The best questions reveal what everyone—including the questioner—doesn't yet understand.