probe-driven-design
Skill9 starsChanged 4 months agoMITView on GitHub
Use when a consequential design, architecture, process, or policy choice depends on unknowns that reasoning alone cannot settle, or when an investigation plan may be over-scoped, prematurely branched, or full of experiments whose results may not change a decision. Not for questions answerable by a straightforward lookup alone.
In this repository33 other files it gives its agents.
- AGENTS.mdAGENTS.md
- agentic-scaffoldingSkill
- annas-archive-ebooksSkill
- ansi-artSkill
- clarifySkill
- conjecture-cascadeSkill
- crystallizeSkill
- dianalokadaSkill
- duris-game-knowledgeSkill
- duris-group-combatSkill
- ebook-extractorSkill
- failure-modesSkill
- gpt-pro-loopSkill
- graph-researcherSkill
- improve-codebaseSkill
- jevSkill
- julian-writingSkill
- kalshi-prediction-marketSkill
- lemmaSkill
- medium-paywall-bypassSkill
- ml-learning-methodsSkill
- name-reviewSkill
- no-process-pornSkill
- pm-deep-analysisSkill
- pm-market-analysisSkill
- pm-research-methodologiesSkill
- pm-situation-framingSkill
- prediction-drillSkill
- refine-testsSkill
- remove-ai-sinsSkill
- show-usageSkill
- writing-claude-skillsSkill
- x-undocumented-apiSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
27 rules. About 0 are common, 26 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈26
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 42
Prefer existing evidence when it is adequate.
- Distinctive: line 48
Before creating probes or a probe program, classify each proposed item:
- Distinctive: line 59
Only work needed to ground or safely execute the current decision belongs on its active path.
- Distinctive: line 68
If a condition fails, do direct work, use existing evidence, retain a conditional question, separate the opportunity, or stop.
- Distinctive: line 91
test an assumption with a high cost of being wrong
- Distinctive: line 97
Before running it, ask: What plausible result would change the decision or next branch?
- Distinctive: line 111
Do not combine the stages merely to save a planning round.
- Distinctive: line 128
Use the lightest closeout that preserves what matters:
- Distinctive: line 138
Update the design rather than defending the starting plan.
- Distinctive: line 142
Use a graph only when probes have real dependencies, branch conditions, parallel paths, or convergence.
- Distinctive: line 159
Before publishing the graph, audit every hard dependency against the immediate decision:
- Distinctive: line 167
Only the active frontier gets methods, inputs, schedules, acceptance criteria, or artifact schemas.
- Very specific: line 169
Use the host tracker’s status vocabulary.
- Distinctive: line 176
When a late result overturns a starting assumption, revisit work already completed under that assumption.
- Distinctive: line 179
Create another probe only for uncertainty exposed by the merge.
- Distinctive: line 183
Use an independent context or agent only when anchoring, a favored explanation, or hidden author context could materially distort the …
- Distinctive: line 191
Do not elaborate contingent detail merely because it sounds implementable.
- Distinctive: line 192
Do not turn every plausible later question into a designed probe before its branch is ready.
- Distinctive: line 193
Do not invent precision the situation does not supply.
- Distinctive: line 194
Do not construct a prototype when existing evidence can answer the question.
- Distinctive: line 195
Do not put known corrections, characterization, design comparison, and intervention under one generic experimental contract.
- Distinctive: line 196
Do not make independent improvements or possible later ceilings prerequisites merely because they share a resource.
- Distinctive: line 197
Do not build a universal evidence schema, artifact graph, or safety program for one bounded decision without demonstrated reuse.
- Distinctive: line 198
Do not exhaustively compare candidates when the cheapest credible candidate can be tested first and later branches depend on that result.
- Distinctive: line 199
Do not promote temporary work by inertia.
- Distinctive: line 200
Do not graph work that has no meaningful branching or dependency structure.
- Distinctive: line 201
Do not continue probing when no plausible result would change the decision.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Probe-Driven Design
Navigate the fog of war by making consequential uncertainty concrete before designing around it.
Core principle: Make uncertainty observable before filling it with plausible detail.
Use the smallest useful probe: the least costly action that can ground the next design decision without simplifying away the thing being decided. Stop when that decision is grounded enough for its stakes and reversibility, or when another probe would cost more than it could change.
Vocabulary
| Term | Meaning |
| Design decision | A consequential choice about what or how to build, organize, or operate. |
| Probe | A bounded action taken to obtain decision-relevant information. It may be a targeted inspection, query, interview, walkthrough, trial, simulation, enactment, or prototype. |
| Learning prototype | A temporary version or enactment of a candidate design used inside a probe. Not every probe uses one, and not every temporary probe artifact is a prototype. |
| Result | What the probe actually observed or gathered, with enough provenance and material limits to judge it. |
| Learning | A change in understanding supported by the result. Record it separately when the interpretation is non-obvious, consequential, or disputed. |
Result names what came back. Learning names what that result changes in the understanding of the problem. Never present an interpretation as though it were the result itself.
Boundary
This skill selects and sequences probes around a design decision. It applies to code and non-code work.
Prefer existing evidence when it is adequate. Documentation, direct inspection, a targeted query, or reconstructing an existing trace may settle the question without constructing anything. Do not build an artifact merely to make the work feel experimental.
This skill decides whether a prototype is needed and what its question requires. When a prototype skill is available, use it for the mechanics of building throwaway code while preserving the fidelity rules here. Use conjecture-cascade when broad coverage across many lenses is the primary objective; use probe-driven design when probes are selected and sequenced because their possible results could change a decision or activate a branch.
Judgment Gates
Before creating probes or a probe program, classify each proposed item:
| Class | Treatment |
| Known correction | Implement with deterministic acceptance; no learning question or result state. |
| Observation needed now | Measure only what the current decision needs. |
| Probe needed now | Put on the active decision path. |
| Conditional question | Keep as a question and dependency only; design it if activated. |
| Independent opportunity | Track outside the current decision path. |
| No decision leverage | Drop it. |
Only work needed to ground or safely execute the current decision belongs on its active path. A known correction is a prerequisite only when leaving the defect in place would make the probe unsafe or contaminate its interpretation.
A probe is warranted only when all are true:
- A concrete decision is current, not merely imaginable.
- At least two plausible results lead to materially different next actions.
- Existing evidence cannot ground the decision at its stakes and reversibility.
- The probe's expected decision value justifies its cost, delay, and operational exposure.
If a condition fails, do direct work, use existing evidence, retain a conditional question, separate the opportunity, or stop. Do not create a probe whose main output is permission to ask another already-known question.
Evidence is also budgeted. Every required field, artifact, manifest, threshold, safety study, or prerequisite must name the interpretation or safety decision it can change. If removing it would not make the result unsafe or materially less interpretable, remove it. A reusable evidence platform requires demonstrated recurring consumers; one probe defaults to the light closeout below.
Core Loop
1. Choose the next decision and question
Identify the next consequential design decision rather than attempting to settle the entire system.
Separate what actual constraints already support from what remains provisional. Continue designing only where known constraints support the structure or where reversal is cheap. A conventional-looking boundary is not evidence that it is stable, and a detail shared by every imagined candidate may still be a shared guess. If implementation must begin, label the cheapest reversible choice provisional rather than promoting it to architecture.
Ask:
- What are we pretending to know?
- Which unknown could reverse, split, or substantially reshape this decision?
- What would become expensive to undo?
- What could be learned only through contact with the concrete problem?
2. Select the smallest useful probe
Choose the least costly probe whose limitations will not invalidate the decision.
Prefer probes that:
- test an assumption with a high cost of being wrong
- distinguish between competing explanations or approaches
- unblock several downstream decisions
- expose a real boundary, handoff, failure mode, or operating constraint
- can be run quickly and reversed cleanly
Before running it, ask: What plausible result would change the decision or next branch? If none would, the probe is theater.
Design the next probe. Give later branches only a question and dependency until they become ready; do not yet specify their method, inputs, schedule, or acceptance criteria. Their design depends on results not yet available. A multi-stage probe program planned through unresolved dependencies repeats the same mistake as a detailed architecture through fog.
For a nontrivial probe, make these four things recoverable from the work:
- the decision and primary question
- the probe
- what must be real and what may be simplified
- which plausible results would change the decision or next branch
These need not be headings or a separate document. Add a result form or stop condition only when it prevents ambiguity, cherry-picking, or wasted work.
Do not invent sample sizes, thresholds, schedules, confidence levels, or acceptance criteria to make a probe look rigorous. Use supplied constraints, or identify such values as calibration choices that the first pass must inform. An invented number is a design decision smuggled in as a parameter.
Do not combine the stages merely to save a planning round. Characterization ends with facts and a next question. A design comparison begins only if those facts make the choice consequential. An intervention begins only after one candidate and its bounds are grounded.
3. Run the probe
Match fidelity to the question. A performance question needs a representative workload; an interaction question needs a convincing interaction; an organizational question may need a real handoff between people. Everything the question does not touch may be simplified or omitted.
When the probe uses a learning prototype, make the dimensions under investigation credible enough that the result can be trusted. Temporary describes lifecycle, not acceptable sloppiness. If maintainability, interface depth, recovery, or failure behavior is under investigation, design those parts well enough to learn about them.
When comparing alternatives:
- make each credible on the dimensions being compared rather than building straw men
- hold irrelevant conditions steady
- allow the eventual design to combine or surpass the prototypes rather than selecting one wholesale
A prototype may be discarded, retained for another probe, or deliberately rebuilt into production form. Never promote it by inertia; review retained code against production requirements as a new decision.
4. Capture the result and update the design
Use the lightest closeout that preserves what matters:
Result: <what was observed or gathered, including material limits>
Learning: <when non-obvious or disputed: what is now understood differently>
Next: <design update, new question or probe, or stop>An inconclusive result is still a result. It may show that the question was too broad, the probe lacked fidelity, the expected distinction does not matter, or another unknown dominates. Do not manufacture learning to make a probe appear successful.
Update the design rather than defending the starting plan. Close branches the result no longer supports, open newly exposed questions, or stop when the decision is grounded enough.
Graph-Shaped Work
Use a graph only when probes have real dependencies, branch conditions, parallel paths, or convergence. Keep a simple question as a simple note.
For each graph node, retain only what the coordinator needs:
id
decision/question
depends_on
dependency_mode: blocking | non_blocking
starting_assumptions
status
probe # ready or running nodes only
result
limits
branch_effectBefore publishing the graph, audit every hard dependency against the immediate decision:
- Would its absence make the next probe unsafe?
- Would its absence make the result materially uninterpretable?
- Does it resolve a confounder that cannot simply remain represented and observed?
If none apply, it is not a hard dependency. Make it informing, independent, conditional, or remove it. Scope safety evidence to the proposed intervention: an operational change may need matched session and write observations, but not a universal pool-sizing or DDL program unless it actually touches those decisions.
Only the active frontier gets methods, inputs, schedules, acceptance criteria, or artifact schemas. An unresolved descendant retains its question, dependency, and the result that would activate it—nothing more.
Use the host tracker’s status vocabulary; statuses such as ready, running, closed, and inconclusive are implementation details, not concepts this skill imposes.
Apply these execution rules:
- A probe is ready when its blocking dependencies are resolved.
- A non-blocking branch may proceed only when it records the assumption that permits work to continue before the dependency resolves.
- Independent ready probes may run in parallel.
- A result may open, close, split, or deprioritize later branches.
- When a late result overturns a starting assumption, revisit work already completed under that assumption; reopen or invalidate it where necessary.
- At convergence, merge results and limits—not branch conclusions or agent votes—before updating the shared decision.
- Preserve contradictory results as unresolved information. Do not average them into false agreement.
- Create another probe only for uncertainty exposed by the merge.
Independent Checks
Use an independent context or agent only when anchoring, a favored explanation, or hidden author context could materially distort the result.
Give it the raw target, question, necessary facts and constraints, and required output. Omit the favored conclusion or prior rationale only when they would leak the answer; never omit domain facts needed to do the work.
Treat the returned result and limits as information, not as an independent vote. If it disagrees with another result, the disagreement is itself a result to resolve or preserve—not a reason to average the answers or rerun until they agree. Multiple agents sharing the same hidden assumption are replication, not independence.
Guards
- Do not elaborate contingent detail merely because it sounds implementable.
- Do not turn every plausible later question into a designed probe before its branch is ready.
- Do not invent precision the situation does not supply.
- Do not construct a prototype when existing evidence can answer the question.
- Do not put known corrections, characterization, design comparison, and intervention under one generic experimental contract.
- Do not make independent improvements or possible later ceilings prerequisites merely because they share a resource.
- Do not build a universal evidence schema, artifact graph, or safety program for one bounded decision without demonstrated reuse.
- Do not exhaustively compare candidates when the cheapest credible candidate can be tested first and later branches depend on that result.
- Do not promote temporary work by inertia.
- Do not graph work that has no meaningful branching or dependency structure.
- Do not continue probing when no plausible result would change the decision.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

