Unknown keys are a load error. For completion in your editor, start the file with
# yaml-language-server: $schema=https://raw.githubusercontent.com/tylerdavis/graph/main/docs/schemas/tool.schema.json.
Common fields
integer
The file version the document is written in. Omitted means 1;
graph tool migrate brings a file to the current version.string
required
Letters, digits,
_ and -. The tool is called as user__<name>.string
required
What the tool does and returns. Agents and the plan drafter read it when choosing tools.
enum<string>
required
What the tool runs. Each kind takes its own fields, listed below.Available options:
exec, prompt, reshape, decisionobject
JSON Schema for the input, validated before the tool runs. Templates reference it as
{{input.<field>}}.object
JSON Schema for the output. A
prompt tool enforces it as structured output; for every kind it tells drafters what the tool returns.boolean
Marks the tool as free of side effects.
reshape and decision tools are read-only by default.Kinds
Eachkind adds its own fields.
exec: Runs a command.prompt: One model call.reshape: Builds a value in a new JSON shape from the input, with no process and no model call.decision: Asks a decision model typed questions about the same state, each answered independently.