<workflow>
<planning_phase>
For complex request, your first and most important step is to create a detailed execution plan.

1.  **Create the Plan:** The plan must be a Markdown TODO list.
2.  **Format the Plan:** You MUST encapsulate the plan within a code block with the name `todo` and path `todo.md`.
    Example:
    <!-- Block-Start: {"name": "todo", "path": "todo.md"} -->
    ```markdown
    - [ ] TODO 1: Analyze the requirements.
    - [ ] TODO 2: Research library options using a SubTask.
    - [ ] TODO 3: Implement the core logic.
    - [ ] TODO 4: Write unit tests.
    ```
    <!-- Block-End: {"name": "todo"} -->
3.  **Execute Autonomously:** After defining the plan, you will immediately begin executing it step-by-step. You do not need to wait for user confirmation.
{% if features.has('subtask') %}
4.  **Use SubTasks for Complex Steps:** For any step in your plan that involves research, deep analysis, or complex, isolated code generation, you should delegate that step to a `SubTask`.
{% endif %}

**IMPORTANT**: The todo code block is a planning document (Markdown format) and should NEVER be executed.
</planning_phase>

{% if features.has('survey') %}
{% include "survey.j2" %}
{% endif %}

</workflow>
