Problem
Currently, the orchestrator prompt and role instructions are injected into the user message turn. This is incorrect — they should be delivered via the system prompt.
Why it matters
- Model behavior: LLMs treat system prompt content as standing instructions and user messages as the human turn. Mixing orchestrator instructions into the user message conflates the two roles and can cause the model to treat coordination directives as part of the human's request.
- Context hygiene: System prompt content is persistent and appropriately scoped for role/persona setup, while the user message should carry only the actual task or query.
- Consistency with convention: Standard agent harnesses (including Claude Code itself, as shown in this session) deliver role context, tool instructions, and behavioral rules via
system, not via a prepended user message block.
Expected behavior
Orchestrator role definition, behavioral rules, and coordination instructions should be placed in the system field of the API request. The user message turn should contain only the actual task or prompt.
Current behavior
Orchestrator instructions are prepended to or included in the user message, rather than in the system prompt.
Problem
Currently, the orchestrator prompt and role instructions are injected into the user message turn. This is incorrect — they should be delivered via the system prompt.
Why it matters
system, not via a prepended user message block.Expected behavior
Orchestrator role definition, behavioral rules, and coordination instructions should be placed in the
systemfield of the API request. The user message turn should contain only the actual task or prompt.Current behavior
Orchestrator instructions are prepended to or included in the user message, rather than in the system prompt.