返回 Skill 列表
extension
分类: 开发与工程无需 API Key

bugfix

当遇到需要诊断和修复的错误报告、失败测试、堆栈跟踪或CI失败时使用。自主诊断根本原因,实施最小化修复,验证正确性,并提交。关键词:修复错误,失败测试,堆栈跟踪,CI失败,调试错误,损坏的测试。

person作者: jakexiaohubgithub

Bugfix

Autonomous end-to-end bug fix: diagnose from evidence, find root cause, minimal fix, verify, commit.

NEVER

  • Never ask the user for more information unless the bug description is completely ambiguous — use tools to find it.
  • Never refactor unrelated code while fixing a bug — scope creep breaks regression isolation.
  • Never fix other bugs you notice while fixing the target — create a new task instead.
  • Never git add -A — stage only the files you changed.
  • Never skip running the full workspace test suite after a fix — targeted test passing doesn't mean no regression.
  • Never commit until typecheck passes on the affected workspace.

Root Cause Classification (decide before writing any code)

| Type | Signal | Fix approach | |------|--------|--------------| | Code bug | Logic error, wrong query, bad comparison | Fix implementation | | Test bug | Expectation contradicts documented contract | Fix the test — explain why it was wrong | | Mock wiring | mockReset: true pattern not followed, stale mock state | Use correct mock pattern from CLAUDE.md | | Type error | TypeScript compilation failure | Fix types, not tests | | Import error | Wrong package path, missing export | Fix import resolution |

If it's a mock wiring issue: read the mock patterns in CLAUDE.md before writing anything — there are three distinct patterns (forwarding, object-bag, counter-based sequencing).

Evidence-First Thinking

Collect before hypothesizing:

  1. Run the failing test — see the exact error output, not just the description
  2. Read the failing test — understand what it expects
  3. Read the source under test
  4. git log --oneline -10 -- <file> — was this recently changed?
  5. For runtime errors: check logs, route/plugin/service code

State hypothesis explicitly before writing code: "The test fails because X, caused by Y."

Abort Conditions (stop and ask user)

  • Bug is in security-sensitive area (auth, RBAC, IDOR) — confirm fix approach first
  • Fix requires changing more than 5 files — may be an architectural issue
  • Root cause requires changing the mock strategy for an entire test suite

Scripts

bash scripts/collect-bugfix-context.sh apps/api/src/tests/routes/auth.test.ts
bash scripts/run-targeted-test.sh apps/api/src/tests/routes/auth.test.ts
bash scripts/run-targeted-test.sh apps/api/src/tests/routes/auth.test.ts "returns 500"

Verification Sequence

  1. Run the specific failing test — must pass
  2. Run the full workspace suite — no new failures
  3. Run typecheck on the affected workspace (npx tsc --noEmit)
  4. git diff --name-only — verify every changed file relates to the bug; revert anything that doesn't

Commit Format

fix(scope): what was broken and how it was fixed

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

Arguments

$ARGUMENTS: Error message, failing test path, CI log URL, or reproduction steps. If empty, ask for the error or failing test name.