migration-sweep

SKILL.md

Migration Sweep

移行コード(TODO(migration))の寿命チェックを機械化するスキル。 期限切れ・情報不足の移行コードを検出し、レポート形式で出力する。

トリガー

  • ユーザーが /migration-sweep を実行
  • "移行コード", "migration TODO", "期限切れTODO" に言及

実行手順

1. TODO(migration) の収集

# repo全体から TODO(migration) を検索
grep -rn "TODO(migration)" --include="*.ts" --include="*.tsx" --include="*.py" src/ tests/ e2e/ python_backend/ 2>/dev/null || echo "該当なし"

2. メタデータの解析

各 TODO(migration) について以下を抽出:

フィールド パターン 必須
Issue ID [ISSUE-XXX] or [#XXX] YES
期限 [expires=YYYY-MM-DD] YES
削除条件 自由記述(TODOコメントの次行以降) YES

3. 判定ルール

状態 条件 重要度
EXPIRED expires が今日以前 P0 (即対応)
MISSING_META Issue ID / expires / 削除条件のいずれかが欠落 P0 (情報補完)
WARNING expires まで30日以内 P1 (計画)
OK expires まで30日超 情報のみ

4. レポート出力

## Migration Sweep Report (YYYY-MM-DD)

### P0: 即対応 (X件)

| ファイル:行 | 状態 | 期限 | Issue | 内容 |
|------------|------|------|-------|------|
| `src/foo.ts:42` | EXPIRED | 2026-01-15 | #123 | Remove old admin check |
| `src/bar.ts:88` | MISSING_META | - | - | TODO(migration) but no metadata |

### P1: 計画 (X件)

| ファイル:行 | 期限 | 残日数 | Issue | 内容 |
|------------|------|--------|-------|------|
| `src/baz.ts:15` | 2026-03-15 | 21日 | #456 | Deprecate legacy API |

### OK (X件)
(省略可能)

### サマリー
- 総数: X件
- P0 (即対応): X件
- P1 (計画): X件
- OK: X件

5. 追加アクション提案

  • EXPIRED: 「このコードを削除してよいか?」と確認し、削除を提案
  • MISSING_META: テンプレート形式でメタデータ補完を提案
    // TODO(migration)[ISSUE-XXX][expires=YYYY-MM-DD]:
    // <削除条件を記述>
    
  • WARNING: Issue のステータス確認を促す

テンプレート(新規移行コード用)

// TODO(migration)[ISSUE-1234][expires=2026-05-31]:
// Remove after role-based admin check is fully deployed
// and logs show 0 hits for 14 days.

AI Assistant Instructions

このスキルが有効化された時:

  1. grep で TODO(migration) を全件収集: src/, tests/, e2e/, python_backend/ を対象
  2. メタデータ解析: Issue ID, expires, 削除条件を抽出
  3. 判定ルールに従い分類: EXPIRED / MISSING_META / WARNING / OK
  4. レポート出力: 上記フォーマットに厳密に従う
  5. 追加アクション提案: EXPIRED には削除提案、MISSING_META にはテンプレート提供

Always:

  • 全件レポートする(フィルタしない)
  • P0 は件数ゼロでも「P0: 0件」と明記する
  • EXPIRED の削除提案は「コードを読んで安全性を確認してから」の条件付き

Never:

  • 自動削除しない(レポートのみ、修正はユーザー確認後)
  • TODO(migration) 以外のTODO(TODO(fix), TODO(refactor) 等)をスコープに含めない

関連ルール

  • .claude/rules/dead-code-cleanup.md — 移行コード管理セクション
  • CLAUDE.md — push前Done条件(type-checkが最終防衛線)
Weekly Installs
18
First Seen
Mar 1, 2026
Installed on
opencode18
gemini-cli18
codebuddy18
github-copilot18
codex18
kimi-cli18