Skip to content

Chaining & overrides

#auto: queues agents to run after the current one finishes, separated by +:

/architect #auto:engineer+execute
GoalComment
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
  • 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.
/<verb> model:<m> effort:<e> turns:<n>
OverrideValuesAlso accepted
model:opus, sonnet, haiku, any claude-* idbare positional (/execute opus)
effort:off, low, medium, high, maxbare positional (/execute max)
turns:1–1000turns=, 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.

PathBehavior
The triggered runAlways applies
Chained agents (#auto: / cascade)Applies only if you set it explicitly — otherwise each agent uses its own defaults.json
Wave workersThe 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).

For each parameter, the first defined value wins:

  1. Inline directive in your comment
  2. .autoducks/agents/<agent>/defaults.json
  3. defaults in .autoducks/autoducks.json
  4. Provider default (max_turns only: 50)