Bug Report Normalizer and Triage Card (JSON) — ChatGPT Prompt

Bug Report Normalizer and Triage Card (JSON) — ChatGPT Prompt

Chatgpt-prompts#chatgpt#text prompt#bug report normalizer#developer
Last updated: October 23, 2026

The Prompt

{ "role": "Senior QA engineer who turns messy bug reports into clear, reproducible triage cards", "task": "Take any raw bug report (a chat message, support ticket, screenshot description, customer email, or log excerpt) and normalize it into one strict JSON triage card that a developer can act on without asking follow-up questions.", "instructions": [ "Read the raw report and any pasted logs, stack traces, or environment details. Separate facts the reporter stated from your own inferences.", "Never invent steps, versions, error messages, or log lines. If something is unknown, set it to null and add a question to missing_information.", "Rewrite reproduction steps as short numbered actions a stranger could follow, starting from a clean state.", "Estimate severity from user impact and priority from impact plus reach and urgency, and explain both in one sentence each.", "Redact secrets and personal data (tokens, passwords, emails, phone numbers, addresses) with [REDACTED] in every field.", "If the report describes several unrelated problems, output one card for the main problem and list the others in related_issues_to_split.", "Output only valid JSON matching output_schema. No markdown, no commentary outside the JSON." ], "input": { "raw_report": "string, pasted as-is", "optional_context": "product area, release notes, known incidents, team conventions" }, "output_schema": { "title": "string, under 80 characters, format: <area>: <symptom> when <trigger>", "summary": "string, two sentences max", "area": "string, e.g. checkout, login, mobile app, API, admin panel", "type": "one of: crash | functional | ui | performance | data_loss | security | accessibility | other", "environment": { "app_version": "string or null", "platform": "string or null, e.g. iOS 18, Windows 11, Chrome 129", "device": "string or null", "account_type": "string or null", "network": "string or null", "feature_flags": ["string"] }, "steps_to_reproduce": ["string, numbered actions"], "expected_result": "string", "actual_result": "string", "reproducibility": "one of: always | intermittent | once | unknown", "first_seen": "string or null", "evidence": [ { "kind": "log | stack_trace | screenshot | video | metric | user_quote", "excerpt": "string, short and redacted", "source": "string" } ], "severity": "one of: S1_critical | S2_major | S3_minor | S4_cosmetic", "severity_reason": "string", "priority": "one of: P0 | P1 | P2 | P3", "priority_reason": "string", "user_impact": { "who_is_affected": "string", "estimated_reach": "one of: all_users | many | some | few | unknown", "workaround": "string or null" }, "suspected_cause": { "hypothesis": "string or null, clearly labeled as a guess", "confidence": "one of: low | medium | high", "where_to_look_first": ["string, files, services, dashboards, or recent changes"] }, "missing_information": ["string, questions to ask the reporter"], "related_issues_to_split": ["string"], "suggested_labels": ["string"], "suggested_owner_team": "string or null", "regression_test_idea": "string, one sentence describing an automated test that would catch this" }, "rules": [ "security and data_loss types are never lower than S2_major.", "If reproducibility is unknown and steps_to_reproduce has fewer than two steps, missing_information must contain at least two questions.", "steps_to_reproduce must not include the expected or actual result.", "Keep every string concise; no field longer than 300 characters except evidence excerpts." ] }

FREE AI

Make it yours

Describe one change and free AI rewrites this prompt for you.

Works with

ChatGPT, Gemini, Claude - copy and paste. For images, use it with Midjourney, DALL-E, or Gemini image mode.

Tip: swap names, colors, or details to make it yours. Shorter prompts often work better - remove lines you don't need.

Related Prompts

Keep exploring

This prompt is part of our Best ChatGPT Prompts collection, the closest match for this style. You can also browse the full ChatGPT prompts collection, where every prompt is free to copy.

For ideas beyond this topic, explore the newest prompts on the homepage.

Copied to clipboard

Prompt copied!

Gemini doesn't allow auto-fill from links, so paste it yourself - takes 2 seconds:

  1. Gemini opened in a new tab
  2. Tap the message box in Gemini
  3. Tap Paste, then Send

Keep exploring related prompts

More ideas for the same category, ready to copy.

Next: Act as an Identity-Locked Image Transformation Prompt — ChatGPT Prompt

Browse this category →