Skip to main content
A tool is anything an agent or a plan step can call. Every tool sits in one catalog, and its name says where it comes from.

Where tools come from

Because plans and agents are tools too, anything you build can be called by the next thing you build.

Tool files

A tool file is a YAML file in ./.graph/tools/ or ~/.config/graph/tools/. Its kind decides what it runs: Only prompt and decision tools spend tokens, so moving work into exec and reshape tools makes it cheaper and repeatable. Mark a tool read_only when it has no side effects. reshape and decision tools are read-only by default. Tool names must be unique across both directories. To change a built-in tool for a project, put a file with the same name in the builtin/ subdirectory of a tools directory, and it replaces graph’s version. A pack is a plain copy in packs/<name>/, so you change its tools by editing them there; graph pack list reports the edits.

Inspect and run tools

graph tool list lists the catalog, graph tool show prints a tool’s description, schemas and source, and graph tool test calls it and prints the result.

Guides

Create a tool in the workbench

Draft, test-run and save a tool with the tool drafter.

Test a tool

Run any tool directly and see exactly what it returns.

Improve what graph knows about a tool

Give drafters and the workbench accurate output shapes for your tools.