mcpField
T
techdebt

techdebt

github.com/datadogDevelopment73847 installsUpdated today
Repository

About techdebt

A skill for reviewing the current branch for technical debt, duplication, and unnecessary complexity. It guides agents to inspect changes in context, report issues with file and line references, and ask before making behavior-preserving refactors.

Key features

  1. 01Compare branch changes with merge-base
  2. 02Read modified source in context
  3. 03Find duplication and dead code
  4. 04Report file and line references
  5. 05Request approval before refactoring

Use cases

  1. 01Reviewing a branch before merge
  2. 02Locating redundant logic in changed files
  3. 03Assessing whether a proposed cleanup can preserve behavior

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/datadog/dd-trace-java --skill techdebt

After installing, type/techdebtin Claude Code to confirm it loaded.

Details

From the project README

Techdebt Cleanup Skill

Analyze changes on the current branch to identify and fix technical debt, code duplication, and unnecessary complexity.

Instructions

Step 1: Get Branch Changes

Find the merge-base (where this branch diverged from master) and compare against it:

# Find upstream (DataDog org repo)
UPSTREAM=$(git remote -v | grep -E 'DataDog/[^/]+(.git)?\s' | head -1 | awk '{print $1}')
if [ -z "$UPSTREAM" ]; then
  echo "No DataDog upstream found, using origin"
  UPSTREAM="origin"
fi

# Find the merge-base (commit where this branch diverged from master)
MERGE_BASE=$(git merge-base HEAD ${UPSTREAM}/master)
echo "Comparing changes introduced on this branch since diverging from master using base commit: $MERGE_BASE"

git diff $MERGE_BASE --stat
git diff $MERGE_BASE --name-status

If no changes exist, inform the user and stop.

If changes exist, read the diff and the full content of modified source files (not test files) to understand context.

Step 2: Analyze for Issues

Look for:

Code Duplication

  • Similar code blocks that should be extracted into shared functions
  • Copy-pasted logic with minor variations

Unnecessary Complexity

  • Over-engineered solutions (abstractions used only once)
  • Excessive indirection or layers
  • Backward compatibility shims that aren't needed

Redundant Code

  • Dead code paths
  • Overly defensive checks for impossible scenarios
Step 3: Report and Fix

Present a concise summary of issues found with file:line references.

Then ask the user if they want you to fix the issues. When fixing:

  • Make one logical change at a time
  • Do NOT change behavior, only refactor
  • Skip trivial or stylistic issues

Comments

Markdown supported