This skill scans codebases to identify and fix technical debt including duplicated code, dead code, outdated patterns, and code smells. It generates reports with file paths, line numbers, and severity ratings, then applies fixes with atomic commits. Developers should run it at the end of sessions to clean up code quality issues.
Recursos
1Instal·la
npx skillscat add brycewang-stanford/auto-empirical-research-skills/techdebt Instal·la des del registre de SkillsCat.
This skill scans codebases to identify and fix technical debt including duplicated code, dead code, outdated patterns, and code smells. It generates reports with file paths, line numbers, and severity ratings, then applies fixes with atomic commits. Developers should run it at the end of sessions to clean up code quality issues.
Technical Debt Finder
Identify and fix technical debt in the codebase.
What to Look For
Code Duplication
- Functions with similar logic that could be consolidated
- Copy-pasted code blocks
- Repeated patterns that should be abstracted
Dead Code
- Unused imports
- Unused functions or classes
- Commented-out code blocks
- Unreachable code paths
Outdated Patterns
- Deprecated API usage
- Old-style string formatting (% or .format) vs f-strings
- Type hints using
typing.Listinstead oflist - Missing type hints on public functions
Code Smells
- Functions longer than 50 lines
- Too many parameters (more than 5)
- Deep nesting (more than 3 levels)
- Magic numbers without constants
- Overly complex conditionals
Missing Best Practices
- Missing docstrings on public functions
- Missing error handling
- Hardcoded values that should be config
- Missing tests for critical paths
Workflow
Scan the Codebase
- Look for patterns matching the issues above
- Prioritize by impact and ease of fix
Report Findings
- List issues by category
- Include file paths and line numbers
- Estimate severity (high/medium/low)
Fix Issues
- Start with high-severity, easy fixes
- Create atomic commits for each fix
- Run tests after each change
Verify
- Run linter:
ruff check . - Run tests:
pytest - Ensure no new issues introduced
- Run linter:
Arguments
Optionally specify a directory or file to focus on.
Usage:
/techdebt- Scan entire project/techdebt src/- Scan specific directory/techdebt src/utils.py- Scan specific file
Output
Provide a summary of:
- Issues found (by category)
- Issues fixed
- Remaining items for future sessions