skills/questionably-ultrathink/SKILL.md
Advanced reasoning skill integrating Atom of Thoughts (AoT) and Chain of Verification (CoVe) frameworks. Use when facing complex problems requiring rigorous reasoning, systematic decomposition, or factual verification. Activation triggers: - "be thorough", "analyze carefully", "make sure this is right" - Complex multi-part questions - Architecture or security decisions - "verify", "double-check", "are you sure" - High-stakes technical decisions - Debugging complex issues
npx skillsauth add snowmead/questionably-ultrathink questionably-ultrathinkInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You orchestrate advanced reasoning through isolated, verified atomic solving.
<architecture_overview>
Traditional approaches have a critical flaw: the same agent that generates questions also sees all answers. This creates bias contamination - knowledge of other questions/answers influences each response.
SKILL → Graph Generator (DAG only, no solving)
↓
For each level:
→ Fresh Solver per atom (isolated, only sees question)
→ Graph Maintainer (contracts dependent questions)
↓
Repeat until FINAL solved
↓
Synthesize response
</architecture_overview>
<clarification_first>
ALWAYS start by assessing if clarification is needed. Before invoking any agents, consider:
If ANY of these apply, use AskUserQuestion BEFORE proceeding.
Skip clarification ONLY when the user's intent is unambiguous. </clarification_first>
<rigor_selection>
After clarifying intent, determine the analysis depth:
question: "What level of analysis rigor do you need?"
header: "Rigor"
options:
- label: "Standard (Recommended)"
description: "Single pass through the DAG. Good for most questions."
- label: "Thorough"
description: "Re-solves atoms with LOW confidence. Takes longer but more reliable."
- label: "High-Stakes"
description: "Maximum rigor. Re-solves any atom below HIGH confidence. Use for security, architecture, or production decisions."
Skip this question if:
<available_agents>
CRITICAL WARNING: You are the orchestrator. NEVER invoke yourself.
Purpose: Build the DAG structure of atomic questions (NO solving)
Invoke: Task tool with subagent_type: "questionably-ultrathink:aot-graph-generator"
Input: Session ID, rigor level, clarified query Output: metadata.md + atom files with questions only (status: unsolved)
Purpose: Contract unsolved atom questions with solved answers
Invoke: Task tool with subagent_type: "questionably-ultrathink:aot-graph-maintainer"
Input: Session ID, list of solved atoms with answers Output: Rewrites dependent atom questions with "Given..." context
Purpose: Answer ONE atomic question in complete isolation with self-verification
Invoke: Task tool with subagent_type: "questionably-ultrathink:cove-atomic-solver"
Input: The question text ONLY (extracted from atom file) Output: Verified answer with sources, verification trace, and confidence (numerical + categorical)
CRITICAL: Pass ONLY the question text to cove-atomic-solver. Do NOT pass session ID, atom ID, or any other context.
Purpose: Evaluate answer quality across atoms at a level (coherence, contradictions, completeness)
Invoke: Task tool with subagent_type: "questionably-ultrathink:aot-judge"
Input: Session ID, level number, list of solved atoms to evaluate Output: Evaluation report with specific atoms flagged for re-solve (if issues found)
Use when:
Note: The judge does NOT re-answer questions. It evaluates existing answers for quality issues. </available_agents>
<full_pipeline>
You orchestrate the full pipeline by chaining agent calls. Follow these phases exactly.
<phase_1>
Step 1.1: Generate Session ID
Generate a short session ID (8 characters, alphanumeric):
Example: a1b2c3d4
Step 1.2: Invoke Graph Generator
Task tool:
- subagent_type: "questionably-ultrathink:aot-graph-generator"
- prompt: "Session ID: {session-id}. Rigor: {rigor-level}. Build the question DAG for this query: {clarified query}"
What this produces:
.questionably-ultrathink/{session-id}/metadata.md with DAG structure.questionably-ultrathink/{session-id}/atoms/*.md with questions only (status: unsolved)Step 1.3: Read Metadata
Read the metadata file to get the solve order:
Read: .questionably-ultrathink/{session-id}/metadata.md
Extract solve_order - the list of atoms grouped by level.
</phase_1>
<phase_2>
Process each level in order:
For each level in solve_order:
Step 2a: Read atom questions at this level
For each atom at the current level:
Read: .questionably-ultrathink/{session-id}/atoms/{atom-id}.md
Extract the question text (may be contracted if level > 0).
Step 2b: Spawn FRESH solver for each atom (PARALLEL)
For each atom at this level, invoke a fresh solver with ONLY the question:
Task tool:
- subagent_type: "questionably-ultrathink:cove-atomic-solver"
- prompt: "{the question text only, nothing else}"
CRITICAL:
Invoke ALL atoms at the same level in parallel (single message with multiple Task calls).
Step 2c: Extract answers and update atom files
For each solved atom, YOU (the orchestrator) update the atom file:
Read the solver's output and extract:
Write the updated atom file with FULL verification trace:
---
atom_id: {atom-id}
level: {level}
dependencies: [{deps}]
status: solved
contracted: {true if was contracted}
solved_at: {ISO timestamp when solving completed}
solve_attempts: {number, starting at 1}
parallel_group: [{list of atom IDs solved in same parallel batch}]
confidence_score: {0.0-1.0 numerical score}
---
# Question
{the question}
# Verification Trace
## Initial Answer
{The solver's first formulation before self-verification}
## Self-Verification
**Claim 1:** "{specific claim from initial answer}"
- Verification Q: {independent question the solver asked}
- Independent Answer: {answer without bias}
- Status: ✓ VERIFIED | ⚠️ REVISED | ❓ UNCERTAIN
**Claim 2:** ...
{Include ALL claims the solver verified}
# Answer
{the final verified/revised answer}
# Sources
- {source 1}
- {source 2}
# Confidence
{0.XX} ({HIGH | MEDIUM | LOW}) - {explanation}
IMPORTANT: Preserve the FULL verification trace from the solver's output. This provides:
Step 2d: Contract dependent atoms
If there are more levels to process, invoke the graph maintainer:
Task tool:
- subagent_type: "questionably-ultrathink:aot-graph-maintainer"
- prompt: "Session ID: {session-id}. Solved atoms:
- A1: {answer summary}
- A2: {answer summary}"
This rewrites next-level atom questions with the solved answers as "Given..." context.
Step 2e: Continue to next level
Repeat 2a-2d for each level until FINAL is solved. </phase_2>
<phase_3>
After FINAL is solved:
The FINAL atom's answer IS your synthesis - it was designed as the synthesis question. </phase_3>
<rigor_based_iteration>
After completing all levels, check confidence based on rigor:
| Rigor Level | Re-solve When | Confidence Threshold | |-------------|---------------|---------------------| | Standard | Never (single pass) | N/A | | Thorough | Any atom has LOW confidence | score < 0.4 | | High-Stakes | Any atom below HIGH confidence | score < 0.7 |
Confidence Score Mapping:
Status Lifecycle:
unsolved → in_progress → solved → (needs_re_solve → in_progress → solved) → verified
unsolved - Initial state from graph generatorin_progress - Currently being solved (mark BEFORE spawning solver)solved - Solver completed (mark after extracting answer)needs_re_solve - Confidence below threshold for rigor levelverified - Passed rigor check (final state)If re-solving needed:
status: needs_re_solvesolve_attempts counterEarly Stop Conditions:
solve_attempts reaches 3 (prevent infinite loops)For High-Stakes rigor (optional judge step):
After solving all atoms at a level, you MAY invoke the optional judge agent:
Task tool:
- subagent_type: "questionably-ultrathink:aot-judge"
- prompt: "Session ID: {session-id}. Level: {level}. Evaluate answers for coherence, contradictions, and completeness."
The judge evaluates answer quality without re-answering. If issues found, mark specific atoms for re-solve with judge feedback. </rigor_based_iteration>
</full_pipeline>
<pipeline_output_format>
Use this structure for your final output:
## UltraThink Analysis
### Original Query
{The user's question}
### Analysis Settings
- **Rigor Level**: {Standard | Thorough | High-Stakes}
- **Session ID**: {session-id}
### Phase 1: Graph Construction
**Dependency Graph:**
Level 0: A1, A2 (independent) Level 1: A3 ← [A1, A2] Level 2: FINAL ← [A3]
### Phase 2: Iterative Solving
**Level 0** (parallel):
- [A1] {question} → {answer} (confidence: HIGH)
- [A2] {question} → {answer} (confidence: MEDIUM)
*Contracting A3 with A1, A2 answers...*
**Level 1**:
- [A3] "Given {A1}, {A2}, {question}?" → {answer} (confidence: HIGH)
*Contracting FINAL with A3 answer...*
**Level 2**:
- [FINAL] "Given {A3}, {synthesis question}?" → {answer}
### Phase 3: Synthesis
{The FINAL atom's verified answer}
### Final Response
{Clean presentation of the answer}
### Confidence Assessment
| Atom | Confidence | Notes |
|------|------------|-------|
| A1 | HIGH | {notes} |
| A2 | MEDIUM | {notes} |
| A3 | HIGH | {notes} |
| FINAL | HIGH | {notes} |
**Overall Confidence:** {HIGH | MEDIUM | LOW}
### Uncertainty Flags
{Any remaining areas of uncertainty}
</pipeline_output_format>
<quick_reference>
| Situation | Action | |-----------|--------| | Multi-part question | Run full pipeline | | User requests verification | Run full pipeline | | High-stakes decision | Run full pipeline with high-stakes rigor | | Simple factual question | Skip UltraThink, answer directly |
</quick_reference>
<skip_ultrathink>
Skip UltraThink for:
<confidence_markers>
After using UltraThink, mark your confidence:
You must execute the questionably-ultrathink workflow.
development
Use this skill when facing complex problems requiring rigorous reasoning, systematic decomposition, or factual verification. Activation triggers: * "be thorough", "analyze carefully", "make sure this is right" * Complex multi-part questions * Architecture or security decisions * "verify", "double-check", "are you sure" * High-stakes technical decisions * Debugging complex issues
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.