Communityコーディング&開発github.com

NiazMorshed2007/jev-review

Jev Review:軽量なシニアエンジニアリングレビューループ。実装スライスをスコア化し、品質の変化を比較し、弱点を指摘します。エージェントが実装し、Jevは編集せずに評価します。

jev-review とは?

Jev Reviewは、AIエージェント(Claude Code、Cursor、Codexなど)向けの軽量かつ反復可能なコードレビューツールで、シニアエンジニアリングレベルの品質評価を提供します。このスキルは、エージェントが実装した変更を評価し、スコアリング、品質変化の比較、弱点の特定を行いますが、ファイルの編集は一切行いません。主なワークフローは、タスクの理解、リポジトリの調査、実装、検証、レビュー呼び出し、フィードバックの解釈と反映、そして再度のレビューというサイクルで構成されます。特に、1つの大きなレビューではなく、複数の焦点を絞ったレビューを推奨しており、各実装スライスごとに`jev_review`を呼び出すことで、品質の継続的な監視と改善が可能です。また、スコアを無理に上げようとする「ゲーミング」を防ぐため、正当な理由のない抽象化やスコープ拡大を戒め、実際のコード品質とタスク要件を最優先する思想が組み込まれています。Cline、Claude Code、GitHub Copilotなど、API経由でツール呼び出しが可能なあらゆるエージェントで利用できます。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/NiazMorshed2007/jev-review/tree/main/skills/jev-review

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

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

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

ドキュメント

Jev Review

jev_review を軽量で反復可能なシニアエンジニアリングレビューループとして使用します。プライマリコーディングエージェントが実装、検証、最終判断を担当し、Jev Reviewは提供された変更を評価しますが、ファイルを編集することは決してありません。

レビューのタイミング

難しいタスクでは、最後に1回大きなレビューを行うよりも、作業中に複数の焦点を絞ったレビューを優先します:

  • 振る舞い、モジュール、API境界、移行ステップ、テスト戦略の完了など、判断に十分な実装スライスごとに呼び出します。
  • 新しい制御フロー、状態処理、依存関係、公開契約、またはセキュリティに敏感な振る舞いが現れたときに呼び出します。
  • 正当化されたフィードバックを適用した後、previousEvaluation として以前の結果を渡して再度呼び出し、改善点と後退点をJevが識別できるようにします。
  • 最終ハンドオフの前に、最新のレビューが最終実装をカバーしていることを確認します。

中間レビューは完全なテストスイートを待つ必要はありません。実用的な場合に高速で関連性のあるチェックを実行し、そのステータスを repositoryContext に含めてください。最終レビューの前にはリポジトリの通常の検証を実行してください。同一の呼び出しを繰り返したり、フォーマットのみの変更をレビューしたり、一貫性のある実装状態なしに呼び出したりしないでください。頻繁な焦点を絞ったレビューは有用ですが、空のレビューは有用ではありません。

ワークフロー

  1. ユーザの実際の要件と制約を理解します。
  2. リポジトリ、その規約、および影響を受ける振る舞いを調査します。
  3. 要求された変更の一貫性のあるスライスを実装します。
  4. 実用的な場合、高速で関連性のあるテスト、型チェック、リンター、またはその他の検証を実行します。
  5. 現在のスライスを評価するために必要なコンテキストのみで jev_review を呼び出します。
  6. 信頼性の低い結果、弱い次元、優先度の高い問題、および後退点を調査します。
  7. コードとユーザのタスクによって裏付けられたフィードバックを判断します。評価は、すべての数値を最適化するための指示ではなく、証拠として扱います。
  8. フィードバックが実際の価値を特定する場所で実装を改善し、正確性、認知的複雑さ、変更容易性、結合度、モジュール性、抽象化の品質、テスト、およびセキュリティを優先します。
  9. 次の一貫性のあるスライスに対して、実装、検証、レビューのループを繰り返します。
  10. レビュー主導またはその他の実質的な変更の後、再度 jev_review を呼び出し、以前の構造化評価を previousEvaluation として渡します。
  11. 最終ハンドオフの前にリポジトリの通常の検証を実行し、最新の評価が最終状態をカバーしなくなった場合は最終状態をレビューします。
  12. 重要なリスクが対処され、さらなる変更が実際の価値をほとんど追加しなくなったら停止します。

コンテキストの選択

以下のような焦点を絞った呼び出しを推奨します:

{
  "task": "ユーザが要求する振る舞いと関連する受け入れ制約",
  "diff": "実装の差分",
  "files": [
    {
      "path": "src/example.ts",
      "content": "差分を理解するために周辺コードが必要な場合のみ"
    }
  ],
  "repositoryContext": "関連するアーキテクチャ、規約、テスト結果、または不変条件",
  "previousEvaluation": {}
}

Jevが入力制限を超えたと報告した場合は、無関係なファイル内容を減らすか、実装を一貫性のあるレビュースライスに分割します。変更を正しく判断するために必要な契約、呼び出し元、またはテストを削除することになる場合は、コードを盲目的に切り詰めないでください。

ほとんどのレビューでは task と diff を使用します。差分に必要な周辺の振る舞いが欠けている場合にのみ、完全なファイルを追加します。repositoryContext は、評価者が推論できない簡潔な事実(確立されたパターンや検証結果など)に使用します。

デフォルトでリポジトリ全体を送信しないでください。無関係なファイル、生成された出力、ベンダリングされたコード、シークレット、認証情報、秘密鍵、環境ファイル、ノイズの多いロックファイルの変更は、それらがレビューに直接関連しない限り除外します。

結果の解釈

  • 正確性とユーザの要件がすべてのスコアに優先します。
  • 信頼性の低いスコアは、コードを書き直す理由ではなく、コンテキストを調査するための促しです。
  • applicable: false とマークされた条件付きメトリクスはアクションを必要としません。
  • priorities を使用して最も重大な弱い次元を見つけ、コードを変更する前に実際のコードを調査します。
  • 評価を比較する際は、意味のある後退点と未解決のままの弱いメトリクスを調査します。わずかなスコアの変化を追いかけないでください。
  • テスト、型チェック、リンター、セキュリティツール、および人間の判断に引き続き依存します。Jev Reviewはこれらを補完するものであり、置き換えるものではありません。

スコアのゲーミングをしない

高いスコアは、不必要な抽象化、推測によるアーキテクチャ、スコープの拡大、既存の振る舞いの破壊、健全なコードの書き換え、証拠のない型にはまらないアーキテクチャ、無意味なテスト、不要なコメント、またはファイルを小さくするためだけの凝集したコードの分割を決して正当化しません。

短い関数、小さなファイル、単一目的のクラス、重複ゼロ、より多くの抽象化、より多くのテスト、またはより多くのコメントが本質的に優れているとは想定しないでください。このリポジトリとこのタスクにおける結果を評価してください。

関連スキル