QA Bug Ticket Creator
Purpose
Create structured bug reports from test failures, manual findings, or defect descriptions. Transform raw failure data into ISO 29119-3 compliant incident reports and auto-create GitHub Issues via GitHub MCP with duplicate detection and smart assignment.
Primary Target
GitHub Issues via GitHub MCP. Extensible to Jira, Linear, Azure DevOps via adapters (see references/ for future patterns).
Bug Report Template
Every bug report includes:
| Field |
Description |
| Title |
Concise, actionable summary (e.g., "Login fails when password contains special chars") |
| Expected Result |
What should happen per spec/requirements |
| Actual Result |
What actually happens |
| Steps to Reproduce |
Numbered, minimal steps |
| Environment |
OS, browser, app version, test framework |
| Evidence |
Screenshots, logs, stack traces, HAR files |
| Severity |
Blocker / Critical / Major / Minor / Trivial |
| Priority |
P1–P5 or equivalent |
| Component/Module |
Affected area (e.g., auth, checkout, API) |
See references/bug-report-format.md for detailed format and examples.
Auto-Assignment
When creating GitHub Issues, auto-assign based on component:
- Labels — Map component to labels (e.g.,
auth, frontend, api)
- Milestones — Map to sprint/release milestone when provided
- Assignees — Map component to team member when mapping is configured
Duplicate Detection
Before creating a new issue:
- Search existing open issues via GitHub MCP (search by title keywords, component, error message)
- Compare — If similar issue exists (same failure, same component, same root cause), link to it instead of creating duplicate
- Create — Only create new issue when no suitable duplicate found
ISO 29119-3 Compliance
Structure aligns with ISO/IEC/IEEE 29119-3 incident report:
- Incident identifier
- Summary and description
- Expected vs actual results
- Steps to reproduce
- Severity and priority
- Status and lifecycle
- Related test cases / requirements
Pairing with qa-task-creator
When a bug is created, optionally auto-create a linked fix task via qa-task-creator:
- Bug → Fix task (development)
- Bug → Verification task (QA re-test)
See references/linking-patterns.md in qa-task-creator for patterns.
Trigger Phrases
- "Create bug report from [test failure / JUnit output / error log]"
- "File a GitHub issue for this failure"
- "Generate bug ticket from Playwright/pytest/Jest failure"
- "Incident report for [defect description]"
- "Check for duplicate before creating bug"
- "Bug report with severity and priority"
Workflow
- Input — Test failure (JUnit, Playwright, pytest output), manual description, or error log
- Parse — Extract test name, failure message, stack trace, environment
- Structure — Map to bug report template; assign severity/priority per
references/severity-guide.md
- Duplicate check — Search GitHub Issues for similar open issues
- Create or link — Create new issue or comment on duplicate with additional context
- Optional — Invoke qa-task-creator for linked fix task
Integrations
| Integration |
Use |
| GitHub MCP |
Create issues, search for duplicates, add labels/milestones/assignees |
| qa-task-creator |
Create linked fix/verification tasks |
| qa-test-reporter |
Consume failure data from aggregated reports |
Scope
Can do (autonomous):
- Parse test failures from JUnit XML, Playwright JSON, pytest output, or free-text description
- Generate structured bug reports per template
- Search GitHub for duplicate issues before creating
- Create GitHub Issues with full body, labels, milestones
- Assign severity/priority per
references/severity-guide.md
- Invoke qa-task-creator for linked fix tasks when requested
Cannot do (requires confirmation):
- Create issues in repos without write access
- Override user-specified severity/priority
- Assign assignees without configured mapping
Will not do (out of scope):
- Modify production code or test code
- Close or resolve issues (user/stakeholder responsibility)
- Create issues in Jira/Linear/Azure DevOps (future adapter; use references)
Quality Checklist
Troubleshooting
| Symptom |
Likely Cause |
Fix |
| GitHub MCP create fails |
Token missing, no repo access |
Check GITHUB_PERSONAL_ACCESS_TOKEN; verify repo permissions |
| Duplicate not detected |
Search query too narrow |
Broaden keywords; search by component + error snippet |
| Severity wrong |
Default mapping doesn't fit project |
Use project-specific severity guide; ask user to confirm |
| Missing stack trace |
Parser doesn't support format |
Add parser for framework; request raw output from user |
| Issue body truncated |
GitHub body length limit |
Split evidence into comments or attach as file |
| Wrong labels applied |
Component mapping missing |
Add component→label mapping; ask user for mapping |
Reference Files
| Topic |
File |
| Bug report format with examples |
references/bug-report-format.md |
| Severity and priority classification |
references/severity-guide.md |
1---2name: qa-bug-ticket-creator3description: Generate structured bug reports from test failures with expected/actual results, reproduction steps, evidence, severity/priority, and auto-create GitHub Issues via GitHub MCP with duplicate detection.4---56# QA Bug Ticket Creator78## Purpose910Create structured bug reports from test failures, manual findings, or defect descriptions. Transform raw failure data into ISO 29119-3 compliant incident reports and auto-create GitHub Issues via GitHub MCP with duplicate detection and smart assignment.1112## Primary Target1314**GitHub Issues** via GitHub MCP. Extensible to Jira, Linear, Azure DevOps via adapters (see `references/` for future patterns).1516## Bug Report Template1718Every bug report includes:1920| Field | Description |21| ----- | ----------- |22| **Title** | Concise, actionable summary (e.g., "Login fails when password contains special chars") |23| **Expected Result** | What should happen per spec/requirements |24| **Actual Result** | What actually happens |25| **Steps to Reproduce** | Numbered, minimal steps |26| **Environment** | OS, browser, app version, test framework |27| **Evidence** | Screenshots, logs, stack traces, HAR files |28| **Severity** | Blocker / Critical / Major / Minor / Trivial |29| **Priority** | P1–P5 or equivalent |30| **Component/Module** | Affected area (e.g., auth, checkout, API) |3132See `references/bug-report-format.md` for detailed format and examples.3334## Auto-Assignment3536When creating GitHub Issues, auto-assign based on component:3738- **Labels** — Map component to labels (e.g., `auth`, `frontend`, `api`)39- **Milestones** — Map to sprint/release milestone when provided40- **Assignees** — Map component to team member when mapping is configured4142## Duplicate Detection4344Before creating a new issue:45461. **Search** existing open issues via GitHub MCP (search by title keywords, component, error message)472. **Compare** — If similar issue exists (same failure, same component, same root cause), link to it instead of creating duplicate483. **Create** — Only create new issue when no suitable duplicate found4950## ISO 29119-3 Compliance5152Structure aligns with ISO/IEC/IEEE 29119-3 incident report:5354- Incident identifier55- Summary and description56- Expected vs actual results57- Steps to reproduce58- Severity and priority59- Status and lifecycle60- Related test cases / requirements6162## Pairing with qa-task-creator6364When a bug is created, optionally auto-create a linked **fix task** via qa-task-creator:6566- Bug → Fix task (development)67- Bug → Verification task (QA re-test)6869See `references/linking-patterns.md` in qa-task-creator for patterns.7071## Trigger Phrases7273- "Create bug report from [test failure / JUnit output / error log]"74- "File a GitHub issue for this failure"75- "Generate bug ticket from Playwright/pytest/Jest failure"76- "Incident report for [defect description]"77- "Check for duplicate before creating bug"78- "Bug report with severity and priority"7980## Workflow81821. **Input** — Test failure (JUnit, Playwright, pytest output), manual description, or error log832. **Parse** — Extract test name, failure message, stack trace, environment843. **Structure** — Map to bug report template; assign severity/priority per `references/severity-guide.md`854. **Duplicate check** — Search GitHub Issues for similar open issues865. **Create or link** — Create new issue or comment on duplicate with additional context876. **Optional** — Invoke qa-task-creator for linked fix task8889## Integrations9091| Integration | Use |92| ----------- | --- |93| **GitHub MCP** | Create issues, search for duplicates, add labels/milestones/assignees |94| **qa-task-creator** | Create linked fix/verification tasks |95| **qa-test-reporter** | Consume failure data from aggregated reports |9697## Scope9899**Can do (autonomous):**100- Parse test failures from JUnit XML, Playwright JSON, pytest output, or free-text description101- Generate structured bug reports per template102- Search GitHub for duplicate issues before creating103- Create GitHub Issues with full body, labels, milestones104- Assign severity/priority per `references/severity-guide.md`105- Invoke qa-task-creator for linked fix tasks when requested106107**Cannot do (requires confirmation):**108- Create issues in repos without write access109- Override user-specified severity/priority110- Assign assignees without configured mapping111112**Will not do (out of scope):**113- Modify production code or test code114- Close or resolve issues (user/stakeholder responsibility)115- Create issues in Jira/Linear/Azure DevOps (future adapter; use references)116117## Quality Checklist118119- [ ] Bug report includes all template fields (title, expected/actual, steps, environment, evidence)120- [ ] Severity and priority assigned per `references/severity-guide.md`121- [ ] Duplicate search performed before creating new issue122- [ ] GitHub Issue body formatted for readability (headers, code blocks, lists)123- [ ] Labels and component correctly mapped124- [ ] No hardcoded secrets; repo/org from user input or env125- [ ] ISO 29119-3 incident structure present where applicable126127## Troubleshooting128129| Symptom | Likely Cause | Fix |130| ------- | ------------ | --- |131| GitHub MCP create fails | Token missing, no repo access | Check `GITHUB_PERSONAL_ACCESS_TOKEN`; verify repo permissions |132| Duplicate not detected | Search query too narrow | Broaden keywords; search by component + error snippet |133| Severity wrong | Default mapping doesn't fit project | Use project-specific severity guide; ask user to confirm |134| Missing stack trace | Parser doesn't support format | Add parser for framework; request raw output from user |135| Issue body truncated | GitHub body length limit | Split evidence into comments or attach as file |136| Wrong labels applied | Component mapping missing | Add component→label mapping; ask user for mapping |137138## Reference Files139140| Topic | File |141| ----- | ---- |142| Bug report format with examples | `references/bug-report-format.md` |143| Severity and priority classification | `references/severity-guide.md` |