design-agent-tools-and-contextlisted
Install: claude install-skill mcorbett51090/RavenClaude
# Skill: design-agent-tools-and-context
> **Invoked by:** `agent-implementation-engineer` (primary). Also consulted by `agentic-systems-architect` when a design needs the tool surface and memory model sketched before the topology is finalized.
>
> **When to invoke:** "the agent calls the wrong tool / passes bad arguments"; "the context window overflows on long runs"; "the agent drifts / loses the thread"; "what should the agent remember between turns / between runs?"; "how many tools is too many?".
>
> **Output:** tool/function schemas (names, typed params, descriptions with examples, recovery-teaching errors), a context strategy (in-window vs summarized vs external), and a memory design (short-term vs long-term) under a stated per-turn token budget.
## Procedure
1. **Inventory the tools the agent actually needs.** List every action the agent must take on the world. Collapse near-duplicates. **Fewer tools is better** — a large tool set is the most common cause of wrong tool selection. If two tools are chosen wrongly for each other, merge or disambiguate them.
2. **Design each tool like an API for a capable-but-literal caller.**
- **Name:** unambiguous and action-shaped (`get_order_by_id`, not `order`).
- **Parameters:** typed, with required-vs-optional explicit; prefer enums over free text where the domain is closed.
- **Description:** say what it does, when to use it (and when NOT to), and include **one concrete example call**.
- **Errors teach recovery:** ret