ultrathink
Scannednpx machina-cli add skill husniadil/ekstend/ultrathink --openclawUltraThink - Sequential Thinking CLI
A tool for dynamic and reflective problem-solving through structured, sequential thoughts.
When to Use
Use this skill for:
- Breaking down complex problems (>3 reasoning steps)
- Planning and design with room for revision
- Architecture decisions with multiple trade-offs
- Algorithm design and optimization
- Debugging multi-layered issues
- Analysis that might need course correction
Do NOT use for:
- Simple one-step answers
- Straightforward code edits
- Basic file operations
- Simple factual questions
Instructions
- Start a session with initial thought and estimated total
- Continue session using
session_idfrom response - Use
--confidenceto track uncertainty (0.0-1.0) - Revise thoughts with
--is-revision --revises <num> - Branch to explore alternatives with
--branch-from <num> --branch-id <name> - Track assumptions with
--assumptions,--depends-on,--invalidates - Monitor
risky_assumptionsin response - Continue until
next_thought_neededis false
Quick Start
# Start new session
uv run ${CLAUDE_PLUGIN_ROOT}/skills/ultrathink/scripts/ultrathink.py -t "Analyzing the problem..." -n 5
# Continue session
uv run ${CLAUDE_PLUGIN_ROOT}/skills/ultrathink/scripts/ultrathink.py -t "Next step..." -n 5 -s <session-id>
# With confidence
uv run ${CLAUDE_PLUGIN_ROOT}/skills/ultrathink/scripts/ultrathink.py -t "I believe X is correct" -n 3 -c 0.8
# With assumption
uv run ${CLAUDE_PLUGIN_ROOT}/skills/ultrathink/scripts/ultrathink.py -t "Assuming Redis available" -n 3 \
--assumptions '[{"id":"A1","text":"Redis is available"}]'
Example Session
Thought 1 (confidence: 0.6): "Analyzing access patterns for caching strategy..."
Thought 2 (confidence: 0.7): "Two approaches: LRU or LFU..."
Thought 3 (revision of 2): "Should also consider TTL-based expiration..."
Thought 4 (branch from 2): "Exploring hybrid LRU+TTL approach..."
Thought 5 (confidence: 0.95): "Hybrid approach recommended."
Reference
For complete documentation including all CLI options, response schema, and advanced examples, see references/REFERENCE.md.
Source
git clone https://github.com/husniadil/ekstend/blob/main/plugins/ultrathink/skills/ultrathink/SKILL.mdView on GitHub Overview
UltraThink is a tool for dynamic and reflective problem-solving through structured, sequential thoughts. It enables breaking down complex problems into steps, planning implementations, debugging multi-layered issues, and keeping explicit step-by-step reasoning with confidence tracking and assumption management.
How This Skill Works
Start a session with an initial thought and estimated total, then continue the session using the provided session_id from each response. You control reasoning with flags like --confidence (0.0-1.0), --assumptions, --depends-on, and --invalidates, and you can revise with --is-revision, or branch from a thought using --branch-from and --branch-id. The tool signals when more thoughts are needed via next_thought_needed, and you can monitor risky_assumptions in the response.
When to Use It
- Breaking down complex problems (>3 reasoning steps)
- Planning and design with room for revision
- Architecture decisions with multiple trade-offs
- Algorithm design and optimization
- Debugging multi-layered issues
Quick Start
- Step 1: Start new session
- uv run ${CLAUDE_PLUGIN_ROOT}/skills/ultrathink/scripts/ultrathink.py -t "Analyzing the problem..." -n 5
- Step 2: Continue session
- uv run ${CLAUDE_PLUGIN_ROOT}/skills/ultrathink/scripts/ultrathink.py -t "Next step..." -n 5 -s <session-id>
- Step 3: With confidence
- uv run ${CLAUDE_PLUGIN_ROOT}/skills/ultrathink/scripts/ultrathink.py -t "I believe X is correct" -n 3 -c 0.8
- Step 4: With assumption
- uv run ${CLAUDE_PLUGIN_ROOT}/skills/ultrathink/scripts/ultrathink.py -t "Assuming Redis available" -n 3 \ --assumptions '[{"id":"A1","text":"Redis is available"}]'
Best Practices
- Start with an explicit initial thought and total estimate.
- Use --confidence to track uncertainty (0.0-1.0).
- Branch and compare alternatives with --branch-from and --branch-id.
- Track assumptions with --assumptions, --depends-on, and --invalidates.
- Revise and re-evaluate steps using --is-revision and monitor risky_assumptions.
Example Use Cases
- Designing a multi-layer caching strategy: analyze LRU vs LFU with TTL expiration and compare outcomes.
- Architecting a microservices deployment: weigh trade-offs between consistency, latency, and reliability.
- Algorithm design optimization: evaluate few-path approaches for a shortest-path problem with proofs of correctness.
- Debugging a multi-service failure: trace dependencies, caches, and timeouts across components.
- Refactoring a legacy module: perform step-by-step reasoning with revisions and risk tracking.