Founding price: the first 100 buyers get Pro for life at $24 once (then $39).Founding: Pro for life $24 Get notified →
Template pack · for software teams

The Bug Report & QA Kit

Issue templates for GitHub, Jira and Linear, a severity guide your whole team can agree on, release QA checklists, and scripts for 60-second bug videos. Set up in about 20 minutes.

Checkout opens shortlySee the free samples

Checkout opens shortly at a $15 launch price (one-time, 7-day refund). Want a heads-up? Email support@getbobbin.app.

  • GitHub issue forms
  • Jira + Linear
  • Sheets + Notion
  • Designed PDF
Pages from The Bug Report and QA Kit PDF: the cover, the S1 to S4 severity guide and the bug report template

Why a kit?

Most bugs are slow to fix for boring reasons: the report is missing the environment, nobody agrees how bad it is, and the release checks live in one person's head. The kit gives your team one shared language for severity, templates that ask for the right details up front, and checklists you run the same way every release.

10 issue templates

Bug, UI regression, crash, performance, customer-reported, regression, flaky test, security, accessibility, data/integration.

Severity guide + priority matrix

S1–S4 with tests, examples, response times and "not this level if…" rules. Severity × reach gives P0–P3.

9 release checklists

126 checks: release candidate, web and mobile smoke tests, API release, hotfix, first hour, rollback, cross-browser, accessibility.

8 bug-video scripts

What to show and say for repro, before/after, intermittent, performance, mobile and API bugs, plus fix sign-off.

Team rituals

A 30-minute triage agenda, a bug bash runbook, workflow states and a label set (with a gh script).

Trackers

Bug tracker, test cases (25 starters), release checklist and browser/device matrix for Sheets, Excel and Notion.

What's inside

Every ID below is in the PDF and in the files.

Issue templates · 10

GitHub issue forms, Jira (Markdown + wiki markup), Linear and Markdown, plus a PR template.

  • T1 Bug report
  • T2 UI / visual regression
  • T3 Crash or error
  • T4 Performance problem
  • T5 Customer-reported bug
  • T6 Regression after release
  • T7 Flaky test
  • T8 Security vulnerability (private)
  • T9 Accessibility issue
  • T10 Data or integration issue

Release QA checklists · 9

126 checks from release candidate to rollback. PDF, Markdown and a Sheets tracker.

  • R1 Pre-release checklist (release candidate)
  • R2 Smoke test: web app
  • R3 Smoke test: mobile app
  • R4 API / backend release
  • R5 Hotfix release
  • R6 Post-release verification (first hour)
  • R7 Rollback decision and runbook
  • R8 Cross-browser and device pass
  • R9 Accessibility quick check

Bug-video scripts · 8

What to show and say in a 60-second bug recording, by bug type.

  • V1 The 60-second repro video
  • V2 Before / after regression
  • V3 Intermittent bug, caught on tape
  • V4 Performance problem, with numbers
  • V5 Mobile bug
  • V6 Network / API error walkthrough
  • V7 Fix verified (QA sign-off)
  • V8 Weekly bug review for stakeholders

Inside pages: the severity and priority matrix, the pre-release checklist and the bug-video scripts section

Free sample 1 of 4

The severity guide, free

The core of the kit, shortened. The full version has five examples per level and six yes/no questions that settle most arguments.

S1Critical

Data is lost, corrupted or exposed, OR a core flow is blocked for most users with no workaround.

  • Nobody can log in, sign up or check out
  • Saving a document silently drops changes
  • One customer can see another customer's data

ResponseStop other work. Owner assigned within 1 hour. Fix, roll back or disable the feature the same day. Post status updates until resolved.

Watch outNot S1 just because a VIP reported it or because it is embarrassing. Use priority for that.

S2Major

A core feature gives wrong results or fails for a meaningful group of users, and the workaround is painful or unknown to users.

  • Export produces a file with missing rows
  • Search returns no results for names with accents
  • Checkout fails for one payment method or one country

ResponseFix in the current cycle. Hotfix if it affects revenue, security or a contractual promise. Tell support what to say.

Watch outNot S2 if users have an easy, obvious workaround and nothing is wrong in their data. That is S3.

S3Minor

Something works incorrectly but users can still do what they came to do, with an easy workaround or little harm.

  • Sorting by date ignores the time of day
  • An error message is unhelpful but the retry works
  • A filter resets after going back

ResponseSchedule by priority. Group with related work. Review again if reports keep coming in.

Watch outNot S3 if a workaround exists only for people who already know about the bug. Then it is S2.

S4Cosmetic

Looks wrong, reads wrong or feels rough, with no effect on what users can do.

  • Typo or inconsistent capitalisation
  • Misaligned icon or spacing
  • Wrong placeholder text

ResponseBatch into a polish pass. Good first issues for new teammates.

Watch outNot S4 if the wording could mislead users about money, data or consent. Treat that as S2 or S3.

Severity × reach → priority

Severity ↓ / reach →Everyone or almost everyoneMany users or a key segmentA few usersOne user or internal only
S1P0P0P0P1
S2P0P1P1P2
S3P1P2P2P3
S4P2P3P3P3

P0 Now · P1 This cycle · P2 Soon · P3 Backlog

Free sample 2 of 4

GitHub issue form: bug report

Save it as .github/ISSUE_TEMPLATE/01-bug-report.yml in your repository. The kit has 9 of these, plus the same templates for Jira and Linear.

name: Bug report
description: Something does not work as expected.
title: 'Bug: [Area]: [what goes wrong] when [trigger]'
labels:
- bug
- needs-triage
body:
- type: markdown
  attributes:
    value: |
      The default for anything that works incorrectly. If it fits a more specific template below, use that instead.

      Severity levels are defined in docs/severity-guide.md. Triage may change severity and sets priority.
- type: input
  id: summary
  attributes:
    label: Summary
    description: 'One sentence: what breaks and who it affects.'
  validations:
    required: true
- type: textarea
  id: environment
  attributes:
    label: Environment
    description: Version or build, URL or screen, browser or device + OS, account/plan, feature flags.
    value: "Build: \nURL / screen: \nBrowser or device + OS: \nAccount / plan: \nFlags: \n"
  validations:
    required: true
- type: textarea
  id: steps
  attributes:
    label: Steps to reproduce
    description: Start from a known state. One action per step.
    value: "1. Logged in as \n2. \n3. \n"
  validations:
    required: true
- type: textarea
  id: expected
  attributes:
    label: Expected result
    description: What should happen. Link the spec or last working version if you can.
  validations:
    required: true
- type: textarea
  id: actual
  attributes:
    label: Actual result
    description: What happens instead. Paste the exact error text.
  validations:
    required: true
- type: dropdown
  id: frequency
  attributes:
    label: How often does it happen?
    options:
    - Always (every try)
    - Often (more than half of tries)
    - Sometimes (less than half)
    - Once so far
  validations:
    required: true
- type: dropdown
  id: severity
  attributes:
    label: Severity (see the severity guide)
    description: Triage may change it.
    options:
    - 'S1 Critical: data lost/exposed or core flow blocked, no workaround'
    - 'S2 Major: core feature wrong or failing for a group'
    - 'S3 Minor: works with an easy workaround'
    - 'S4 Cosmetic: looks or reads wrong only'
    - Not sure (triage will set it)
  validations:
    required: true
- type: textarea
  id: evidence
  attributes:
    label: Evidence
    description: Drag in a screen recording or screenshot. Add console errors, request IDs or log links.
  validations:
    required: false
- type: textarea
  id: logs
  attributes:
    label: Console or log output
    description: Paste text, not screenshots of text. Remove secrets and personal data.
    render: shell
  validations:
    required: false
- type: input
  id: workaround
  attributes:
    label: Workaround
    description: What users can do meanwhile, or "none known".
  validations:
    required: false
- type: checkboxes
  id: checks
  attributes:
    label: Before you submit
    options:
    - label: I searched existing issues and this is not a duplicate
      required: true
    - label: I removed passwords, tokens and personal data from attachments
      required: true
Free sample 3 of 4

R6 Post-release verification (first hour)

When: Immediately after a production deploy. Owner: Release owner + on-call.

First 10 minutes

  • Production smoke test (R2/R3) core sections pass
  • Error rate not above the pre-release baseline
  • Latency (p95) not above the baseline
  • Background jobs and queues draining normally

First hour

  • Sign-ups, logins and payments in line with the same hour last week
  • Support inbox checked for new reports mentioning the changed areas
  • Feature flags for the release switched on in the planned order
  • Release notes published and support briefed

Close

  • Release ticket updated: shipped, time, version
  • Any new bugs filed with the regression template (T6) and linked
  • Go / rollback decision recorded
Free sample 4 of 4

Bug-video script: The 60-second repro video

V1

The 60-second repro video

45–90 s

Use whenAny bug you can reproduce. Attach it to the issue next to the written steps.

Set up

  • Reset to the starting state from your steps
  • Open DevTools Console (web) so errors are visible
  • Close tabs and notifications with personal data
TimeBeatSay (fill the blanks)
0–10 sHeadlineThis is [AREA]. When I [TRIGGER], [WHAT GOES WRONG]. I am on [ENVIRONMENT].
10–45 sSteps, narratedStep one, [ACTION]. Step two, [ACTION]. Step three, [ACTION], and here it is.
45–60 sExpected vs actualI expected [EXPECTED]. Instead [ACTUAL]. The console shows [ERROR] here.
60–75 sFrequency and impactIt happens [EVERY TIME / X OF Y]. It affects [WHO]. Severity [S-LEVEL] because [REASON].

Why it worksSay the step numbers out loud so they match the written steps in the issue. Engineers jump between the two.

Checkout opens shortly
Record bug videos with Bobbin

A free recorder that keeps the file

Bobbin is our free Chrome extension for screen and webcam recording. No watermark, no time limit, no account, and recordings are saved on your computer, so you can attach them straight to the issue. The kit works with any recorder; Bobbin is just the one we built.

The Bobbin recorder in Chrome

Questions

What exactly do I get?

A designed PDF (34 pages, US Letter) and a ZIP with everything as files: 9 GitHub issue forms (YAML) with config.yml, a PR template, a label script and the severity guide; Jira templates in Markdown and wiki markup; Linear templates; plain Markdown versions of every template and checklist; Google Sheets / Excel CSVs (bug tracker, 126-item release checklist, 25 starter test cases, severity matrix, browser/device matrix); and a Notion import. You get the download links by email straight after payment.

Why is the security template not a GitHub issue form?

Issues on public GitHub repositories are public, so security reports should not go there. The kit's config.yml adds a link to GitHub's private vulnerability reporting instead, and the security template is included for Jira, Linear and private trackers.

Does it work with GitLab, Azure DevOps, ClickUp or Asana?

The templates and checklists are also included as plain Markdown, which you can paste into most trackers' description templates. The GitHub, Jira and Linear versions are formatted for those tools specifically.

Do I need Bobbin?

No. The bug-video scripts work with any screen recorder. We make Bobbin, a free Chrome screen and webcam recorder that saves recordings to your computer, so you can attach them straight to an issue.

Can my team use one copy?

Yes. One purchase covers you, or one team of up to 10 people at one organisation, including private and commercial repositories. You may not resell the kit or publish the files as a template pack.

What if it is not useful?

Email support@getbobbin.app within 7 days of paying and we refund you in full, no reason needed. See the Refund Policy.

Is the price in dollars, and is tax included?

Yes, US dollars. Tax such as VAT or GST may be added at checkout depending on where you live. Dodo Payments, our merchant of record, handles the payment, invoice and tax.

Better bug reports from tomorrow's first issue.

10 templates, 9 checklists, 8 video scripts. One-time purchase, instant download, 7-day refund.

Checkout opens shortly

Checkout opens shortly at a $15 launch price (one-time, 7-day refund). Want a heads-up? Email support@getbobbin.app.