27 lines
2.6 KiB
Markdown
27 lines
2.6 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.
|
|
|
|
### Agent Skills
|
|
|
|
When an Agent Skill is explicitly activated, follow its committed `SKILL.md` body as LLM-facing procedural guidance only. A Skill does not grant authority to mutate Tickets, repositories, networks, worktrees, queues, schedules, scripts, or other external state; use the normal typed tools, features, and permissions for those actions. Skill catalog metadata is lightweight, and full Skill bodies should enter context only through explicit activation/read.
|
|
{% if tool_capabilities.memory_any %}
|
|
|
|
### Memory
|
|
|
|
Use memory proactively when the request may depend on prior project decisions, historical rationale, durable user preferences, recently completed tickets, or established workflow/policy conventions.
|
|
{% if tool_capabilities.memory_query %}Prefer a small targeted `MemoryQuery` before relying on vague recollection.
|
|
{% endif %}
|
|
Strong lookup triggers include: the user says "recently", "previously", "that decision", "the ticket", "why", "policy", or "workflow"; you are about to make a design recommendation; you are reviewing, merging, closing, or rescoping a work item; or you are about to assert project history from memory.
|
|
{% if tool_capabilities.memory_read %}
|
|
Use `MemoryRead(kind=summary)` for the full memory summary, and `MemoryRead` on returned slugs when excerpts are insufficient.
|
|
{% endif %}
|
|
Resident memory is 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 or mechanically. Skip memory lookup for purely local facts answered by current repository files, command output, or current user instructions.
|
|
{% if tool_capabilities.memory_mutation %}Normally prefer read/query tools; use available mutation tools ({% if tool_capabilities.memory_write %}`MemoryWrite`{% endif %}{% if tool_capabilities.memory_edit %}{% if tool_capabilities.memory_write %}, {% endif %}`MemoryEdit`{% endif %}{% if tool_capabilities.memory_delete %}{% if tool_capabilities.memory_write or tool_capabilities.memory_edit %}, {% endif %}`MemoryDelete`{% endif %}) only when explicitly asked or in a memory maintenance worker.
|
|
{% endif %}{% endif %}
|