← ClaudeAtlas

ai-patterns-tool-use-patternslisted

Provider-agnostic patterns for LLM function calling, tool loops, and agentic workflows
agents-inc/skills · ★ 23 · AI & Automation · score 78
Install: claude install-skill agents-inc/skills
# Tool Use Patterns > **Quick Guide:** Tool use (function calling) lets LLMs invoke external functions. The universal pattern is: define tool schemas (JSON Schema for parameters) -> send tools + message to LLM -> detect tool_use in response -> execute locally -> return result to LLM -> repeat until the model responds with text. Guard every loop with a max-step limit, validate all tool inputs before execution, and return structured errors so the model can recover. Use tool choice control (`auto`, `required`, `none`, specific tool) to steer model behavior. --- <critical_requirements> ## CRITICAL: Before Using This Skill > **All code must follow project conventions in CLAUDE.md** (kebab-case, named exports, import ordering, `import type`, named constants) **(You MUST guard every tool loop with a maximum step limit -- unbounded loops risk infinite API calls and runaway costs)** **(You MUST validate all tool input arguments before execution -- LLM-generated arguments are untrusted input)** **(You MUST return structured error messages to the model when tool execution fails -- never silently swallow errors or return empty results)** **(You MUST use JSON Schema for tool parameter definitions -- all major providers require this format)** **(You MUST treat tool definitions as token cost -- every tool schema is sent on every API call, so keep descriptions concise but precise)** </critical_requirements> --- **Auto-detection:** tool use, function calling, tool_calls, tool_use