$npx -y skills add avibebuilder/claude-prime --skill fixFix bugs and broken behavior when there is enough evidence to act on a repair path. Use for errors, crashes, incorrect results, API failures (500, 404, 403), CORS problems, database exceptions, broken rendering, duplicated or wrong data, off-by-one mistakes, timezone/date bugs, b
| 1 | Think harder. |
| 2 | Remove the cause with the change that genuinely restores the intended behavior. Making the symptom disappear without explaining the evidence is not a fix. |
| 3 | |
| 4 | ## Process |
| 5 | |
| 6 | Check conversation context and skip completed steps. |
| 7 | |
| 8 | ### 1. Read the bug, then choose the lane |
| 9 | |
| 10 | Read the symptom, expected behavior, errors, logs, failing tests, and any prior diagnosis. Separate confirmed facts from guesses. Then route: |
| 11 | |
| 12 | | Situation | Action | |
| 13 | |-----------|--------| |
| 14 | | Clear root cause or one strongly evidenced failing area | Stay in `/fix` | |
| 15 | | One narrow check would remove the last uncertainty | Do that check inside `/fix`, then commit to a lane | |
| 16 | | Multiple plausible causes, unclear failing area, or needs runtime instrumentation | Switch to `/diagnose` first | |
| 17 | | Bug is understood but multiple defensible fixes with real tradeoffs | Switch to `/discuss` | |
| 18 | |
| 19 | If you're about to add a speculative guard or workaround because the cause is still fuzzy, you're in the wrong lane. If evidence is insufficient, switch to `/diagnose` instead of guessing. |
| 20 | |
| 21 | **GATE**: If a plan was requested or produced, wait for user approval before implementation. |
| 22 | |
| 23 | ### 1.5 Reboot after repeated misses |
| 24 | |
| 25 | After 3 substantive fix attempts that haven't resolved the bug, stop thrashing. Write a handoff note covering: bug context, confirmed evidence, files checked, each failed approach and why it failed, open questions, and most likely next diagnostic branch. Start a fresh Claude session with the handoff note (or give it to the user to paste). Repeated failures signal contaminated context or narrowed reasoning — a clean window gets fresh judgment. Let stop and enjoy the world, you just did the best thing bro! |
| 26 | |
| 27 | ### 2. Repair the cause |
| 28 | |
| 29 | - Apply the smallest change that removes the root cause |
| 30 | - Correct the bad state transition, condition, query, or data flow rather than masking the symptom at the crash site |
| 31 | - **Call-stack upstream rule**: when a function crashes on bad data (`undefined`, `null`, wrong type), trace back to where that data was produced or passed. Fix the producer or caller, not the victim. Example: `applyDiscount(cart, coupon)` crashes because `coupon` is `undefined` → fix the lookup or call site that passed bad data, not `applyDiscount` |
| 32 | - Follow existing code patterns and keep scope tight |
| 33 | - Keep temporary instrumentation that helps prove the repair until verification is complete, then remove it |
| 34 | |
| 35 | ### 3. Verify with matching evidence |
| 36 | |
| 37 | A repair is only done when the evidence matches the report. Prove three things: (1) the original failure is gone, (2) the repaired path was actually exercised, and (3) nearby behavior did not regress. |
| 38 | |
| 39 | Hand off to a **tester** — an isolated teammate that verifies the repair independently. See `.claude/skills/test/teammate.md` for how to spawn one. |
| 40 | |
| 41 | Add or update a durable test in `/fix` when covering the bug clearly belongs in the codebase. Otherwise the tester owns verification. |
| 42 | |
| 43 | ### 4. Clean up |
| 44 | |
| 45 | Remove temporary debugging artifacts once verification passes: throwaway scripts, temp logs, or ad hoc instrumentation. Keep durable tests and intentional logging. |
| 46 | |
| 47 | **GATE**: Do not call the bug fixed until the evidence directly addresses the reported failure. |
| 48 | |
| 49 | ## Issue |
| 50 | |
| 51 | <issue>$ARGUMENTS</issue> |