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 & CodingIntermediate6,476865AI 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 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.