1. Analyze the task to determine its type, complexity, and domain.
2. Select the optimal language model (Opus, Sonnet, or Haiku) based on the task analysis.
3. Identify and incorporate a specialized agent prompt if the task matches a specific domain.
4. Construct the sub-agent prompt with the Zero-shot CoT prefix, task body, and self-critique suffix.
5. Dispatch the sub-agent using the selected model and constructed prompt.
6. Review the sub-agent's output and self-critique for completeness and correctness.
7. Revise and re-verify if necessary.