bugfix
Bugfix Workflow
Follow this workflow for GitHub issue bugfixes. Do not skip reproduction; fixing without first reproducing the bug tends to produce incomplete fixes and regressions.
Input
A GitHub issue URL or number. Slash-command arguments are appended to this skill body by Qwen Code.
Artifact Path
Use .qwen/issues/ in this repo. In the steps below, <issue-file> means the
selected issue markdown file.
Step 1: Read The Issue
Create the artifact directory if needed, then pipe the issue directly into a
markdown file using gh:
mkdir -p .qwen/issues
gh issue view <number> \
--json number,title,body \
-t '# Issue #{{.number}}: {{.title}}
{{.body}}
---
## Reproduction report
_Pending - to be filled by the test engineer._
## Verification report
_Pending - to be filled by the test engineer._
' > .qwen/issues/issue-<number>.md
Step 2: Reproduce
Spawn the test-engineer agent and point it at <issue-file>. State only the
goal: reproduce the bug. Keep the prompt minimal; the test engineer owns the
reproduction strategy.
Wait for the test engineer to finish. Then read <issue-file> to get the
reproduction report. If the status is NOT_REPRODUCED, report that and stop.
Step 3: Fix
Read the relevant code and make the fix. Use the reproduction report for context; it should contain observed behavior, expected behavior, and useful code paths.
If the bug is complex enough that the first attempt does not work, use the
structured-debugging skill and work through hypotheses systematically.
Step 4: Verify
Build and bundle your changes:
npm run build && npm run bundle
Spawn the test-engineer agent again, pointing it at the same issue file. State
the goal: verify the fix using node dist/cli.js.
If the verification status is STILL_BROKEN, read the updated issue file, go
back to Step 3, and iterate. Do not proceed until verification returns
VERIFIED_FIXED.
Step 5: Tests
Run unit tests for any packages you modified. If the test engineer wrote a failing test during reproduction, make sure it passes after the fix. Otherwise, add focused regression coverage for the failure scenario.
Step 6: Code Review
Skip this only for a plain one-line or trivial config fix. For anything else,
run /review with a review task listing all changed files. Triage each comment
with a verdict:
- Valid: real bug or meaningful improvement. Fix it.
- False positive: reviewer missed context. Skip it.
- Overthinking: technically plausible but not worth the complexity. Skip it.
After fixing valid issues, re-run unit tests and a quick verification sanity check.
Iteration Rules
- If Step 4 fails, go back to Step 3, then re-run Step 4.
- If Step 6 finds valid issues, fix them, then re-run Step 4 as a sanity check.
- Do not loop more than 3 times between Steps 3-6 without asking the user.
More from qwenlm/qwen-code
terminal-capture
Automates terminal UI screenshot testing for CLI commands. Applies
5docs-audit-and-refresh
Audit the repository's docs/ content against the current codebase,
5docs-update-from-diff
Review local code changes with git diff and update the official
4e2e-testing
Guide for running end-to-end tests of the Qwen Code CLI, including
3qwen-code-claw
Use Qwen Code as a Code Agent for code understanding, project
3pr-review
Reviews pull requests with code analysis and terminal smoke testing. Applies when examining code changes, running CLI tests, or when 'PR review', 'code review', 'terminal screenshot', 'visual test' is mentioned.
2