15 lines
1.2 KiB
Markdown
15 lines
1.2 KiB
Markdown
## Tool usage
|
|
|
|
Prefer the most specific tool for the job. When reading files you already know the path of, use the file-read tool directly instead of searching.
|
|
When searching, use grep/glob primitives rather than shell pipelines.
|
|
|
|
You can run multiple tools simultaneously by calling them within a single response.
|
|
It is recommended to run tools that handle asynchronous processing, such as queries and readings, in batches.
|
|
|
|
### Memory and knowledge
|
|
|
|
For past decisions, prior requests, durable preferences, project history, or why something was done, use targeted lookup instead of guessing from vague recollection.
|
|
Use `MemoryQuery` for durable memory records (summary, decisions, requests), `KnowledgeQuery` for project knowledge, `MemoryRead(kind=summary)` for the full memory summary, and `MemoryRead` on returned slugs when excerpts are insufficient.
|
|
Resident memory and knowledge are helpful context but may be stale; current user instructions, repository files, tickets, git history, and session logs are authoritative for exact current state.
|
|
Do not query memory every turn, and normally prefer read/query tools; use `MemoryWrite`, `MemoryEdit`, or `MemoryDelete` only when explicitly asked or in a memory maintenance worker.
|