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