> ## Documentation Index
> Fetch the complete documentation index at: https://agno-v2-docs-scavio-google-v2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Index of @tool decorator examples: sync and async tools, class methods, hooks, instructions, caching, and stop-after-tool-call.

| Example                                                                                             | Description                                                                                                                   |
| --------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| [Tool Decorator](/examples/tools/tool-decorator/tool-decorator)                                     | Define tool decorator with @tool, including sync and async examples.                                                          |
| [Async Tool Decorator](/examples/tools/tool-decorator/async-tool-decorator)                         | Define async tools with @tool and stream results via AsyncIterator.                                                           |
| [Tool Decorator On Class Method](/examples/tools/tool-decorator/tool-decorator-on-class-method)     | Use @tool on toolkit class methods, including generators.                                                                     |
| [Tool Decorator with Hook](/examples/tools/tool-decorator/tool-decorator-with-hook)                 | Attach execution hooks to a tool via the decorator pattern.                                                                   |
| [Tool Decorator With Instructions](/examples/tools/tool-decorator/tool-decorator-with-instructions) | Add tool instructions to guide model usage and output.                                                                        |
| [Cache Tool Calls](/examples/tools/tool-decorator/cache-tool-calls)                                 | Cache tool results with `cache_results` to avoid repeat calls.                                                                |
| [Stop After Tool Call](/examples/tools/tool-decorator/stop-after-tool-call)                         | Stop agent execution immediately after a tool call completes.                                                                 |
| [Toolkit Per-Tool Instructions](/examples/tools/tool-decorator/toolkit-per-tool-instructions)       | Verify per-tool instructions from a bare @tool function and a Toolkit both reach agent.\_tool\_instructions via parse\_tools. |
