agent-tooling
Choosing among agent tooling surfaces — when to add an MCP server vs use a CLI/WebFetch, when to render a diagram with Mermaid vs another approach, and when a piece of behavior belongs in a skill vs a
SKILL.mdskills/agent-tooling/SKILL.md
GitHubAgent Tooling
Dispatcher skill for three recurring "which surface" decisions when building out an
agent-driven workflow. Each heading below is a short teaser — read the linked
references/*.md file for the full criteria, tables, and gotchas.
MCP Server Selection
Whether a new capability belongs behind an MCP server versus a CLI call, a WebFetch, or no
new tooling at all — plus the concrete anti-patterns (duplicating a CLI already in reach,
unauthenticated public APIs, always-on connections, unmaintained servers) that should stop you
before you wire one up.
Read references/mcp-selection.md.
Mermaid Diagram Rendering
mmdc (mermaid-cli) as the sanctioned local renderer, the syntax gotchas that silently break a
diagram (<br/> vs \n, comments inside subgraphs, special characters in edge labels), and why
generating a Mermaid Live URL as a shortcut is a trap, not a convenience.
Read references/mermaid-diagrams.md.
Skill vs Agent Mapping
How to decide whether a piece of reusable behavior should ship as a skill (on-demand knowledge
loaded into an existing agent's context) or a dedicated agent (a separately-dispatched actor
with its own tool scope and context window), plus the discovery patterns an agent uses to find
skills at all.
Read references/skill-vs-agent-mapping.md.
Thinking Patterns (frame before acting)
- Config presence != runtime liveness. An MCP server listed as "connected," or a skill cited in a routing table, both describe intent to run — not confirmation it ran. Before trusting a mechanism, verify it actually fired (a log line, a matcher test, a liveness check) rather than trusting that it's configured.
- A benchmark number is a claim about a specific comparison, not a universal ranking. A token-cost or latency benchmark for tool A vs tool B is only valid while that comparison holds — if the compared-against tool changes or disappears, the number needs re-measuring, not re-quoting.
- An interactive CLI's silence about non-interactive flags is not permission to loop.
Piping confirmation answers into a prompt that reads from the terminal directly (not stdin)
doesn't fail loudly — it hangs or silently no-ops. Run
--helponce and look for--yes/--no-interactive/--forcebefore piping anything at an unfamiliar CLI.