Chaining & overrides
Chaining with #auto:
Section titled “Chaining with #auto:”#auto: queues agents to run after the current one finishes, separated by +:
/architect #auto:engineer+executeRecipes
Section titled “Recipes”| Goal | Comment |
|---|---|
| Full pipeline, everything automatic | /execute (the cascade builds the chain for you) |
| Full pipeline, explicit | /architect #auto:engineer+execute |
| Design + plan, stop before code | /architect #auto:engineer |
| Re-plan and re-execute after feedback | /engineer #auto:execute |
| Design only | /architect |
Semantics
Section titled “Semantics”- Order matters — verbs run left to right after the current agent.
- Aliases normalize:
#auto:tactics+run≡#auto:engineer+execute(custom aliases too). - Dedup + cap: a verb appears at most once per chain; chains cap at 5 verbs.
- Loop protection: a Definition-of-Ready delegation refuses to dispatch an agent that’s already in the chain, failing loudly instead of looping.
- Blocking stops the chain: Questions Mode or any failure halts the remaining chain — resolve and re-run.
- The cascade composes with your chain: if the Engineer isn’t ready, your pending chain is re-queued behind the Architect, not lost. An
execute-routed run keeps your execution intent the same way.
Overrides
Section titled “Overrides”/<verb> model:<m> effort:<e> turns:<n>| Override | Values | Also accepted |
|---|---|---|
model: | opus, sonnet, haiku, any claude-* id | bare positional (/execute opus) |
effort: | off, low, medium, high, max | bare positional (/execute max) |
turns: | 1–1000 | turns=, max-turns=, max_turns= |
effort: maps to the provider’s native reasoning-effort control (for Claude, the CLI’s --effort flag via claude_args) rather than a prompt instruction — see the effort: reference for the off/max caveats.
How far an override reaches
Section titled “How far an override reaches”| Path | Behavior |
|---|---|
| The triggered run | Always applies |
Chained agents (#auto: / cascade) | Applies only if you set it explicitly — otherwise each agent uses its own defaults.json |
| Wave workers | The Maestro forwards your explicit overrides to every dispatched Developer |
This is deliberate: /architect model:opus #auto:engineer+execute runs the whole pipeline on opus, while /architect #auto:engineer+execute lets the Architect use its default (opus) and the Developers theirs (sonnet).
Resolution order
Section titled “Resolution order”For each parameter, the first defined value wins:
- Inline directive in your comment
.autoducks/agents/<agent>/defaults.jsondefaultsin.autoducks/autoducks.json- Provider default (
max_turnsonly:50)