1仕組みと動作原理
コアメカニズムは「モデルの多様性こそが対抗的(敵対的)シグナルである」という点です。同一の diff、同一の prompt、同一の rubric を、**異なるモデルファミリー**に属する N 個の読み取り専用サブエージェントに渡し、ペルソナロールプレイを行わずにそれぞれレビューさせます。
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.
読み取り専用、結論のみ提示:レビュー用サブエージェントは readonly モードで起動され、本スキルはコード変更の自動適用を明示的に禁止しています。
The deliverable is a synthesized verdict. Do NOT auto-apply changes.
レビュー対象範囲はコンテキストによって決定され、最も典型的な入力は実際の CLI 呼び出しポイントである `git diff main...HEAD` です。
- If on a feature branch, run `git diff main...HEAD` (or the appropriate base branch) for the full changeset
レビュアーの数と使用モデルはユーザー設定によって駆動されます:~/.cursor/rules/pstack-models.mdc の `interrogate reviewers` リストを読み込み、未設定の場合のみ組み込みの 4 モデル構成を使用します。
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.
プロンプトテンプレートと合否判定基準は references/ 配下に外出しされており、「実装を批判し、意図は批判しない」原則、3 段階の重要度(critical/warning/nit)、構造化出力フォーマットが固定されています。
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.
統合フェーズは単なる結合ではありません:「2 以上のモデルが独立して指摘 = 高シグナル」として合意を識別し、単一モデルのみの指摘は保持しつつ重み付けを下げ、同一問題の異なる表現を統合し、モデル間の相違を明示的に記録します。
2. **Identify consensus**. Findings raised by 2+ models independently are highest signal.
最終ステップは中立的な集約ではなく「リードによる判断」です:人間のリードレビュアーという役割がプロセスに明記され、成果物は Act on / Consider / Noted / Dismissed の 4 つのバケットに分類され、各項目にどのモデルが指摘したかが明記されます。
You are the lead reviewer, a pragmatic senior engineer, not a neutral aggregator.
汎用 rubric に加え、非常に厳格なコード品質レンズが強制的に重ねられます(構造の簡素化、ファイル行数、スパゲッティコードの増加に対して通常のコードレビューを大きく上回る要件を課します)。
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.
フォールバックパスが存在します:モデルのスラッグが解決できない場合でもレビューを中断せず、同ファミリーの最強モデルを選択し、エラーメッセージから有効なスラッグを取得して、デフォルト値を修正する PR を別途作成します。
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.
2コア機能
3外部依存関係
| Kind | Dependency / Endpoint |
|---|---|
| cli | git(读取分支变动做评审输入) |
| api | Cursor Task 子代理(多模型执行面:generalPurpose 子代理 + 指定 model slug) |
| network | 用户级配置文件 ~/.cursor/rules/pstack-models.mdc(读取 interrogate reviewers 一行) |
4推奨統制措置と判定根拠
- 本地文件: ローカルプロジェクトファイルまたは作業ディレクトリの成果物の操作
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結論
8282cc302a8de1c3…