# Techdebt

> 技術的負債の検出と修正提案。重複コード、TODOコメント、未使用import、複雑度の高い関数を検出。トリガー: /techdebt, 技術的負債, コード品質チェック

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

---


# 技術的負債レポーター

コードベースの技術的負債を検出し、優先度付きのレポートを生成します。

## 検出項目

### 1. TODOコメント
```bash
# 検出パターン
grep -rn "TODO\|FIXME\|HACK\|XXX\|TEMP" --include="*.ts" --include="*.js" --include="*.py" --include="*.go" --include="*.rb"
```

### 2. 重複コード
- 類似パターンの検出（5行以上の重複）
- コピペの痕跡

### 3. 未使用コード
- 未使用の import/require
- 未使用の変数・関数・クラス
- デッドコード（到達不能なコード）

### 4. 長すぎる関数
- 100行以上の関数を検出
- パラメータが6個以上の関数

### 5. 深いネスト
- 4階層以上のネストを検出
- 複雑な条件分岐

### 6. マジックナンバー
- 意味不明な数値リテラル
- ハードコードされた文字列

### 7. 古い依存関係
- package.json / go.mod / requirements.txt の outdated チェック
- セキュリティ脆弱性のある依存

## 実行フロー

1. 対象ディレクトリを特定（引数がなければ src/ または現在ディレクトリ）
2. 各検出項目を並列で実行
3. 結果を集計・優先度付け
4. レポートを生成

## 優先度の基準

| 優先度 | 条件 |
|--------|------|
| 高 | セキュリティリスク、本番障害の可能性 |
| 中 | 保守性低下、バグの温床になりやすい |
| 低 | コード品質向上、リファクタリング推奨 |

## 出力形式

```markdown
## 技術的負債レポート

**スキャン日時**: YYYY-MM-DD HH:MM
**対象**: <directory>
**ファイル数**: N files

---

### サマリー

| カテゴリ | 件数 | 優先度高 | 優先度中 | 優先度低 |
|---------|------|---------|---------|---------|
| TODO | 5 | 1 | 2 | 2 |
| 重複コード | 3 | 0 | 3 | 0 |
| 未使用コード | 8 | 0 | 2 | 6 |
| 長い関数 | 2 | 0 | 2 | 0 |
| 深いネスト | 4 | 1 | 3 | 0 |
| マジックナンバー | 6 | 0 | 0 | 6 |

**合計**: 28件 (高:2, 中:12, 低:14)

---

### 詳細

#### TODO (5件)

| ファイル | 行 | 内容 | 優先度 |
|---------|-----|------|-------|
| src/api.ts | 45 | TODO: エラーハンドリング追加 | 高 |
| src/util.ts | 12 | FIXME: レースコンディション | 中 |

#### 重複コード (3件)

| 場所1 | 場所2 | 行数 | 優先度 |
|-------|-------|------|-------|
| src/a.ts:10-30 | src/b.ts:45-65 | 20行 | 中 |

#### 長い関数 (2件)

| ファイル | 関数名 | 行数 | 優先度 |
|---------|--------|------|-------|
| src/handler.ts | processRequest | 150行 | 中 |

---

### 改善推奨度

⭐⭐⭐⭐ (対応を強く推奨)

### 次のアクション

1. [高] src/api.ts:45 のエラーハンドリングを追加
2. [高] src/handler.ts:78 の深いネストをリファクタリング
3. [中] 重複コード3箇所を共通関数に抽出
```

## 使用方法

```
/techdebt              # 現在のプロジェクト全体をスキャン
/techdebt src/         # src/ ディレクトリのみ
/techdebt --high-only  # 優先度高のみ表示
```

## 注意事項

- 大規模プロジェクトでは時間がかかる場合がある
- 検出結果はヒューリスティクスに基づくため、誤検出の可能性がある
- 自動修正は行わない（レポートのみ）

