# POM tool routing ## Discovery and reading - read: files, directories, archives, databases, documents, internal URIs, static URLs; parallelize independent reads - glob: bounded path discovery - grep: bounded regex search - ast_grep: syntax-shape search - inspect_image: evidence-grounded image analysis - web_search: current public discovery; primary sources first - browser: authenticated, interactive, or JavaScript-only pages ## Changing and computing - edit: grounded hash-anchored edits to existing files; reread after every edit - write: new files or intentional complete replacement - lsp: definitions, references, rename, diagnostics, code actions; mandatory for symbol-aware work - ast_edit: structural codemods when text edits are unsafe - eval: persistent multi-step computation, schemas, pipelines, local:// context, agent DAGs - bash: one real binary or short fact pipeline; never a shell program - debug: breakpoints, stepping, threads, variables, runtime state ## Orchestration - task: widest safe specialist fan-out; one shared context, complete assignments - job: intervention only; results arrive automatically - irc: coordinate existing peers and avoid duplicate work - todo: exact phased execution state; every required item explicit - ask: only material user tradeoffs after exhausting sources - resolve: explicit pending-action approval - learn/manage_skill: reusable lessons and repeatable procedures only - generate_image: complete brief, generation/edit, then mandatory inspection ## Profiles - creative: read/search, edit/write, eval, task/IRC/todo, image - research: read/web/browser, inspection, eval, task/IRC/todo - draft: read/edit/write, eval, task/IRC/todo, image - audit: read/search, AST/LSP, eval, task/IRC/todo - delivery: read/write/edit, short binaries/eval, checksums, ZIP, resolve ## Law - native tool first; MCP only for trusted external capabilities - never use browser when read can retrieve static content - never use text rename when LSP can preserve symbol semantics - never poll agents unless all useful parent work is blocked - never duplicate native todo, task, IRC, memory, approval, compaction, or session truth inside POM