ワークフロー&基本ツール · cursor/plugins

interrogate

"interrogate"、"adversarial review"、"multi-model review"、"challenge this"、"stress test this code"、"find blind spots"、または "tear this apart" に使用します。複数の LLM レビュアーが独立した視点から変更点を検証・批判的に評価します。

L2 ローカル · 作業ディレクトリ限定V1 コミット固定ファイル書き込みDual-pass Audit
Author cursorGitHub cursor/plugins ↗Stars 7799License MIT(pstack 插件自带 LICENSE,'Copyright (c) 2026 Lauren Tan';pstack/.cursor-plugin/plugin.json 声明 "license": "MIT")。注意 cursor/plugins 仓库根目录没有 LICENSE 文件,GitHub API 的 license 字段为 null——授权只落在各插件目录自身。Commit df3fb154fb
管理レベルは Skill の能力と推奨統制措置を示すものであり、品質や安全性の認証、利用可否の判定ではありません。使用の可否はユーザーおよび管理者が決定します。Agent 環境によって制約が異なるため、自動保護を仮定しないでください。第三者製 Skill の著作権は原著作者に帰属し、利用リスクは利用者が負います。

1仕組みと動作原理

コアメカニズムは「モデルの多様性こそが対抗的(敵対的)シグナルである」という点です。同一の diff、同一の prompt、同一の rubric を、**異なるモデルファミリー**に属する N 個の読み取り専用サブエージェントに渡し、ペルソナロールプレイを行わずにそれぞれレビューさせます。

pstack/skills/interrogate/SKILL.md
Spawn one reviewer per configured model to adversarially review code changes. Each model gets the same prompt and rubric. The adversarial signal comes from model diversity, not assigned personas.
ここで行われていること:「対抗性」の源泉をプロンプトによる人格付与(「あなたは厳格なレビュアーです」)から統計的な独立性へと移行させています。異なるモデルはそれぞれ盲点が異なるため、2 つのモデルが独立して同一の指摘をした場合は高信頼なシグナルとなります(Step 4 の consensus 判定はこれに基づきます)。

読み取り専用、結論のみ提示:レビュー用サブエージェントは readonly モードで起動され、本スキルはコード変更の自動適用を明示的に禁止しています。

pstack/skills/interrogate/SKILL.md
The deliverable is a synthesized verdict. Do NOT auto-apply changes.
同一ファイル内の Step 3 でサブエージェントのパラメータが指定されています:`subagent_type`: `generalPurpose`、`readonly`: `true`。これによりプロセス全体が「レポート作成」にとどまり「コード変更」には至らず、同一リポジトリ内のファイル書き換えを行うスキル(show-me-your-work、create-verification-skill など)と明確な役割分担がなされています。

レビュー対象範囲はコンテキストによって決定され、最も典型的な入力は実際の CLI 呼び出しポイントである `git diff main...HEAD` です。

pstack/skills/interrogate/SKILL.md
- If on a feature branch, run `git diff main...HEAD` (or the appropriate base branch) for the full changeset
他の 2 つのパスは「ユーザーが指定したファイル/スニペット」と「直近の作業に基づく関連ファイルの検索」です。diff を取得した後は、周辺のコンテキストファイルもパッケージングしてレビュアーに渡す必要があります('Package the diff (or file contents) plus any surrounding context files')。

レビュアーの数と使用モデルはユーザー設定によって駆動されます:~/.cursor/rules/pstack-models.mdc の `interrogate reviewers` リストを読み込み、未設定の場合のみ組み込みの 4 モデル構成を使用します。

pstack/skills/interrogate/SKILL.md
Launch all reviewers in a single message using the Task tool. Use the `interrogate reviewers` list from `~/.cursor/rules/pstack-models.mdc` when present, one reviewer per entry, extending or shrinking the Reviewer A/B/C/D labels below to the configured entry count. Otherwise use the table defaults.
組み込みデフォルト:Reviewer A claude-fable-5-1-thinking-max、B gpt-5.6-sol-max、C grok-4.6-fast-xhigh、D claude-opus-5-thinking-xhigh——意図的に 3 つのプロバイダーにまたがっています。この設定は同一リポジトリの setup-pstack スキルによって生成されます(setup-pstack の調査を参照)。

プロンプトテンプレートと合否判定基準は references/ 配下に外出しされており、「実装を批判し、意図は批判しない」原則、3 段階の重要度(critical/warning/nit)、構造化出力フォーマットが固定されています。

pstack/skills/interrogate/references/reviewer-prompt.md
You are an adversarial code reviewer. Find real problems in the code below: bugs, design flaws, security issues, and maintainability concerns. You are not here to be helpful or encouraging. You are here to stress-test.
同ファイル内ですぐに目的が固定されています:'You are reviewing whether the code achieves this intent well. Do NOT question the intent itself. Assume the goal is correct and challenge the execution.'——「これをやるべきか否か」をレビュー対象外とし、レビュアーが製品方針の議論で空転するのを防ぎます。

統合フェーズは単なる結合ではありません:「2 以上のモデルが独立して指摘 = 高シグナル」として合意を識別し、単一モデルのみの指摘は保持しつつ重み付けを下げ、同一問題の異なる表現を統合し、モデル間の相違を明示的に記録します。

pstack/skills/interrogate/SKILL.md
2. **Identify consensus**. Findings raised by 2+ models independently are highest signal.
Step 4 の 5 つのステップ:すべての指摘をパース → 合意の特定 → 単一モデルの指摘の特定(重み付け低減)→ 重複排除(統合して提案元を明記)→ 相違点の記録(一方が問題視し、もう一方が明確に問題なしとした場合、それ自体が判断材料となる)。

最終ステップは中立的な集約ではなく「リードによる判断」です:人間のリードレビュアーという役割がプロセスに明記され、成果物は Act on / Consider / Noted / Dismissed の 4 つのバケットに分類され、各項目にどのモデルが指摘したかが明記されます。

pstack/skills/interrogate/SKILL.md
You are the lead reviewer, a pragmatic senior engineer, not a neutral aggregator.
lead-judgment.md ではフィルタリング原則(些細な指摘への偏重、仮定と実際、時期尚早な抽象化、最も一般的な誤検知である「自分ならこう書く」、コンテキスト欠落シグナル)と、厳格な成果物規律('If your "Act On" list has more than 5 items, you're probably not filtering hard enough.')が規定されています。

汎用 rubric に加え、非常に厳格なコード品質レンズが強制的に重ねられます(構造の簡素化、ファイル行数、スパゲッティコードの増加に対して通常のコードレビューを大きく上回る要件を課します)。

pstack/skills/interrogate/references/code-quality-review.md
1. **Do not let a PR push a file from under 1k lines to over 1k lines without a very strong reason.** Treat this as a strong smell.
このレンズのベースラインプロンプトは 'Perform a deep code quality audit of the current branch's changes.' であり、「code judo」的なリファクタリングの積極的な模索を要求し、明確な Approval Bar(複数の構造的問題をデフォルトでブロッカー扱い)を備えています。これは SKILL.md の汎用 rubric より遥かに厳しく、本スキルと一般的な「マルチモデルレビュー」を分ける境界線となっています。

フォールバックパスが存在します:モデルのスラッグが解決できない場合でもレビューを中断せず、同ファミリーの最強モデルを選択し、エラーメッセージから有効なスラッグを取得して、デフォルト値を修正する PR を別途作成します。

pstack/skills/interrogate/SKILL.md
If a model slug is rejected as unresolvable when you try to spawn the subagent, check the valid slugs in the Task tool's error message, pick the closest equivalent (prefer the highest-reasoning tier of the same family), spawn with the valid slug, and open a separate PR to update the configured value or default table. Do not block the review on the slug issue.
`inherit-parent` および `auto` という 2 つのエイリアスは特別に免除されており、不正なスラッグとして扱わず、model フィールドを省略してサブエージェントに親セッションのモデルを継承させます(Auto 枠のユーザーが設定破損と誤判定されるのを防ぎます)。

2コア機能

01マルチモデルによる対抗的コードレビューのオーケストレーション(1 つのメッセージ内で全レビュー用サブエージェントを並行起動)
02レビュー意図のアンカー付け:まず意図(ユーザーメッセージ/コミット/PR の説明/コード本体から)を記述し、不明瞭な場合はユーザーに確認した上で、その意図に沿ってレビュアーに実装上の問題を指摘させる
03マルチプロバイダーによる冗長構成(デフォルトは claude / gpt / grok / claude-opus の 4 系統)、ユーザー設定による系統数の増減に対応
04合意/単一指摘/相違の 3 状態による分類、提案元モデルの追跡と重複排除
05リードレビュアーによるフィルタリングフレームワーク:4 つのバケット分類 + 項目ごとの 1 文の分類理由により、ノイズをそのまま結論として出力するのを防止
06固定された出力構造:Intent / Reviewers / Act On / Consider / Noted / Dismissed / Agreement Map
07厳格なコード品質レンズ:構造の簡素化を最優先、1k 行ファイル閾値、スパゲッティ化の抑制、型/境界の健全性、不要な直列処理の排除
08設定破損時の適応型フォールバック(スラッグの問題で停止することなくレビューを継続)

3外部依存関係

KindDependency / Endpoint
cligit(读取分支变动做评审输入)
apiCursor Task 子代理(多模型执行面:generalPurpose 子代理 + 指定 model slug)
network用户级配置文件 ~/.cursor/rules/pstack-models.mdc(读取 interrogate reviewers 一行)

4推奨統制措置と判定根拠

安全運用のための推奨統制措置
Agent 向け
作業ディレクトリを限定
管理者向け
操作ログを保持
判定根拠(ファイルパスと抜粋)
  • 本地文件: ローカルプロジェクトファイルまたは作業ディレクトリの成果物の操作
監査ノート: 。理由:スキル本体は純粋なプロンプトオーケストレーションであり、スクリプト実行、独自のネットワーク通信、認証情報や環境変数の読み込み、ファイルの書き込みは行わず、すべてのアクションはローカルの読み取り(git diff / ファイル読み込み)およびホストが提供するサブエージェントのディスパッチで完結します。留意すべき点は設計上の目的そのものです。コードの diff と周辺コンテキストを異なる複数ベンダーのモデルに渡してレビューさせる(デフォルト 4 系統)ため、「コード内容の外部モデルプロバイダーへの送信」は副作用ではなく機能要件です。サブエージェントは readonly 指定されていますが、これは書き込み権限のみを制約し、データ送信フローを制約するものではありません。トリガー条件:ユーザーが明示的に /interrogate や「adversarial review / tear this apart」などのトリガー語を入力した場合のみ起動します(frontmatter に disable-model-invocation: true が設定されており、モデルが自発的に呼び出すことはありません)。

5二重目の独立検証

  • [ok] 「每模型一个评审者」是否真按配置读 — SKILL.md Step 3 明写从 ~/.cursor/rules/pstack-models.mdc 的 `interrogate reviewers` 取列表,'one reviewer per entry, extending or shrinking the Reviewer A/B/C/D labels';配置缺失才落回四模型默认表。setup-pstack 的 SKILL.md 第 55 行确实生成 'interrogate reviewers: claude-fable-5-1-thinking-max, gpt-5.6-sol-max, grok-4.6-fast-xhigh, claude-opus-5-thinking-xhigh',两端严丝合缝。
  • [ok] 只读与「不自动应用」两个断言 — SKILL.md 第 11 行 'The deliverable is a synthesized verdict. Do NOT auto-apply changes.';第 48 行子代理参数 '`readonly`: `true`'。仓库其他位置(docs/guide/04-design.md)亦复述 'applies nothing automatically'。无写文件指令。
  • [ok] 外部依赖清单的完备性(是否有漏网 CLI/API) — token 扫描仅 `git diff main...HEAD` 一处命令;其余依赖都是宿主的 Task 工具与本地配置文件。不存在壳脚本、curl、MCP 端点或第三方 SaaS 调用。
  • [ok] 安全面:有无凭证读取或隐蔽网络 — 六个文件对 API_KEY/token/secret/env/curl/requests/http 零命中;无脚本文件可执行任何东西。第一遍判定的 blue 档依据(本地读写 + 宿主调度)成立。
  • [ok] 功能声明是否有夸大('Multiple LLM reviewers challenge changes from independent angles.') — Step 3 用同一模板喂所有评审者(reviewer-prompt.md 明确 placeholders),所以「independent」指的是模型家族不同而非提示词不同——SKILL.md 自己在第一段就澄清 'The adversarial signal comes from model diversity, not assigned personas',措辞与实现一致,未夸大。
  • [ok] 配置损坏时的降级行为是否可能造成意外(自动开 PR) — SKILL.md 指示 'open a separate PR to update the configured value or default table'——这是让 agent 在仓库里另开 PR 的动作指令,属跨出「只读评审」范围的唯一指令。它只在模型 slug 被拒时才触发,且对象是配置仓库;用户若不希望自动开 PR,应在使用前知悉。已在 risks 中列出。
  • [ok] installs 数值可信度 — installs=3 直接取自池内 pool.json(source 'skills.sh-hot',同时 github_stars/license/last_push 为 null);该数字明显是 skills.sh 热度榜的低值采样,不代表真实装机量,故 meta 中照录池值、stars 与 last_push 用 gh api 实采(7799 / 2026-09-15T03:14:54Z)。
  • [ok] 授权归属 — 仓库根无 LICENSE(gh api license=null);MIT 只存在于 pstack/LICENSE(Copyright (c) 2026 Lauren Tan)与 pstack/.cursor-plugin/plugin.json 的 "license": "MIT"。结论「MIT(限 pstack 插件目录)」有据。

6結論

  • 「対抗性」をペルソナ設定ではなく再現可能なエンジニアリングメカニズムとして構築:同一 prompt・同一 rubric × 異なるモデルファミリーを用い、合意/単一指摘/相違の 3 状態でシグナル強度を定量化。
  • 極めて厳格な出力規律:4 つのバケット分類、モデル別の追跡、Act On は最大 5 件、Dismissed には必須の理由付け(信頼構築メカニズムと定義)。
  • レビュー対象のアンカー付け(事前に意図を明文化し、意図への疑問視を禁止)、マルチモデルレビューで頻発する空転や論点逸脱を大幅に抑制。
  • スタイルのノイズではなく構造的な改善をもたらす強力な品質レンズ(1k 行閾値、スパゲッティコード対策、標準レイヤー準拠、code judo)。
  • 副作用ゼロの読み取り専用仕様 + 柔軟な設定構成(arena/swarm/poteto-mode と同一のロール・モデルマッピングを共有可能)。
  • 最適な用途: 適しているケース:Cursor のプラグインエコシステム(pstack 系)を導入済みで、実際の diff(フィーチャーブランチ/PR)があり、マージ前にマルチモデルでストレステストを行いたいエンジニアリングチーム。「単一モデルのレビューで見落としが生じた」経験があり、マルチベンダー冗長構成の時間とコストを許容できる環境に最適です。/architect や /arena と組み合わせ、「設計確定・実装レビュー待ち」フェーズで利用するのが最も自然です。
    不向きな用途: 適していないケース:① コードを複数の外部モデルプロバイダーに送信できないコンプライアンス環境(レビュアーを承認済みモデルのみに制限する場合を除く);② 問題の自動修正を求めるケース(本スキルは判定のみを提供し、コード変更は行いません);③ 予算や時間が限られた軽微な変更(単一モデルによるレビューや通常のレビューの方が効率的);④ 機械検証可能な結論を必要とするパイプライン(テストアセットや構造化スキーマはなく、人間向けのレポートを出力);⑤ 意図が曖昧で質問への回答を避けたいユーザー(Step 2 で回答を待つため停止します)。
    Install Agent-Ready
    ① Verified Mirror 2026-09-15
    Option A · Direct DownloadDownload interrogate.tar.gz
    sha256: 8282cc302a8de1c3…
    Option B · Copy Guide for Agent
    install.json
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit df3fb154fb.