
thinking-thought-experiment
When a real test is too rare, large, or irreversible, run a controlled counterfactual: isolate one variable, fix conditions, trace the mechanistic chain, and bound what the result implies.
- Installs
- 565
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/tjboudreaux/cc-thinking-skills --skill thinking-thought-experiment- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads thinking-thought-experiment automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Thought Experiment
When empiricism is out of reach, run a disciplined counterfactual: one isolated change, fixed conditions, step-by-step mechanism, and a hard bound on implications.
When to Use
- You need behavior under failure, scale, or policy you cannot cheaply trigger or measure (region outage, 100x load, one-way architecture).
- A decision is expensive or irreversible and a mental trace can surface break points before commit.
- Edge cases are too costly to stage, but a mechanistic chain can still expose missing controls.
When NOT to Use
- A cheap real test exists (load test, flag, query, spike) → run the test; do not substitute imagination.
- Adversarial security attack-path work → use red-team structure, not free-form scenarios.
- You already know the mechanism and only need a decision under known facts → decide; do not dramatize.
- Vague "what if everything" brainstorming without a single isolated variable → tighten or stop.
Procedure
- State the question and isolation. Name exactly one primary variable or counterfactual change. Freeze all other conditions as the control world. Reject multi-variable "and also" scenarios.
- Fix initial conditions. Specify system state, load, configuration, actors, and what is not changed. Write values concrete enough that another agent could replay the setup.
- Trace the mechanism step by step. From t0, record what fails, queues, retries, or adapts next—and why—using known components and policies only. No hand-wavy "then everything collapses"; each step needs a causal link.
- Extract invariants and break points. Note what still holds (invariants) and the first step where the system violates a requirement (capacity, correctness, safety, UX). Mark assumptions that, if false, void the chain.
- Bound implications. Map insights only to actions or checks justified by the chain (limits, guards, monitoring, redesign). Label speculative leaps beyond the isolation as out of bound.
- Name a discriminating real check, then stop. For the weakest link, state the cheapest observation or experiment that would confirm or kill it. Stop after one controlled chain with bounded implications; if a link is cheaply testable now, exit to that test instead of further imagination.
Output
Emit a thought-experiment record:
question: what behavior or decision is under testisolated_variable: single change vs control worldinitial_conditions: frozen state and non-changesconsequence_chain: ordered mechanistic stepsinvariants: what still holdsbreak_points: first requirement failures and critical assumptionsimplication_bound: actions/checks justified by the chain onlydiscriminating_check: cheapest real observation to confirm or kill the weak link
Verification
- Isolation check: more than one free variable without a stated control → invalid; reset.
- Mechanism check: any step without a causal link to a known component/policy → rewrite or drop.
- Implication bound: recommendations not entailed by the chain are out of scope.
- Empiricism override: if a real test became available mid-analysis, stop the thought experiment and test.
- Over-application guard: do not use this skill for ordinary debugging you can reproduce, or as a substitute for red-team threat modeling.
- Stop: one isolated counterfactual → full chain → bounded implications + discriminating check; no scenario sprawl.
FAQ
What does the thinking-thought-experiment skill do?
When a real test is too rare, large, or irreversible, run a controlled counterfactual: isolate one variable, fix conditions, trace the mechanistic chain, and bound what the result implies.
How do I install thinking-thought-experiment?
Run npx skills add https://github.com/tjboudreaux/cc-thinking-skills --skill thinking-thought-experiment in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/thinking-thought-experiment/ (personal) or .claude/skills/thinking-thought-experiment/ (project).
Which AI agents can use thinking-thought-experiment?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is thinking-thought-experiment safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains thinking-thought-experiment?
It is published by tjboudreaux in tjboudreaux/cc-thinking-skills. It has 565 recorded installs.
More from tjboudreaux/cc-thinking-skills
thinking-first-principles
tjboudreaux/cc-thinking-skills
When a constraint is treated as fixed, separate physics from convention, keep only independently supported primitives, and rebuild the simplest solution that satisfies real constraints.
thinking-red-team
tjboudreaux/cc-thinking-skills
For authorized security review of code, auth, or APIs you control, model the attacker, map the attack surface, and report only findings with a reproducible exploit path and verified mitigation.
thinking-pre-mortem
tjboudreaux/cc-thinking-skills
Before committing to a plan or launch, assume it already failed and reason backward through concrete causes — convert failure paths into mitigations, gates, and stop checks.
thinking-theory-of-constraints
tjboudreaux/cc-thinking-skills
When throughput or latency is pipeline-limited, identify the single binding constraint and exploit, subordinate, elevate, then recheck—ignore non-constraints.
thinking-socratic
tjboudreaux/cc-thinking-skills
When a request is vague, assumption-laden, or "obvious," ask the few load-bearing questions that expose hidden requirements before building or committing.
thinking-opportunity-cost
tjboudreaux/cc-thinking-skills
Before committing scarce time, people, or money, name the best forgone use of those resources and the value delta of the chosen path versus that alternative.
Popular testing & qa skills
tdd
mattpocock/skills
Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.
grilling
mattpocock/skills
Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.
migrate-to-shoehorn
mattpocock/skills
Migrate test files from as type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace as in tests, or needs partial test data.
run-train
lllllllama/rigorpilot-skills
Rigor Train skill for deep learning research repositories. Use when a documented or selected training command should be run conservatively for startup verification, short-run verification, full kickoff, or resume, with command, config, seed, log, checkpoint, status, and metric evidence written to standardized trainoutputs/. Do not use for environment setup, exploratory sweeps, speculative idea implementation, or end-to-end orchestration.
test-driven-development
obra/superpowers
Use when implementing any feature or bugfix, before writing implementation code
finishing-a-development-branch
obra/superpowers
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work