agentskills.codes

Detect technical debt — duplicated code, dead code, TODOs, and oversized functions across the codebase. Use at the end of a session or when auditing code hygiene. Trigger on "find tech debt", "any dead code", "duplicated code", "code hygiene", "techdebt".

Install

mkdir -p .claude/skills/techdebt && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/15448" && unzip -o skill.zip -d .claude/skills/techdebt && rm skill.zip

Installs to .claude/skills/techdebt

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Detect technical debt — duplicated code, dead code, TODOs, and oversized functions across the codebase. Use at the end of a session or when auditing code hygiene. Trigger on "find tech debt", "any dead code", "duplicated code", "code hygiene", "techdebt".
255 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)

About this skill

Tech Debt Finder

Purpose

Surface technical debt patterns before they accumulate: duplicates, dead code, complexity hotspots, TODOs, oversized files.

Quick Start

/techdebt              # scan current directory
/techdebt src/         # scan specific path
/techdebt --duplicates # only duplicate check
/techdebt --todos      # only TODO/FIXME markers
/techdebt --dead-code  # only dead code

How to Run

Execute the scan script — it auto-detects Python/JS/TS and skips missing tools:

bash $CLAUDE_SKILL_DIR/scripts/scan.sh [path] [filter-flag]

Then interpret and report the output using the Output Format below. The script handles tool invocation; your job is to classify findings by severity and suggest fixes.

Output Format

Produce a # Tech Debt Report with:

  1. Summary table — category, count, severity (Low / Medium / High)
  2. Details per category — file, line, symbol, suggestion
  3. Quick Fixes — any automatable repairs (ruff --fix, eslint --fix)
  4. Recommended Actions — prioritized: Immediate / This week / Backlog

Severity thresholds: duplicates (Low ≤2, Medium 3-5, High >5), dead code (Low ≤5, High >10), large functions (Medium >75 lines, High >100), large files (High >1000 lines), complexity CC >10 (Medium).

Tool Reference

Tools the script uses (installed = runs; missing = skipped with note):

CheckPythonJS/TS
Duplicatespylintjscpd
Dead codevulturets-prune
Complexity/sizeradoneslint
Circular importspycyclemadge
TODOsgrep (no dep)grep (no dep)

Install missing tools: uv add --dev vulture radon pylint / npm install -D jscpd ts-prune madge

Gotchas

  • .venv, node_modules, dist, __pycache__ are auto-excluded by the scan script
  • pylint --enable=duplicate-code is slow on large codebases; warn if scanning >500 files
  • ts-prune only works from the project root (needs tsconfig.json); run from a sub-path → 0 findings
  • radon cc = per-function cyclomatic complexity; radon raw = per-file LOC — different output formats
  • Deprecated registry dependency check requires ~/.claude/docs/development/registry.yaml; skip silently if absent

Search skills

Search the agent skills registry