bug-fixing

SkillDev tools

Fix bugs with a test-first workflow. Use when the user reports a bug, asks to fix a defect, or describes unexpected behavior. Triggers on: bug, fix, defect, broken, regression, not working, unexpected behavior.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the bug-fixing skill

What this skill tells your AI

The instructions your AI receives, as published by nerds-odd-e/doughnut in .agents/skills/bug-fixing/SKILL.md and read by ahel’s review.

Purpose: Observable-behavior fixes with minimal scope and educational failure messages.

Output: Passing focused tests + short summary ending with ## BUG FIX COMPLETE.

Test level choice:

  • Bug matches an existing E2E scenario (same feature, same user interaction) → extend or add an E2E test.
  • Otherwise → a unit test in the "small test" style per unit-testing.mdc (stable-boundary JUnit/Vitest/…): drive a stable boundary (controller, mounted component, CLI run/runInteractive), cover lower layers with crafted data/makeMe, mock only externals.

Before commit: run dough-post-change-refactor (.agents/skills/dough-post-change-refactor/SKILL.md) on the full uncommitted change.

  • Assert observable output — HTTP response, DOM text, terminal output, exit code — not internal state.
  • Prefer expected-vs-actual (expect(actual).toEqual(expected), not expect(condition).toBe(true)). The diff should tell the reader what went wrong.
  • Guard against false positives — the assertion must fail only when the bug is present. Tighten weak assertions.
  • Prefer updating over adding — if the bug contradicts or overlaps an existing test, update that test instead of creating a new one.

<success_criteria>

  • Failing test reproduced the bug for the right reason before the fix
  • Smallest fix makes the new test and related tests pass
  • No dead/debug code left in the change
  • dough-post-change-refactor run before commit (or delegated to caller wrap-up)
  • Final output includes ## BUG FIX COMPLETE </success_criteria>
  1. Bug location and test level chosen (E2E vs unit test).
  2. Test file(s) added or updated.
  3. Fix summary (what changed).
  4. Related tests run and confirmed passing.
## BUG FIX COMPLETE

<out_of_scope>

  • Do not run the full E2E suite unless explicitly requested.
  • Do not add tests that only exercise internal helpers when a stable boundary entry point is available (see unit-testing.mdc).
  • Do not skip the failing-test confirmation step. </out_of_scope>

Signals

GitHub stars
49
Forks
72
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
bug-fixing-nerds-odd-e
Source
github.com/nerds-odd-e/doughnut