Retext
Amazon QAI AssistantBug Fix

Amazon Q Bug Fix Prompt Template

You get the root cause named in a sentence or two, the smallest code change that fixes it, and a check that proves the bug is gone. This version is set up for Amazon Q: name the AWS services, regions and resources involved, and paste the relevant code or configuration. Below you'll find the prompt, how to run it in Amazon Q, a worked example and answers to common questions.

Installs as a snippet — type ;bugfix to paste this prompt anywhere on your Mac.
Prompt Template
I have a bug I need fixed. Find the root cause before you suggest any change.

## Expected behavior
[what should happen]

## Actual behavior
[what happens instead, including the full error message and stack trace]

## Code
Language and version: [e.g. Python 3.12]
[paste the smallest piece of code that reproduces the bug]

## Already ruled out
[what you tried and what it showed]

## Instructions
- Name the root cause and point to the exact line.
- Give the smallest change that fixes it. Do not rewrite or reformat unrelated code.
- If the information above is not enough to be sure, ask me one question instead of guessing.
- Tell me if the same mistake likely appears elsewhere.

## Output format
1. Root cause (1 to 2 sentences)
2. Fixed code (only the changed function or block)
3. Why the fix works
4. One test or manual check that proves it is fixed

Context
- Reference material: [paste it below, or attach the file]

How to use this prompt

  1. 1

    Open Amazon Q

    Open Amazon Q in your IDE or the AWS console and paste the prompt.

  2. 2

    Give it context

    Name the AWS services, regions and resources involved, and paste the relevant code or configuration.

  3. 3

    Review and iterate

    Ask follow-ups in the same chat, and test changes in a non-production account first.

Working in Amazon Q

  • •Amazon Q is built for AWS work, so name the services (for example Lambda, S3, IAM) your question involves.
  • •Never paste credentials or secret values; describe the IAM setup instead.
  • •For infrastructure changes, ask for the change as code (CloudFormation, CDK or Terraform) so you can review it.

Worked example

What you give it

Expected: average([]) returns 0.
Actual: ZeroDivisionError: division by zero
Language: Python 3.12

def average(nums):
    total = 0
    for n in nums:
        total += n
    return total / len(nums)

Already ruled out: nums is always a list, never None. It only fails when a user has no orders yet.

What a good answer looks like (shortened)

1. Root cause: when nums is empty, len(nums) is 0, so the return line divides by zero.

2. Fixed code:
def average(nums):
    if not nums:
        return 0
    return sum(nums) / len(nums)

3. Why it works: the guard returns before any division happens. sum() replaces the manual loop and gives the same result for non-empty lists.

4. Check:
assert average([]) == 0
assert average([2, 4]) == 3.0

Tips for better results

  • •Fill in Expected behavior and Actual behavior with real values, not descriptions like "it breaks." A concrete input and output usually points straight at the faulty line.
  • •Trim the Code section to the smallest snippet that still fails. Cutting it down often reveals the bug before you even send the prompt.
  • •Amazon Q is built for AWS work, so name the services (for example Lambda, S3, IAM) your question involves.
  • •Avoid this: Accepting a fix that hides the error, like wrapping everything in a try/except, instead of one that removes the cause.

Get the free prompt pack

Our best coding prompts in one Markdown file, delivered by email. The templates here stay free either way — the pack just saves you the copying.

Variations

Fix with a regression test

Add this line under Output format: 5. A unit test that fails on the old code and passes on the fixed code.

Production incident

Add this section: ## Constraints: This is live. Prefer a safe, minimal patch now and list a better follow-up fix separately.

Explain for a junior dev

Add this line under Instructions: Explain the root cause in plain terms, as if teaching someone new to [language].

Save it as a Retext snippet

Retext is a free text expander for Mac. Save this prompt once, then type ;bugfix in any app (ChatGPT, Claude, your editor, a browser tab) and the full prompt is pasted in.

  1. Click Add to Retext. The prompt installs as a snippet with the trigger ;bugfix.
  2. Change the trigger in Retext if you prefer a different one.
  3. Type the trigger wherever you want the prompt, then fill in the brackets.

Frequently asked questions

How much code should I paste when asking AI to fix a bug?

Paste the function that fails plus anything it calls that could affect the result. If the snippet is over a couple hundred lines, cut it down to a minimal reproduction first, since extra code hides the signal.

What should I leave out of the prompt?

Access keys, secrets and customer data. Describe permissions and resources by name instead.

What if the AI's fix does not work?

Reply with the new error or behavior, exactly as it appears. Saying what changed after the fix gives it evidence to revise the diagnosis instead of trying random edits.

How do I reuse this prompt without copying it every time?

Click Add to Retext to save it as a snippet. Then type ;bugfix in any Mac app, including your AI tool, and the full prompt is pasted in.

Related Templates

Get the free prompt pack

Our best coding prompts in one Markdown file, delivered by email. The templates here stay free either way — the pack just saves you the copying.