Interrogate
Spawn independent reviewers on mixed capability tiers to adversarially
review a change. The signal comes from diverse priors, not assigned
personas. Agreement is high-confidence. Lone findings are worth reading
at lower weight.
The deliverable is a synthesized verdict. Do not auto-apply changes.
Companion to review-dispatch (front door), code-review (correctness
gate), grok-review (one external engine), and full-code-review. Use
this skill when the ask is a multi-reviewer adversarial pass.
Authorized Scope
Apply this engine only within the user's requested task and existing explicit
authorization. Loading or delegating to it grants no additional authority.
Preserve report-only restrictions and the caller's target, host, provider, and
cost limits. Existing approval satisfies a gate only for the same actions and
scope; obtain approval before expanding them. Forward these limits to delegates.
Contract
Inputs:
- A diff, branch, or PR to challenge
Outputs:
- A lead verdict bucketed Act on / Consider / Noted / Dismissed, plus
an agreement map
Creates/Modifies:
External Side Effects:
- Read-only git /
gh to gather the diff
Confirmation Required:
Delegates To:
- Named, not fired:
review-dispatch when the human wants the catalog
review front door instead
Steps
- Scope. Use the pointed files or diff. On a feature branch,
git diff <trunk>...HEAD including the working tree.
- Intent. Write one paragraph of what the code is trying to
accomplish. Reviewers challenge whether the work achieves that
intent, not whether the intent is correct. If intent is unclear,
ask before spawning.
- Spawn reviewers. Launch all reviewers in one message, read-only,
across at least two capability tiers and, when possible, different
families. Each gets the same filled template from
references/reviewer-prompt.md, the
rubric, and the code-quality lens.
- Synthesize. Parse findings. Consensus (2+ independent) is
highest signal. Deduplicate. Note disagreements.
- Lead judgment. You are a pragmatic lead, not an aggregator.
Read references/lead-judgment.md.
Categorize every finding.
Output format
Intent
The stated intent paragraph.
Reviewers
One bullet per reviewer: label, capability tier, finding count. Never
name a concrete model.
Act On / Consider / Noted / Dismissed
Each finding: description, which reviewers raised it, one-line
rationale.
Agreement Map
Where reviewers agreed, where they diverged, and what that pattern
means.
Interrogate procedure
Read interrogate procedure when running this workflow.
Apply the authorized scope and mode of this entry point to every step.
Resolve other skills through this distribution’s active catalog; resolve
resources relative to the installed skill directory.
1---
2name: interrogate
3description: Adversarial multi-reviewer pass over a diff. Use for interrogate, adversarial review, multi-model review, challenge this, stress test this code, find blind spots, or tear this apart. Several independent reviewers challenge the change. The lead synthesizes a verdict and does not auto-apply fixes.
4license: MIT
5metadata:
6 portable_source: "https://github.com/ericlitman/open-pstack"
7 portable_commit: "56bfd14418fa733e34d98f714f357d28788470e3"
8 version: "1.2.0"
9 tags: "review, adversarial, multi-reviewer, quality"
10 author: Ship Shit Dev
11 source: https://github.com/cursor/plugins/blob/main/pstack/skills/interrogate/SKILL.md
12 upstream_repo: cursor/plugins
13 upstream_ref: main
14 upstream_commit: bdf7aa355337
15 last_synced: "2026-09-05"
16 license: MIT
17when_to_use: "interrogate, adversarial review, tear this apart, find blind spots, stress test this diff"
18---
19
20# Interrogate
21
22Spawn independent reviewers on mixed capability tiers to adversarially
23review a change. The signal comes from diverse priors, not assigned
24personas. Agreement is high-confidence. Lone findings are worth reading
25at lower weight.
26
27The deliverable is a synthesized verdict. Do not auto-apply changes.
28
29Companion to `review-dispatch` (front door), `code-review` (correctness
30gate), `grok-review` (one external engine), and `full-code-review`. Use
31this skill when the ask is a multi-reviewer adversarial pass.
32
33## Authorized Scope
34
35Apply this engine only within the user's requested task and existing explicit
36authorization. Loading or delegating to it grants no additional authority.
37Preserve report-only restrictions and the caller's target, host, provider, and
38cost limits. Existing approval satisfies a gate only for the same actions and
39scope; obtain approval before expanding them. Forward these limits to delegates.
40
41## Contract
42
43Inputs:
44
45- A diff, branch, or PR to challenge
46
47Outputs:
48
49- A lead verdict bucketed Act on / Consider / Noted / Dismissed, plus
50 an agreement map
51
52Creates/Modifies:
53
54- None. Report only.
55
56External Side Effects:
57
58- Read-only git / `gh` to gather the diff
59
60Confirmation Required:
61
62- None
63
64Delegates To:
65
66- Named, not fired: `review-dispatch` when the human wants the catalog
67 review front door instead
68
69## Steps
70
711. **Scope.** Use the pointed files or diff. On a feature branch,
72 `git diff <trunk>...HEAD` including the working tree.
732. **Intent.** Write one paragraph of what the code is trying to
74 accomplish. Reviewers challenge whether the work achieves that
75 intent, not whether the intent is correct. If intent is unclear,
76 ask before spawning.
773. **Spawn reviewers.** Launch all reviewers in one message, read-only,
78 across at least two capability tiers and, when possible, different
79 families. Each gets the same filled template from
80 [references/reviewer-prompt.md](references/reviewer-prompt.md), the
81 rubric, and the code-quality lens.
824. **Synthesize.** Parse findings. Consensus (2+ independent) is
83 highest signal. Deduplicate. Note disagreements.
845. **Lead judgment.** You are a pragmatic lead, not an aggregator.
85 Read [references/lead-judgment.md](references/lead-judgment.md).
86 Categorize every finding.
87
88## Output format
89
90### Intent
91
92The stated intent paragraph.
93
94### Reviewers
95
96One bullet per reviewer: label, capability tier, finding count. Never
97name a concrete model.
98
99### Act On / Consider / Noted / Dismissed
100
101Each finding: description, which reviewers raised it, one-line
102rationale.
103
104### Agreement Map
105
106Where reviewers agreed, where they diverged, and what that pattern
107means.
108
109## Interrogate procedure
110
111Read [interrogate procedure](references/interrogate-procedure.md) when running this workflow.
112Apply the authorized scope and mode of this entry point to every step.
113Resolve other skills through this distribution’s active catalog; resolve
114resources relative to the installed skill directory.