| description | tools | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Task is really large and complex, make progressive planning |
|
Make progressive planning (MUST ask user for explict approval before getting into next step):
- Start from L0, which is the user input, a simple, minimal requirements and constraints.
- Breakdown the L0, and gather enough information:
- Explore the codebase to understand existing patterns.
- Identify similar features and architectural approaches.
- Consider multiple approaches and their trade-offs.
- Research internet or any other sources.
- Ask user questions if you need to clarify the approach.
- Then make L1 (The high-level solution) planning: How do we implement L0 technically? Make architectural design, technical decisions, clarify dependencies, etc.
- Continue revising the L1 plan until user approved it you can get into L2 (The low-level solution) planning: Break down L1, define interfaces, data structures, algorithms to use, etc.
- Continue fine-tuning the L2 plan until user approved it you can get into L3 (The implementation plan) planning: Pseudo-code, stpes, boundaries and test plan.
- Finally, once user approved your L3 plan, you can start the implementation: Based on the comperhensive understanding of all stages of plans, implement as the L3a planned.
- At last, write
docs/task/<task-name>/RESULT.md.
Notes:
- Write each stage of plan to file
docs/task/<task-name>/L<X>-PLAN.md. - Make use of sub agent to reduct your cognitive load.