Claude Skill MartBrowse skillsQuick linesLearn by videoTerminal guideWhat is a Skill?
← Back to list

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★ 7,526⑂ 1,000AI score 9/10Last updated: Oct 11, 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 description from "what it does" to "when to use it", correct parameter types, add required and enum.
  • 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_id mismatches.
  • Learners who want a systematic checklist for agent tool schema design.

Examples

  1. "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...".
  2. "My unit argument arrives as C, Celsius, or celsius" → tighten the schema with enum and required, compared against the bad → good worked example.
  3. "My agent loops forever" → verify the assistant response is appended back to messages, that tool messages carry tool_call_id, and that a max_iter safety 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)
  1. Download the ZIP with the button below.
  2. In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
  3. Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
↓ Download 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.

  1. Open a terminal.
  2. Clone the repo: git clone https://github.com/WenyuChiou/awesome-agentic-ai-zh.git
  3. Create the skills directory if needed: mkdir -p ~/.claude/skills
  4. Copy the whole skill folder (the references/ files are required): cp -r awesome-agentic-ai-zh/examples/stage-5/tool-calling-tutor ~/.claude/skills/
  5. Confirm ~/.claude/skills/tool-calling-tutor/SKILL.md and its references/ folder exist.
  6. Restart Claude Code and say something like "my tool isn't being called" or "help me design a function schema" to trigger the skill.