Systematic Bug Fix Workflow

VerifiedCaution

Executes a systematic bug fix workflow: structured investigation, regression test creation, fix implementation, and a formal report in specs/bugfixes/. Automatically handles Transit tickets and branch management. Useful for bugs requiring thorough analysis and full documentation.

Sby Skills Guide Bot
DevelopmentIntermediate
1206/2/2026
Claude Code
#bug-fix#debugging#regression-test#documentation#systematic-debugging

Recommended for

Our review

Fixes bugs systematically with investigation, regression tests, and structured documentation.

Strengths

  • Rigorous root cause analysis methodology
  • Automatic generation of standardized bugfix report
  • Regression tests created before the fix is applied
  • Integration with Transit tickets for tracking

Limitations

  • Requires project structure for reports (specs/bugfixes/)
  • Transit steps are only useful when a ticket is referenced
  • Can be slow for complex bugs needing extensive investigation
When to use it

Best for bugs that need thorough analysis, test coverage, and a formal bugfix report.

When not to use it

Avoid for quick fixes or trivial bugs where a simple patch is sufficient.

Security analysis

Caution
Quality score92/100

The skill uses Bash and external tools for legitimate bug-fixing purposes, but these are powerful operations that require caution to avoid unintended side effects or execution of malicious commands.

Findings
  • Uses Bash for running tests, linting, and possibly other commands, which could execute arbitrary code if inputs are not sanitized.
  • Interacts with external version control and ticketing systems (gh pr create, mcp__transit__update_task_status), which could be misused if the workflow is hijacked.
  • The skill includes branching and committing, which modifies repository state.

Examples

Fix a runtime error in user login
Fix the bug where users cannot log in with OAuth credentials. The error is 'invalid_grant'.
Debug and document a performance issue
Debug and document this issue: the homepage takes >10s to load after the latest deployment.
Systematic bugfix with ticket
T-42: Fix the bug where the invoice PDF is missing the tax breakdown.

name: fix-bug description: Systematic bug investigation, resolution, and documentation. Use when fixing bugs that need thorough analysis, test coverage, and a formal bugfix report. Applies systematic debugging methodology, creates regression tests, and generates a standardized report in specs/bugfixes/<bug-name>/. Triggers on requests like "fix this bug", "debug and document this issue", or when a bug needs both resolution and documentation.

model: inherit

allowed-tools: Read,Write,Edit,Bash,Grep,Glob,Task


Bug Fix Workflow

Fix bugs systematically while ensuring proper test coverage and documentation.

Transit Integration

If a T-[number] ticket is mentioned (e.g., T-42), track it throughout the workflow:

  • Extract the display ID from the reference
  • Automatically create a branch named T-{number}/bugfix-{bug-name} (no user prompt needed)
  • Move the ticket to in-progress status after branch creation. Add a comment: "Starting bugfix — investigating on branch T-{number}/bugfix-{bug-name}"
  • Move the ticket to ready-for-review status after the PR is created. Add a comment: "Fix ready for review — PR #{pr-number}"

Use mcp__transit__update_task_status with the display ID to update status. Always include a comment when changing status.

If no Transit ticket is mentioned, skip all Transit-related steps.

Workflow

1. Bug Name

Determine a concise, descriptive bug name (kebab-case) for the report directory. Derive from the issue description or ask the user if unclear.

2. Branch Creation

When a Transit ticket is present: If the current branch already matches T-{number}/bugfix-* (e.g., in a worktree), skip branch creation. Otherwise, automatically create a branch named T-{number}/bugfix-{bug-name} and switch to it. Do not ask for permission. Move the ticket to in-progress status.

When no Transit ticket is present: Use AskUserQuestion to offer branch naming options:

  • bugfix/{bug-name} - Standard bugfix branch
  • Skip branch creation

3. Systematic Investigation

Invoke the systematic-debugger skill to perform structured root cause analysis:

  • Phase 1: Initial Overview (problem statement)
  • Phase 2: Systematic Inspection (identify defects)
  • Phase 3: Root Cause Analysis (Five Whys)
  • Phase 4: Solution & Verification (proposed fixes)

Capture findings for the bugfix report.

4. Create Regression Test

Before implementing the fix:

  1. Write a failing test that reproduces the bug
  2. Run the test to confirm it fails as expected
  3. This test prevents future regressions

The test should:

  • Be minimal and focused on the specific bug
  • Include a descriptive name referencing the bug
  • Document the expected vs actual behaviour in comments

5. Implement Fix

Apply the fix identified during investigation:

  1. Make minimal, targeted changes
  2. Run the regression test to confirm it passes
  3. Run full test suite to ensure no breakage
  4. Run linters/validators as per project conventions

6. Update Documentation

Review and update any affected documentation:

  • Code comments if behaviour changed
  • README or docs if user-facing
  • API docs if interface changed

7. Generate Bugfix Report

Create specs/bugfixes/<bug-name>/report.md using the template in references/report-template.md.

8. Commit and PR (Transit bugs only)

When a Transit ticket is present, after all checks pass:

  1. Commit all changes using the /commit skill
  2. Push the branch to the remote
  3. Create a PR using gh pr create with:
    • Title: Fix T-{number}: {bug-name-in-title-case}
    • Body: Summary of the bug, root cause, and fix (reference the bugfix report)
  4. Move the Transit ticket to ready-for-review status. Add a comment with the PR URL.

When no Transit ticket is present, do not commit or create a PR unless asked.

9. Automated Review Fix (Transit bugs only)

After the PR is created, wait 10 minutes for CI checks and automated reviews to come in, then run the /pr-review-fixer skill to address any feedback from the first round automatically.

Output

Upon completion:

  1. Bug is fixed and verified
  2. Regression test exists and passes
  3. Full test suite passes
  4. Report exists at specs/bugfixes/<bug-name>/report.md
  5. If a Transit ticket was tracked: changes committed, PR created, first review round addressed, ticket moved to ready-for-review
  6. If no Transit ticket: code is ready for commit (do not commit unless asked)
Related skills