slop について
slop は、指定したブランチとの差分を確認し、動作を保ちながら不要な複雑さや一貫性のないスタイルを取り除くコード整理スキルです。変更されたコードに絞って見直し、テストで結果を確認します。
主な機能
- 01指定ブランチとの差分確認
- 02冗長なコメントやチェックの削除
- 03型とコード構造の整理
- 04リポジトリの規約への準拠
- 05整理後のテスト実行
活用シーン
- 01PR 作成前のコード変更の整理
- 02ブランチ内の不要な防御的コードの削除
- 03動作を保ったまま可読性を向上
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ jellydn/ my-ai-tools --skill slopインストール後、Claude Code で/slopを入力して読み込まれたか確認します。
詳細
AI が生成したコードの冗長さを取り除く
ブランチと比較して差分を確認し、このブランチで追加された AI 生成コードの冗長な部分をすべて取り除きます。機能をすべて維持しながら、コードの明確さ、一貫性、保守性を高めます。
使い方
/slop [branch-name]
- ブランチを指定しない場合は、main と比較します:
/slop main
AI 生成コードの冗長な部分とは?
次のようなものが含まれます。
- 人間なら追加しないコメントや、ファイル内のほかの部分と一貫しないコメント
- そのコード領域では一般的ではない、過剰な防御的チェックや try/catch ブロック
- 型の問題を回避するための
anyキャスト - ファイル内のほかの部分と一貫しない、その他のスタイル
基本原則
1. 機能を維持する
コードの動作は決して変更せず、実装方法だけを変更します。元のすべての機能、出力、動作をそのまま維持してください。
2. プロジェクトの標準に従う
@CLAUDE.md またはプロジェクトの慣例で定められたコーディング標準に従います。
- 適切なインポートの並べ替えとファイル構成に従う
- 言語固有のパターン(ES モジュール、適切な TypeScript 型など)に従う
- 一貫した命名規則を維持する
- 適切なエラー処理パターンを使用する
3. 明確さを高める
次の方法でコード構造を簡潔にします。
- 不要な複雑さやネストを減らす
- 冗長なコードや抽象化を取り除く
- 明確な変数名や関数名で可読性を高める
- 関連するロジックをまとめる
- 自明なコードを説明する不要なコメントを削除する
- 重要:ネストした三項演算子より、switch 文または if/else の連鎖を使用する
- 簡潔さより明確さを重視する。過度にコンパクトなコードより、明示的なコードのほうが適切な場合が多い
4. バランスを保つ
必要な複雑さは維持します。過度な単純化は、次のような問題につながる可能性があります。
- コードの明確さや保守性が損なわれる
- 理解しにくい、過度に技巧的な解決策になる
- 複数の関心事を単一の関数にまとめてしまう
- コード構成を改善する有用な抽象化を取り除いてしまう
- 可読性よりも「行数の少なさ」を優先してしまう
手順
1. 差分を取得する
# Compare against main branch
git diff main...HEAD --stat
# Or against specific branch
git diff $1 --stat
2. 変更された各ファイルを確認する
変更された各ファイルについて、次の作業を行います。
- 現在の内容を読む
- 変更前の内容と比較する
- AI 生成コードの冗長なパターンを特定する
- 仕上がりや一貫性を高める機会がないか確認する
3. 冗長な部分を取り除き、改善する
- 不要なコメントを削除する
- 過度に防御的なコードを簡潔にする
- 可能な場合は
anyキャストを取り除く - 自然なコードスタイルに戻す
- プロジェクト固有のベストプラクティスを適用する
- すべての機能が変更されていないことを確認する
4. 検証する
# Show remaining changes
git diff --stat
# Check tests still pass
npm test
よくある冗長なパターン
- 過剰なコメント:自明なコードを説明するコメント
- 冗長なエラー処理:不要な try/catch ブロック
- 不要な型キャスト:TypeScript を回避するための
x as any - 防御的プログラミング:すでに検証済みの入力に対するチェック
- 冗長な検証:重複した null/undefined チェック
- ネストした三項演算子:複雑にネストした三項演算子
- 過度にコンパクトなコード:可読性を損なう、密度の高い一行コード
改善のガイドライン
コードを改善する際は、次の手順に従います。
- 変更箇所を特定する - 差分で変更されたコードのみを改善する
- 改善の機会を分析する - 仕上がりや一貫性を高める方法を探す
- プロジェクトの標準を適用する - 確立された慣例やパターンに従う
- 機能を維持する - 動作が変わらないことを確認する
- 改善を検証する - 改善後のコードがより簡潔で、保守しやすいことを確認する
- 重要な変更を記録する - 理解に影響する変更のみを記録する
コードスタイルの好み
- コンパクトさより明示性を優先する - 洗練されたコードより、読みやすいコードを重視する
- 説明的な名前を使う - 簡潔さより明確さを優先する
- 早期リターンやガード節を使って深いネストを解消する
- 重複をなくし、冗長なコードを削除する
- 言語に適したパターンを使い、慣用的な書き方に従う
コメント
Markdown 対応