<EXTREMELY-IMPORTANT>
This skill is a strict red-green-refactor repair loop.
Non-negotiable rules:
- Fix one finding at a time.
- For behavioral bugs, write the failing regression test before the fix.
- Run crate tests and clippy after every fix.
- Do not mark a finding fixed without the required verification.
- Use the skill for crate-specific coding conventions before changing Rust code.
</EXTREMELY-IMPORTANT>
bugfix-crate
Inputs
- : Path to the crate findings file
Goal
Work through a crate issue file sequentially and leave behind:
- a verified fix for each resolved finding
- regression coverage for each behavioral fix
- a passing crate test suite
- an updated issue file showing what was fixed, deferred, or rejected as not-a-bug
Step 0: Establish the baseline
Before editing:
- read the entire issue file
- determine the target crate name and path
- invoke for relevant conventions
- read crate-local or testing guidance if present
- run baseline
- run baseline
cargo clippy -p <crate> -- -D warnings
Success criteria: The crate, issue file, and baseline state are explicit before the first fix.
Step 1: Process one finding at a time
For each unresolved finding:
- read the cited file and surrounding context
- determine whether it is behavioral, API, dead-code, doc-only, deferred, or not-a-bug
- if it is a behavioral or API fix, write the failing test first
- verify the test fails before changing the implementation
Do not batch findings.
Success criteria: Each finding has a concrete resolution path before any fix lands.
Step 2: Apply the smallest correct fix
Make the minimum code change that addresses the root cause.
Rules:
- do not batch adjacent refactors
- do not weaken existing tests
- do not hide warnings with
- if you uncover another real bug in the touched area, fix it in the same pass and add it to the issue file
Success criteria: The fix addresses the root cause without broad collateral edits.
Step 3: Verify and mark status
After each fix:
- run
- run
cargo clippy -p <crate> -- -D warnings
- update the issue file:
- for verified fixes
- for real out-of-scope fixes
- for invalid findings
Do not mark a finding fixed before the verification pass completes.
Success criteria: The issue file and crate state stay in sync after every finding.
Step 4: Finish only when the issue file is resolved
At the end:
- confirm every finding has a terminal status
- confirm the crate still passes tests and clippy
- summarize resolved, deferred, and rejected findings
Success criteria: The issue file is fully triaged and the crate is green.
Guardrails
- Do not use worktree agents for same-crate fixing.
- Do not run this skill proactively; it is explicit-user-only.
- Do not mark behavioral bugs fixed without regression coverage.
- Do not replace a real fix with comments, warnings, or documentation.
- Do not batch multiple findings in one verification loop.
Output Contract
Report:
- crate and issue file processed
- baseline test and clippy state
- per-finding outcome
- final test and clippy state
- any newly discovered findings added during repair