tool-selection-strategy
Tool Selection Strategy
Principles:
- Least tool principle: Use the most specific, lightweight tool that accomplishes the goal.
- Read before writing: Always read a file before editing it to understand current state.
- Avoid speculative calls: Don't call a tool "just to see what happens". Have a clear hypothesis.
- Parallelize independent calls: If two reads don't depend on each other, fire them simultaneously.
Decision heuristic:
- Can I answer this from memory/context? No tool call needed.
- Is this a file operation? Use Read/Write/Edit tools.
- Is this a code search? Use Grep/Glob tools.
- Is this a system operation? Use Bash (last resort).
Anti-pattern: Using a heavy tool (Agent, Bash) when a lightweight dedicated tool suffices.
More from aiming-lab/metaclaw
structured-step-by-step-reasoning
Use this skill for any problem that involves multiple steps, tradeoffs, or non-trivial logic. Think out loud before answering to improve accuracy and transparency. Apply whenever the answer is not immediately obvious.
13codebase-navigation
Use this skill when exploring an unfamiliar codebase, tracing code paths, or answering questions about how the system works. Read before writing, and build a mental model of the architecture before making changes.
12secure-code-review
Use this skill when reviewing or writing code that handles user input, authentication, file I/O, network requests, or database queries. Always check for common security vulnerabilities before considering the code complete.
10async-communication-etiquette
Use this skill when writing messages in async channels (Slack, GitHub issues, email threads) where the reader may not have context and cannot ask follow-up questions immediately.
9data-validation-first
Use this skill before any data analysis, transformation, or modeling. Always inspect and validate the data before drawing conclusions or writing transformations.
9structured-progress-update
Use this skill when summarizing progress on an ongoing project or multi-step task. Give a clear, scannable status report whenever asked for an update or at the end of a work session.
9