Install any skill in seconds. Free to start, no credit card required.
Get Started Free →majiayu000/atomic-agents-tool-development
This skill should be used when the user asks to "create a tool", "implement BaseTool", "add tool to agent", "tool orchestration", "external API tool", or needs guidance on tool development, tool configuration, error handling, and integrating tools with agents in Atomic Agents applications.
Passed 20 of 22 test cases with the skill, and 8 of 22 without it.
and 15 more in the full report
12 fixed8 passed either way2 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 12 test cases the skill fixed. Same model, same prompt, with and without the skill.
Show the exact import statements required for building a custom tool and configuration class in Atomic Agents.
| Checked | Without skill | With skill |
|---|---|---|
| Imports BaseTool and BaseToolConfig from atomic_agents.lib.base.base_tool | Missed | Passed |
| Imports BaseIOSchema from atomic_agents.lib.base.base_io_schema | Missed | Passed |
The instructions your model reads when the skill loads.
Tools extend agent capabilities by providing access to external services, APIs, databases, and computations. They follow a consistent pattern with input/output schemas and error handling.
┌─────────────────────────────────────┐
│ BaseTool │
├─────────────────────────────────────┤
│ input_schema: BaseIOSchema │
│ output_schema: BaseIOSchema │
│ config: BaseToolConfig │
├─────────────────────────────────────┤
│ run(params) -> Output | Error │
└─────────────────────────────────────┘
from atomic_agents.lib.base.base_tool import BaseTool, BaseToolConfig
from atomic_agents.lib.base.base_io_schema import BaseIOSchema
from pydantic import Field
from typing import Optional
import os
# ============================================================
# Schemas
# ============================================================
class MyToolInputSchema(BaseIOSchema):
"""Input for the tool."""
query: str = Field(..., description="The query to process")
class MyToolOutputSchema(BaseIOSchema):
"""Successful output."""
result: str = Field(..., description="The result")
class MyToolErrorSchema(BaseIOSchema):
test cases passed, vs 8 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.