Technical Debt Trade-offs
Engineering says the payments module is held together with tape. Product hears that every quarter and, every quarter, ships the feature instead — because the feature has a customer attached and the refactor has a bad feeling attached. It is not that anyone is wrong. It is that one side of the argument comes with a revenue number and the other comes with a metaphor about tape.
The cost is real, though, and it leaves fingerprints: bug tickets clustering in the same files, estimates on that module running double, incidents that keep having the same root cause. Skynet reads across the tracker, the incident history, and the repository activity and turns those fingerprints into a number you can put next to the feature’s number.
How it works
Find where time is actually going
The agent connects your issue tracker and repo history and looks for the clusters — the areas absorbing bug fixes, reopened tickets, and estimate overruns. Debt reveals itself in where the hours disappear.
Price the interest
For each cluster it estimates the ongoing cost: engineering days per quarter, incident frequency, the drag on anything new that has to touch it. That is the number the refactor is competing with.
Score it next to the features
Debt items go into the same ranking as feature work, on the same criteria. A refactor that unblocks three roadmap items and saves a week a month competes honestly instead of living on a separate list nobody reads.
Propose the split
The agent suggests a capacity split for the quarter and shows what each option costs — what shipping slower buys you, and what deferring costs next year. You choose; it just makes both sides legible.
Build it from a prompt
One instruction turns the recurring argument into a recurring analysis.
What changes is the quality of the conversation. Engineering stops having to argue from conviction, product stops having to take it on faith, and the decision to defer becomes explicit and priced rather than automatic and silent.