agent-tool-builder — скилл для Claude Code: что делает
Учит описывать инструменты для ИИ-агента: JSON Schema, формулировки описаний, валидация аргументов. Пригодится, когда агент зовёт не ту функцию или жжёт токены.
npx skills add sickn33/agentic-awesome-skills --skill agent-tool-builder -a claude-codeЧто делает agent-tool-builder
Скилл про то, как оформлять инструменты агента: JSON Schema, описания, по которым модель выбирает функцию, проверка аргументов и сообщения об ошибках. Отдельная часть — стандарт MCP. Автор — sickn33, репозиторий sickn33/agentic-awesome-skills, лицензия MIT.
Внутри лежит SKILL.md и подробный гайд references/detailed-guide.md. Гайд просят открыть до работы: в нём полная процедура и требования к проверке. Ещё там набросок на Python SDK Anthropic с декоратором beta_tool и tool_runner, и автор прямо называет его моком: погода в примере синтетическая. Перед платным вызовом версию SDK и доступную аккаунту модель надо зафиксировать самому.
В шапке файла стоит метка риска critical. Это повод прочитать гайд целиком, а не листать нужные разделы. Скилл не даёт прав на внешние эффекты: разрешения и границы исполнения инструментов остаются за вашим раннером, это сказано прямым текстом.
Какие задачи решает
- Описать функцию так, чтобы модель выбирала её по делу
- Поймать неверный аргумент до вызова инструмента
- Свести падения инструмента к понятному сообщению для агента
- Разобраться, как оформить MCP-инструмент
- Сократить раздутые схемы, на которых уходят токены
Примеры запросов агенту
- Напиши tool schema для чтения логов и проверь аргументы на входе
- Агент зовёт не ту функцию — пересмотри описания в `tools.py`
- Собери MCP-инструмент для поиска по репозиторию
Как установить agent-tool-builder
1Через Skills CLI (Vercel)
npx skills add sickn33/agentic-awesome-skills --skill agent-tool-builder -a claude-code2Вручную: положить файлы
~/.claude/skills/agent-tool-builder/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/agent-tool-builder/
1Через Skills CLI (Vercel)
npx skills add sickn33/agentic-awesome-skills --skill agent-tool-builder -a codex2Вручную: положить файлы
.agents/skills/agent-tool-builder/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add sickn33/agentic-awesome-skills --skill agent-tool-builder -a cursor2Вручную: положить файлы
.cursor/skills/agent-tool-builder/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install sickn33/agentic-awesome-skills agent-tool-builder2Вручную: положить файлы
.github/skills/agent-tool-builder/SKILL.md1Через Skills CLI (Vercel)
npx skills add sickn33/agentic-awesome-skills --skill agent-tool-builder -a gemini-cli2Командой платформы
gemini skills install https://github.com/sickn33/agentic-awesome-skills --path skills/agent-tool-builderВручную: положить файлы
.devin/skills/agent-tool-builder/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add sickn33/agentic-awesome-skills --skill agent-tool-builder -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора80
Весь набор →Похожие
Вопросы о agent-tool-builder
Как установить agent-tool-builder в Claude Code?
Одной командой: npx skills add sickn33/agentic-awesome-skills --skill agent-tool-builder -a claude-code. Файл скилла окажется по пути ~/.claude/skills/agent-tool-builder/SKILL.md.
Что делает agent-tool-builder?
Разбирает проектирование инструментов агента: схему, описания для модели, валидацию и обработку ошибок. Отдельно объясняет, как это ложится на MCP.
Что нужно, чтобы пример на Python заработал?
Python SDK Anthropic с beta_tool и tool_runner. Автор называет сниппет моком, поэтому версию SDK и модель, доступную аккаунту, фиксируйте до платного вызова.
Исходный текст
SKILL.md · MIT
---
name: agent-tool-builder
description: Tools are how AI agents interact with the world. A well-designed
tool is the difference between an agent that works and one that hallucinates,
fails silently, or wastes tokens. This skill covers
tool design from schema to error handling.
risk: critical
source: vibeship-spawner-skills (Apache 2.0)
date_added: 2026-02-27
---
# Agent Tool Builder
Tools are how AI agents interact with the world. A well-designed tool is the
difference between an agent that works and one that hallucinates, fails
silently, or wastes tokens.
This skill covers tool design from schema to error handling. JSON Schema
best practices, description writing that actually helps the LLM, validation,
and the emerging MCP standard that's becoming the lingua franca for AI tools.
Descriptions guide selection, but implementations enforce correctness, authorization
and safety. Both require testing; the model may also inspect exposed code/results.
## Detailed Guide
Read [the detailed guide](references/detailed-guide.md) before executing this skill. It retains the complete procedure and reference material. Treat its safety, prerequisites, and validation requirements as mandatory. For focused work, load the relevant sections; for end-to-end work, read the guide completely.
## Historical Python SDK sketch
Mock only: fixed weather is synthetic, not a current forecast. Pin/verify SDK beta
API and an account-accessible model before any billed call. Tools need bounded
execution/approval policies; the runner does not authorize external effects.
```python
import json
import anthropic
from anthropic import beta_tool
client = anthropic.Anthropic()
@beta_tool
def get_weather(location: str, unit: str = "fahrenheit") -> str:
'''Get the current weather in a given location.
Args:
location: The city and state, e.g. San Francisco, CA
unit: Temperature unit, either 'celsius' or 'fahrenheit'
'''
# Implementation
return json.dumps({"temperature": "72°F", "conditions": "Sunny"})
@beta_tool
def search_web(query: str) -> str:
'''Search the web for information.
Args:
query: The search query
'''
# Implementation
return json.dumps({"results": [], "mock": True})
# Tool runner handles the loop
runner = client.beta.messages.tool_runner(
model="claude-sonnet-4-5",
max_tokens=1024,
tools=[get_weather, search_web],
messages=[
{"role": "user", "content": "What's the weather in Paris?"}
]
)
# Process each message
for message in runner:
for block in message.content:
if getattr(block, "type", None) == "text":
print(block.text)
# Or just get final result
final = runner.until_done()
```
## When to Use
- User mentions or implies: agent tool
- User mentions or implies: function calling
- User mentions or implies: tool schema
- User mentions or implies: tool design
- User mentions or implies: mcp server
- User mentions or implies: mcp tool
- User mentions or implies: tool use
- User mentions or implies: build tool for agent
- User mentions or implies: define function
- User mentions or implies: input_schema
- User mentions or implies: tool_use
- User mentions or implies: tool_result
## Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
© sickn33 · MIT · sickn33/agentic-awesome-skills