Poor tool design — not model capability — is the root cause of most AI agent failures. This covers concrete patterns for building reliable agent tools: single-responsibility tools, tight schemas with enums and validators, descriptions that define both when to use and when not to use a tool, structured error returns with recoverable flags and suggested actions, and idempotency keys for write operations. It also identifies common failure modes: thin wrappers around unfiltered APIs, loading all tools into every context (which degrades accuracy as catalog size grows), silent partial success, overlapping tool names, and destructive actions without a two-step confirmation gate. A summary table maps each design area to what works versus what doesn't.