Module · 5 lessons

Designing Tools

Make tools Claude uses well and that fail safely — clear schemas, Pydantic validation, an error-and-repair loop, and the patterns that keep tool use reliable.

At a glance

Level
Intermediate
Lessons
5 lessons
Time to complete
1 week
Cost
Free forever · no sign-up

Welcome to Designing Tools, the third module. You can already build the agent loop — but a loop is only as good as the tools you give it. In practice, most of an agent’s reliability comes down to tool design: whether Claude reaches for the right tool, fills in the arguments correctly, and recovers when something goes wrong. This module is about getting that right.

You’ll learn what makes a tool Claude uses well — names, descriptions, and schemas that guide the model toward correct calls. You’ll validate inputs with Pydantic, so a wrong argument is caught before it reaches your code (and you’ll generate the tool’s schema straight from the model). You’ll build the error-and-repair loop, where a failed call comes back to Claude as a tool_result it can learn from and fix on the next step. And you’ll cover the design patterns — tool granularity, parallel calls, side effects, and clear return values — that keep tool use dependable. The module ends by rebuilding Atlas’s tools to be genuinely robust.

Every mechanism here — Pydantic validation, schema generation, the repair loop — is real, runnable Python, verified end to end. Start with Lesson 1 on what makes a good tool.

Lessons in this module

Achievement

Complete all 5 lessons to finish the Designing Tools module.

Start module