Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Scan codebases for technical debt with AST parsing, prioritize by impact, and generate trend dashboards. Use when tracking tech debt, prioritizing refactoring, calculating cost-of- delay, planning sprint debt, or reporting debt to execs.
.claude/skills/borghei-tech-debt-tracker/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | -21% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 83% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -8% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 32% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 84% | 0% |
The agent identifies, scores, prioritizes, and tracks technical debt across codebases using AST parsing, cost-of-delay analysis, and trend dashboards.
Impact x Frequency) and cost of delay (Interest x Sprints x Team Multiplier); also WSJF and RICE frameworks.Before scanning or reporting, confirm these inputs. If any is unknown or vague, ASK — do not assume:
--framework, --team-size; changes the ranking and sprint allocation)Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
| Tool | Purpose | Command | |------|---------|---------| | debt_scanner.py | Scan a directory for debt signals; output JSON inventory + text report | python scripts/debt_scanner.py <dir> --output scan_results --format both | | debt_prioritizer.py | Enrich inventory with cost-of-delay/WSJF/RICE and sprint allocation | python scripts/debt_prioritizer.py scan_results.json --framework wsjf --team-size 8 | | debt_dashboard.py | Trend analysis, velocity, forecasts, and exec summary across snapshots | python scripts/debt_dashboard.py --input-dir ./debt_scans/ --period quarterly |
Load the reference that matches the task — keep this file lean and pull detail on demand:
Also see the skill-root REFERENCE.md for the Technical Debt Quadrant (Fowler) and the implementation roadmap phases.
This skill covers:
This skill does NOT cover:
engineering/performance-profiler and engineering/observability-designer for those concerns.engineering/dependency-auditor for security-focused dependency review.engineering/database-schema-designer, engineering/api-design-reviewer, and engineering/migration-architect for those domains.| Skill | Integration | Data Flow | |-------|-------------|-----------| | engineering/dependency-auditor | Feed dependency audit findings into the scanner as dependency_debt items to unify all debt in one inventory. | Dependency audit JSON -> scanner config or manual merge into debt_inventory.json | | engineering/performance-profiler | Correlate performance hotspots with high-complexity debt items to prioritize refactoring that yields both quality and speed gains. | Profiler hotspot report -> cross-reference with scanner output by file path | | engineering/ci-cd-pipeline-builder | Add debt_scanner.py as a CI pipeline step to fail builds when health score drops below a threshold or critical debt count increases. | Scanner JSON output -> CI gate condition on summary.health_score | | engineering/pr-review-expert | Surface relevant debt items during code review by querying the debt inventory for files touched in a pull request. | PR changed-files list -> filter debt_inventory.json by file_path | | engineering/observability-designer | Map infrastructure debt items (missing monitoring, env inconsistencies) to observability gaps identified by the observability skill. | Dashboard category_distribution -> observability gap analysis | | engineering/migration-architect | Use the prioritized backlog to scope and sequence large-scale migration efforts, especially for architecture-category debt rated as planned initiatives. | Prioritizer sprint_allocation -> migration planning timeline |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 26,804 | 33,684 | +26% | 1 | 1 | 0% | 3,869 | 7,805 | +102% | 0 | 0 | — |
case-02 | fail→fail | 6,651 | 24,989 | +276% | 1 | 1 | 0% | 527 | 5,327 | +911% | 0 | 0 | — |
case-03 | fail→pass | 26,512 | 10,110 | -62% | 1 | 1 | 0% | 4,166 | 3,272 | -21% | 0 | 0 | — |
case-04 | fail→pass | 7,707 | 3,881 | -50% | 1 | 1 | 0% | 1,202 | 2,196 | +83% | 0 | 0 | — |
case-05 | fail→pass | 12,927 | 2,264 | -82% | 1 | 1 | 0% | 2,127 | 1,954 | -8% | 0 | 0 | — |
case-06 | fail→pass | 13,433 | 5,342 | -60% | 1 | 1 | 0% | 1,864 | 2,454 | +32% | 0 | 0 | — |
case-07 | pass→pass | 16,262 | 34,010 | +109% | 1 | 1 | 0% | 2,436 | 6,710 | +175% | 0 | 0 | — |
case-08 | pass→pass | 4,438 | 2,488 | -44% | 1 | 1 | 0% | 797 | 2,038 | +156% | 0 | 0 | — |
case-09 | fail→pass | 9,162 | 7,134 | -22% | 1 | 1 | 0% | 1,436 | 2,642 | +84% | 0 | 0 | — |
case-10 | pass→pass | 6,850 | 10,215 | +49% | 1 | 1 | 0% | 991 | 3,028 | +206% | 0 | 0 | — |
case-11 | pass→pass | 9,441 | 9,609 | +2% | 1 | 1 | 0% | 1,486 | 3,019 | +103% | 0 | 0 | — |
case-12 | fail→pass | 20,901 | 8,434 | -60% | 1 | 1 | 0% | 2,995 | 2,789 | -7% | 0 | 0 | — |
case-13 | fail→pass | 11,206 | 4,259 | -62% | 1 | 1 | 0% | 1,705 | 2,299 | +35% | 0 | 0 | — |
case-14 | fail→pass | 20,411 | 16,164 | -21% | 1 | 1 | 0% | 2,998 | 3,950 | +32% | 0 | 0 | — |
case-15 | fail→pass | 17,963 | 13,352 | -26% | 1 | 1 | 0% | 2,449 | 3,752 | +53% | 0 | 0 | — |
case-16 | pass→pass | 19,080 | 18,265 | -4% | 1 | 1 | 0% | 2,644 | 4,304 | +63% | 0 | 0 | — |
case-17 | pass→pass | 15,825 | 10,131 | -36% | 1 | 1 | 0% | 2,206 | 2,978 | +35% | 0 | 0 | — |
case-18 | pass→pass | 8,720 | 3,448 | -60% | 1 | 1 | 0% | 1,315 | 2,158 | +64% | 0 | 0 | — |
case-19 | fail→pass | 5,506 | 6,041 | +10% | 1 | 1 | 0% | 441 | 2,477 | +462% | 0 | 0 | — |
case-20 | fail→pass | 17,638 | 6,903 | -61% | 1 | 1 | 0% | 2,783 | 2,582 | -7% | 0 | 0 | — |
case-21 | fail→pass | 4,746 | 10,350 | +118% | 1 | 1 | 0% | 670 | 3,182 | +375% | 0 | 0 | — |
case-22 | fail→pass | 10,547 | 7,037 | -33% | 1 | 1 | 0% | 1,566 | 2,620 | +67% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +59 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.