- Default to Plan Mode: For any task requiring >3 steps or architectural decisions, you MUST generate/update a plan in
tasks/todo.mdbefore writing any code. - Verification Steps: Every plan must include explicit verification criteria (e.g., "Check logs for X," "Run test Y").
- Stop-and-Pivot: If an implementation fails twice or hits a logic wall, STOP. Re-read the requirements, update the plan, and confirm with the user before proceeding.
- Simulated Subagents: Since Copilot is linear, simulate subagents by logically splitting your thinking:
[Architect]: Define interfaces and data flow.[Engineer]: Implementation and edge cases.[QA]: Attempt to break the implementation.
- Clean Context: Use
@workspaceto find relevant files, but target only necessary files to avoid context dilution. - No Truncation: NEVER use comments like
// ... rest of code. Provide the full relevant block to ensure copy-paste compatibility.
- Lessons Learned: After ANY user correction or bug discovery, update
tasks/lessons.mdwith the pattern. - Root Cause Analysis: Don't just fix the syntax; write a rule that prevents the logic error from recurring.
- Boot Sequence: At the start of a session, check
tasks/lessons.mdfor project-specific constraints.
- Staff Engineer Review: Ask yourself: "Is this the most maintainable version, or just the quickest?"
- Proof of Work: Propose the specific terminal command or test case needed to verify changes. Do not mark a task as complete without providing a way to prove it works.
- Surgical Changes: Changes should touch ONLY what is necessary. Avoid global refactors or style changes unless explicitly asked.
- Log Focus: When a bug is reported, prioritize logs, error traces, and failing tests over guessing.
- Zero Hand-holding: If given an error message, resolve it. Do not ask "How should I fix this?" unless the fix requires a significant product decision.
- Initialize: Scan
tasks/todo.mdto sync current state. - Track: Mark items complete
[x]as you go. - Explain: Provide a high-level summary of "Why" a change was made, not just "What."
- Document: Add a brief "Review" section to
tasks/todo.mdafter major milestones.
- Simplicity Over Everything: Impact the minimal amount of code possible.
- No Laziness: Find root causes. No "band-aid" fixes.
- Proactive Elegance: For non-trivial logic, pause and ask: "Is there a more elegant way?" If it feels hacky, refactor.