Loading...
Loading...
Technical debt inventory, prioritization, and audit for PHP/Laravel (MySQL) and Node/TypeScript/React projects. Use when assessing code health, identifying refactoring candidates, planning debt paydown, or auditing a codebase for accumulated debt. Triggers on "audit technical debt", "find tech debt", "debt inventory", "what should we refactor first", or tasks involving code health, security debt, performance debt, data debt, observability debt, debt prioritization, or remediation planning.
npx skill4agent add asyrafhussin/agent-skills technical-debt$ARGUMENTScomposer.jsonpackage.jsoncomposer outdatednpm outdatedphpstaneslintknipfile:linenpm auditcomposer auditpackage.jsoncomposer.jsonRoute::get()TODOFIXMEHACK@deprecated## Technical Debt Ledger
| # | Category | Item | File / Location | Effort | Impact | Priority |
|---|----------|------|-----------------|--------|--------|----------|
| 1 | deps | jQuery 1.12 (8y old, 3 CVEs) | package.json:14 | L | CRITICAL | P0 |
| 2 | code | OrderService god class (820 lines) | app/Services/OrderService.php | M | HIGH | P1 |
| 3 | test | 12 disabled tests in auth/ | tests/Feature/Auth/* | S | HIGH | P1 |
...
## Summary
- **PASS:** X checks
- **FAIL:** Y checks
- **N/A:** Z checks
- **Top 3 to pay down first:** (list highest-priority items with rationale)P0 = CRITICAL impactP1 = HIGH impactP2 = MEDP3 = LOW| Signal | Stack | Tooling |
|---|---|---|
| PHP / Laravel | |
| Node / JS / TS / React | |
| MySQL connection available | Database | |
| any repo | Secrets scan | |
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Code Debt | CRITICAL | |
| 2 | Security Debt | CRITICAL | |
| 3 | Design Debt | HIGH | |
| 4 | Dependency Debt | HIGH | |
| 5 | Test Debt | HIGH | |
| 6 | Performance Debt | HIGH | |
| 7 | Data Debt | HIGH | |
| 8 | Documentation Debt | MEDIUM | |
| 9 | Infrastructure Debt | MEDIUM | |
| 10 | Process Debt | MEDIUM | |
code-duplicationcode-complexitycode-long-functionscode-god-classescode-dead-codecode-magic-numberscode-long-parameter-listssecurity-secrets-in-codesecurity-input-validationsecurity-auth-hardeningdesign-tight-couplingdesign-circular-depsdesign-leaky-abstractionsdesign-shotgun-surgerydeps-outdated-versionsdeps-abandoned-packagesdeps-security-advisoriesdeps-unused-depstest-coverage-gapstest-flaky-teststest-disabled-teststest-slow-testsperf-n-plus-oneperf-missing-paginationperf-bundle-bloatperf-no-cachingdata-schema-driftdata-missing-indexesdata-orphaned-recordsdocs-stale-commentsdocs-outdated-architecturedocs-undocumented-apiinfra-runtime-versionsinfra-deprecated-apisinfra-build-warningsinfra-secrets-managementinfra-monitoring-gapsprocess-todo-fixme-agingprocess-deprecated-markers@deprecatedprocess-debt-trackingprocess-ownership-gapsprocess-feature-flags-lingering| # | Category | Item | Location | Effort | Impact | Priority |
|---|----------|-------------------------------|-----------------------|--------|----------|----------|
| 1 | deps | guzzle 6.x (5y behind) | composer.json:18 | M | HIGH | P1 |
| 2 | code | InvoiceService dup logic | app/Services/Invoice* | S | MEDIUM | P2 |
| 3 | test | 8 skipped tests in checkout/ | tests/Feature/Checkout| S | HIGH | P1 | LOW MEDIUM HIGH CRITICAL
S (<1d) → P3 P2 P1 P0
M (1-5d) → P3 P2 P1 P0
L (>1w) → P3 P3 P2 P1 (break down)# PHP / Laravel
composer outdated --direct # list outdated direct deps
composer audit # known CVEs
vendor/bin/phpstan analyse # static analysis
vendor/bin/phpmd app text cleancode # mess detector
# Node / TS
npm outdated # list outdated deps
npm audit # known CVEs
npx depcheck # unused deps
npx tsc --noEmit # type errors
npx eslint . --max-warnings 0 # lint warnings
# Cross-language
git log --since="6 months ago" --diff-filter=A -p | grep -E "TODO|FIXME|HACK"
cloc . # lines of code per languagerules/code-duplication.md
rules/design-circular-deps.md
rules/deps-outdated-versions.md
rules/test-flaky-tests.md
rules/process-todo-fixme-aging.mdAGENTS.md