review-perf について
review-perfは、Agent向けの内部パフォーマンスレビュー用スキルです。コードは変更せず、チェックリストに沿って問題を報告し、該当する場合は宣言済みのベンチマークコマンドを実行します。
主な機能
- 01変更箇所向けの性能チェックリスト
- 02クエリとI/Oパターンの確認
- 03計算量とリソース解放の確認
- 04該当時に宣言済みベンチマークを実行
- 05コードを変更せず問題のみ報告
活用シーン
- 01N+1クエリやブロッキング処理の確認
- 02リソース解放と無制限な増加の確認
- 03ベースと変更後のベンチマーク比較
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ gtrabanco/ agentic-workflow --skill review-perfインストール後、Claude Code で/review-perfを入力して読み込まれたか確認します。
詳細
パフォーマンスレビュー(内部)
会話内で review-change / product-audit が作成します。エージェントは、ルーティングされたステップとしてこのファイルに従ってください。指摘事項のみ。編集やリファクタリングは行いません。
対象範囲
呼び出し元が指定した差分またはパス/glob。指定がない場合は、デフォルトブランチに対する現在の変更です。返却する表の先頭に対象範囲を記載してください。
チェックリスト(すべての項目を評価してください。任意項目はありません。該当なしの場合も明記してください)
- ✓ 変更されたデータアクセス経路に N+1 クエリ/I/O パターンがないこと(ループ本体でクエリ/リクエストを発行している場合は引用してください)
- ✓ 入力が増加し得る場合、新しいコード経路のアルゴリズム計算量を明記すること(ユーザーデータに対する上限のない O(n²) は重大な指摘です)
- ✓ プラットフォームが非同期である場合、ホットパス/リクエストパスにブロッキング I/O/同期処理を追加していないこと
- ✓ 変更によって開かれるリソースが、エラー時を含むすべての経路でクローズ/解放されること(ファイル、接続、サブスクリプション、タイマー)
- ✓ 上限のない増加を導入していないこと(退避のないキャッシュ、追加のみの配列、削除されないリスナー)
- ✓ Web のみ:変更によるバンドル/アセットへの影響を明記すること(新しい依存関係のサイズ、画像の容量、プロジェクトで使用している場合の遅延読み込み)。それ以外は該当なし
- ✓ ループ内で不変値を再計算している場合、繰り返し計算をループの外に移動すること(引用してください)
- ✓ ユーザー規模のデータを読み取る新しい一覧取得にページネーション/上限があること
- ✓ 早すぎる最適化もないこと:引用可能な測定結果なしに速度向上のための複雑さを追加している場合は指摘事項です(リポジトリでは過剰な設計を禁止しています)
- ✓ 宣言されている場合は測定根拠を提示 — プロジェクトのエージェントガイドに
Performance commandsブロックがあり、そこにbenchコマンドが記載されていて、かつ差分がそのベンチマークの対象パスに触れている場合は、ベースブランチと変更後の両方でベンチマークを実行し、Evidence に両方の数値を<cmd> → base <x> / change <y> (<±z%>)の形式で引用してください。ノイズ幅(プロジェクトで宣言されている幅。なければ ±5%)を超える悪化は重大な指摘です。幅の範囲内の差分は指摘事項ではありません。宣言されたコマンドが失敗(終了コードが 0 以外)した場合、それ自体が指摘事項です(ゲートで測定できません)。黙って実行を省略してはいけません。 - ✓ 宣言されたパフォーマンスコマンドがない場合 → 上記の項目には正確に
n/a — no declared perf commandsと記載してください(黙って省略してはいけません)。また、差分に入力が増加し得るアルゴリズムコードが追加されている場合は、init-workspaceの Performance tooling ラウンドを通じてツールを導入することを推奨する軽微な指摘事項を追加してください。
重要度の基準
有能なユーザーの結果が変わる場合、またはプロジェクトが明示的に宣言したルールに違反する場合に限り、根拠の横に違反しているルールを引用して行を報告してください。指摘事項ではないもの:コメント/句読点の誤記、書式のみのずれ、引用可能なルールのないスタイル上の好み、SPEC に記載されたシナリオを超える仮定上の堅牢性。適切な変更であれば、Decision: PASS の空の表が期待される結果です。表を埋めるために指摘事項を追加してはいけません。
次の内容を正確に返してください
REVIEW PERF — scope: <scope>
| # | Finding | Sev | Evidence | Suggested fix |
|---|---------|-----|----------|---------------|
| 1 | <what> | critical|major|minor | <file:line — or, for measured findings, `<cmd> → base <x> / change <y> (<±z%>)`> | <smallest action> |
Checklist: <n> evaluated, <n> pass, <n> findings, <n> n/a (<which + why>)
Summary: <1-2 sentences>
Decision: PASS | FAIL
重大または重要な指摘事項が未解決の場合は FAIL、それ以外は PASS です。軽微な指摘事項はブロックしません。呼び出し元のトリアージステップに引き継がれます。
完了条件
- すべてのチェックリスト項目について、根拠(ファイル:行番号またはコマンド出力)を示すか、理由を添えて該当なしと明記していること。
- 上記の固定形式ブロックのみを返すこと。それ以上でも以下でもありません。また、コードは変更していないこと。
コメント
Markdown 対応