IntermediateChatGPT / Claude
Review a diff for the failure modes, not the style
Review the following diff. Ignore naming and formatting entirely — I only want failure modes.
For each issue, give me:
- The specific input or state that triggers it
- What goes wrong as a result
- The smallest change that fixes it
Rank by how likely the trigger is in production. If you find nothing above "theoretically possible", say so rather than filling the list.
<diff>
[paste the diff]
</diff>
For: Backend engineer
IntermediateChatGPT / Claude
Generate tests from the behaviour, not the implementation
Write tests for the function below using [test framework].
Rules:
- Test observable behaviour only. Do not assert on internal calls or private state
- One test per behaviour, named so a failure tells me what broke
- Include the boundary cases: empty input, maximum size, null, and the error path
- Do not test the language or the standard library
List any behaviour you could not test and why.
<code>
[paste the function]
</code>
For: Engineer
IntermediateChatGPT / Claude
Debug from a stack trace without guessing
Here is an error and the surrounding code. Before suggesting a fix:
1. State what the error actually means, mechanically
2. List every condition that could produce it, most likely first
3. For each, tell me the single cheapest thing I can check to rule it in or out
Do not propose a fix until I tell you which check came back positive.
<error>
[paste the error and stack trace]
</error>
<code>
[paste the relevant code]
</code>
For: Engineer
IntermediateChatGPT / Claude
Turn a vague ticket into an implementable spec
Here is a ticket. Turn it into something I can implement.
Produce:
- The behaviour in one sentence, stated as what the user will be able to do
- The cases that must work, as a bulleted list
- The cases that are explicitly out of scope
- Every question whose answer changes the implementation
Do not invent requirements. If the ticket does not say, put it in the questions list.
<ticket>
[paste the ticket]
</ticket>
For: Engineer
IntermediateClaude / Cursor
Estimate the blast radius of a change
I am about to change [function or endpoint]. Here is the code and its callers.
Tell me:
- Everything that calls this, directly and indirectly
- Which callers depend on behaviour I am about to change, rather than just the signature
- What would fail silently rather than loudly
Be explicit about what you cannot see. If the call graph is incomplete, say which part.
<code>
[paste the code and callers]
</code>
For: Engineer