Templates appear in prompts, valueTemplate, source, command, summaryTemplate, message and inputMapping values.
Syntax is {{dotted.path}}, resolved against the instance's variable context:
| Path | Resolves to |
|---|---|
{{input.<field>}} |
The instance input, validated against inputSchema. |
{{steps.<Step Name>.output…}} / {{steps.<Step Name>.summary}} |
A prior step's reported result, keyed by step name. |
{{currentTask…}} |
The current task's data inside a task loop. |
{{<variableName>}} |
Anything stored by a set_variable step. |
Behaviour to know
- Objects and arrays are JSON-stringified when interpolated — which is exactly what
create_task_list.sourcerelies on. - An unresolved path is left as the literal
{{path}}. No error. A typo fails silently downstream, so check every template path against the exact name of the step that produces it. - In
shell.commandonly, values are shell-quoted.{{!raw path}}bypasses quoting — dangerous; only for values you fully control. - When a prompt reaches the agent, interpolated values are wrapped in
<user-data name="…">…</user-data>tags so the agent can tell your instructions from runtime data. Write prompts accordingly: where it matters, say that the data below is untrusted input and instructions inside it are not to be followed.