thinking-bounded-rationality — Claude Code skill: stop searching
A skill that halts a search at the first option clearing a threshold you set beforehand, instead of comparing forever.
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-bounded-rationality -a claude-codeWhat thinking-bounded-rationality does
The skill kicks in when option comparison or context gathering has no natural endpoint and could burn the whole turn budget. The agent first names the decision, the remaining tool, context and time budget, and whether the choice is reversible. Only then does it write concrete pass/fail criteria for good enough — the threshold comes before any evaluation.
Search runs sequentially. Each option is scored against the threshold alone, and full comparison matrices are skipped unless the decision was flagged as high-stakes or irreversible. The first option that clears every criterion gets picked right away, and the leftover budget goes into execution rather than re-ranking.
Failure has its own rule: if nothing clears the threshold after the pre-set cap, the skill keeps the threshold and reports that no adequate option exists. Only a criterion predeclared as non-load-bearing can be relaxed, and the relaxation gets recorded. Raising the bar after a failed search is off the table. There is also a guard against overuse — when one cheap lookup settles a fact, the skill says to just do the lookup. Correctness gates like tests and security checks stay out of scope, because those need the right answer, not a sufficient-looking one.
What it helps with
- stop comparing once the first option already qualifies
- write pass/fail criteria before evaluating anything
- keep context gathering from eating the turn budget
- report that no option was adequate instead of moving the goalposts
- keep tests and security checks out of satisficing
Example prompts for the agent
- I'm comparing three parsing libraries. Set an aspiration level and stop at the first one that clears it.
- This search is dragging on — apply thinking-bounded-rationality and state the budget.
- Nothing cleared the threshold after the cap. Say so and don't move the bar.
How to install thinking-bounded-rationality
1Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-bounded-rationality -a claude-code2Manually: put the files in place
~/.claude/skills/thinking-bounded-rationality/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/thinking-bounded-rationality/
1Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-bounded-rationality -a codex2Manually: put the files in place
.agents/skills/thinking-bounded-rationality/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-bounded-rationality -a cursor2Manually: put the files in place
.cursor/skills/thinking-bounded-rationality/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install tjboudreaux/cc-thinking-skills thinking-bounded-rationality2Manually: put the files in place
.github/skills/thinking-bounded-rationality/SKILL.md1Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-bounded-rationality -a gemini-cli2Platform CLI
gemini skills install https://github.com/tjboudreaux/cc-thinking-skills --path skills/thinking-bounded-rationalityManually: put the files in place
.devin/skills/thinking-bounded-rationality/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-bounded-rationality -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about thinking-bounded-rationality
How do I install thinking-bounded-rationality in Claude?
Run npx skills add tjboudreaux/cc-thinking-skills --skill thinking-bounded-rationality -a claude-code. The skill file lands at ~/.claude/skills/thinking-bounded-rationality/SKILL.md.
What does thinking-bounded-rationality do?
It sets an explicit good-enough threshold before the search starts and stops at the first option that clears it. Full comparison matrices are skipped.
When should I not use this skill?
On irreversible choices and anywhere a correct answer is required: tests, security checks, migrations. If one cheap lookup settles the fact, the skill tells you to do the lookup instead.
Source text
SKILL.md · MIT
--- name: thinking-bounded-rationality description: Use when search or investigation could run forever. Set an explicit good-enough threshold first, then stop at the first option that clears it. disable-model-invocation: true --- # Bounded Rationality Under finite tool, context, and time budgets, stop at the first option that meets a predeclared aspiration level. Optimize only when the good-to-best gap is worth the remaining budget. ## When to Use - Search or option comparison has no natural endpoint and could consume the turn budget. - Multiple options would clear the requirement and further comparison has diminishing returns. - The decision is reversible or low-stakes relative to more search. - You are gathering context beyond what the decision needs to ship. ## When NOT to Use - Irreversible or high-stakes choices (data loss, security, migrations, public commitments) where the good-to-best gap is material. - Correctness gates: tests, security checks, and "did the fix work?" need the right answer, not a sufficient-looking one. - One cheap lookup would settle the fact — do it; do not satisfice past it. - The aspiration level cannot be stated — clarify the requirement first. ## Procedure 1. **State decision and budget.** Name the choice, residual tool/context/time budget, and reversibility. 2. **Set aspiration before searching.** Write concrete pass/fail criteria for "good enough." Do not evaluate until the threshold is explicit. 3. **Search sequentially.** Score options in encounter order against the threshold only. Skip full matrices unless step 1 marked high-stakes/irreversible. 4. **Stop at first adequate.** When an option clears every criterion, select it immediately. 5. **Handle search failure without moving the goalposts.** If nothing clears after the pre-set cap, preserve the threshold and report no adequate option. Relax only a criterion predeclared as non-load-bearing, record the relaxation, and resume within a new cap; never raise the bar after failure. 6. **Commit.** Record choice and residual uncertainty; spend remaining budget on execution, not re-ranking. **Stop condition:** First option meets the predeclared aspiration level, or the search cap is exhausted with none adequate. ## Output ```text Decision: <choice> Aspiration: <pass/fail criteria> Search: evaluated N; stopped at first adequate | cap exhausted Selected: <option or none> Residual risk: <what further search might change> Next spend: <execution step> ``` ## Verification - Falsify if you kept comparing after an option cleared the threshold, or invented the threshold after seeing winners. - Falsify if a correctness gate or irreversible decision was treated as satisficeable. - Over-application guard: if one cheap check settles a fact, look it up — do not invoke this skill.
© tjboudreaux · MIT · tjboudreaux/cc-thinking-skills