← ClaudeAtlas

design-agent-tools-and-contextlisted

Design the tools/functions an agent calls and the context/memory strategy that keeps it coherent — unambiguous tool names, typed parameters, examples-in-description, errors that teach recovery, a small-enough tool count, plus a context plan (what stays in-window, what gets summarized, what moves to external memory) and short-term-vs-long-term memory design under a per-turn token budget. Reach for this when the user says 'the agent keeps calling tools wrong', 'the context overflows', or 'the agent loses track on long runs'. Used by `agent-implementation-engineer` (primary).
mcorbett51090/RavenClaude · ★ 7 · AI & Automation · score 65
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