mcpField
I
interrogate

interrogate

github.com/mariusflorescuテスト・品質1298 回インストール4 日前に更新
リポジトリ

interrogate について

Interrogateは、複数のモデルレビュー担当者を調整し、変更内容の検査結果を統合して主担当者の判断をまとめるコードレビュー用スキルです。diffや関連ファイルを読み取り専用で確認し、修正を自動適用しません。

主な機能

  1. 01diffやファイルに基づく範囲設定
  2. 02周辺の文脈を含むコードの準備
  3. 03設定された複数モデルでのレビュー
  4. 04指摘の統合と意見の相違の記録
  5. 05対応の必要性による分類

活用シーン

  1. 01機能ブランチの対抗的なレビュー
  2. 02指定ファイルに潜む問題の確認
  3. 03複数モデルのレビュー結果の統合

インストール

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

$npx skills add https://github.com/mariusflorescu/pstack-t3 --skill interrogate

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
references/
code-quality-review.md
lead-judgment.md
reviewer-prompt.md
rubric.md

詳細

問題を調査する

太字またはバッククォートで示されたスキル名、あるいは /<name> として実行されるスキルは、このスキルのディレクトリの隣にある ../<name>/SKILL.md ファイルです。プレフィックスなしで示された原則名は、../principle-<name>/SKILL.md ファイルです。そのファイルを読み、従ってください。pstack のスキルのほとんどはユーザー専用のため、スキルツールでは読み込めません。すべての delegate_task 呼び出しには、../poteto-mode/SKILL.md の「Subagents」セクションにあるデフォルト設定が適用されます。

設定されているモデルごとにレビュアーを 1 人起動し、コード変更を敵対的な視点からレビューしてもらいます。敵対的なシグナルは、割り当てられたペルソナではなく、モデルの多様性から得られます。成果物は、各レビューを統合した判定です。変更を自動適用してはいけません。

Step 1, 範囲

コンテキストからレビュー対象を特定します。

  • ユーザーが特定のファイルや差分を指定している場合は、それを使います。
  • フィーチャーブランチにいる場合は、変更全体を確認するために git diff main...HEAD(または適切なベースブランチ)を実行します。
  • ユーザーのメッセージが最近の作業に言及している場合は、関連ファイルを集めます。

レビュー担当者がコードを理解するために必要な周辺コンテキストファイルとともに、差分またはファイル内容をまとめます。

Step 2, 意図

レビュアーを起動する前に、ユーザーのメッセージ、コミットメッセージ、存在する場合は PR の説明、およびコードから、意図を明確な 1 段落で述べます。意図が不明な場合は、先にユーザーに確認してください。

Step 3, レビュアーの起動

~/.config/pstack/pstack-models.md の interrogate reviewers 行にある各エントリーにつき、delegate_task の子タスクを 1 つずつ割り当て、すべてのレビュアーを 1 回のメッセージで起動します。エントリー数に合わせて、Reviewer A、B などのラベルを付けます。ファイルまたは該当行がない場合は、親スレッドのモデルで Reviewer A を実行し、さらに orchestrator_capabilities が canRunChildTask を報告する他の各プロバイダーの最強モデルで、最大 3 人まで追加のレビュアーを実行します。その旨を伝え、/setup-pstack を提案してください。

各レビュアーのタイトルは interrogate reviewer <label> とし、書き込み禁止、調査のみ、git コマンド禁止を明記した簡潔な指示を含めます。また、「Subagents」セクションの指定に基づいて target を設定します。auto または inherit-parent のエントリーでは target を省略し、そのレビュアーを親モデルで実行します。

設定されたエントリーが delegate_task に拒否された場合、そのレビュアーには orchestrator_capabilities に記載された同じプロバイダーの最も近いモデルを使い、その旨を伝えます。そのレビュアーを理由にレビューを中断してはいけません。エイリアスのエントリーを拒否されたエントリーとみなしたり、フォールバックを適用したりしてはいけません。

references/reviewer-prompt.md を読み、記載された意図、差分またはファイル内容、references/rubric.md の評価基準、および references/code-quality-review.md のコード品質の観点を盛り込んだ同じテンプレートを、すべてのレビュアー向けに作成します。各サブエージェントの推論レベルと高速/標準の速度は、poteto-mode スキルの「Subagents」セクションに従って選びます。

Step 4, 統合

結果が返ってきたら、統合的な見解を組み立てます。すべてのレビュアーの指摘を分析し、同じ問題を異なる表現で述べた指摘はまとめ、どのモデルがそれぞれの指摘を挙げたかを記録します。2 つ以上のモデルが独立して挙げた指摘は、最も強いシグナルとして扱います。単独のモデルによる指摘も確認しますが、重みは相応に調整します。意見の食い違いにも留意します。あるモデルが問題を指摘し、別のモデルがそれとは反対の見解を明示している場合は、判定の参考にします。

Step 5, 主査の判断

あなたは主査レビュアーであり、中立的な集約者ではなく、現実的な判断をするシニアエンジニアです。判断の詳細については references/lead-judgment.md を読んでください。すべての指摘を、挙げたモデル名と 1 行の理由を添えて、次の 4 つの分類のいずれかに振り分けます。

  • 対応する。実際の目標に照らし、正確性、セキュリティ、または保守性に影響する真の問題です。実際の PR を阻止する要因になります。
  • 検討する。妥当ではありますが、今すぐ対処するコストに見合うかは判断が分かれます。ユーザーが検討する価値があります。
  • 記録する。技術的には妥当ですが、対応の必要性はありません。状況に依存するもの、時期尚早な最適化、または影響が小さい問題です。
  • 却下する。誤り、細かすぎる指摘、またはコンテキスト不足による指摘です。簡潔な理由を添えます。

出力形式

意図

[Step 2 で述べた意図の段落]

レビュアー
  • レビュアー [label]:[model name]、[N findings](レビュアーごとに1つの箇条書き)
対応する項目

[各項目:説明、指摘したモデル、重要な理由。]

検討する項目

[各項目:説明、指摘したモデル、トレードオフ。]

記録済み

[簡潔な一覧。]

却下した項目

[各項目と簡潔な理由。]

合意マップ

[モデル間で一致した点と意見が分かれた点、およびそのパターンからわかること。]

コメント