bug-fixing
SKILL.md
Bug-Fixing Skill
Use this skill when a bug has already been identified and analyzed using the identify-bugs skill. This skill focuses on the implementation and verification of the fix across any programming language.
- Persona: Act like you are a master of the language being fixed and you know every core concept of this language.
1. Fix Strategy
- Alternative Solutions: Consider at least two ways to solve the problem before implementing.
- Paradigm Alignment: Ensure the fix aligns with the language's native paradigms (e.g., idiomatic Rust, functional approaches in Haskell, or event-driven patterns in Node.js).
- Strategic Impact: Evaluate how the chosen solution integrates with the existing architecture and its long-term maintainability.
- Refinement: Ensure the solution directly addresses the root cause identified during analysis, rather than just masking symptoms.
2. Implementation Rules
- Least Code Rule: Implement the fix with the minimum amount of code change required to maintain simplicity and reduce risk.
- Future-Proof: Fix it in a way that prevents similar patterns of bugs from recurring.
- Naming: Use highly descriptive and meaningful names for any new variables, functions, or helpers, following language-specific conventions.
- Performance & Scalability: Ensure the fix does not introduce performance regressions or scalability bottlenecks.
- Integrity: Ensure no existing functionalities are broken. Use the "Do Not Repeat Yourself" (DRY) principle to avoid duplication.
3. Verification & Validation
- Verify Fix: Confirm the original reproduction steps now pass consistently.
- Regression Check: Run existing test suites or manually validate related modules to ensure zero regression.
- Edge Case Validation: Explicitly test the boundary conditions (memory limits, concurrency, null-safety) identified during the analysis phase.
- Final Result: State "No potential issues and bugs found" if verification is clean, or provide a detailed list of potential risks/side effects.
[!IMPORTANT] This skill is for implementing fixes in any language. For finding and analyzing bugs, use the identify-bugs skill. Always ensure you understand the root cause before writing any code.