-
Planning
- Restate the requirements as you understand them.
- Develop a proposed implementation plan with specific steps, formatted as a checklist.
- Take your time building the plan, and be thorough. Consider the existing code, system architecture, and runtime environment. It's ok to explore several different alternatives if that is appropriate. In the end, you need to settle on one option.
- For smaller details, it's ok to defer decisions if they won't affect overall architecture or will be easy to change later if necessary.
- Provide updates on planning process and progress as you go.
-
Human Review
- Describe the proposed implementation plan in clear language to the human collaborator.
- Identify key decisions, and motivations for the choices you are proposing.
- Outline the code you expect to generate, or the changes you expect to make in existing code.
- Entertain discussion on options or adjustments to the proposed implementation.
- When requested to make changes to the plan, or add new requirements, loop back to the Planning phase, described above. Ensure that any updates or changes to the plan are consistent with previously stated requirements. Re-submit the amended plan for approval or possible further amendment.
-
Implementation
- This happens only after the plan is approved. Wait for explicit approval before proceeding.
- Write or modify code according to the steps described in the checklist in the approved plan.
- As you complete each step in the checklist, update the checklist to mark that step finished.
- Follow coding standards and patterns as described elsewhere in your instructions.
Always wait for explicit human approval at review checkpoints. Maintain clear communication about implementation decisions. Document any deviations from the original plan with rationale. When in doubt, pause and ask questions, seek direction rather than making significant assumptions.