bug-report skill
Structured bug report from a description, or analyze code for potential bugs. Reproduction steps, severity.
Is the bug-report skill safe?
Clean: nothing in its files matched our rules. We read 1 file in the folder on 2026-09-28.
No findings.
Install the bug-report skill
A skill is a folder. Copy it into your agent's skills folder and the agent loads it when the task matches its description.
git clone --depth 1 https://github.com/Donchitos/Claude-Code-Game-Studios.git /tmp/Claude-Code-Game-Studios mkdir -p ~/.claude/skills cp -r /tmp/Claude-Code-Game-Studios/.claude/skills/bug-report ~/.claude/skills/bug-report
In the Claude apps, zip the folder and upload it from the Skills settings. The folder on GitHub
The instructions your agent would load
SKILL.md as published, without the frontmatter. Read it on GitHub
!bash "${CLAUDESKILLDIR}/../../hooks/yaml-helper.sh" resolve_config --keys automation
Automation mode: Resolve modes.automation (project.local.yaml → project.yaml → default collaborative). Every AskUserQuestion call and every file write follows .claude/docs/automation-modes.md (collaborative asks always · guided major-only · autonomous logs and proceeds; automationalwaysask categories always prompt).
Phase 1: Parse Arguments
Determine the mode from the argument:
- No keyword → Description Mode: generate a structured bug report from the provided description
- analyze [path] → Analyze Mode: read the target file(s) and identify potential bugs
- verify [BUG-ID] → Verify Mode: confirm a reported fix actually resolved the bug
- close [BUG-ID] → Close Mode: mark a verified bug as closed with resolution record
If no argument is provided, ask the user for a bug description before proceeding.
Phase 2A: Description Mode
- Parse the description for key information: what broke, when, how to reproduce it, and what the expected behavior is.
- Search the codebase for related files using Grep/Glob to add context (affected system, likely files).
- Draft the bug report:
# Bug Report
## Summary
**Title**: [Concise, descriptive title]
**ID**: BUG-[NNNN]
**Severity**: [S1-Critical / S2-Major / S3-Minor / S4-Trivial]
**Priority**: [P1-Fix this sprint / P2-Fix soon / P3-Backlog / P4-Won't fix]
> **These labels must match `/bug-triage`'s priority table exactly** — it parses
> this field out of the file you are writing. P4 is the easiest to get wrong:
> `P4-Wishlist` ("would be nice someday") and `P4 — Won't fix / Deferred`
> ("accepted risk, not doing it") mean opposite things, and nothing at runtime
> surfaces a disagreement between the producer and consumer of the field. If you change this ladder, change
> `.claude/skills/bug-triage/SKILL.md` in the same commit.
**Status**: Open
**Reported**: [Date]
**Reporter**: [Name]
## Classification
- **Category**: [Gameplay / UI / Audio / Visual / Performance / Crash / Network]
- **System**: [Which game system is affected]
- **Frequency**: [Always / Often (>50%) / Sometimes (10-50%) / Rare (<10%)]
- **Regression**: [Yes/No/Unknown -- was this working before?]
## Environment
- **Build**: [Version or commit hash]
- **Platform**: [OS, hardware if relevant]
- **Scene/Level**: [Where in the game]
- **Game State**Phase 2B: Analyze Mode
- Read the target file(s) specified in the argument.
- Identify potential bugs: null references, off-by-one errors, race conditions, unhandled edge cases, resource leaks, incorrect state transitions.
- For each potential bug, generate a bug report using the template above, with the likely trigger scenario and recommended fix filled in.
Phase 2C: Verify Mode
Read production/qa/bugs/[BUG-ID].md. Extract the reproduction steps and expected result.
- Re-run reproduction steps — use Grep/Glob to check whether the root cause code path still exists as described. If the fix removed or changed it, note the change.
- Run the related test — if the bug's system has a test file in tests/, run it via Bash and report pass/fail.
- Check for regression — grep the codebase for any new occurrence of the pattern that caused the bug.
Produce a verification verdict:
- VERIFIED FIXED — reproduction steps no longer produce the bug; related tests pass
- STILL PRESENT — bug reproduces as described; fix did not resolve the issue
- CANNOT VERIFY — automated checks inconclusive; manual playtest required
Ask: "May I update production/qa/bugs/[BUG-ID].md to set Status: Verified Fixed / Still Present / Cannot Verify?"
If STILL PRESENT: reopen the bug, set Status back to Open, and suggest re-running /hotfix [BUG-ID].
Phase 2D: Close Mode
Read production/qa/bugs/[BUG-ID].md. Confirm Status is Verified Fixed before closing. If status is anything else, stop: "Bug [ID] must be Verified Fixed before it can be closed. Run /bug-report verify [BUG-ID] first."
Append a closure record to the bug file:
## Closure Record
**Closed**: [date]
**Resolution**: Fixed — [one-line description of what was changed]
**Fix commit / PR**: [if known]
**Verified by**: qa-tester
**Closed by**: [user]
**Regression test**: [test file path, or "Manual verification"]
**Status**: ClosedUpdate the top-level Status: Open field to Status: Closed.
Ask: "May I update production/qa/bugs/[BUG-ID].md to mark it Closed?"
After closing, check production/qa/bug-triage-*.md — if the bug appears in an open triage report, note: "Bug [ID] is referenced in the triage report. Run /bug-triage to refresh the open bug count."
Phase 3: Save Report
Present the completed bug report(s) to the user.
Ask: "May I write this to production/qa/bugs/BUG-[NNNN].md?"
If yes, write the file, creating the directory if needed. Verdict: COMPLETE — bug report filed.
If no, stop here. Verdict: BLOCKED — user declined write.
Phase 4: Next Steps
After saving, suggest based on mode:
After filing (Description/Analyze mode):
- Run /bug-triage to prioritize alongside existing open bugs
- If S1 or S2: run /hotfix [BUG-ID] for emergency fix workflow
After fixing the bug (developer confirms fix is in):
- Run /bug-report verify [BUG-ID] — confirm the fix actually works before closing
- Never mark a bug closed without verification — a fix that doesn't verify is still Open
After verify returns VERIFIED FIXED:
- Run /bug-report close [BUG-ID] — write the closure record and update status
- Run /bug-triage to refresh the open bug count and remove it from the active list
More skills from Donchitos/Claude-Code-Game-Studios
- AadoptBrownfield audit — do existing artifacts actually work? Numbered migration plan. Unlike /project-stage-detect, checks compliance not existence.
- Aarchitecture-decisionCreate an ADR documenting a technical decision: context, alternatives considered, consequences.
- Aarchitecture-reviewTraceability matrix mapping GDD requirements to ADRs. Finds gaps, cross-ADR conflicts, engine compatibility. PASS/CONCERNS/NOT ASSESSED/FAIL.
- Aart-bibleAuthor the Art Bible — visual identity gating asset production. Run before /map-systems.
- Aasset-auditAudit assets against naming conventions, file size budgets, format standards. Finds orphaned assets, missing references.
- Aasset-specPer-asset visual specs plus AI generation prompts from GDDs and character profiles. After the art bible.
- Abalance-checkFind balance outliers, broken progressions, degenerate strategies, economy imbalances in formulas and data. 'Check game balance'.
- AbrainstormGuided concept ideation using professional studio techniques, player psychology, creative exploration.
- Abug-triageRe-evaluate open bugs — priority vs severity, assign to sprints, surface systemic trends. Run when the count grows.
- AchangelogAuto-generate a changelog from git commits and sprint data. Internal and player-facing versions.
- Acode-reviewArchitectural code review — coding standards, SOLID, testability, performance concerns.
- Aconsistency-checkScan GDDs against the entity registry for cross-document conflicts. Grep-first approach targets conflicting sections, different stats.