AIスロップクリーナー は何をしますか?
このスキルを使用して、AIが生成したコードのスロップ(冗長・重複・テスト不足など)を、スコープを広げたり意図された動作を変更したりせずにクリーンアップします。OMCでは、これは動作はするが、肥大化、繰り返し、テストが弱い、過剰に抽象化されていると感じられるコードに対する、範囲を限定したクリーンアップワークフローです。
使用するタイミング
以下の場合にこのスキルを使用します:
- ユーザーが明示的に
deslop、anti-slop、またはAI slopと言った場合 - ノイズが多い、繰り返しが多い、または過剰に抽象化されているコードのクリーンアップやリファクタリングを依頼された場合
- フォローアップ実装により、重複ロジック、デッドコード、ラッパーレイヤー、境界漏洩、または弱いリグレッションカバレッジが残っている場合
- ユーザーが
--reviewによるレビュアーのみのアンチスロップパスを希望する場合 - 目標が新しい機能の追加ではなく、簡略化とクリーンアップである場合
使用しないタイミング
以下の場合にはこのスキルを使用しないでください:
- タスクが主に新機能の構築やプロダクトの変更である場合
- ユーザーが段階的なクリーンアップパスではなく、広範な再設計を希望している場合
- リクエストが、簡略化やアンチスロップの意図のない一般的なリファクタリングである場合
- 動作が不明瞭すぎて、テストや具体的な検証計画で保護できない場合
OMC実行姿勢
- ユーザーが明示的に動作変更を要求しない限り、動作を維持します。
- 可能な限り、まず集中的なリグレッションテストで動作をロックします。
- コードを編集する前にクリーンアップ計画を記述します。
- 追加よりも削除を優先します。
- 新しいユーティリティやパターンを導入する前に、既存のものを再利用します。
- ユーザーが明示的に要求しない限り、新しい依存関係を追加しません。
- 差分は小さく、元に戻しやすく、スメルに焦点を当てたものにします。
- 簡潔で証拠に富んだ内容にします:調査、編集、検証、報告。
- 新しいユーザー指示は、以前の矛盾しない制約を破棄せずに、ローカルスコープの更新として扱います。
スコープ付きファイルリストの使用
このスキルは、呼び出し元が既に安全なクリーンアップ範囲を把握している場合に、明示的なファイルリストまたは変更ファイルスコープに制限できます。
- 適切な例:
oh-my-claudecode:ai-slop-cleaner skills/ralph/SKILL.md skills/ai-slop-cleaner/SKILL.md - 適切な例:Ralphセッションから、そのセッションで変更されたファイルのみを渡す場合
- スコープが短いファイルリストであっても、同じリグレッションセーフなワークフローを維持します
- ユーザーが明示的に要求しない限り、変更ファイルスコープをより広範なクリーンアップ作業に静かに拡大しないでください
Ralph統合
Ralphは、このスキルを範囲を限定したレビュー後クリーンアップパスとして呼び出すことができます。
- このワークフローでは、クリーナーは標準モード(
--reviewではない)で実行されます - クリーンアップスコープは、Ralphセッションの変更ファイルのみです
- クリーンアップパスの後、Ralphは完了前にリグレッション検証を再実行します
--reviewはレビュアーのみのフォローアップモードであり、デフォルトのRalph統合パスではありません
レビューモード(--review)
--review は、クリーンアップ作業がドラフトされた後のレビュアーのみのパスです。これは、アンチスロップ作業において明示的なライター/レビュアーの分離を維持するために存在します。
- ライターパス:テストで動作をロックした上でクリーンアップ変更を行います。
- レビュアーパス:クリーンアップ計画、変更ファイル、および検証証拠を調査します。
- 同じパスで、影響の大きいクリーンアップを、別個のレビューステップなしに記述および自己承認してはいけません。
レビューモードでは:
- ファイルの編集から 開始しない でください。
- クリーンアップ計画、変更ファイル、およびリグレッションカバレッジをレビューします。
- 以下を具体的に確認します:
- 残存するデッドコードまたは未使用のエクスポート
- 統合されるべきだった重複ロジック
- 依然として境界を曖昧にする不要なラッパーや抽象化
- 維持される動作に対するテストの欠落または弱い検証
- 意図せずに動作を変更したように見えるクリーンアップ
- 必要なフォローアップを含むレビューアの評決を生成します。
- 必要な変更は、修正と承認を一度に行うのではなく、別のライターパスに引き継ぎます。
ワークフロー
-
まず現在の動作を保護する
- 変更してはいけないものを特定します。
- 編集前に、必要な最小限のリグレッションテストを追加または実行します。
- テストを先に行えない場合は、コードに触れる前に検証計画を明示的に記録します。
-
コードの前にクリーンアップ計画を記述する
- パスの範囲を、要求されたファイルまたは機能領域に限定します。
- 削除する具体的なスメルをリストアップします。
- 作業を、最も安全な削除から、よりリスクの高い統合へと順序付けます。
-
編集前にスロップを分類する
- 重複 — 繰り返しロジック、コピーペーストされた分岐、冗長なヘルパー
- デッドコード — 未使用コード、到達不能な分岐、古いフラグ、デバッグの残骸
- 不要な抽象化 — 単なる受け渡しラッパー、投機的な間接層、単一使用ヘルパーレイヤー
- 境界違反 — 隠れた結合、責任の配置ミス、間違ったレイヤーのインポートや副作用
- テスト不足 — 動作がロックされていない、弱いリグレッションカバレッジ、エッジケースのギャップ
- UI/デザインのデフォルト — AIが構築したインターフェースがレビューされていない印象を与える、一般的なビジュアルパターン
UI/デザインレビュアーチェックリスト
これらは絶対的な禁止事項ではなく、レビューの促しとして使用してください。明確な理由がある場合は、意図的なブランド、アクセシビリティ、プロダクト密度、またはデザインシステムの選択を維持してください。
- 韓国語の可読性: ボディテキストが約11〜12pxに設定されている場合にフラグを立てます。韓国語のボディコピーは、検証済みの高密度データ例外がない限り、一般に少なくとも14px必要です。
- シャドウの抑制: あらゆる表面、ロゴ、背景、カード、アイコンにボックスシャドウがある場合は疑問視します。シャドウは、階層やインタラクションを明確にする場合にのみ使用します。
- コンテンツ階層: タイトルがすでにメッセージを伝えている場合、繰り返しのアイブロウ/タイトル/説明/追加の
<p>の詰め込みを削除します。プロダクトのボイスの一部でない限り、一般的な絵文字バッジは避けます。 - パレットの根拠: 特にTailwindのような
#3B82F6など、デフォルトのAIブルー/パープルのパレットに、ブランドやシステムの根拠がない場合は疑問を投げかけます。 - レイアウトのリズム: プロダクトのコンテキストがリズム、強調、非対称性、カルーセル/ベントー処理、またはさまざまなカードの重みから恩恵を受ける場合、過度に完璧な3列または4列の均一なグリッドを避けます。
- グラデーションの抑制: ブランドが意図的にそのビジュアル言語を所有していない限り、極端なグラデーションをトーンダウンします。
-
スメルごとに1パスずつ実行する
- パス1: デッドコードの削除
- パス2: 重複の削除
- パス3: 命名とエラーハンドリングのクリーンアップ
- パス4: テストの強化
- 各パスの後、対象を絞った検証を再実行します。
- 無関係なリファクタリングを同じ編集セットにバンドルしないでください。
-
品質ゲートを実行する
- リグレッションテストがグリーンのままであることを確認します。
- 影響範囲の関連するリント、型チェック、単体/統合テストを実行します。
- 利用可能な場合は、既存の静的検査またはセキュリティチェックを実行します。
- ゲートに失敗した場合は、問題を修正するか、強引に通すのではなくリスクのあるクリーンアップを元に戻します。
-
証拠の豊富なレポートで締めくくる 常に以下を報告します:
- 変更ファイル
- 簡略化
- 動作ロック / 検証実行
- 残存リスク
使用方法
/oh-my-claudecode:ai-slop-cleaner <ターゲット>/oh-my-claudecode:ai-slop-cleaner <ターゲット> --review/oh-my-claudecode:ai-slop-cleaner <ファイルA> <ファイルB> <ファイルC>- Ralphから:Ralphセッションの変更ファイルのみでクリーナーを実行し、その後クリーンアップ後のリグレッション検証のためにRalphに戻ります
適切な例
良い例: このモジュールをdeslop:ラッパー、重複ヘルパー、デッドコードが多すぎる
良い例: src/authのAIスロップをクリーンアップし、境界を引き締め、動作は変更しないこと
悪い例: SSOをサポートするようにauthをリファクタリング
悪い例: フォーマットをクリーンアップ