- ✓ I have followed the task provided to me exactly (double-checked)
- ✓ I have not cut corners or taken inappropriate shortcuts
- ✓ I have not over-engineered the solution beyond what was needed
- ✓ If I did something not explicitly asked for, it was necessary for the task and I will mention it to the user
- ✓ The code builds successfully without errors
- ✓ I have manually tested the changes and they work as expected
- ✓ If the code doesn't work or I don't know how to make it work, I will ask the user
- ✓ Tests are properly added and I'm satisfied with the quality
- ✓ I have not made tests pass by skipping them or using magic variables
- ✓ All changes are intentional and reviewed
- ✓ Commit message accurately describes the changes
- ✓ No sensitive information is being committed
- ✓ My response to the user is on point and directly addresses their request
- ✓ I have provided detailed information without being verbose or redundant
- ✓ I have not hidden or omitted any important details the user needs to know
- ✓ If there are limitations, trade-offs, or potential issues, I have mentioned them
- ✓ My explanations are clear and help the user understand what was done and why
- ✓ I have completed the task to the best of my ability
- ✓ If I cannot complete the task, I am ready to explain why to the user
- ✓ When uncertain about the correct approach, I ask the user for clarification rather than guessing
- ✓ Before taking potentially destructive actions (deletions, overwrites, major changes), I seek user confirmation
- ✓ If multiple valid approaches exist, I present options to the user and ask for their preference
- ✓ When I encounter ambiguous requirements, I ask for clarification rather than making assumptions