Skip to main content
skill CX Codex

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.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-bounded-rationality -a claude-code
Open on GitHub

What 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-code

2Manually: put the files in place

~/.claude/skills/thinking-bounded-rationality/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/thinking-bounded-rationality/

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

Similar skills

All skills for Agent setup: memory, context, orchestration →

From the same set27

thinking-ooda A skill for incidents and moving-target debugging: it runs the agent through Observe→Orient→Decide→Act at ~70% confidence, then re-observes. CX Codex +1 572installs thinking-via-negativa A skill that makes the agent look for what can be removed before it adds anything new. Useful when the reflex is to bolt on another layer or dependency. CX Codex +1 569installs thinking-jobs-to-be-done Works out the progress a user hires a product for, then ranks features by it. Useful when you cannot tell what to cut and what to grow. CX Codex +1 568installs thinking-cynefin Sorts a problem into a Cynefin domain by cause and effect, then names the response mode: runbook, analysis, probe or stabilize. Useful when a method keeps failing. CX Codex +1 567installs thinking-model-combination A skill that sequences 2–3 mental models with named roles when one model leaves a blind spot. Built for multi-domain decisions. CX Codex +1 563installs thinking-thought-experiment A skill for when a real test is too rare, large or irreversible: the agent runs one counterfactual with an isolated variable and bounds what the result implies. CX Codex +1 560installs thinking-map-territory The skill makes the agent check live code or data whenever a doc, test, metric or assumption disagrees with observed behavior. CX Codex +1 559installs thinking-effectuation A skill for decisions under genuine uncertainty: inventory your means, then take one step inside an affordable-loss cap. Useful when forecasts can't be trusted. CX Codex +1 556installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor