Skip to main content
skill CX Codex

thinking-probabilistic — Claude Code skill: forecasts as numbers

A skill that makes the agent name a base rate, give confidence intervals and update its estimate when new evidence lands, instead of stating one confident number.

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

What thinking-probabilistic does

The skill kicks in when the agent is about to forecast a timeline, size an effort or judge the risk of a deploy. It turns vague wording into a checkable claim with an outcome, a timeframe and a unit, then anchors the estimate on a base rate from a comparable reference class.

From there it works in ranges: at least one confidence interval, 50% and 80% preferred, widened on the assumption that the agent is overconfident. When evidence arrives, the skill computes a likelihood ratio and moves prior odds to posterior odds. Yesterday's posterior becomes today's prior. Quantities nobody can measure get decomposed into factors and reported as an order of magnitude, roughly X within 3–5×.

There is a guard against overuse. Measurable facts must not be dressed up as probabilities, reference classes must not be invented, and three significant figures on a product with 5× uncertainty is a signal to recompute. If the decision holds across the whole range, the skill tells the agent to stop estimating and act.

What it helps with

  • size a migration timeline when the real date is unknown
  • judge deploy risk before shipping to production
  • revise a forecast after new evidence arrives
  • bound an unmeasurable quantity to an order of magnitude
  • separate a real estimate from a confident guess

Example prompts for the agent

  • Estimate how long the auth module rewrite will take: give a base rate and 50% and 80% intervals
  • We just got load test results — update the posterior risk estimate for the deploy
  • Fermi-bound the traffic for the new endpoint by decomposing it into factors

How to install thinking-probabilistic

1Skills CLI (Vercel)

npx skills add tjboudreaux/cc-thinking-skills --skill thinking-probabilistic -a claude-code

2Manually: put the files in place

~/.claude/skills/thinking-probabilistic/SKILL.md

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

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about thinking-probabilistic

How do I install thinking-probabilistic in Claude?

Run npx skills add tjboudreaux/cc-thinking-skills --skill thinking-probabilistic -a claude-code. The skill lands at ~/.claude/skills/thinking-probabilistic/SKILL.md.

What does thinking-probabilistic do?

It pushes the agent to state beliefs as numbers and ranges: a base rate, an explicit likelihood, and a prior-to-posterior update. Unmeasured quantities get bounded by order of magnitude.

When should I skip this skill?

When the number can be measured or looked up, the skill says to do that instead. It also steps aside when the decision is the same across the whole plausible range.

Source text

SKILL.md · MIT
---
name: thinking-probabilistic
description: Use when forecasting, estimating, or sizing risk — anchor on base rates, give ranges, update prior→likelihood→posterior on evidence, and factor unmeasured quantities into order-of-magnitude bounds.
disable-model-invocation: true
---

# Probabilistic Thinking

**Core rule:** State beliefs as numbers and ranges, not vibes. Anchor on a base rate, update with an explicit likelihood, and bound unknowns by factoring them — never invent false precision.

## When to Use

- Timeline, effort, or outcome forecasts where the true value is uncertain.
- Risk sizing for a change, migration, deploy, or launch.
- Any moment you are about to state a confident single number you cannot actually know.
- New evidence arrives and a prior estimate should move.

## When NOT to Use

- The quantity is measurable or look-up-able — measure or look it up.
- The decision is invariant across the whole plausible range — skip the estimate and act.
- There is no real reference class and you would invent a base rate — label it a guess, not a calibrated forecast.
- You only need a binary gate and already have a decisive observation — do not pad with ceremony.

## Procedure

1. **Define a checkable claim:** outcome + timeframe + unit. Prefer a falsifiable statement over vague language ("likely").
2. **Lock a prior and challenge it:** name a reference-class base rate and at least one credible alternative path/hypothesis with its rate. Pull the prior toward the base rate unless you write a concrete reason for deviation. Then state the strongest evidence-based case that your chosen prior or range is wrong, what estimate it supports, and revise if that countercase survives. Convert vague words to numbers (e.g. "likely" ≈ 65–80%).
3. **Express a range, not a point:** give at least one confidence interval (50% and 80% preferred). Assume overconfidence; widen intervals when the outside view is thin.
4. **Update prior → likelihood → posterior when evidence arrives:**
   - Prior odds = p / (1 − p).
   - Likelihood ratio LR = P(E|H) / P(E|¬H). LR > 1 supports H; LR = 1 is noise; LR < 1 undermines H.
   - Posterior odds = prior odds × LR (multiply even when LR < 1); p = odds / (1 + odds).
   - Strength bands for distance from 1: weak ~1.5–3×, moderate 3–10×, strong 10–100×, definitive 100×+.
   - Yesterday's posterior is today's prior for the next evidence. For rare events, start from the base rate — vivid positives still leave most mass on false alarms.
5. **Fermi-bound unmeasured quantities** (only when you need a magnitude you cannot measure/look up):
   - Decompose: Quantity = Factor₁ × Factor₂ × … (or sum of components).
   - Bound each factor with a range; use one-significant-figure geometric means for order-of-magnitude.
   - Multiply; report "~X within 3–5×"; sanity-check whether a 10× error would change the decision; replace any factor that is actually lookup-able.
   - Skip Fermi when the number is cheaply measurable, when the decision needs tighter than ~3–5× precision, or when every factor is pure invention.
6. **State the final estimate for checking:** claim, range/CIs, key uncertainties, and the observation that would prove it wrong. Stop when the decision is stable across the remaining range or the next update needs new evidence you do not have.

## Output

1. **Claim** — falsifiable statement with timeframe.
2. **Prior** — base rate, alternative path, adjustment reason, strongest countercase, and resulting prior probability.
3. **Range** — confidence intervals (not a lone point).
4. **Updates** — each evidence row: prior, LR (or explicit heuristic Δ), posterior.
5. **Fermi bounds** (if used) — factor product and "~X within N×".
6. **Decision implication** — what changes if the true value is at the low vs high end of the range.

## Verification

- **Falsify/stop:** if you cannot name a base rate, alternative, or serious countercase, label the estimate as a guess rather than calibrated. If the decision is unchanged across the full range, stop estimating. If new evidence arrives and the number does not move (or moves without an LR/Δ), recompute.
- **Over-application guard:** do not dress checkable facts as probabilities, invent reference classes, or Fermi-decompose quantities you can measure. Do not report three significant figures on a 5×-uncertain product. For rare events, refuse jumps from one vivid hit to near-certainty without the base-rate prior.

© tjboudreaux · MIT · tjboudreaux/cc-thinking-skills

Similar skills

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

From the same set28

thinking-model-router A router skill that maps domain and problem type to one thinking skill, or returns NONE. Useful when you would otherwise guess or stack frameworks. CX Codex +1 605installs thinking-steel-manning Builds the strongest opposing argument before rejecting or adopting a technical plan. Useful for architecture reviews and preventing sycophantic AI agreement. CX Codex +1 600installs thinking-second-order Traces consequences beyond an immediate fix, including reactions, timing, probability and feedback. Use it for architecture or strategic decisions with lasting effects. CX Codex +1 601installs thinking-triz A skill for when two design requirements pull against each other. It names the conflict and looks for a resolution that keeps both benefits. CX Codex +1 593installs thinking-scientific-method Structured debugging skill that ranks falsifiable hypotheses and runs the cheapest discriminating check before changing code. CX Codex +1 587installs thinking-reversibility A skill that makes the agent check how expensive a decision is to undo before it decides how much analysis to spend. Useful when you can't tell whether deep thought is warranted. CX Codex +1 577installs thinking-circle-of-competence Makes the agent answer only from what it read or ran in this session. Useful when a confident wrong answer costs you. CX Codex +1 572installs thinking-five-whys-plus Builds an evidence-backed causal chain from a localized fault to its systemic root. It helps uncover why an issue happened when symptom-level hotfixes keep failing. CX Codex +1 571installs

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