thinking-bounded-ratio…
Use when search or investigation could run forever. Set an explicit good-enough threshold first, then stop at the first option that clears it.
When throughput or latency is pipeline-limited, identify the single binding constraint and exploit, subordinate, elevate, then recheck—ignore non-constraints.
$ npx -y skills add tjboudreaux/cc-thinking-skills --skill thinking-theory-of-constraints --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/thinking-theory-of-constraintsContext preview
The summary Claude sees to decide when to auto-load this skill.
When throughput or latency is pipeline-limited, identify the single binding constraint and exploit, subordinate, elevate, then recheck—ignore non-constraints.
name: thinking-theory-of-constraints description: When throughput or latency is pipeline-limited, identify the single binding constraint and exploit, subordinate, elevate, then recheck—ignore non-constraints. disable-model-invocation: true
A throughput-limited system has one binding constraint. Improve only that constraint; local optimization of non-constraints wastes effort and often grows WIP.
1. **Define the flow and goal.** Name the unit of work (request, job, PR, record) and the metric that matters (end-to-end rate or latency). 2. **Identify the constraint with evidence.** Compare stages on utilization, queue/wait, and throughput. Constraint signals: near-100% use, longest queue, lowest stage rate, work piles here, more input does not raise system output. Prefer measured rates over opinions. If two candidates tie, pick the one whose improvement would raise system throughput first. 3. **Exploit (no major spend).** Maximize constraint output: cut idle, drop nonessential work on the constraint, reduce rework/setup, protect its time, improve quality at the constraint so output is not wasted. Estimate gain before spending. 4. **Subordinate non-constraints.** Pace upstream to constraint rate; do not flood WIP. Make other stages serve the constraint (readiness, clarity, immediate pull). Reject local utilization targets that grow queues before the constraint. 5. **Elevate only if still short.** After exploit is maxed, invest to raise constraint capacity (people, tooling, sharding, parallel path). Choose cheapest adequate elevation. 6. **Recheck (prevent inertia).** After elevation or large exploit, remeasure all stages—the constraint often moves. Return to step 2. Do not keep optimizing the old constraint.
**Stop when** constraint, evidence, exploit plan, subordination rules, and elevate-or-not decision are explicit—or when no single stage binds (exit to systems).
system_goal: <throughput/latency objective>
flow: <stage sequence>
constraint: <stage or resource>
evidence: <utilization / queue / rate facts>
exploit: <actions, expected gain>
subordinate:
- stage: <name>
change: <how it serves the constraint>
elevate: <none | option + cost/gain>
next_constraint_watch: <what to remeasure after change>28 portable Agent Skills for structured reasoning in Claude Code, GitHub Copilot, Codex, Cursor, and other compatible tools Claude Code Thinking Skills is a public catalog of Agent Skills.
Repo: tjboudreaux/cc-thinking-skills
Use when search or investigation could run forever. Set an explicit good-enough threshold first, then stop at the first option that clears it.
Use when a specific claim may lack grounding. Check evidence boundary, size wrongness cost, then answer, fetch, or abstain — never confabulate.
When the right response mode is unclear, classify the cause-effect domain first; decompose disorder.
Under genuine uncertainty with no reliable forecast, inventory means, cap downside at affordable loss, act for commitments, and let goals emerge from…
When a constraint is treated as fixed, separate physics from convention, keep only independently supported primitives, and rebuild the simplest solution that…
When a fault is localized and the proximate cause is known but the systemic root is not, chain evidence-linked whys with a counterfactual stop and a…