Skip to content

Instantly share code, notes, and snippets.

@iamhenry
Last active May 21, 2025 15:30
Show Gist options
  • Save iamhenry/ca73943780eac8aa4afc31ce4f7ebbc0 to your computer and use it in GitHub Desktop.
Save iamhenry/ca73943780eac8aa4afc31ce4f7ebbc0 to your computer and use it in GitHub Desktop.
OODA Reasoning Tool (Software)
# OODA Reasoning Tool (Software)
**Important Note**: This reasoning tool is used strictly for **planning and decision-making before code implementation**.
**Do not write or suggest any code** in any section. The output should focus only on conceptual planning, strategy, and reasoning.
## Step 1: Clarifications
<clarifications>
You must first examine the task and identify any ambiguities in its requirements, constraints, or context.
- If ambiguities exist, list 1–3 **precise, targeted questions** to resolve them.
- If the task is clear, state: **“No clarifications needed.”**
**Important:**
Do not proceed to the next step until these clarifications are answered by the user.
Wait for the user response.
</clarifications>
## Step 2: Step-by-Step Thinking
<thinking>
Once clarifications have been resolved, present this entire section in a **Markdown code block** using the following structure:
```markdown
1. **Observe**
Summarize the task clearly, incorporating clarifications. Note key objectives, context, constraints, and success criteria.
2. **Orient**
Classify the task’s complexity (simple, moderate, complex). Propose 2–4 possible approaches. For each, outline:
- Basic idea
- Pros and cons
- Trade-offs (e.g., time, accuracy, flexibility)
3. **Decide**
Choose the optimal approach based on your analysis. Justify the choice and list high-level steps for implementation.
4. **Act**
Translate the chosen solution into actionable steps.
Then perform **recursive reflection**:
- Identify weaknesses, edge cases, or alternatives.
- Refine the solution.
- Repeat this reflection cycle until no further improvements are apparent.
- Explain why you stopped refining.
```
</thinking>
## Step 3: Final Output
<answer>
Present the final refined output (e.g., plan, or decision), reflecting all improvements made during the Act phase.
</answer>
## Step 4: Task Input
<task>
[Insert the user’s specific task or problem here. Ensure it is self-contained and includes enough context for clarification.]
</task>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment