Official agent skill

Techdebt

by DataDog in DataDog/dd-trace-java

Review a code diff / branch / PR for technical debt — code duplication, unnecessary complexity / over-engineering, and redundant or dead code.

OfficialApache-2.0Auto-check: notesDevelopment

Install Techdebt

skills CLI
$ npx skills add DataDog/dd-trace-java --skill techdebt -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install DataDog/dd-trace-java techdebt --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/DataDog/dd-trace-java.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/techdebt .claude/skills/techdebt && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
techdebt
GitHub stars
736
Token cost
~565 tokens
SKILL.md length
168 words
Files
1
Skills in repo
9
Repo updated
First seen
Licence
Apache-2.0

At a glance

Review a code diff / branch / PR for technical debt — code duplication, unnecessary complexity / over-engineering, and redundant or dead code.

  • Works in 3 steps: Get Branch Changes → Analyze for Issues → Report and Fix
  • The user wants a tech-debt
  • Calls git
  • Refactor review

What it does

Techdebt is an agent skill from DataDog/dd-trace-java, published by the product's own GitHub organization. Review a code diff / branch / PR for technical debt — code duplication, unnecessary complexity / over-engineering, and redundant or dead code. Use whenever the user wants a tech-debt, cleanup, or refactor review, asks to check a branch or PR for duplication / complexity / dead code before opening a PR, or mentions "techdebt". Refactor-only: it reports issues and offers behavior-preserving fixes; it never changes behavior.

Its SKILL.md is about 570 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Technical debt, Code simplification and Refactoring. It works with Datadog. The repository describes itself as: Datadog APM client for Java. The licence is Apache-2.0.

When your agent uses it

  • The user wants a tech-debt
  • Refactor review
  • Asks to check a branch
  • PR for duplication / complexity / dead code before opening a PR

Example prompts

  • “techdebt”
  • “/techdebt”

Requirements

  • Pre-approved tools (allowed-tools): Bash, Read, Grep, Glob

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Get Branch Changes
  2. Analyze for Issues
  3. Report and Fix

What it can do on your machine

Read from SKILL.md and the folder at commit 89321ee. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read
    • Grep
    • Glob

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Techdebt loads about 565 tokens when it runs. Until then it costs about 109 tokens; SKILL.md has 168 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~109
When it runs · the whole SKILL.md, loaded when a task matches
~565

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read, Grep, Glob

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from DataDog/dd-trace-java at commit 89321ee, republished under its Apache-2.0 licence (© DataDog). 168 words, ~565 tokens.

Download SKILL.mdSave it as .claude/skills/techdebt/SKILL.md (or your agent's skills folder).
name
techdebt
description
Review a code diff / branch / PR for technical debt — code duplication, unnecessary complexity / over-engineering, and redundant or dead code. Use whenever the user wants a tech-debt, cleanup, or refactor review, asks to check a branch or PR for duplication / complexity / dead code before opening a PR, or mentions "techdebt". Refactor-only: it reports issues and offers behavior-preserving fixes; it never changes behavior.
allowed-tools
Bash, Read, Grep, Glob
user-invocable
true
context
fork

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

© DataDog, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/techdebt of DataDog/dd-trace-java.

Open the folder on GitHubat commit 89321ee

Compare with similar skills

Techdebt next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Techdebt compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Techdebt this skillDataDog/dd-trace-java736—~565Automated safety check: NotesApache-2.0
Code Simplification for ego-litecitrolabs/ego-lite17k—~1.2kAutomated safety check: PassMIT
Codebase Health Refactoringkucherenko/jscpd6.3k—~2.5kAutomated safety check: PassMIT
DRY Refactoring With jscpdkucherenko/jscpd6.3k—~2.1kAutomated safety check: PassMIT
Dead Code Removal with Knipshift-editor/shift343—~1.8kAutomated safety check: PassApache-2.0
Code RefinerMathews-Tom/armory327—~3.1kAutomated safety check: PassMIT

Similar skills

  • Finds and implements evidence-backed simplifications in the ego-lite repository, such as dead code, duplicated state and speculative abstractions, without hiding behavior changes.

    17k GitHub stars~1.2k tokensUpdated 14 days ago
    DevelopmentAuto-check passed
  • A three-part cleanup guided by jscpd: measure health, then fix duplicated code, remove dead code and simplify the most complex files, finishing by re-measuring the score.

    6.3k GitHub stars~2.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Removes copy-paste duplication found by jscpd, starting with exact clones and hotspots, then renamed and near-miss copies, using proven refactoring strategies.

    6.3k GitHub stars~2.1k tokensUpdated today
    DevelopmentAuto-check passed
  • Dead Code Removal with Knip

    shift-editor/shift

    Finds unused files, exports and class members with Knip, then verifies each candidate through reference tracing before removing anything, never using knip --fix.

    343 GitHub stars~1.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Code Refiner

    Mathews-Tom/armory

    Deep code simplification and refactoring preserving behavior across Python, Go, TypeScript, Rust.

    327 GitHub stars~3.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Systematic Code Refactoring

    luongnv89/claude-howto

    Guides refactoring in phases based on Martin Fowler's method: research, test coverage check, planning and small tested steps, with your approval at each phase.

    42k GitHub stars~3k tokensUpdated 7 days ago
    DevelopmentAuto-check passed

More from DataDog/dd-trace-java

All 9 skills in this repo
  • Apm Integrations

    DataDog/dd-trace-java

    Official

    Write a new library instrumentation end-to-end. An agent skill from DataDog/dd-trace-java.

    736 GitHub stars~3.7k tokensUpdated today
    Auto-check: notes
  • Perf Review

    DataDog/dd-trace-java

    Official

    Performance-overhead review of a code diff / branch / PR for the dd-trace-java tracer.

    736 GitHub stars~3.6k tokensUpdated today
    Auto-check: notes
  • Resolve Muzzle CI

    DataDog/dd-trace-java

    Official

    Diagnose and resolve dd-trace-java CI failures from a module's muzzle task or the runMuzzle aggregate.

    736 GitHub stars~3.2k tokensUpdated today
    Auto-check passed
  • Fix Continuation Leakage

    DataDog/dd-trace-java

    Official

    Diagnose and fix scope or continuation lifecycle failures in dd-trace-java instrumentation tests.

    736 GitHub stars~1.6k tokensUpdated today
    Auto-check: notes
  • Clarify Java Comments

    DataDog/dd-trace-java

    Official

    Clarify or review Java Javadocs, Javadoc tags, and explanatory code comments for legibility, accuracy, and source alignment.

    736 GitHub stars~2.3k tokensUpdated today
    Auto-check: notes
  • Migrate Groovy To Java

    DataDog/dd-trace-java

    Official

    Converts Spock/Groovy test files in a Gradle module to equivalent JUnit 5 Java tests.

    736 GitHub stars~1.3k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Techdebt

What does Techdebt do?

Review a code diff / branch / PR for technical debt — code duplication, unnecessary complexity / over-engineering, and redundant or dead code. Techdebt is an agent skill from DataDog/dd-trace-java, published by the product's own GitHub organization. Review a code diff / branch / PR for technical debt — code duplication, unnecessary complexity / over-engineering, and redundant or dead code.

When should I use Techdebt?

Techdebt fits situations like: the user wants a tech-debt; refactor review; asks to check a branch; PR for duplication / complexity / dead code before opening a PR.

How do I install Techdebt in Claude Code?

Run `npx skills add DataDog/dd-trace-java --skill techdebt -a claude-code`. Or copy the skill folder (.agents/skills/techdebt in DataDog/dd-trace-java) into .claude/skills/techdebt in your project. Claude Code loads it when a task matches its description.

How do I install Techdebt in Codex?

Run `npx skills add DataDog/dd-trace-java --skill techdebt -a codex`. Or copy the skill folder (.agents/skills/techdebt in DataDog/dd-trace-java) into .agents/skills/techdebt in your project. Codex loads it when a task matches its description.

Can I use Techdebt in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add DataDog/dd-trace-java --skill techdebt -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/techdebt, .gemini/skills/techdebt, .github/skills/techdebt and .opencode/skills/techdebt in your project.

What does Techdebt need to run?

Going by SKILL.md and its folder, Techdebt needs the command-line tools its instructions call (git). Its frontmatter pre-approves these tools: Bash, Read, Grep, Glob.

Does Techdebt access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Techdebt safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Techdebt use?

Techdebt is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Techdebt use?

About 565 tokens (SKILL.md is roughly 2.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Techdebt?

Skills that share tags, products or a category with Techdebt: Code Simplification for ego-lite (citrolabs/ego-lite, 17k stars), Codebase Health Refactoring (kucherenko/jscpd, 6.3k stars), DRY Refactoring With jscpd (kucherenko/jscpd, 6.3k stars) and Dead Code Removal with Knip (shift-editor/shift, 343 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Techdebt?

DataDog (a GitHub organization, an official publisher) maintains it in DataDog/dd-trace-java, which has 736 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 7, 2026.

Source: DataDog/dd-trace-java on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.