thinking-ooda — Claude Code skill: OODA loop under pressure
A skill for incidents and moving-target debugging: it runs the agent through Observe→Orient→Decide→Act at ~70% confidence, then re-observes.
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-ooda -a claude-codeWhat thinking-ooda does
The skill gives the agent a fixed order of moves when the situation is still changing and waiting for certainty costs more than a reversible step. Observe the cheapest high-signal state inside a capped window. Orient against a pattern and form at least two candidate explanations. Decide on one reversible action, act once, then re-observe right away.
Inside is a six-step procedure plus a cycle record format: signals seen, hypotheses, the decision with predicted effect and a time box, what the re-observe showed, and whether to continue or exit. There is also a falsify check — if you cannot name a reversible next action and a near-term observation that would refute it, stop looping and gather evidence instead.
The skill limits itself. For irreversible moves with high blast radius, 70% is not enough and the evidence bar goes up. When the cause can be localized cheaply — read the failing diff, log or metric — test that hypothesis directly rather than looping in the dark. Static work with no time pressure is also out of scope; OODA just adds churn there.
What it helps with
- work an incident while system state is still moving
- catch an intermittent failure that will not reproduce on demand
- decide inside a hard time box without full certainty
- pick a reversible action instead of a long analysis
- know when to exit the loop and switch methods
Example prompts for the agent
- Prod is degrading and state changes every minute. Run the OODA loop: gather signals, give me two hypotheses, pick one reversible action and re-observe within a time box.
- A test flaps in CI. Produce an OODA cycle record: what we observe, two candidate causes, which action tests the leading one.
- The deploy just went out and alerts are firing. Act on ~70% confidence per OODA, but name the rollback path first.
How to install thinking-ooda
1Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-ooda -a claude-code2Manually: put the files in place
~/.claude/skills/thinking-ooda/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/thinking-ooda/
1Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-ooda -a codex2Manually: put the files in place
.agents/skills/thinking-ooda/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-ooda -a cursor2Manually: put the files in place
.cursor/skills/thinking-ooda/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install tjboudreaux/cc-thinking-skills thinking-ooda2Manually: put the files in place
.github/skills/thinking-ooda/SKILL.md1Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-ooda -a gemini-cli2Platform CLI
gemini skills install https://github.com/tjboudreaux/cc-thinking-skills --path skills/thinking-oodaManually: put the files in place
.devin/skills/thinking-ooda/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-ooda -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-ooda
How do I install thinking-ooda in Claude?
Run npx skills add tjboudreaux/cc-thinking-skills --skill thinking-ooda -a claude-code. The skill lands at ~/.claude/skills/thinking-ooda/SKILL.md.
What does thinking-ooda do?
It walks the agent through Observe→Orient→Decide→Act and requires an immediate re-observe after acting. It is built for reversible moves under time pressure.
When should I not use this skill?
On static work where you have time for deliberate analysis, and on irreversible actions with high blast radius. If a log or metric can localize the cause cheaply, test that directly instead.
Source text
SKILL.md · MIT
--- name: thinking-ooda description: Use under time pressure when the situation is still changing and you must act before certainty — cycle Observe→Orient→Decide→Act on ~70% confidence, then re-observe. disable-model-invocation: true --- # OODA Loop **Core rule:** For reversible moves under time pressure, act on ~70% confidence, then immediately re-observe. Cycle faster than the situation compounds; a late perfect plan loses to a fast loop. ## When to Use - Incident response, outage, or ongoing degradation where state is still moving. - Debugging a moving target (intermittent failure, live traffic shift). - Any time-bounded decision where waiting for full certainty costs more than a reversible action. ## When NOT to Use - The situation is static and you have time — deliberate analysis or a hypothesis differential wins. - The next action is irreversible or high blast-radius — raise the evidence bar; 70% is not enough. - You can cheaply localize the cause (read the failing diff, log, or metric) — test that hypothesis directly instead of looping in the dark. - There is no time pressure and no changing environment — OODA adds churn without value. ## Procedure 1. **Observe (time-boxed):** gather the cheapest high-signal state now — metrics, logs, alerts, recent deploys/config, and feedback from the last action. Cap the window; do not collect forever. 2. **Orient:** match observations to a pattern and form **≥2** candidate explanations. Update or discard the mental model when data contradicts it; refuse single-hypothesis lock. 3. **Decide:** pick one reversible action that tests the leading hypothesis. State confidence (~70% threshold for reversible moves), the predicted effect, the observation you will check next, and a time box for that check. 4. **Act:** execute once, decisively, with a known rollback or degrade path. 5. **Re-observe immediately:** compare outcome to prediction within the time box; feed the result into the next Observe. Loop until stable or until the next move is no longer reversible enough for this skill. 6. **Stop condition:** exit the loop when the system is stable, the remaining work is static analysis, or the next step requires irreversible commitment — then switch method. ## Output A cycle record (repeat per loop): 1. **Observed** — current signals and what changed since last cycle. 2. **Orientation** — ≥2 hypotheses; which one leads and why. 3. **Decision** — action, confidence, predicted effect, next observation, time box. 4. **Act + result** — what ran and what the immediate re-observe showed. 5. **Loop status** — continue / stable / escalate out of OODA. ## Verification - **Falsify/stop:** if you cannot name a reversible next action and a near-term observation that would refute it, stop looping and gather more evidence or escalate. If re-observe never happens after act, the loop is broken — fix that before another action. - **Over-application guard:** do not OODA static design work, irreversible launches, or cases where a single cheap localization check ends the uncertainty. Do not wait for 100% confidence on reversible mitigations under active incident pressure.
© tjboudreaux · MIT · tjboudreaux/cc-thinking-skills