Ask
Explore, explain, think out loud
Flashlight, not wrench
Plan
Design the change before touching code
Blueprint before building
Agent
Execute the plan, make multi-step edits
Builder with a checklist
Inline / Autocomplete
Small, local changes right where you are
One brick at a time
Use it to:
"Where is the todo completion flow?
Summarize the files involved.
Do not change any code yet."
Good when:
Avoid:
Use it when:
"We need to add 'mark todo completed'.
1. Propose an implementation plan.
2. List the tests we should add.
3. Stop after the plan — do not edit files."
A good plan contains:
If the plan is wrong, restart cleanly — don’t patch a bad plan forever.
Use it when:
Best practice:
Avoid:
Agent mode is powerful, but works best when the task is already shaped into a small, reviewable slice.
One function. One file. One clearly bounded fix.
Fastest for local changes you already understand.
Context
Reference the relevant files and folders.
Include error messages and stack traces.
Say what should not change.
"Context: @src @tests
Task: add endpoint to mark todo completed.
Constraints:
- keep current API shape
- preserve existing tests
- add regression tests first"
Rules files
Project-level instructions that persist across sessions.
AGENTS.md · .cursorrules · copilot-instructions.md
Tests first
Write the failing test before implementation.
A test is an unambiguous spec for the AI.
Verify the output
AI can be confident and wrong.
Model choice
Use faster/cheaper models for simple edits.
Use stronger reasoning models for design or debugging.