techdebt

Detect duplicated code, dead code, and unnecessary abstractions with file:line references.

9|2|Updated Jan 29, 2026
One-click install
npx skills add https://github.com/aromanarguello/roman-skills --skill techdebt-aromanarguello
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: techdebt
Source: https://github.com/aromanarguello/roman-skills/tree/main/techdebt
Command: npx skills add https://github.com/aromanarguello/roman-skills --skill techdebt-aromanarguello

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Identifies, prioritizes, and helps eliminate duplicated code, dead code, and unnecessary abstractions so teams can reduce technical debt before it slows development or introduces regressions.

Core Features & Use Cases

  • Detects copy-paste duplications, similar function bodies, repeated literals, and parallel control structures across the codebase.
  • Finds dead code such as unused imports, unreachable paths, commented-out blocks, and exports that are never imported, and surfaces over-abstractions that add unnecessary indirection.
  • Use case: Run at the end of a coding session, after implementing multiple related features, or before a major refactor to get a prioritized list of fixes with file:line references and suggested changes.

Quick Start

Run the techdebt skill on the current git session to list duplications, dead code, over-abstractions, and suggested fixes.

Frequently Asked Questions about techdebt

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find and remove duplicate code in my codebase?

To find and remove duplicate code, run a static analysis scan that detects copy-paste duplications, similar function bodies, and repeated literals. The tool provides file:line references and concrete fix suggestions for interactive application.

What is the best way to identify dead code and unused imports before a refactor?

The best way to identify dead code and unused imports before a refactor is to perform a full repository scan. This surfaces unreachable paths, commented-out blocks, and exports that are never imported, producing a prioritized list of findings with file:line references.

How do I detect unnecessary abstractions and over-engineered code structures?

You can detect unnecessary abstractions and over-engineered code structures by running a code analysis tool that surfaces indirection adding no value. The scan prioritizes these findings alongside dead code and duplications, offering concrete suggestions to simplify the codebase.

Can I scan only modified files in my current git session for technical debt?

Yes, you can scan only modified files in your current git session for technical debt. The tool applies directly to pending changes to list duplications, dead code, and over-abstractions without requiring a full repository scan.

How do I verify that removing dead code doesn't introduce regressions?

You verify that removing dead code doesn't introduce regressions through test-based regression verification. After interactively selecting and applying fixes, the process runs tests to ensure the suggested changes do not break existing functionality.

When should I run a code analysis scan for technical debt?

You should run a code analysis scan for technical debt at the end of a coding session, after implementing multiple related features, or before a major refactor. This helps reduce clutter and prevent regressions when the codebase feels overloaded.