|
| 1 | +--- |
| 2 | +name: fxa-jira-bug-description |
| 3 | +description: Drafts a Jira bug report for an FXA issue. Gathers repro steps, expected vs actual behaviour, and affected surface, then outputs a structured report ready to file or hand to Claude for investigation. |
| 4 | +user-invocable: true |
| 5 | +--- |
| 6 | + |
| 7 | +# FXA Jira Bug Report |
| 8 | + |
| 9 | +Draft a Jira bug report for an FXA issue. Output the description only — do not create, edit, or suggest changes to any source files. |
| 10 | + |
| 11 | +## Step 1: Gather Context |
| 12 | + |
| 13 | +If a Sentry link, error log, or stack trace was provided, read it first and infer as much as possible before asking anything. |
| 14 | + |
| 15 | +Required information: |
| 16 | +- **What:** One-sentence description of the bug |
| 17 | +- **Steps to reproduce:** Numbered steps from a known starting state |
| 18 | +- **Expected behaviour:** What should happen |
| 19 | +- **Actual behaviour:** What actually happens |
| 20 | +- **Affected surface:** Which flow, page, or API endpoint; which users or account states are affected |
| 21 | + |
| 22 | +Also useful — ask only for what is missing: |
| 23 | +- Error message, Sentry event, or stack trace |
| 24 | +- Browser, OS, or environment (if frontend) |
| 25 | +- Account state at time of bug (e.g. 2FA enabled, passwordless, linked account) |
| 26 | +- Severity — data loss, security impact, broken flow, visual/cosmetic |
| 27 | + |
| 28 | +If all required information is clear, proceed directly to Step 2. |
| 29 | + |
| 30 | +## Step 2: Research |
| 31 | + |
| 32 | +Search only the packages likely involved. Find: |
| 33 | +- The code path most likely responsible (route handler, component, service method) |
| 34 | +- Any recent changes to that path (`git log` on the relevant files) |
| 35 | +- Whether a similar bug has been fixed before (look for related test cases or comments) |
| 36 | + |
| 37 | +Incorporate findings directly into Root Cause and Key Reference Files. Surface genuine unknowns as Open Questions. |
| 38 | + |
| 39 | +## Step 3: Output |
| 40 | + |
| 41 | +**Summary:** `[area] <concise bug description>` — e.g. `[auth] Passkey registration fails silently when device has no authenticator` |
| 42 | + |
| 43 | +**Background:** |
| 44 | +What the bug is, where it occurs, and who is affected. 2–3 sentences. |
| 45 | + |
| 46 | +**Steps to Reproduce:** |
| 47 | +Numbered steps from a known starting state. Include account state and environment where relevant. |
| 48 | + |
| 49 | +**Expected Behaviour:** |
| 50 | +What should happen. |
| 51 | + |
| 52 | +**Actual Behaviour:** |
| 53 | +What actually happens. Include error message, code, or Sentry event if available. |
| 54 | + |
| 55 | +**Affected Surface:** |
| 56 | +Which users, flows, account states, browsers, or environments are affected. Note if intermittent. |
| 57 | + |
| 58 | +**Severity:** *(Critical / High / Medium / Low)* |
| 59 | +- Critical — data loss, security vulnerability, auth bypass |
| 60 | +- High — broken core flow affecting multiple users |
| 61 | +- Medium — degraded experience, workaround exists |
| 62 | +- Low — cosmetic, edge case, minor inconvenience |
| 63 | + |
| 64 | +**Root Cause:** *(if known or suspected — omit if unknown)* |
| 65 | +Where in the code the bug originates. Reference specific file and function if identified. |
| 66 | + |
| 67 | +**Acceptance Criteria:** |
| 68 | +- Bug is no longer reproducible following the steps above |
| 69 | +- Regression test added covering the broken path |
| 70 | +- *(add any additional observable outcomes)* |
| 71 | + |
| 72 | +**Key Reference Files:** |
| 73 | +Specific files relevant to investigation or fix. One line each. |
| 74 | + |
| 75 | +**Out of Scope:** *(omit if not needed)* |
| 76 | + |
| 77 | +**Open Questions:** *(omit if none)* |
| 78 | + |
| 79 | +## Guidelines |
| 80 | + |
| 81 | +- Output the description only — no source file changes |
| 82 | +- Steps to Reproduce must be precise enough for another engineer to reproduce independently |
| 83 | +- Do not speculate on root cause unless there is clear evidence — use Open Questions instead |
| 84 | +- Severity should reflect user impact, not code complexity |
| 85 | +- Always include a regression test in Acceptance Criteria |
| 86 | +- If the bug has security implications (auth bypass, data exposure, token leakage), flag severity as Critical and note it explicitly in Background |
0 commit comments