mcpField
S
simplify

simplify

github.com/factory-aiテスト・品質120240 回インストール6 日前に更新
リポジトリ

simplify について

simplifyは、変更ファイルを確認する開発者向けのコードレビュー・整理スキルです。3つのエージェントで再利用性、品質、効率を並行して調べ、見つかった問題の修正を促します。

主な機能

  1. 01git diffによる変更ファイルの特定
  2. 023つのレビューエージェントの並列実行
  3. 03再利用性・品質・効率の確認
  4. 04レビュー結果の問題修正

活用シーン

  1. 01マージ前の最近のコード変更確認
  2. 02重複ヘルパーやインライン処理の発見
  3. 03効率やメモリ上の問題の点検

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/factory-ai/factory-plugins --skill simplify

インストール後、Claude Code で/simplifyを入力して読み込まれたか確認します。

詳細

Simplify:コードレビューとクリーンアップ

変更されたすべてのファイルを再利用性、品質、効率性の観点からレビューし、見つかった問題を修正します。

フェーズ 1:変更内容の特定

git diff(ステージされた変更がある場合は git diff HEAD)を実行して、変更内容を確認します。Git に変更がない場合は、ユーザーが言及したファイル、またはこの会話で以前に編集したファイルのうち、最も最近変更されたものをレビューします。

フェーズ 2:3 つのレビュージェントを並行して起動する

Task ツールを使って、1 回のメッセージで 3 つすべてのエージェントを同時に起動します。各エージェントには、完全なコンテキストを把握できるよう、差分全体を渡します。

エージェント 1:コード再利用レビュー

変更ごとに、次の点を確認します。

  1. 既存のユーティリティやヘルパーを探し、新たに書いたコードの代わりに使えるものがないか確認します。 コードベース内で類似のパターンを探します。よくある場所は、ユーティリティディレクトリ、共有モジュール、変更したファイルの隣にあるファイルです。
  2. 既存の機能と重複する新しい関数があれば指摘します。 代わりに使用する既存の関数を提案します。
  3. 既存のユーティリティを使えるインラインロジックがあれば指摘します。 手書きの文字列操作、手動のパス処理、独自の環境チェック、その場しのぎの型ガードなどがよくある候補です。
エージェント 2:コード品質レビュー

同じ変更について、場当たり的なパターンがないか確認します。

  1. 冗長な状態:既存の状態と重複する状態、導出できるキャッシュ値、直接呼び出しに置き換えられるオブザーバーやエフェクト
  2. パラメーターの肥大化:既存の関数を一般化または再構成する代わりに、新しいパラメーターを追加している箇所
  3. わずかな違いのあるコピー&ペースト:共通の抽象化にまとめるべき、ほぼ重複したコードブロック
  4. 抽象化の漏れ:カプセル化すべき内部詳細の公開や、既存の抽象化境界の破壊
  5. 文字列に依存したコード:コードベースに定数、列挙型(文字列ユニオン)、ブランド型がすでにあるのに、生の文字列を使用している箇所
  6. 不要な JSX のネスト:レイアウト上の効果がないラッパーの Box や要素。内側のコンポーネントの props(flexShrink、alignItems など)で必要な動作を実現できないか確認します。
エージェント 3:効率性レビュー

同じ変更について、効率性を確認します。

  1. 不要な処理:冗長な計算、繰り返されるファイル読み込み、重複するネットワーク/API 呼び出し、N+1 パターン
  2. 並行処理の見落とし:独立した処理が、並行して実行できるのに順次実行されている箇所
  3. ホットパスの肥大化:起動時やリクエスト/レンダリングごとのホットパスに追加された、新しいブロッキング処理
  4. 繰り返し発生する実質的な無操作の更新:ポーリングループ、インターバル、またはイベントハンドラー内で、変更がない場合も無条件に実行される状態/ストアの更新。下流のコンシューマーへの通知を防ぐため、変更検出ガードを追加します。また、アップデーター/リデューサーコールバックを受け取るラッパー関数が、同じ参照を返すケース(または他の「変更なし」のシグナル)を適切に処理するかも確認します。そうでない場合、呼び出し側の早期リターンによる無操作は、何も変わらずに無効化されてしまいます。
  5. 不要な存在確認:処理の前にファイル/リソースの存在を確認すること(TOCTOU アンチパターン)。直接処理を実行し、エラーに対処します。
  6. メモリ:上限のないデータ構造、不足しているクリーンアップ、イベントリスナーのリーク
  7. 範囲が広すぎる処理:一部だけ必要なのにファイル全体を読み込むこと、1 件を絞り込むのにすべての項目を読み込むこと

フェーズ 3:問題の修正

3 つのエージェントがすべて完了するまで待ちます。結果をまとめ、それぞれの問題を直接修正します。誤検知や対応する価値がない指摘は、その旨を記録して次に進みます。指摘に反論してはいけません。単に対応を見送ります。

完了したら、修正内容を簡潔に要約します(または、コードに問題がなかったことを確認します)。

コメント