Step 1 of 3
Collect misroutes and map overlaps
Fix the confusions you actually have, not hypothetical ones.
Gather the evidence. From recent transcripts, collect every tool misroute: cases where the model used tool A when tool B was correct (shell grep instead of the search tool, full-file write instead of targeted edit, web search for local questions). Then map the overlap structure of my toolset: which tools can plausibly handle the same request? For each overlapping pair, write the one-sentence boundary rule (e.g. 'edit for changes within a file; write only for new files or full regenerations'). Deliver the misroute list and the boundary rules - these drive every rewrite.
Expected after this step
A misroute inventory plus boundary rules for every overlapping pair.
Should not happen
- ✕Descriptions that restate the tool name ('search_files: searches files')
- ✕No negative guidance, so adjacent tools stay interchangeable in the model's eyes
- ✕Documentation-length descriptions that bloat every single context
- ✕Fixing misroutes with system-prompt patches instead of at the source
Verify before continuing
Do not move on until every check is true. The complete button stays locked until then.
Do not continue if…
- !Descriptions that restate the tool name ('search_files: searches files')
- !No negative guidance, so adjacent tools stay interchangeable in the model's eyes
- !Documentation-length descriptions that bloat every single context
- !Fixing misroutes with system-prompt patches instead of at the source
If the AI messes this up
Use this when the AI fakes progress or breaks the feature. It forces a real fix.
No transcripts available. Construct the routing scenarios first (next steps) and run the CURRENT descriptions against them - the failures become your misroute inventory.