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
このスキルが有効化された時:
- grep で TODO(migration) を全件収集:
src/,tests/,e2e/,python_backend/を対象 - メタデータ解析: Issue ID, expires, 削除条件を抽出
- 判定ルールに従い分類: EXPIRED / MISSING_META / WARNING / OK
- レポート出力: 上記フォーマットに厳密に従う
- 追加アクション提案: 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
Repository
yusuketsunoda/ppt-transFirst Seen
Mar 1, 2026
Security Audits
Installed on
opencode18
gemini-cli18
codebuddy18
github-copilot18
codex18
kimi-cli18