techdebt
Analyze branch changes for technical debt, code duplication, and unnecessary complexity
Works with
Agent Skills format with YAML frontmatter. Claude Code reads it as-is.
---
name: "techdebt"
description: "Analyze branch changes for technical debt, code duplication, and unnecessary complexity"
license: "Apache-2.0"
---
# 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 issuesMore General & Other skills
find-skills
vercel-labs/skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.

