Agent Skills: Tool Calling

Implement tool calling - function schemas, API integration, validation, and error handling

UncategorizedID: pluginagentmarketplace/custom-plugin-ai-agents/tool-calling

Skill Files

Browse the full folder contents for tool-calling.

Download Skill

Loading file tree…

skills/tool-calling/SKILL.md

Skill Metadata

Name
tool-calling
Description
Implement tool calling - function schemas, API integration, validation, and error handling

Tool Calling

Enable LLMs to call functions and interact with external systems.

When to Use This Skill

Invoke this skill when:

  • Adding function calling to agents
  • Designing tool schemas
  • Integrating external APIs
  • Implementing validation and error handling

Parameter Schema

| Parameter | Type | Required | Description | Default | |-----------|------|----------|-------------|---------| | task | string | Yes | Tool calling goal | - | | provider | enum | No | anthropic, openai, langchain | anthropic | | strict_mode | bool | No | Enable strict validation | true |

Quick Start

Claude Tool Use

from anthropic import Anthropic

tools = [{
    "name": "get_weather",
    "description": "Get weather for a location",
    "input_schema": {
        "type": "object",
        "properties": {
            "location": {"type": "string"}
        },
        "required": ["location"]
    }
}]

response = client.messages.create(
    model="claude-sonnet-4-20250514",
    tools=tools,
    messages=[{"role": "user", "content": "Weather in Tokyo?"}]
)

LangChain Tools

from langchain_core.tools import tool

@tool
def search(query: str) -> str:
    """Search the web for information."""
    return web_search(query)

Schema Best Practices

# Good: verb_noun, clear description
{
    "name": "search_products",
    "description": """Search product database.
    USE WHEN: User asks about products.
    DO NOT USE: For order status (use get_order instead)."""
}

# Bad: vague
{"name": "helper", "description": "Helps with stuff"}

Troubleshooting

| Issue | Solution | |-------|----------| | Tool not called | Improve description | | Wrong tool selected | Add "DO NOT USE" conditions | | Invalid arguments | Enable strict mode | | Execution timeout | Add timeout, retry logic |

Best Practices

  • Use verb_noun naming convention
  • Keep tool count under 20
  • Include usage examples in descriptions
  • Return errors as tool results

Related Skills

  • ai-agent-basics - Agent loops
  • llm-integration - API setup
  • agent-safety - Input validation

References