// guiding_principle
"Your agents are only as good as your tools."
Tools are how agents interact with the world. When tools are well-designed, orchestration stays simple and agents behave predictably. When tools are sloppy, the orchestration layer has to compensate - and it never does it well. These patterns capture what works, so you don't have to figure it out the hard way.
Where Tools Fit
Tools are the interface between agents and the external world. Click a
category to filter.
Agents
Systems APIs · Databases · Services · File Systems · Enterprise Apps
# Patterns for Agentic Tools
Design patterns for building quality tools for AI agents.
52 patterns across 10 categories.
## Guiding Principle
> "Your agents are only as good as your tools."
Tools are how agents interact with the world. When tools are well-designed, orchestration stays simple and agents behave predictably. When tools are sloppy, the orchestration layer has to compensate - and it never does it well. These patterns capture what works, so you don't have to figure it out the hard way.
---
## Tool
The atomic unit. What IS a tool? The fundamental building blocks of agent tooling.
### Tool
The atomic callable unit that an agent can invoke to perform work.
- Category: Tool
- Slug: tool
### Query Tool
A read-only tool that retrieves data without side effects.
- Category: Tool
- Slug: query-tool
### Command Tool
A tool that performs actions with side effects.
- Category: Tool
- Slug: command-tool
### Discovery Tool
A tool that reveals available operations, schema, or capabilities.
- Category: Tool
- Slug: discovery-tool
---
## Tool Interface
The contract between agent and tool. How agents see, understand, and call tools.
### Tool Description
Write descriptions optimized for LLM comprehension, not human reading.
- Category: Tool Interface
- Slug: tool-description
### Constrained Input
Use enums, ranges, and validation to limit inputs to valid values.
- Category: Tool Interface
- Slug: constrained-input
### Smart Defaults
Reduce required parameters by providing sensible defaults.
- Category: Tool Interface
- Slug: smart-defaults
### Natural Identifier
Accept human-friendly identifiers and resolve them internally.
- Category: Tool Interface
- Slug: natural-identifier
### Mutual Exclusivity
Enforce 'exactly one of X or Y' parameter constraints.
- Category: Tool Interface
- Slug: mutual-exclusivity
### Performance Hint
Guide agents toward efficient usage patterns.
- Category: Tool Interface
- Slug: performance-hint
### Parameter Coercion
Accept flexible input formats and normalize internally.
- Category: Tool Interface
- Slug: parameter-coercion
---
## Tool Discovery
Navigation and selection in a tool ecosystem. How agents find the right tool.
### Tool Registry
Provide a catalog of available tools with their capabilities.
- Category: Tool Discovery
- Slug: tool-registry
### Schema Explorer
Progressively reveal structure through layered discovery.
- Category: Tool Discovery
- Slug: schema-explorer
### Dependency Hint
Embed 'call X before Y' guidance in tool descriptions.
- Category: Tool Discovery
- Slug: dependency-hint
### Capability Matching
Find tools by intent or capability, not just name.
- Category: Tool Discovery
- Slug: capability-matching
### Health Check
Verify tool availability before relying on it.
- Category: Tool Discovery
- Slug: health-check
---
## Tool Composition
Building complex operations from simple tools. How tools combine and chain.
### Abstraction Ladder
Provide tools at multiple levels of granularity for the same capability.
- Category: Tool Composition
- Slug: abstraction-ladder
### Task Bundle
Combine multiple operations into a single tool.
- Category: Tool Composition
- Slug: task-bundle
### Batch Operation
Process multiple items in a single tool call.
- Category: Tool Composition
- Slug: batch-operation
### Operation Mode
Provide different modes for different access patterns.
- Category: Tool Composition
- Slug: operation-mode
### Tool Chain
Explicitly define sequences of tool calls for complex workflows.
- Category: Tool Composition
- Slug: tool-chain
### Scatter-Gather Tool
Fan out to multiple sources, then combine results.
- Category: Tool Composition
- Slug: scatter-gather-tool
---
## Tool Execution
The internal processing patterns. How tools do their actual work.
### Synchronous Execution
Immediate request-response execution.
- Category: Tool Execution
- Slug: synchronous-execution
### Async Job
Handle long-running operations with job IDs and polling.
- Category: Tool Execution
- Slug: async-job
### Idempotent Operation
Make operations safe to retry with identical results.
- Category: Tool Execution
- Slug: idempotent-operation
### Transactional Boundary
Ensure all-or-nothing execution for multi-step operations.
- Category: Tool Execution
- Slug: transactional-boundary
### Compensation Handler
Undo completed steps when a multi-step operation fails.
- Category: Tool Execution
- Slug: compensation-handler
### Timeout Boundary
Define maximum execution time with graceful termination.
- Category: Tool Execution
- Slug: timeout-boundary
---
## Tool Output
Communicating results back to agents. How tools return useful information.
### Response Shaper
Transform raw API responses into agent-friendly formats.
- Category: Tool Output
- Slug: response-shaper
### Token-Efficient Response
Minimize response size while preserving essential information.
- Category: Tool Output
- Slug: token-efficient-response
### Paginated Result
Handle large result sets with cursor-based pagination.
- Category: Tool Output
- Slug: paginated-result
### Progressive Detail
Return summary by default, full detail on request.
- Category: Tool Output
- Slug: progressive-detail
### GUI URL
Include links to view or edit results in a web interface.
- Category: Tool Output
- Slug: gui-url
### Partial Success
Report mixed success/failure results for batch operations.
- Category: Tool Output
- Slug: partial-success
---
## Tool Context
The MCP-native category. Stateful connections and context management.
### Identity Anchor
Establish user identity and context at the start of a session.
- Category: Tool Context
- Slug: identity-anchor
### Resource Reference
Point to external data by URI instead of embedding it.
- Category: Tool Context
- Slug: resource-reference
### Context Injection
Automatically inject relevant context the agent didn't request.
- Category: Tool Context
- Slug: context-injection
### Context Boundary
Define the scope or boundaries of tool operations.
- Category: Tool Context
- Slug: context-boundary
---
## Tool Resilience
Recovery, retry, and degradation patterns. How tools handle failures gracefully.
### Recovery Guide
Provide actionable error messages that tell agents how to fix the problem.
- Category: Tool Resilience
- Slug: recovery-guide
### Error Classification
Distinguish between retryable and permanent failures.
- Category: Tool Resilience
- Slug: error-classification
### Confirmation Request
Request clarification when input is ambiguous.
- Category: Tool Resilience
- Slug: confirmation-request
### Fuzzy Match Threshold
Auto-accept high-confidence matches, confirm uncertain ones.
- Category: Tool Resilience
- Slug: fuzzy-match-threshold
### Graceful Degradation
Return partial results when full operation isn't possible.
- Category: Tool Resilience
- Slug: graceful-degradation
### Fallback Tool
Provide alternative tools when the primary is unavailable.
- Category: Tool Resilience
- Slug: fallback-tool
---
## Tool Security
Trust, authorization, and data protection. How access is controlled.
### Secret Injection
Inject credentials at runtime, never passing them through the LLM.
- Category: Tool Security
- Slug: secret-injection
### Permission Gate
Enforce access control in code, not prompts.
- Category: Tool Security
- Slug: permission-gate
### Scope Declaration
Declare required OAuth scopes per tool.
- Category: Tool Security
- Slug: scope-declaration
### Audit Trail
Log all tool invocations for security and debugging.
- Category: Tool Security
- Slug: audit-trail
---
## Compositional
Cross-cutting patterns that span multiple categories. System-wide concerns.
### Tool Gateway
Provide a unified interface to multiple tool backends.
- Category: Compositional
- Slug: tool-gateway
### Tool Adapter
Wrap legacy APIs as agent-friendly tools.
- Category: Compositional
- Slug: tool-adapter
### Canonical Tool Model
Use standard data models across the tool ecosystem.
- Category: Compositional
- Slug: canonical-tool-model
### Tool Versioning
Support multiple tool versions coexisting.
- Category: Compositional
- Slug: tool-versioning
---
Full documentation: https://arcade.dev/patterns
LLM-optimized text: https://arcade.dev/patterns/llm.txt