bug-report
GitHub生成结构化缺陷报告、分析代码潜在缺陷、验证修复及关闭工单。支持描述与分析模式,自动提取复现步骤、严重程度及技术上下文,适用于软件质量保障流程。
Trigger Scenarios
Install
npx skills add Donchitos/Claude-Code-Game-Studios --skill bug-report -g -y
SKILL.md
Frontmatter
{
"name": "bug-report",
"model": "sonnet",
"description": "Structured bug report from a description, or analyze code for potential bugs. Reproduction steps, severity.",
"allowed-tools": "Read, Glob, Grep, Bash, Write, Edit, Bash(bash \"*\/.claude\/skills\/bug-report\/..\/..\/hooks\/yaml-helper.sh\" resolve_config *)",
"argument-hint": "[description] | analyze [path-to-file]",
"user-invocable": true
}
!bash "${CLAUDE_SKILL_DIR}/../../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;
automation_always_ask 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 bugsverify [BUG-ID]→ Verify Mode: confirm a reported fix actually resolved the bugclose [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**: [Relevant state -- inventory, quest progress, etc.]
## Reproduction Steps
**Preconditions**: [Required state before starting]
1. [Exact step 1]
2. [Exact step 2]
3. [Exact step 3]
**Expected Result**: [What should happen]
**Actual Result**: [What actually happens]
## Technical Context
- **Likely affected files**: [List of files based on codebase search]
- **Related systems**: [What other systems might be involved]
- **Possible root cause**: [If identifiable from the description]
## Evidence
- **Logs**: [Relevant log output if available]
- **Visual**: [Description of visual evidence]
## Related Issues
- [Links to related bugs or design documents]
## Notes
[Any additional context or observations]
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**: Closed
Update 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-triageto 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-triageto refresh the open bug count and remove it from the active list
Version History
-
7ed2c3e
Current 2026-09-28 04:02
1.1.0版本重构配置体系,引入modes.rigor简化设置;1.1.1修复非自动模式下因命令权限检查失败导致的技能中断问题。
- 984023d 2026-07-25 09:36


