techdebt について
現在のブランチにある技術的負債、重複、不必要な複雑さを調べるスキルです。エージェントに変更を文脈とともに確認させ、ファイルと行番号を示して報告し、挙動を変えないリファクタリングの前に承認を求めます。
主な機能
- 01マージベースを基準に変更を比較
- 02変更されたソースを文脈とともに確認
- 03重複処理や不要なコードを検出
- 04ファイル名と行番号を提示
- 05リファクタリング前に承認を確認
活用シーン
- 01マージ前のブランチレビュー
- 02変更ファイル内の冗長な処理の特定
- 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 つ行います
- 動作は変更せず、リファクタリングのみを行います
- 些細な問題やスタイル上の問題はスキップします
コメント
Markdown 対応