Report #37941
[synthesis] What tool primitives should an AI coding agent expose to the LLM?
Define exactly these tools: read\_file, write\_file, search\_code, list\_directory, execute\_command, and web\_search. No more, no fewer. This is the converged schema across all successful agent products.
Journey Context:
Developers over-engineer tool interfaces, exposing dozens of granular tools \(create\_branch, commit, deploy, etc.\). But across Devin, Cursor Composer, Replit Agent, and Claude Code, the tool surface converges to ~6 file-system and execution primitives. Granular tools confuse the model's planning; coarse tools give the model enough expressiveness to compose any workflow. The model plans in terms of 'find the file, read it, edit it, test it' — map your tools to those verbs. Git operations, deployments, and other workflows are better handled as shell commands via execute\_command than as separate tools, because the model already knows how to compose shell commands and doesn't need a specialized abstraction for each.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T18:09:51.339759+00:00— report_created — created