| name | fugu-fix |
| description | Controlled Fugu-lite coding workflow for bug fixes and feature work โ plan (Thinker) then implement (Worker) then verify (Verifier) then Fusion review, with a bounded repair loop. Makes minimal edits; never commits, pushes, or touches secret files. Use to actually carry out a change end to end with guardrails. |
| disable-model-invocation | true |
| allowed-tools | Read, Edit, MultiEdit, Write, Grep, Glob, Task, Bash(git status:*), Bash(git diff:*), Bash(git log:*), Bash(npm test:*), Bash(npm run:*), Bash(pnpm test:*), Bash(pnpm run:*), Bash(yarn test:*), Bash(yarn run:*), Bash(npx tsc:*), Bash(find:*), Bash(ls:*), Bash(cat package.json) |
Fugu-lite Fix
Run a controlled implementation loop with separated roles:
plan โ implement โ verify โ Fusion review โ repair. Make the smallest change that
solves the task and keep the phases distinct.
Input
$ARGUMENTS is the task (e.g. "Fix the login token refresh bug with minimal changes").
If empty, ask for the task once, briefly.
Hard constraints (always)
- Never commit, push, merge, or run destructive commands automatically.
- Never edit secret files (
.env*, keys, secrets/**, โฆ).
- Keep changes minimal and on-scope โ no opportunistic refactors.
- Before any destructive or irreversible command, ask the user.
- If tests fail for pre-existing/unrelated reasons, document that clearly and do
not try to fix unrelated things.
Phase 1 โ Thinker (plan)
Produce a short plan (you may call /fugu-plan or the fugu-thinker subagent):
objective, files to touch, constraints, ordered steps, test strategy, verification
commands. Don't over-plan a tiny fix โ match plan depth to task size.
Phase 2 โ Worker (implement)
Make the minimal code changes from the plan.
- Touch only the files the plan named (plus genuinely required follow-ons).
- Keep the public API stable unless the task requires a change.
- Add/adjust tests for the changed behavior as the plan specified.
Phase 3 โ Verifier (checks)
Run project-appropriate checks (you may call
${CLAUDE_PLUGIN_ROOT}/scripts/run-checks.sh or the fugu-verifier subagent):
- Detect the package manager from the lockfile.
- Run typecheck / lint / test (and build only if appropriate) when the scripts exist.
- Do not install dependencies without asking.
Report what passed, what failed, and whether failures are caused by this change.
Phase 4 โ Fusion review
Review the final diff with Fusion-lite criteria โ call /fusion-review (or the four
reviewer subagents + fusion-judge). Capture the decision JSON.
Phase 5 โ Repair loop (bounded)
If the Fusion decision is request_changes:
- Fix only the review-identified issues (and check failures). No new scope.
- Re-run checks and re-review.
- Maximum 2 repair iterations. If still failing after 2, stop and hand back to the
user with the remaining issues and your recommendation (see the template at
${CLAUDE_PLUGIN_ROOT}/skills/fugu-fix/templates/repair-instruction.md).
Final output
# Fugu-lite Fix Result
## Summary โ what you changed and why, in 2โ4 lines
## Files Changed โ list with one-line purpose each
## Checks Run โ command โ pass/fail (+ pre-existing vs. caused-by-change)
## Fusion Review Decision โ the decision JSON + one-line gloss
## Remaining Risks โ anything still open / not covered
## Suggested Next Step โ e.g. review, run app, commit (only if the user asks)
Do not commit or push. Leave that to the user.