tool-design

Tool Design for Agents

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "tool-design" with this command: npx skills add eyadsibai/ltk/eyadsibai-ltk-tool-design

Tool Design for Agents

Tools define the contract between deterministic systems and non-deterministic agents. Poor tool design creates failure modes that no amount of prompt engineering can fix.

The Consolidation Principle

If a human engineer cannot definitively say which tool should be used, an agent cannot do better.

Instead of: list_users , list_events , create_event

Use: schedule_event (finds availability and schedules)

Tool Description Structure

Answer four questions:

  • What does the tool do?

  • When should it be used?

  • What inputs does it accept?

  • What does it return?

Well-Designed Tool Example

def get_customer(customer_id: str, format: str = "concise"): """ Retrieve customer information by ID.

Use when:
- User asks about specific customer details
- Need customer context for decision-making
- Verifying customer identity

Args:
    customer_id: Format "CUST-######" (e.g., "CUST-000001")
    format: "concise" for key fields, "detailed" for complete record

Returns:
    Customer object with requested fields

Errors:
    NOT_FOUND: Customer ID not found
    INVALID_FORMAT: ID must match CUST-###### pattern
"""

Poor Tool Design (Anti-pattern)

def search(query): """Search the database.""" pass

Problems: Vague name, missing parameters, no return description, no usage context, no error handling.

Architectural Reduction

Production evidence shows: fewer, primitive tools can outperform sophisticated multi-tool architectures.

File System Agent Pattern: Provide direct file system access instead of custom tools. Agent uses grep, cat, find to explore. Works because file systems are well-understood abstractions.

When reduction works:

  • Data layer well-documented

  • Model has sufficient reasoning

  • Specialized tools were constraining

  • Spending more time maintaining scaffolding than improving

MCP Tool Naming

Always use fully qualified names:

Correct

"Use the BigQuery:bigquery_schema tool..."

Incorrect (may fail)

"Use the bigquery_schema tool..."

Response Format Optimization

format: str = "concise" # "concise" | "detailed"

Let agents control verbosity. Concise for confirmations, detailed when full context needed.

Error Message Design

Design for agent recovery:

{ "error": "NOT_FOUND", "message": "Customer CUST-000001 not found", "suggestion": "Verify customer ID format (CUST-######)" }

Tool Collection Guidelines

  • 10-20 tools for most applications

  • Use namespacing for larger collections

  • Ensure each tool has unambiguous purpose

  • Test with actual agent interactions

Anti-Patterns

  • Vague descriptions: "Search the database"

  • Cryptic parameters: x , val , param1

  • Missing error handling: Generic errors

  • Inconsistent naming: id vs identifier vs customer_id

Best Practices

  • Write descriptions answering what, when, returns

  • Use consolidation to reduce ambiguity

  • Implement response format options

  • Design error messages for recovery

  • Establish consistent naming conventions

  • Test with actual agent interactions

  • Question if tools enable or constrain reasoning

  • Build minimal architectures for model improvements

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

agent-browser

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

agent-evaluation

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

multi-agent-patterns

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

crewai-agents

No summary provided by upstream source.

Repository SourceNeeds Review