Skip to content
Back to skills

Techdebt

ASecurity

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".

  • 25 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added June 6, 2026
developmentpythongobashnode

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 2 files and shows the line behind each finding

Scanned June 6, 2026

npx -y skills add matteocervelli/llms --skill techdebt --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Techdebt?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Techdebt
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/matteocervelli-techdebt/badge)](https://www.skillsdirectory.com/skills/matteocervelli-techdebt)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: techdebt
description: 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".
allowed-tools: Read, Bash, Grep, Glob
---

# Tech Debt Finder

## Purpose

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

## Quick Start

```bash
/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
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):

| Check            | Python           | JS/TS        |
| ---------------- | ---------------- | ------------ |
| Duplicates       | pylint           | jscpd        |
| Dead code        | vulture          | ts-prune     |
| Complexity/size  | radon            | eslint       |
| Circular imports | pycycle          | madge        |
| TODOs            | grep (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

Files in this skill

  • SKILL.md2.7 KB
  • scripts/scan.sh3.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.