{"kind":"Skill","metadata":{"namespace":"community","name":"thinking-ooda","version":"0.1.0"},"spec":{"description":"Rapid decision-making loop for dynamic situations. Use for incident response, competitive scenarios, time-sensitive decisions, and situations requiring quick adaptation.","files":{"SKILL.md":"---\nname: thinking-ooda\ndescription: Rapid decision-making loop for dynamic situations. Use for incident response, competitive scenarios, time-sensitive decisions, and situations requiring quick adaptation.\n---\n\n# OODA Loop\n\n## Overview\nThe OODA Loop (Observe, Orient, Decide, Act), developed by military strategist Colonel John Boyd, is a framework for rapid decision-making in dynamic, competitive, or time-sensitive situations. The key insight: speed through the loop creates advantage. In competitive scenarios, operating faster than your opponent disrupts their decision-making.\n\n**Core Principle:** Agility beats perfection. Cycle through OODA faster than the situation changes (or faster than your opponent).\n\n## When to Use\n- Incident response and outages\n- Competitive market situations\n- Time-sensitive decisions\n- Rapidly changing requirements\n- Crisis management\n- Debugging under pressure\n- Any situation requiring quick adaptation\n\nDecision flow:\n```\nSituation changing rapidly? → yes → Need quick decisions? → yes → APPLY OODA LOOP\n                                                         ↘ no → Standard analysis\n                          ↘ no → Deliberate analysis may be better\n```\n\n## The Four Phases\n\n### 1. OBSERVE\n**Gather information rapidly**\n\nWhat to observe:\n- Current state of the system/situation\n- Changes since last observation\n- External factors and environment\n- Feedback from previous actions\n- Competitor/opponent movements\n\n```\nIncident Example:\n- Error rates: Spiking 10x normal\n- Affected services: API gateway, user service\n- Timeline: Started 5 minutes ago\n- Recent changes: Deploy 15 min ago\n- User reports: \"Can't log in\"\n```\n\nObservation principles:\n- Cast wide net initially, narrow as pattern emerges\n- Don't filter prematurely—gather raw data\n- Include lagging AND leading indicators\n- Time-bound: Don't observe forever\n\n### 2. ORIENT\n**Make sense of observations**\n\nOrientation factors (Boyd's framework):\n- **Cultural traditions**: How does our org typically respond?\n- **Genetic heritage**: Our built-in biases and tendencies\n- **Previous experience**: What have we seen before?\n- **New information**: What's different this time?\n- **Analysis/Synthesis**: Combining all of the above\n\n```\nIncident Example:\n- Pattern matches: Similar to DB connection pool exhaustion last month\n- But different: No DB metrics anomaly this time\n- Recent deploy touched: Auth service rate limiting\n- Hypothesis: Rate limit config too aggressive\n```\n\nOrient is the CRITICAL phase:\n- This is where mental models apply\n- Misorientation leads to wrong decisions\n- Update orientation as new info arrives\n- Challenge your initial framing\n\n### 3. DECIDE\n**Select course of action**\n\nDecision characteristics:\n- Based on current orientation\n- Acknowledges uncertainty\n- Identifies what to observe next\n- Has implicit/explicit hypothesis\n\n```\nIncident Example:\nDecision: Roll back auth service deploy\nHypothesis: This will restore normal error rates\nObservation plan: Watch error rates for 2 minutes post-rollback\nFallback: If no improvement, investigate DB connections\n```\n\nDecision speed vs. quality tradeoff:\n- 70% confidence now beats 90% confidence too late\n- Reversible decisions: Bias toward action\n- Irreversible decisions: Gather more info first\n- \"Good enough\" decision executed fast \u003e perfect decision too slow\n\n### 4. ACT\n**Execute the decision**\n\nAction principles:\n- Execute decisively\n- Immediately return to OBSERVE\n- Don't wait for complete results\n- Create new observations through action\n\n```\nIncident Example:\nAction: kubectl rollback deployment/auth-service\nImmediate observe: Error rates, response times\nTime limit: 2 minutes to see effect\n```\n\nThe loop restarts:\n- Actions create new situation\n- New situation requires new observation\n- Cycle continues until stable state\n\n## OODA Loop Speed\n\n### Tempo Advantage\nOperating inside opponent's loop:\n```\nYou:     O → O → D → A → O → O → D → A → O ...\nOpponent:     O → O → O →  ...  → D → A (too late)\n```\n\nWhen you complete loops faster:\n- Your actions change situation before they decide\n- Their orientation becomes outdated\n- They react to old information\n- You maintain initiative\n\n### Speed Multipliers\n| Factor | Effect |\n|--------|--------|\n| Pre-planned responses | Skip D phase for known scenarios |\n| Distributed authority | Parallel loops at different levels |\n| Clear mental models | Faster O (orientation) |\n| Training/practice | Faster execution (A) |\n| Good observability | Faster O (observation) |\n\n### Speed Killers\n| Factor | Effect |\n|--------|--------|\n| Waiting for certainty | Loop stalls at O or D |\n| Hierarchical approval | Adds latency to D |\n| Information overload | O phase never completes |\n| Analysis paralysis | Loop stalls at Orient |\n| Perfect solution seeking | D phase never completes |\n\n## Application Patterns\n\n### Incident Response\n```\nOBSERVE: Metrics, logs, alerts, user reports\nORIENT:  Match pattern, form hypothesis, assess blast radius\nDECIDE:  Mitigation action (rollback, scale, disable)\nACT:     Execute mitigation, immediately observe results\nLOOP:    Continue until stable\n```\n\n### Competitive Response\n```\nOBSERVE: Competitor announcement, market reaction, customer feedback\nORIENT:  Assess threat level, identify our advantages, gaps\nDECIDE:  Response strategy (match, differentiate, ignore)\nACT:     Execute response, observe market reaction\nLOOP:    Adjust based on effectiveness\n```\n\n### Debugging Under Pressure\n```\nOBSERVE: Error messages, stack traces, recent changes\nORIENT:  Form hypothesis about cause\nDECIDE:  Test most likely hypothesis first\nACT:     Add logging, try fix, or eliminate possibility\nLOOP:    Update hypothesis based on results\n```\n\n## OODA for Teams\n\n### Parallel Loops\nDifferent team members can run loops simultaneously:\n```\nSRE:     Infrastructure OODA (scaling, failover)\nDev:     Code OODA (debugging, fixes)\nSupport: Communication OODA (users, stakeholders)\nLead:    Strategy OODA (coordination, escalation)\n```\n\n### Shared Orientation\nTeams need synchronized mental models:\n- Runbooks create shared orientation\n- Incident channels share observations\n- Clear roles enable parallel action\n- Post-incident updates orientation for next time\n\n## Verification Checklist\n- [ ] Observing actual current state, not assumptions\n- [ ] Orientation considers multiple hypotheses\n- [ ] Decision is actionable and time-bound\n- [ ] Action creates observable feedback\n- [ ] Loop is actually cycling (not stuck in one phase)\n- [ ] Speed is appropriate to situation urgency\n\n## Common Failure Modes\n\n| Failure | Symptom | Fix |\n|---------|---------|-----|\n| Observation overload | Can't process all data | Filter to key indicators |\n| Orientation lock | Stuck on one hypothesis | Force alternative framing |\n| Decision paralysis | Waiting for certainty | Set decision deadline |\n| Action without observation | Blind execution | Mandate observe after act |\n| Single loop | Not cycling | Time-box each phase |\n\n## Key Questions\n- \"What do I observe RIGHT NOW?\" (not 5 minutes ago)\n- \"What does this mean? What pattern does it match?\"\n- \"What's my best action given current understanding?\"\n- \"How will I know if my action worked?\"\n- \"Am I cycling fast enough?\"\n\n## Boyd's Insight\n\"He who can handle the quickest rate of change survives.\"\n\nThe goal isn't just making decisions—it's making decisions faster than the situation evolves, faster than competitors adapt, faster than problems compound. Speed creates options; delay eliminates them.\n"},"import":{"commit_sha":"a31e22d4445ad8fef7cd771d32af537aebb68c49","imported_at":"2026-05-22T21:14:39Z","license_text":"MIT License\n\nCopyright (c) 2025 TJ Boudreaux\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","owner":"tjboudreaux","repo":"tjboudreaux/cc-thinking-skills","source_url":"https://github.com/tjboudreaux/cc-thinking-skills/tree/a31e22d4445ad8fef7cd771d32af537aebb68c49/skills/thinking-ooda"}},"content_hash":[139,125,27,38,93,102,250,127,204,17,175,92,120,112,213,220,68,163,30,83,155,189,76,78,149,124,252,17,149,254,144,191],"trust_level":"unsigned","yanked":false}
