oaustegard/claude-tiling-tree
Exhaustive problem space exploration using the MIT Synthetic Neurobiology "tiling tree" method. Partitions a problem into MECE (Mutually Exclusive, Collectively Exhaustive) subsets recursively via parallel subagents, then evaluates leaf ideas against specified criteria. Use when users say "tiling tree", "tile the solution space", "exhaustively explore approaches to", "what are all the ways to", or request a MECE breakdown of a problem. Requires orchestrating-agents skill.
This is a copy. The original lives at oaustegard/tiling-tree.
npx skills add https://github.com/oaustegard/claude-skills --skill tiling-tree
Implements the MIT Synthetic Neurobiology tiling tree method: recursively partition a problem space into non-overlapping, collectively exhaustive subsets until reaching actionable leaf ideas, then evaluate those leaves.
The method's power comes from MECE splits forcing exploration of unfamiliar territory. A split is only valid when you can state precisely what each branch excludes — if you can't, the criterion is too vague and branches will overlap.
Key insight from the source method: always look for the "third option" that falls outside an obvious binary split. The bloodstream-secretion approach to neural recording only emerged because "wired vs. wireless" was defined precisely enough to reveal it covered neither case.
Requires orchestrating-agents skill to be installed. Load it first:
import sys
sys.path.insert(0, '/mnt/skills/user/orchestrating-agents/scripts')
from claude_client import invoke_claude, invoke_parallel, parse_json_response
# Basic usage
python3 /mnt/skills/user/tiling-tree/scripts/tiling_tree.py "Your problem here"
# With options
python3 /mnt/skills/user/tiling-tree/scripts/tiling_tree.py \
"How can we record neural activity?" \
--depth 3 \
--criteria "impact,novelty,feasibility" \
--output /mnt/user-data/outputs/neural_recording_tree.md
| Parameter | Default | Notes |
|-----------|---------|-------|
| problem | required | Natural language problem statement |
| --depth | 2 | Max recursion depth. Depth 2 ≈ 16 leaves, depth 3 ≈ 64 leaves |
| --criteria | impact,novelty,feasibility | Comma-separated evaluation dimensions |
| --output | tiling_tree.md | Output markdown path |
Depth guidance: Start with depth 2 to validate the problem framing. Increase to 3 only when the domain genuinely warrants it — depth 3 generates ~64 leaves and ~40 API calls.
invoke_parallel): each receives one node to split, returns MECE branches with explicit exclusion statementsinvoke_claude): single agent scores all leaves for cross-leaf consistencyParallel splitting happens level-by-level (not node-by-node), so a depth-2 tree makes only 2 API round-trips for the splitting phase regardless of branching factor.
A markdown file containing:
Good trees have:
If all leaves feel obvious, the split criteria were too coarse. Redo the tree with more precise definitions at the branch level where it went flat.
Take oaustegard/claude-tiling-tree from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.