mcpField
T
techdebt

techdebt

github.com/datadog開発73847 回インストール今日更新
リポジトリ

techdebt について

現在のブランチにある技術的負債、重複、不必要な複雑さを調べるスキルです。エージェントに変更を文脈とともに確認させ、ファイルと行番号を示して報告し、挙動を変えないリファクタリングの前に承認を求めます。

主な機能

  1. 01マージベースを基準に変更を比較
  2. 02変更されたソースを文脈とともに確認
  3. 03重複処理や不要なコードを検出
  4. 04ファイル名と行番号を提示
  5. 05リファクタリング前に承認を確認

活用シーン

  1. 01マージ前のブランチレビュー
  2. 02変更ファイル内の冗長な処理の特定
  3. 03挙動を保てる整理方法の検討

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/techdebtを入力して読み込まれたか確認します。

詳細

Techdebt Cleanup Skill

現在のブランチの変更を分析し、技術的負債、コードの重複、不要な複雑さを特定して解消します。

手順

ステップ 1:ブランチの変更を取得する

このブランチが master から分岐した地点であるマージベースを特定し、そこからの変更を比較します。

# 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

変更がない場合は、ユーザーにその旨を伝えて終了します。

変更がある場合は、差分と、変更されたソースファイルの全内容(テストファイルを除く)を読み、文脈を把握します。

ステップ 2:問題を分析する

次の点を確認します。

コードの重複

  • 共通関数に切り出すべき類似のコードブロック
  • わずかな違いしかないコピー&ペーストされたロジック

不要な複雑さ

  • 過剰に設計された解決策(1 回しか使われない抽象化)
  • 過剰な間接化やレイヤー
  • 不要な後方互換性のためのシム

冗長なコード

  • 到達不能なコードパス
  • 起こり得ない状況に対する過剰な防御的チェック
ステップ 3:報告して修正する

見つかった問題を、ファイル名と行番号を添えて簡潔にまとめます。

次に、問題を修正するかユーザーに確認します。修正する場合:

  • 論理的な変更を一度に 1 つ行います
  • 動作は変更せず、リファクタリングのみを行います
  • 些細な問題やスタイル上の問題はスキップします

コメント