$npx -y skills add gtrabanco/agentic-workflow --skill review-debtInternal tech-debt review pass of the agentic-workflow review pack — composed in-turn by review-change and product-audit; not a menu entry. Inventories shortcuts, duplication, stale abstractions and missing coverage on the changed surface, each with a re-trigger condition. Findin
| 1 | # Review Tech Debt (internal) |
| 2 | |
| 3 | Composed by `review-change` / `product-audit` within their conversation — on any |
| 4 | agent, follow this file inline as the routed step. **Findings only; never edits, |
| 5 | never refactors.** |
| 6 | |
| 7 | ## Scope |
| 8 | |
| 9 | The diff or path/glob the caller passes; default the current change vs the |
| 10 | default branch. State the scope at the top of the returned table. |
| 11 | |
| 12 | ## Checklist (evaluate EVERY item — none is optional; n/a must be stated) |
| 13 | |
| 14 | ✓ Every TODO/FIXME/HACK in the diff is inventoried (file:line + what it defers) |
| 15 | ✓ Duplicated logic across the changed files and against existing helpers (cite both sides) |
| 16 | ✓ Stale/orphaned abstractions the change leaves behind (a port with one adapter, a config no one reads) |
| 17 | ✓ Dead code left by the change (replaced-but-not-removed paths) |
| 18 | ✓ Complexity hotspots introduced (functions past ~40 lines or 3+ nesting levels — cite) |
| 19 | ✓ Missing tests for behavior the change adds/alters (name the untested path) |
| 20 | ✓ Workarounds that depend on external fixes (pin the upstream issue if known) |
| 21 | ✓ Every finding carries a TRIGGER: the condition under which it must be paid (e.g. "3rd consumer appears", ">100k rows") — a debt item without a trigger is itself a finding |
| 22 | |
| 23 | ## Return exactly |
| 24 | |
| 25 | ``` |
| 26 | REVIEW TECH DEBT — scope: <scope> |
| 27 | |
| 28 | | # | Finding | Sev | Evidence | Suggested fix | |
| 29 | |---|---------|-----|----------|---------------| |
| 30 | | 1 | <what> | critical|major|minor | <file:line> | <smallest action> | |
| 31 | |
| 32 | Checklist: <n> evaluated, <n> pass, <n> findings, <n> n/a (<which + why>) |
| 33 | Summary: <1-2 sentences> |
| 34 | Decision: PASS | FAIL |
| 35 | ``` |
| 36 | |
| 37 | For this pass, the Suggested fix column carries the TRIGGER — the condition |
| 38 | under which the debt must be paid — alongside the smallest action. |
| 39 | |
| 40 | FAIL if any critical or major finding is open; PASS otherwise. Minor findings |
| 41 | never block — they route to the caller's triage step. |
| 42 | |
| 43 | ## Done when |
| 44 | |
| 45 | - Every checklist item was evaluated with evidence (file:line or command output) |
| 46 | or explicitly marked n/a with the reason. |
| 47 | - The fixed-format block above is returned — nothing more, nothing less — and |
| 48 | no code was changed. |