examples/presets/minimal_preset.yaml
Create a preset
Name the base tool, a--description (the preset tool’s LLM-facing docstring — required and non-empty on every create path), and the fixed kwargs to bake. The baked keys are removed from the exposed schema; the remaining arguments keep the base tool’s real typed schema. Create writes the durable store row and then registers the live tool.
validate:
Save a new version
Save a new version when the configuration changes. Omitted fields carry forward from the active version;--extensions '[]' sends the explicit clear sentinel. description is editable per version — pass --description to set new text, or omit it to carry the active one forward (it can never go empty); a rollback restores the older version’s description along with the rest of its body.
Roll back
Make a prior version active again. Rollback appends a new version pointing at the target body — it never rewrites history.Tag a version
set-version-tags labels an immutable version body — a per-version marker like stable or reviewed — without rebinding the tool. Passing no tags clears them to [].
tai tool-meta, exactly as it is for any other tool.
Rename a preset
A preset’s name is its live tool name, so renaming it rebinds the tool — the new name binds before the old is torn down. Rename integrity is enforced atomically at one gate: a rename blocks with a409 listing every holder of the name until you update them. That list is the full union — the other presets that compose this one (their authored-agent specs name it as a tool) plus every behavioral holder that wires against the name (a schedule firing it, a hook or conversation route targeting it, a tool-extensions entry, a parked interaction’s resume continuation, or a plugin-held reference). Display metadata is not a holder: the tool-organization overlay follows the name across the rename. Preflight with referees, then rename:
The versioning spine is one mechanism, shared by many kinds. Presets, access-control policies, and authored agents all ride it — append-only versions, an active pointer, rollback, per-version tags, and rename over an opaque body.
validate, referees, set-version-tags, and rename:
examples/presets/presets_help.sh
See also
- Presets — what a preset is and how binding works.
- The versioning spine — the shared append-only version model.
- Author an agent — an authored agent is a preset over a spec-runnable agent.
- CLI reference — the full
tai presetssurface.

