bug-ticket-root-cause
Skill9 starsChanged 23 days agoMITView on GitHub
Use when reporting or documenting an observed bug as a ticket (any tracker - GitLab, Jira, GitHub) - "report a bug", "signale un bug", "create a bug ticket", "crée un ticket de bug", "it doesn't work", "ça ne marche pas", a regression to document without fixing it now.
In this repository59 other files it gives its agents.
- AGENTS.mdAGENTS.md
- adversarial-feature-challengeSkill
- api-contract-versioningSkill
- bug-ticket-root-causeSkill
- bug-triage-structuredSkill
- ci-pipeline-orchestrationSkill
- commit-readiness-reviewSkill
- comprehensive-test-strategySkill
- database-schema-evolutionSkill
- ddd-backend-implementationSkill
- design-system-component-lifecycleSkill
- detection-sweepSkill
- domain-glossarySkill
- domain-modeling-designSkill
- frontend-fullstack-implementationSkill
- frontend-spec-call-site-auditSkill
- merge-request-reviewSkill
- performance-profilingSkill
- recording-decisionsSkill
- recurring-bug-root-causeSkill
- refactoring-shared-component-apiSkill
- validating-features-end-to-endSkill
- visual-regression-checkSkill
- writing-robust-testsSkill
- adversarial-feature-challengeSkill
- api-contract-versioningSkill
- audit-architectureSkill
- audit-ci-cdSkill
- audit-complianceSkill
- audit-industrialisationSkill
- audit-observabilitySkill
- audit-performance-frontendSkill
- audit-qualitySkill
- audit-reportSkill
- audit-securitySkill
- audit-testingSkill
- bug-triage-structuredSkill
- ci-pipeline-orchestrationSkill
- commit-readiness-reviewSkill
- comprehensive-test-strategySkill
- daily-workflow-optimizationSkill
- database-schema-evolutionSkill
- ddd-backend-implementationSkill
- design-system-component-lifecycleSkill
- detection-sweepSkill
- domain-glossarySkill
- domain-modeling-designSkill
- frontend-fullstack-implementationSkill
- frontend-spec-call-site-auditSkill
- merge-request-reviewSkill
- performance-profilingSkill
- production-incident-diagnosticSkill
- qa-session-intakeSkill
- recording-decisionsSkill
- recurring-bug-root-causeSkill
- refactoring-shared-component-apiSkill
- validating-features-end-to-endSkill
- visual-regression-checkSkill
- writing-robust-testsSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 3 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 16
This skill: when: documenting an observed bug as a ticket, without fixing it now
- Very specific: line 17
recurring-bug-root-cause: if: the scope has already had 2+ similar recent fixes → it is a class, not an isolated case - Very specific: line 18
superpowers:systematic-debugging: if: the goal is to fix now, not to trace - Very specific: line 19
qa-session-intake: if: the source is a recorded QA session (several problems to triage) - Distinctive: line 44
Read the real production code, trace the flow end to end (UI → state → call → handler → data)
- Very specific: line 58
If the scope has already had 2+ recent fixes → a "Recurrence" section in the ticket and apply recurring-bug-root-cause.
- Distinctive: line 72
Never: create the ticket without the confirmation-tests section
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Bug ticket with root cause
If the current repo has a specific ticketing skill, it wins - this skill defines the content, the project skill defines the format/tracker.
This skill vs. others
- This skill when: documenting an observed bug as a ticket, without fixing it now
recurring-bug-root-causeif: the scope has already had 2+ similar recent fixes → it is a class, not an isolated casesuperpowers:systematic-debuggingif: the goal is to fix now, not to traceqa-session-intakeif: the source is a recorded QA session (several problems to triage)
Principle
- A ticket with no cited root cause is an invitation to fix by trial and error
- A ticket with no confirmation tests is incomplete
- This workflow produces a ticket, not a fix - fix nothing, modify no application file
Tooling
templates/bug-ticket.md- full ticket skeleton (context, root cause, scenarios, confirmation-tests table, priority)
Context to gather (before acting)
- Tracker + repo format/label conventions (project bug skill if one exists) - do not invent a format
- Project test commands (
package.json/Cargo.toml/ CI config) to fill the confirmation-tests table with real targets - Access to production code? If not, mark the cause
to investigatewithout disguising it - Bug already open? search existing tickets before creating a duplicate
Workflow
1. Frame the symptom
What (observed vs expected) · Where (page/endpoint/module) · Since when (commit, version) · Reproducibility. If too vague to locate the code: ask 2-3 questions and stop.
2. Root-cause investigation (if code access)
- Read the real production code, trace the flow end to end (UI → state → call → handler → data)
- Git archaeology:
git log/git blameon the suspect files → introducing commit - Confront the facts where possible (an existing test that should have failed - why didn't it?, a query, a log)
- Deliverable: mechanism (≠ symptom) + cited code
file:line+ introducing commit + hypothesis status (confirmed/strong/to validate) - Without code access: say so explicitly and mark the cause
to investigate- do not disguise a design hypothesis as a root cause
3. Ticket content
- Context: symptom, expected behavior, user impact
- Root-cause analysis (section above)
- Reproduction scenarios: (1) reproduce the bug - fails today, (2) nominal behavior post-fix, (3) related edge case
- Required confirmation tests: table Type (UT/E2E/API) · target file · key assertion · ❌ before fix / ✅ after. Each test MUST fail before the fix and pass after
- Argued priority (prod down/data loss → critical ; broken with no workaround → high ; workaround possible → medium ; cosmetic → low)
4. Check for recurrence
If the scope has already had 2+ recent fixes → a "Recurrence" section in the ticket and apply recurring-bug-root-cause.
Traps & rationalizations
| Excuse | Reality |
| "The cause is obvious, no need to cite the code" | "Obvious" with no file:line = a design hypothesis. Cite it or mark it to investigate. |
| "I'll note the tests table later, the ticket is urgent" | A ticket with no confirmation tests is unclosable and goes back to trial and error. It is the heart of the ticket. |
| "While I'm here, I'll fix the bug" | This workflow produces a ticket, not a fix. The fix mixes in with the analysis and blurs the trace. |
| "Symptom = cause" | The symptom is what you see, the cause is the mechanism. Trace the flow to the point of divergence. |
Guardrails
- Never assert a root cause without citing code
- Never create the ticket without the confirmation-tests section
- Never fix the bug in this workflow
Exit condition
- Root cause = mechanism + cited
file:line(or explicitlyto investigatefor lack of code access) - Confirmation-tests table filled - each test named, with the failure it must show against the code as it stands and the pass it must show once fixed
- 3 scenarios present (repro, nominal post-fix, related edge case)
- Argued priority
- No application file modified
- Recurrence checked (section added +
recurring-bug-root-causeif 2+ recent fixes)
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

