code-polish について
Code Polishは、Gitリポジトリの変更を簡素化・レビューするスキルです。固定範囲内で根拠のある問題だけを扱い、最終状態を検証して指摘事項とチェック結果を報告します。
主な機能
- 01簡素化とレビューのモード
- 02明示された固定スコープ
- 03リスク順の不具合レビュー
- 04プロファイルに基づくレビュー指針
- 05対象を絞った検証と報告
活用シーン
- 01範囲を限定した変更ファイルを簡素化
- 02差分をレビューして根拠ある不具合を修正
- 03対象を絞ったチェックで変更を検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ paulrberg/ agent-skills --skill code-polishインストール後、Claude Code で/code-polishを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/profiles/configuration.mddata-formats.mdgo.mdnaming.mdpython.mdrust.mdsecurity.mdshell.mdtypescript.md詳細
コードの整理
対象範囲を一度だけ確定します。確信を持って簡素化できる箇所だけを変更します。根拠に基づいて、リスクに応じた不具合を修正します。最終状態を検証します。
モード
--simplify:簡素化のみ。--review:レビューと修正のみ。- どちらも指定しない場合、または両方を指定した場合:簡素化してから、簡素化後の結果をレビューします。
--with-profile <name>/--skip-profile <name>:レビュー用プロファイルを追加または除外します。除外が優先されます。
固定スコープ
- Git リポジトリであることを必須とします。
- 明示的なパス、パターン、範囲、自然言語による対象指定、または指定された
resolved-scopeブロックがある場合は、それを使用します。 それ以外の場合は、このセッションで変更されたファイルのみを使用します。セッション履歴が利用できない場合は、未コミットの追跡対象ファイルと未追跡ファイルをすべて使用します。 - ロックファイル、生成物、ベンダーコード、最小化されたバンドル、大規模なデータスナップショットは、明示的に指定されない限り、手動レビューの対象から除外します。関連する除外対象の出力は、生成ツール、スキーマ、または不変条件を通じて検証します。
- 実行に使用する権威あるスコープの集合を一つだけ確定して保持し、任意で除外対象も保持します。後からスコープを拡張したり、再計算したりしないでください。スコープが空の場合は停止します。
簡素化
公開契約、入力、出力、副作用、エラー動作、パフォーマンスに影響する特性、テレメトリー、運用上のガードを維持します。理解しやすさの具体的な向上、または不具合リスクの低減につながる変更のみを適用します。
- 不要な制御フローのネストを減らします。
- 誤解を招く名前や、密度の高い変換処理を明確にします。
- 抽象化によって全体の複雑さが軽減される場合に限り、実際の重複を除去します。
- 広範囲に変更せず、ローカルな型と契約を引き締めます。
- このセッションでの編集によって不要になったデッドコードのみを削除します。
行数を基準に分割すること、アーキテクチャの整理、同期 API と非同期 API の変換、根拠のない設定項目の追加、または読みやすい重複を一度しか使わない抽象化に置き換えることはしないでください。変更なしという結果も有効です。
レビューと修正
ユーザーの依頼に照らして差分を評価します。優先度は CRITICAL → HIGH → MEDIUM → LOW の順です。
- CRITICAL:悪用可能なセキュリティ問題、データ損失、または重大なサービス停止につながる経路。
- HIGH:中核的な動作に影響する、動作、エラーパス、境界条件、またはパフォーマンス上の不具合。
- MEDIUM:リソースリーク、複雑さの集中箇所、テスト不足、スコープ過剰な変更、根拠のない複雑さ、または不具合につながる可能性が高い弱い成功基準。
- LOW:実際の保守コストにつながる、局所的な明瞭さまたはスタイルの問題。
各指摘には、確認済みの場所、問題を引き起こす入力または状態、失敗の仕方、影響範囲、変更されたコードにおける根拠を示します。重複する指摘は統合し、正当化できる最小限の修正を適用します。意図が曖昧な場合は、まず依頼内容とリポジトリから判断します。通常の前提は明示します。回答によって動作またはスコープが変わる場合に限り、質問します。その回答を待つ間も、スコープ内の独立した修正を続けます。
該当するプロファイルをすべて選択し、それぞれ一度だけ読み込みます。選択したすべてのプロファイルを、1 回の並列処理で読み込みます。
| 対象領域 | プロファイル |
|---|---|
| 認証、シークレット、暗号、外部入力/ネットワーク、安全でない解析 | security |
| 環境変数、設定、タイムアウト、再試行、プール、制限 | configuration |
| Go の動作、並行処理、コンテキスト、エラー | go |
| Rust、Cargo/ワークスペース、非同期処理/並行処理、unsafe/FFI | rust |
| TypeScript の型、モジュール、パッケージ、非同期動作 | typescript |
| Python サービス、スクリプト、非同期処理、パッケージング、データ入出力 | python |
| シェル、CI、デプロイ、インストーラー、クォート | shell |
| CSV/JSON/YAML/バイナリ、スキーマ、マイグレーション、生成データ | data-formats |
| 命名と意図の明瞭さ | naming(除外指定がない場合) |
プロファイルは references/profiles/<name>.md にあります。選択したプロファイルが見つからない場合は、停止してください。
検証と報告
最終的に変更した動作を検証するため、対象を最小限に絞ったフォーマッター/リンター、対象テスト、型チェック、不変条件チェックを実行します。 共有契約を扱う場合に限り、対象を広げます。実行を省略したチェックと、その理由を明記します。
対象範囲は、ファイル数と、リポジトリ相対の最小限の有用なルート、グロブ、範囲、またはユーザー指定の対象を使って要約します。対象範囲を示すためだけに、ファイルをすべて列挙しないでください。対象が小規模かつ明確な場合、または例外や指摘を明確にする場合に限り、個別のパスを記載します。
指摘には、重大度、場所、影響、根拠、修正内容、確信度を含めます。残存リスクには、前提、前提が誤っていた場合の影響、確認方法を記載します。
Issues and caveats の下で、根拠のある修正済みの指摘を Resolved、残る問題、制限、未検証の前提を Open として分類し、それぞれの影響と次の手順を記載します。該当する項目がないグループは省略します。各項目は一度だけ報告します。中立的な背景や合意済みの判断は、変更内容または対象範囲に記載します。
blocker は必須作業を妨げる事象にのみ使用し、risk は具体的な悪影響の可能性にのみ使用します。回避策を講じても、根本の問題が結果に影響している場合は、その項目を Open のままにします。完了には、対象範囲の確定、追跡可能な編集と指摘、検証の根拠が必要です。
成功した報告は ### ✨ Code polish — ✅ complete で始め、その後、対象範囲、重要な変更、検証を要約します。小規模な結果の場合は、簡潔な文章を使用します。複数の変更や指摘を明確にできる場合に限り、表やセクションを追加します。ユーザー指定の形式に従います。
レビューを実施し、欠陥が見つからなかった場合は、✅ No verified review findings. と記載します。以下の停止条件によって完了できない場合は、### ✨ Code polish — ⛔ blocked で始め、根拠と必要な判断を報告します。重大度を示すトークン、プロファイル ID、コマンド、場所、再現用の入力、セキュリティに関する根拠は、装飾せず正確に記載します。
動作の同等性、または必須の高リスク検証を確立できない場合、あるいは未依頼の公開契約変更や大規模な再設計が修正に必要な場合は、作業を停止します。