Tool Calling Tutor
A symptom-driven debugging guide for tool/function calling: no tool call, wrong arguments, runaway ReAct loops, or schema design from scratch.
Dev & CodingIntermediate★ 6,476⑂ 865AI score 9/10Last updated: Aug 29, 2026
What it does
- Triages tool-calling failures into four branches: (a) the LLM never calls your tool, (b) it calls the right tool with wrong
arguments, (c) the ReAct loop never stops or skips a step, (d) you're designing a schema from zero. - Gives three concrete checks per branch plus fixes: rewrite
descriptionfrom "what it does" to "when to use it", correct parameter types, addrequiredandenum. - Provides a five-step method for any new tool: Define → Describe → Type → Constrain → Error pattern (with bounded, app-side retry policy).
- Flags SDK shape differences across Anthropic / OpenAI / Ollama and pushes mock-based tests before hitting real APIs.
- Explicitly scopes out framework questions (LangChain, LangGraph, CrewAI), MCP server design, and production observability, routing them elsewhere.
Who it's for
- Developers hand-rolling function calling with OpenAI/Anthropic APIs who hit tool-selection or argument bugs.
- Anyone building a raw ReAct loop and fighting infinite loops or
tool_call_idmismatches. - Learners who want a systematic checklist for agent tool schema design.
Examples
- "The model answers in prose instead of calling my search tool" → check for vague descriptions and overlapping tool boundaries, then rewrite as "Use this when the user asks to...".
- "My
unitargument arrives as C, Celsius, or celsius" → tighten the schema withenumandrequired, compared against the bad → good worked example. - "My agent loops forever" → verify the assistant response is appended back to
messages, that tool messages carrytool_call_id, and that amax_itersafety net exists.
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/WenyuChiou/awesome-agentic-ai-zh/HEAD/examples/stage-5/tool-calling-tutor/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the examples/stage-5/tool-calling-tutor folder from the GitHub repo WenyuChiou/awesome-agentic-ai-zh into my ~/.claude/skills/tool-calling-tutor/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/WenyuChiou/awesome-agentic-ai-zh.git /tmp/awesome-agentic-ai-zh && mkdir -p ~/.claude/skills && cp -r /tmp/awesome-agentic-ai-zh/examples/stage-5/tool-calling-tutor ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal.
- Clone the repo:
git clone https://github.com/WenyuChiou/awesome-agentic-ai-zh.git - Create the skills directory if needed:
mkdir -p ~/.claude/skills - Copy the whole skill folder (the
references/files are required):cp -r awesome-agentic-ai-zh/examples/stage-5/tool-calling-tutor ~/.claude/skills/ - Confirm
~/.claude/skills/tool-calling-tutor/SKILL.mdand itsreferences/folder exist. - Restart Claude Code and say something like "my tool isn't being called" or "help me design a function schema" to trigger the skill.
View source on GitHub ↗License: MIT