sadd:tree-of-thoughts▌
neolabhq/context-engineering-kit · updated Apr 8, 2026
Key benefits:
tree-of-thoughts
Key benefits:
- Systematic exploration - Multiple agents explore different regions of the solution space
- Structured evaluation - Meta-judges produce tailored rubrics and criteria before judging
- Independent verification - Judges apply meta-judge specifications mechanically, reducing bias
- Adaptive strategy - Clear winners get polished, split decisions get synthesized, failures get redesigned
Pattern: Tree of Thoughts (ToT)
This command implements an eight-phase systematic reasoning pattern with meta-judge evaluation and adaptive strategy selection:
Phase 1: Exploration (Propose Approaches)
┌─ Agent A → Proposals A1, A2 (with probabilities) ─┐
Task ───┼─ Agent B → Proposals B1, B2 (with probabilities) ─┼─┐
└─ Agent C → Proposals C1, C2 (with probabilities) ─┘ │
│
Phase 1.5: Pruning Meta-Judge (runs in parallel with Phase 1) │
Meta-Judge → Pruning Evaluation Specification YAML ───┤
│
Phase 2: Pruning (Vote for Best 3) │
┌─ Judge 1 → Votes + Rationale ─┐ │
├─ Judge 2 → Votes + Rationale ─┼─────────────────────┤
└─ Judge 3 → Votes + Rationale ─┘ │
│ │
├─→ Select Top 3 Proposals │
│ │
Phase 3: Expansion (Develop Full Solutions) │
┌─ Agent A → Solution A (from proposal X) ─┐ │
├─ Agent B → Solution B (from proposal Y) ─┼──────────┤
└─ Agent C → Solution C (from proposal Z) ─┘ │
│
Phase 3.5: Evaluation Meta-Judge (runs in parallel w/ Phase 3)│
Meta-Judge → Evaluation Specification YAML ───────────┤
│
Phase 4: Evaluation (Judge Full Solutions) │
┌─ Judge 1 → Report 1 ─┐ │
├─ Judge 2 → Report 2 ─┼──────────────────────────────┤
└─ Judge 3 → Report 3 ─┘ │
│
Phase 4.5: Adaptive Strategy Selection │
Analyze Consensus ────────────────────────────────────┤
├─ Clear Winner? → SELECT_AND_POLISH │
├─ All Flawed (<3.0)? → REDESIGN (Phase 3) │
└─ Split Decision? → FULL_SYNTHESIS │
│ │
Phase 5: Synthesis (Only if FULL_SYNTHESIS) │
Synthesizer ────────────────────┴──────────────────────┴─→ Final Solution
Process
Setup: Create Directory Structure
Before starting, ensure the directory structure exists:
mkdir -p .specs/research .specs/reports
Naming conventions:
- Proposals:
.specs/research/{solution-name}-{YYYY-MM-DD}.proposals.[a|b|c].md - Pruning:
.specs/research/{solution-name}-{YYYY-MM-DD}.pruning.[1|2|3].md - Selection:
.specs/research/{solution-name}-{YYYY-MM-DD}.selection.md - Evaluation:
.specs/reports/{solution-name}-{YYYY-MM-DD}.[1|2|3].md
Where:
{solution-name}- Derived from output path (e.g.,users-apifrom outputspecs/api/users.md){YYYY-MM-DD}- Current date
Note: Solutions remain in their specified output locations; only research and evaluation files go to .specs/
Phase 1: Exploration (Propose Approaches)
Launch 3 independent agents in parallel (recommended: Sonnet for speed):
- Each agent receives identical task description and context
- Each agent generates 6 high-level approaches (not full implementations)
- For each approach, agent provides:
- Approach description (2-3 paragraphs)
- Key design decisions and trade-offs
- Probability estimate (0.0-1.0)
- Estimated complexity (low/medium/high)
- Potential risks and failure modes
- Proposals saved to
.specs/research/{solution-name}-{date}.proposals.[a|b|c].md
Key principle: Systematic exploration through probabilistic sampling from the full distribution of possible approaches.
Prompt template for explorers:
<task>
{task_description}
</task>
<constraints>
{constraints_if_any}
</constraints>
<context>
{relevant_context}
</context>
<output>
{.specs/research/{solution-name}-{date}.proposals.[a|b|c].md - each agent gets unique letter identifier}
</output>
Instructions:
Let's approach this systematically by first understanding what we're solving, then exploring the solution space.
**Step 1: Decompose the problem**
Before generating approaches, break down the task:
- What is the core problem being solved?
- What are the key constraints and requirements?
- What subproblems must any solution address?
- What are the evaluation criteria for success?
**Step 2: Map the solution space**
Identify the major dimensions along which solutions can vary:
- Architecture patterns (e.g., monolithic vs distributed)
- Implementation strategies (e.g., eager vs lazy)
- Trade-off axes (e.g., performance vs simplicity)
**Step 3: Generate 6 distinct high-level approaches**
**Sampling guidance:**
Please sample approaches at random from the [full distribution / tails of the distribution]
- For first 3 approaches aim for high probability, over 0.80
- For last 3 approaches aim for diversity - explore different regions of the solution space, such that the probability of each response is less than 0.10
For each approach, provide:
- Name and one-sentence summary
- Detailed description (2-3 paragraphs)
- Key design decisions and rationale
- Trade-offs (what you gain vs what you sacrifice)
- Probability (0.0-1.0)
- Complexity estimate (low/medium/high)
- Potential risks and failure modes
**Step 4: Verify diversity**
Before finalizing, check:
- Are approaches genuinely different, not minor variations?
- Do they span different regions of the solution space?
- Have you covered both conventional and unconventional options?
CRITICAL:
- Do NOT implement full solutions yet - only high-level approaches
- Ensure approaches are genuinely different, not minor variations
Phase 1.5: Dispatch Pruning Meta-Judge
CRITICAL: Launch the pruning meta-judge in parallel with Phase 1 exploration agents. The meta-judge does not need exploration output to generate pruning criteria — it only needs the original task description.
The pruning meta-judge generates an evaluation specification (rubrics, checklist, scoring criteria) tailored to evaluating high-level proposals for pruning.
Prompt template for pruning meta-judge:
## Task
Generate an evaluation specification yaml for pruning high-level solution proposals. You will produce rubrics, checklists, and scoring criteria that judge agents will use to select the top 3 proposals for full development.
CLAUDE_PLUGIN_ROOT=`${CLAUDE_PLUGIN_ROOT}`
## User Prompt
{Original task description from user}
## Context
{Any relevant codebase context, file paths, constraints}
## Artifact Type
proposals (high-level approaches with probability estimates, not full implementations)
## Evaluation Focus
Feasibility, alignment with requirements, potential for high-quality result, risk manageability
## Instructions
Return only the final evaluation specification YAML in your response.
The specification should support comparative evaluation and ranking of proposals.
Dispatch:
Use Task tool:
- description: "Pruning Meta-judge: {brief task summary}"
- prompt: {pruning meta-judge prompt}
- model: opus
- subagent_type: "sadd:meta-judge"
Phase 2: Pruning (Vote for Top 3 Candidates)
Wait for BOTH Phase 1 exploration agents AND Phase 1.5 pruning meta-judge to complete before proceeding.
Launch 3 independent judges in parallel (recommended: Opus for rigor):
- Each judge receives ALL proposal files (from
.specs/research/) and the pruning meta-judge evaluation specification YAML - Judges evaluate each proposal against the meta-judge-generated pruning criteria
- Each judge produces:
- Scores for each proposal (with evidence)
- Vote for top 3 proposals to expand
- Rationale for selections
- Votes saved to
.specs/research/{solution-name}-{date}.pruning.[1|2|3].md
Key principle: Independent evaluation with meta-judge-generated criteria ensures consistent, tailored assessment without hardcoded weights.
CRITICAL: Provide to each judge the EXACT pruning meta-judge's evaluation specification YAML. Do not skip, add, modify, shorten, or summarize any text in it!
Prompt template for pruning judges:
You are evaluating {N} proposed approaches against an evaluation specification produced by the meta judge, to select the top 3 for full development.
CLAUDE_PLUGIN_ROOT=`${CLAUDE_PLUGIN_ROOT}`
## Task
{task_description}
## Proposals
{list of paths to all proposal files}
Read all proposals carefully before evaluating.
## Evaluation Specification
```yaml
{pruning meta-judge's evaluation specification YAML}
Output
{.specs/research/{solution-name}-{date}.pruning.[1|2|3].md}
Instructions
Follow your full judge process as defined in your agent instructions!
CRITICAL: You must reply with this exact structured evaluation report format in YAML at the START of your response!
**Dispatch:**
Use Task tool:
- description: "Pruning Judge {1|2|3}: {brief task summary}"
- prompt: {pruning judge prompt with exact meta-judge specification YAML}
- model: opus
- subagent_type: "sadd:judge"
### Phase 2b: Select Top 3 Proposals
After judges complete voting:
1. **Aggregate votes** using ranked choice:
- 1st choice = 3 points
- 2nd choice = 2 points
- 3rd choice = 1 point
2. **Select top 3** proposals by total points
3. **Handle ties** by comparing average scores across criteria
4. **Document selection** in `.specs/research/{solution-name}-{date}.selection.md`:
- Vote tallies
- Selected proposals
- Consensus rationale
### Phase 3: Expansion (Develop Full Solutions)
Launch **3 independent agents in parallel** (recommended: Opus for quality):
1. Each agent receives:
- **One selected proposal** to expand
- **Original task description** and context
- **Judge feedback** from pruning phase (concerns, questions)
2. Agent produces **complete solution** implementing the proposal:
- Full implementation details
- Addresses concerns raised by judges
- Documents key decisions made during expansion
3. Solutions saved to `solution.a.md`, `solution.b.md`, `solution.c.md`
**Key principle:** Focused development of validated approaches with awareness of evaluation feedback.
**Prompt template for expansion agents:**
```markdown
You are developing a full solution based on a selected proposal.
<task>
{task_description}
</task>
<selected_proposal>
{write selected proposal EXACTLY as it is. Including all details provided by the agent}
Read this carefully - it is your starting point.
</selected_proposal>
<judge_feedback>
{concerns and questions from judges about this proposal}
Address these in your implementation.
</judge_feedback>
<output>
solution.[*].md where [*] is your unique identifier (a, b, or c)
</output>
Instructions:
Let's work through this systematically to ensure we build a complete, high-quality solution.
**Step 1: Understand the proposal deeply**
Before implementing, analyze:
- What is the core insight or approach of this proposal?
- What are the key design decisions already made?
- What gaps need to be filled for a complete solution?
**Step 2: Address judge feedback**
For each concern raised by judges:
- What specific change or addition addresses this concern?
- How does this change integrate with the proposal's approach?
**Step 3: Decompose intDiscussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.6★★★★★31 reviews- ★★★★★Ren Verma· Dec 8, 2024
Solid pick for teams standardizing on skills: sadd:tree-of-thoughts is focused, and the summary matches what you get after install.
- ★★★★★Shikha Mishra· Dec 4, 2024
We added sadd:tree-of-thoughts from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Naina Liu· Nov 27, 2024
Registry listing for sadd:tree-of-thoughts matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Yash Thakker· Nov 23, 2024
sadd:tree-of-thoughts reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Sakshi Patil· Nov 3, 2024
sadd:tree-of-thoughts fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Chaitanya Patil· Oct 22, 2024
sadd:tree-of-thoughts has been reliable in day-to-day use. Documentation quality is above average for community skills.
- ★★★★★Ren Menon· Oct 18, 2024
Useful defaults in sadd:tree-of-thoughts — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Dhruvi Jain· Oct 14, 2024
sadd:tree-of-thoughts is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Ren Mensah· Sep 25, 2024
sadd:tree-of-thoughts is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Lucas Chawla· Sep 25, 2024
Solid pick for teams standardizing on skills: sadd:tree-of-thoughts is focused, and the summary matches what you get after install.
showing 1-10 of 31