refactor-cleaner について
refactor-cleaner は、デッドコード、重複コード、未使用のエクスポートを見つけて整理する開発向けスキルです。コードベースの安全な整理を目指す開発者向けに、リスク評価、参照確認、テスト、削除記録を手順化します。
主な機能
- 01言語に応じた検出ツールの選択
- 02リスク別の整理対象の分類
- 03参照と動的インポートの確認
- 04段階的な削除とテスト実行
- 05削除内容と影響の記録
活用シーン
- 01未使用の依存関係やエクスポートの削除
- 02到達不能コードや未使用ファイルの調査
- 03削除前の動的参照リスクの評価
- 04リファクタリングの記録とビルド確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ carvalab/ k-skills --skill refactor-cleanerインストール後、Claude Code で/refactor-cleanerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/deletion-log.mddetection-tools.mdpatterns.mdpr-template.mdsafety-checklist.md詳細
リファクタリングと不要コードのクリーンアップ
不要なコード、重複コード、未使用のエクスポートを特定して削除し、コードベースを簡潔で保守しやすい状態に保ちます。包括的なドキュメントを備えた安全第一のアプローチです。
関連スキル:
kavak-documentation- 不要なコードに見えても動的に使用されている可能性がある、Kavak 固有のパターンを確認します- Kavak SDK/プラットフォームのコードを削除する前に、
kavak-platform/platform_docs_searchMCP ツールを使用して確認します
クイックスタート
プロジェクトの種類を検出し、適切な分析を実行します。
Node/TypeScript:
npx knip # unused exports/files/deps
npx depcheck # unused dependencies
npx ts-prune # unused exports
Go:
go mod tidy # remove unused deps
deadcode ./... # find unreachable code (golang.org/x/tools)
staticcheck ./... # includes unused code detection
Python:
vulture . # find dead code
pip-autoremove # unused dependencies
Java:
./mvnw dependency:analyze # unused dependencies
# Use IDE or SpotBugs for dead code detection
ワークフロー
1. 分析フェーズ
検出ツールを実行し、検出結果を分類します。
| リスクレベル | 例 | 対応 |
|---|---|---|
| 安全 | 未使用のエクスポート、未使用の依存関係 | grep で確認した後に削除 |
| 注意 | 動的インポートの可能性あり | 手動レビューが必要 |
| 危険 | 公開 API、共通ユーティリティ | 削除しない |
2. リスク評価
削除する項目ごとに、以下を実施します。
- すべての参照を grep で検索します(文字列パターンを含む)
- 動的インポートがないか確認します
- 公開 API の一部ではないことを確認します
- git の履歴を確認して背景を把握します
3. 安全な削除プロセス
a) Start with SAFE items only
b) Remove one category at a time (this order matters — each step
may reveal more dead code in the next category):
1. Unused npm/go dependencies (safest, no code changes)
2. Unused internal exports (removing these may make files unused)
3. Unused files (now visible after export cleanup)
4. Duplicate code (consolidate remaining logic)
c) Run tests after each batch
d) Commit each batch separately
4. 削除を記録する
各セッションの後に docs/DELETION_LOG.md を更新します。
## [YYYY-MM-DD] Refactor Session
### Removed
- package-name - Reason
- src/unused-file.ts - Replaced by X
### Impact
- Files: -15, Deps: -5, Lines: -2,300
安全ルール
何かを削除する前に必ず実施すること:
- 検出ツールを実行する
- すべての参照を grep で検索する
- 動的インポートがないか確認する
- すべてのテストを実行する
- バックアップブランチを作成する
削除のたびに実施すること:
- ビルドが成功する
- テストに合格する
- 変更をコミットする
- DELETION_LOG.md を更新する
使用しない場合
- 機能の開発中
- 本番環境へのデプロイ直前
- 十分なテストカバレッジがない場合
- 理解していないコードを扱う場合
エラーからの復旧
# Immediate rollback if something breaks
git revert HEAD
# Reinstall deps and verify (by language)
# Node: npm install && npm run build && npm test
# Go: go mod download && go build ./... && go test ./...
# Python: pip install -r requirements.txt && pytest
# Java: ./mvnw clean install
その後、原因を調査します。動的インポートやリフレクションが原因でしょうか?「削除してはいけない」リストを更新します。
参考資料
| 参考資料 | 目的 |
|---|---|
references/detection-tools.md | ツールのコマンドと使い方 |
references/safety-checklist.md | 安全手順の詳細 |
references/deletion-log.md | ログの形式と例 |
references/patterns.md | よくある不要コードのパターン |
references/pr-template.md | クリーンアップ用 PR テンプレート |
コメント
Markdown 対応