Loop Angry Torvalds
Run a bounded best-practice review/fix loop. This skill owns the loop mechanics
only: select one root-cause issue, fix it, verify it, and repeat until no
material issue remains within the agreed budget.
Use torvalds as the review engine. Before the first review pass, read
../torvalds/SKILL.md if available and follow its voice, candidate
generation, evidence, and priority rules. If that file is unavailable, say so
and continue with the loop rules here without pretending to be that skill.
Scope
Loop on the highest-priority issue in these classes, in this order:
- correctness bug
- data loss or corrupt migration
- security hole or trust-boundary failure
- broken public/API/CLI/config/data contract
- unsafe concurrency
- unsafe deploy, release, rollback, or irreversible operation
- tests that fail to protect changed behavior or make safe change impossible
- tangled ownership, mixed responsibilities, or hidden coupling
- bad precedent: names, file placement, layer boundaries, APIs, config shape, or
examples future work will likely copy incorrectly
- excessive complexity where a smaller existing/local/stdlib pattern works
- naming or interface shape that creates real maintenance ambiguity
Do not loop on pure taste, formatting, speculative architecture, performance
micro-optimizations, or "nice to have" refactors without a concrete maintenance
or correctness cost.
Budget
If the user does not provide a budget, default to 3 iterations max. Stop
after the budget and report the remaining candidates. Continue only when the
user explicitly asks for more.
Loop
- Read before judging:
git status, current diff, touched entry points, core
flow, and existing tests/checks for the touched behavior.
- Run one
torvalds review pass to produce serious candidates and pick
the highest-priority complaint.
- Continue only if that selected complaint is in Scope. If it is not, stop and
report it as a skipped out-of-scope issue.
- Prove the selected issue from code with file/line evidence and state whether
it is verified fact or inference.
- Apply the smallest root-cause fix for that one issue only. Do not opportunistically
fix lower-priority smells in the same pass.
- Run the cheapest relevant verification that would fail if the fix regressed.
Expand tests only when the touched contract needs it.
- Re-run the angry review against the new state. Continue only if the new
highest-priority issue is still in Scope and the iteration budget remains.
Termination
Stop the loop when any of these is true:
- no material best-practice issue remains in Scope
- the next issue is only taste, formatting, speculative design, or low-value
cleanup
- the iteration budget is exhausted
- the fix requires user approval because it is destructive, changes public
behavior broadly, alters deployment/release state, or needs external secrets
- the same unresolved blocker repeats and cannot be progressed locally
When stopping, report remaining in-scope candidates separately as not fixed.
Output Per Iteration
Keep each iteration short:
회차: loop number
욕먹을 1순위: the one selected root-cause issue, or 없음
증거: two to four file/line references
수정: what changed, or why it was not fixed
검증: commands run and result
다음: continue or stop, with the exact reason
Final Output
End with:
- total iterations
- commits or files changed, if any
- verification commands
- remaining in-scope issues left by budget or approval boundary
- out-of-scope issues skipped by design
1---2name: loop-torvalds3description: Bounded review/fix loop using torvalds as the engine — find the highest-priority issue, fix it, verify, repeat within budget. For a diff, PR, branch, or repo. Triggers: torvalds loop, loop-torvalds, maintainer review loop.4---56# Loop Angry Torvalds78Run a bounded best-practice review/fix loop. This skill owns the loop mechanics9only: select one root-cause issue, fix it, verify it, and repeat until no10material issue remains within the agreed budget.1112Use `torvalds` as the review engine. Before the first review pass, read13`../torvalds/SKILL.md` if available and follow its voice, candidate14generation, evidence, and priority rules. If that file is unavailable, say so15and continue with the loop rules here without pretending to be that skill.1617## Scope1819Loop on the highest-priority issue in these classes, in this order:2021- correctness bug22- data loss or corrupt migration23- security hole or trust-boundary failure24- broken public/API/CLI/config/data contract25- unsafe concurrency26- unsafe deploy, release, rollback, or irreversible operation27- tests that fail to protect changed behavior or make safe change impossible28- tangled ownership, mixed responsibilities, or hidden coupling29- bad precedent: names, file placement, layer boundaries, APIs, config shape, or30 examples future work will likely copy incorrectly31- excessive complexity where a smaller existing/local/stdlib pattern works32- naming or interface shape that creates real maintenance ambiguity3334Do not loop on pure taste, formatting, speculative architecture, performance35micro-optimizations, or "nice to have" refactors without a concrete maintenance36or correctness cost.3738## Budget3940If the user does not provide a budget, default to **3 iterations max**. Stop41after the budget and report the remaining candidates. Continue only when the42user explicitly asks for more.4344## Loop45461. Read before judging: `git status`, current diff, touched entry points, core47 flow, and existing tests/checks for the touched behavior.482. Run one `torvalds` review pass to produce serious candidates and pick49 the highest-priority complaint.503. Continue only if that selected complaint is in Scope. If it is not, stop and51 report it as a skipped out-of-scope issue.524. Prove the selected issue from code with file/line evidence and state whether53 it is verified fact or inference.545. Apply the smallest root-cause fix for that one issue only. Do not opportunistically55 fix lower-priority smells in the same pass.566. Run the cheapest relevant verification that would fail if the fix regressed.57 Expand tests only when the touched contract needs it.587. Re-run the angry review against the new state. Continue only if the new59 highest-priority issue is still in Scope and the iteration budget remains.6061## Termination6263Stop the loop when any of these is true:6465- no material best-practice issue remains in Scope66- the next issue is only taste, formatting, speculative design, or low-value67 cleanup68- the iteration budget is exhausted69- the fix requires user approval because it is destructive, changes public70 behavior broadly, alters deployment/release state, or needs external secrets71- the same unresolved blocker repeats and cannot be progressed locally7273When stopping, report remaining in-scope candidates separately as not fixed.7475## Output Per Iteration7677Keep each iteration short:7879- `회차:` loop number80- `욕먹을 1순위:` the one selected root-cause issue, or `없음`81- `증거:` two to four file/line references82- `수정:` what changed, or why it was not fixed83- `검증:` commands run and result84- `다음:` continue or stop, with the exact reason8586## Final Output8788End with:8990- total iterations91- commits or files changed, if any92- verification commands93- remaining in-scope issues left by budget or approval boundary94- out-of-scope issues skipped by design