# Techdebt

> Analyze branch changes for technical debt, code duplication, and unnecessary complexity Use when this capability is needed.

- Skill: `tomevault-io/techdebt-2` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/techdebt-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/techdebt-2/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/techdebt-2

---


# 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:

```bash
# 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

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/datadog) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-11 -->

