Communityライティング&編集github.com

アッセイ(静的コードレビュー)

ローカルのゲートベース静的コードレビューを実行し、構造化されたレポートを生成するスキルです。

アッセイ(静的コードレビュー) とは?

このスキルは、ローカルまたはペーストされたコード入力に対して、段階的(ゲートベース)な静的コードレビューを実行します。品質ゲートは順番に評価され、下位のゲート(例:書式、命名、エラーハンドリング)で失敗すると、上位のゲートはブロックされます。リモートAPIの呼び出し、コードの変更、コメントの投稿は行わず、純粋に静的かつローカルなレビューに特化しています。Claude CodeやCursorなどのターミナルベースのエージェントでの使用を想定しており、ファイル、Git diff、コミット範囲、ブランチ、またはペーストされたコードを入力として受け付けます。5ファイルを超えるスコープでは事前トリアージを実行し、赤/黄/緑の分類を行った後、最大8つのゲート(書式、命名、エラーハンドリング、制御フロー、責務分離、ビジネスロジック、重複排除、セキュリティ)を順次開きます。最終的な出力はマークダウン形式のレビューレコードで、ゲートインデックス、発見事項、構造的付録を含みます。

対応~Claude Code~Codex CLI~Cursor
npx skills add tacticaldoll/nlp-agent-skills

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

アッセイ

このスキルを使用して、ローカルでゲートベースの静的コードレビューを実行します。レビューは品質ゲートを順に開きます。下位のゲート(基本的な衛生状態、命名、エラーハンドリングなど)で失敗すると、上位のゲートはブロックされます。これは、基本がすでに壊れている場合に後続の判断が役に立たないためです。

このスキルはリモートサービスを呼び出したり、コメントを投稿したり、コードを承認したり、ファイルを変更したりしません。ローカルまたはペーストされた入力をレビューし、構造化されたレポートを生成します。

ワークフロー

フェーズ0: ローカル入力の解決

ユーザーの入力をレビュースコープに正規化します:

入力解決方法
ペーストされたコードまたはdiff提供された内容を直接レビュー
ローカルファイルパスファイル内容を全件読み込み。利用可能でない限りdiffコンテキストはなし
ローカルgit diff変更されたファイルとハンクをレビュー
コミットハッシュまたは範囲利用可能な場合はローカルgit diffを使用
ブランチ名利用可能な場合はローカルマージベースdiffを使用
曖昧なリクエストファイル、diff、コミット/範囲、ブランチ、またはペーストされたコードを確認

MR/PRデータを取得したり、リモートAPIを呼び出したり、認証を要求したりしないでください。リモートコンテキストが必要な場合は、ユーザーにローカルdiffまたはペーストされたコンテンツを提供するよう依頼してください。

フェーズ1: レビュー深度の調整

開くゲートの数を選択します。通常のローカル変更の場合は、デフォルトでゲート1~5とします。

コンテキストゲート範囲
ドラフト、WIP、探索的コードゲート1~3
通常の機能または内部ツールゲート1~5
共有ライブラリ、本番パス、または公開APIゲート1~7
セキュリティに敏感なコード、認証、暗号、コマンド実行、またはユーザー入力境界ゲート1~8

曖昧な場合は、コードの宛先やリスクレベルを確認してください。

フェーズ2: 大規模スコープのトリアージ

レビュースコープが5ファイルを超える場合は、詳細検査の前に迅速なトリアージを実行します。ファイル数が5以下の場合はトリアージをスキップし、構造抽出に進みます。

トリアージチェック:

#チェック失敗シグナル
1デッドコードコメントアウトされたコード、未使用のインポート、デバッグ出力
2命名の明確さ公開名が曖昧または誤解を招く
3ネストの深さネストが3レベルを超える
4関数の長さ関数が複数の責務を隠すのに十分な長さ
5エラーの無視空のcatch/except、または無視された障害
6ドメインの混在I/Oとビジネスロジックが1つのユニットに混在
7生のフィールドアセンブリ複雑な条件に意味論的なヘルパーがない
8重複の兆候類似したロジックが繰り返し出現
9セキュリティの臭いシークレット、安全でない補間、機密ログ、チェックされていない危険な入力

ファイルを分類:

クラス基準次のアクション
赤3つ以上のチェック不合格全ゲート検査
黄1~2のチェック不合格対象ゲートとそれ以下の全ゲートを検査
緑0チェック不合格特に要求がない限り合格

セキュリティの臭いはデュアルトラックです。ゲート8が下位ゲートでブロックされていても、トリアージ警告として報告してください。

フェーズ3: 構造抽出

ゲートを開く前に、レビュー対象の各関数、クラス、モジュール、または関連コードユニットの構造を抽出します。抽出結果をゲートレビューのガイドとして使用し、生のdiffテキストのみに依存しないでください。

記録:

  • クロージャ、コールバック、またはネストされた関数
  • インラインオブジェクトまたは振る舞いを持つローカルエンティティ
  • I/O操作と外部副作用
  • 最も深いネストとその理由
  • ドメイン分布: インフラストラクチャ、ビジネス、プレゼンテーション、または混合
  • ライフサイクル: ワンショット、永続的、または混合
  • キャプチャされた変数と隠れた依存関係
  • 抽出中に発見された明らかな異常
  • ゲート6の真実の情報源: ロジックを判断するためのスペックまたはガバナンスドキュメント (openspec/、PROJECT.md、AGENTS.md、ADR、リンクされたIssue) を見つけるか、見つからなかったことを記録

フェーズ4: シーケンシャルゲートレビュー

ゲート定義については references/gates.md を参照してください。

ゲートを順番に開きます。ゲートが失敗した場合、そのファイルまたはレビュースコープに対して上位のゲートを開くのを停止します。発見事項をでっち上げないでください。詳細セクションでは沈黙は準拠を意味しますが、ゲートインデックスにはどのゲートが開かれ、合格、失敗、またはブロックされたかが記録されます。

フェーズ5: レポート

以下の形式でレポートを生成します:

## レビューレコード

**ソース**: [入力参照]
**調整**: ゲート1-[N] ([理由])
**トリアージ**: [スキップ | 赤 M / 黄 N / 緑 K]
**評決**: [合格 | ゲートNで失敗]

### ゲートインデックス

| ゲート | 焦点 | ステータス |
|---:|---|---|
| 1 | 書式と構文の衛生状態 | [合格 | 失敗 | ブロック | 未検査] |
| 2 | 命名と可読性 | [合格 | 失敗 | ブロック | 未検査] |
| 3 | エラーハンドリングと可観測性 | [合格 | 失敗 | ブロック | 未検査] |
| 4 | 制御フローと構造的な明確さ | [合格 | 失敗 | ブロック | 未検査] |
| 5 | 責務と境界 | [合格 | 失敗 | ブロック | 未検査] |
| 6 | ビジネスロジックの整合性 | [合格 | 失敗 | ブロック | 未検査] |
| 7 | 重複排除と構成 | [合格 | 失敗 | ブロック | 未検査] |
| 8 | セキュリティとパラメータの整合性 | [合格 | 失敗 | ブロック | 未検査] |

### セキュリティトリアージ警告

[トリアージチェック9が失敗した場合のみ含める]

### ゲートN: [名称]

| # | 場所 | 違反 | 修正 |
|---|---|---|---|
| 1 | `ファイル:行` | ゲートN: 違反した具体的な標準 | 具体的な修正 |

### 構造的付録

[発見事項に関連するコードユニットのサマリーを含める]

フェーズ6: オプションの修正計画

ユーザーが要求した場合にのみ修正計画を作成します。

修正計画のルール:

  • 修正ごとに1つの違反
  • 修正順序はゲート順に従う
  • 同じゲート内では、論理的な依存関係がない限りファイルと行の順序に従う
  • 日和見的な修正はしない
  • 各修正には検証基準を含める

ルール

  • レビューのみ。コードは変更しない。
  • ローカルまたはペーストされた入力のみを使用。リモートPR/MR APIを呼び出さない。
  • ゲートを順次開き、最初に失敗したゲートで停止する。
  • 深いセキュリティ検査がブロックされていても、セキュリティトリアージ警告を報告する。
  • 具体的な修正を示す。「改善を検討してください」などの曖昧な提案は避ける。
  • 開かれたすべてのゲートが合格した場合、ゲートインデックスがレポートとなる。発見事項をでっち上げない。
  • テスト、ビルド、またはランタイムチェックが実行されなかった場合は言及する。
  • 自分の役割に徹し、境界で引き継ぐ。このスキルは静的でローカルなレビューのみである。 ランタイム/動作の正しさについては verify を参照し、ゲート8の表面的なチェックを超える深いセキュリティ分析については security-review を参照するように指示する。他のスキルの役割を中途半端に行うのではなく、明確に引き継ぎ先を指定する。

関連スキル