ai-patterns-tool-use-patterns

Solid

Provider-agnostic patterns for LLM function calling, tool loops, and agentic workflows

AI & Automation 18 stars 6 forks Updated 1 weeks ago MIT

Install

View on GitHub

Quality Score: 78/100

Stars 20%
43
Recency 20%
90
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# 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...

Details

Author
agents-inc
Repository
agents-inc/skills
Created
8 months ago
Last Updated
1 weeks ago
Language
N/A
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category