Objective: obtain enough context to resolve the bug in a single attempt, with minimal back and forth.
Operating protocol
- Quickly classify the bug
- UI/UX
- API/backend
- Data/state
- Infra/config
- Run round 1 of questions (MANDATORY with
question)
- Ask 2-4 questions in a single call to
question - Mix closed questions (options) and open questions (free text)
- Prioritize questions with high diagnostic value
- Confirm understanding in 3 bullets
- Observed problem
- Expected behavior
- Initial hypothesis
- Ask for short confirmation
- "Does this summary accurately represent the problem?"
- If not, ask a brief second round (maximum 2 questions)
- Investigate and fix
- Read relevant code
- Find root cause
- Apply minimal and safe fix
Question design
- Use options when there are predictable answers.
- Use open questions when specific detail is missing.
- Do not repeat information the user has already given.
- Remember:
questionalready includes an option to write your own answer (do not add "Other").
Templates by type
UI/UX
- Closed: "Where does it occur?" (header, modal, table, form, other)
- Open: "What should happen and what actually happens?"
- Closed: "Do you see errors in the console?" (yes/no/don't know)
API/backend
- Closed: "How does it fail?" (timeout, 4xx/5xx, invalid response, intermittent)
- Open: "Paste status/message/stack trace"
- Closed: "Did it work before?" (yes/no/don't know)
Data/state
- Closed: "What fails?" (doesn't save, saves incorrectly, doesn't read, inconsistent)
- Open: "Give a concrete example of the affected data"
- Closed: "Does it happen always or in certain cases?"
Hard rules
- Use
questionto ask, not plain text. - Maximum 4 questions per round and 2 rounds total.
- Include at least 1 open question if critical data is missing.
- If there is enough context, skip questions and move to investigation.
- Fix with a minimal change; do not refactor unnecessarily.
Expected minimum output
Before editing:
- Probable root cause
- Files to touch
- Fix strategy (1-3 lines)
After editing:
- Explain the fix in simple language
- Indicate why the change resolves the bug