Skip to content
Agentmart
Submit a tool

interrogate

Use for "interrogate", "adversarial review", "multi-model review", "challenge this", "stress test this code", "find blind spots", or "tear this apart".

Skill by jiangkoumo

IndexedMIT★ 27
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/jiangkoumo-interrogate

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Use for "interrogate", "adversarial review", "multi-model review", "challenge this", "stress test this code", "find blind spots", or "tear this apart". Multiple LLM reviewers challenge changes from independent angles.

Use cases: testing, ml

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/interrogate

What's inside

Skill name
interrogate
Description
Use for "interrogate", "adversarial review", "multi-model review", "challenge this", "stress test this code", "find blind spots", or "tear this apart". Multiple LLM reviewers challenge changes from independent angles.
License
MIT
Instructions
102 lines in SKILL.md · view on GitHub

Files (5)

  • SKILL.md
  • code-quality-review.md · references/
  • lead-judgment.md · references/
  • reviewer-prompt.md · references/
  • rubric.md · references/

SKILL.md (first lines)

# Interrogate

Spawn one reviewer per configured model to adversarially review code changes. The adversarial signal comes from model diversity, not assigned personas. The deliverable is a synthesized verdict. Do NOT auto-apply changes.

## Step 1, Scope

Identify what to review from context:

- If the user points at specific files or a diff, use that.
- If on a feature branch, run `git diff main...HEAD` (or the appropriate base branch) for the full changeset.
- If the user's message references recent work, gather the relevant files.

Package the diff or file contents with any surrounding context files the reviewers need to understand the code.

## Step 2, Intent

Before spawning reviewers, state the intent in one clear paragraph from the user's message, commit messages, the PR description if one exists, and the code. If you're unsure about the intent, ask the user before proceeding.

## Step 3, Spawn Reviewers

Launch all reviewers in a single message with the `subagent` tool, one per entry on the configured `review` role line, labeled Reviewer A, B, and so on to match the entry count. If the role or that line is missing, use the table defaults.

| Subagent | Default role |
|----------|--------------|
| Reviewer A | `judgment` |
| Reviewer B | `strongest` |

Each reviewer gets a registered read-only pstack agent, and its model set to its configured entry, or its table default when there is no configured line. Omit `model` for an `inherit` entry, so that reviewer runs on the parent model.

If the host rejects a configured entry, run that reviewer on its family's table default and say so. If it rejects a table default, spawn with the closest equivalent from the valid configured models (prefer the same family and reasoning tier), and report the substitution. Do not block the review on a model-selection issue. Never treat an alias entry as a rejected model.

Read [reviewer-prompt.md](references/reviewer-prompt.md) and fill in the same template for every reviewer with the stated intent, the diff or file contents, the rubric from [rubric.md](references/rubric.md), and the code-quality lens from [code-quality-review.md](references/code-quality-review.md). Pick each subagent's thinking through `/setup-pstack` for the job, per the Subagents section of the **poteto-mode** skill.

## Step 4, Synthesize

As results come back, build a unified picture. Parse every reviewer's findings. Merge findings that describe the same issue differently, and note which models raised each one. Findings two or more models raised independently are the highest signal. Read a lone model's finding, but weight it accordingly. Note disagreements. If one model flags something and another explicitly says the opposite, that is context for the verdict.

## Step 5, Lead Judgment

You are the lead reviewer, a pragmatic senior engineer, not a neutral aggregator. Read [lead-judgment.md](references/lead-judgment.md) for the full framework. Put every finding in one of four buckets, with the model(s) that raised it and a one-line rationale.

- **Act on**. Real issues affecting correctness, security, or maintainability given the actual goals. They would block a real PR.
- **Consider**. Legitimate, but you're not sure they outweigh the cost of addressing them now. Worth the user's attention.
- **Noted**. Technically valid but not actionable. Context-dependent, premature optimization, or low-impact at this stage.
- **Dismissed**. Wrong, nitpicky, or missing context, with a brief reason.

## Output Format

### Intent
> [The stated intent paragraph from Step 2]

### Reviewers
- Reviewer [label]: [model name], [N findings] (one bullet per reviewer)

### Act On
[Each: description, which models raised it, why it matters.]

### Consider
[Each: description, which models raised it, the tradeoff.]

### Noted
[Brief list.]

### Dismissed
[Each with a brief rationale.]

### Agreement Map
[Where models agreed and diverged, and what that pattern tells us.]

## Pi adaptation

Adapted from Lauren Tan’s pstack v0.15.25, MIT, fixed revision f713f14203cd6420cec13cd7c55c32d598dbab68. Read the [Pi adapter](../../adapters/pi/harness.md) for host mappings.

Delegation requires current operator or applicable project authorization and a compatible pi-subagents integration. If unavailable or unauthorized, perform authorized stages locally, disclose self-review and missing independence, and report any required independent stage as open. Use only registered pstack.* agents. Models and thinking bind through /setup-pstack roles and user agentOverrides; never put model in a task item or on the outer subagent call. Report unavailable or identical configured models; do not silently substitute. Await native completion notices and collect every required result before synthesis.

Use read for file contents, grep/find/ls for search and directories, and ffgrep/fffind when available. Batch independent reads with codemode when available. Use edit/write only for authorized changes; bash executes programs and Git in an explicit working directory, never reads or searches files. Keep one writer per worktree and isolate candidate output paths. Read-only reviewers never receive bash, edit, write, or nested delegation. Loading this skill grants no new permission: push, PR creation, merge, external messages, and destructive operations require explicit authorization in the current session. Commit only when authorized.

Launch the seats with this call. The same complete review prompt goes to every seat, and the `parallel` schema accepts `{ agent, task }` items only:

```js
subagent({ workflow: "parallel", args: { tasks: [
  { agent: "pstack.judgment-agent", task: "<same complete review prompt; Reviewer A>" },
  { agent: "pstack.strongest-agent", task: "<same complete review prompt; Reviewer B>" }
] } })
```

The lead captures the scoped diff against `main` or the repository default branch, including working-tree changes when relevant, and passes its readable file path and surrounding context to every seat. Read-only children cannot run Git. The lead performs Steps 4 and 5 itself after collecting every result, reading [lead-judgment.md](references/lead-judgment.md) before issuing the synthesized verdict.

### Reviewing independent worktrees

Put `cwd` on the outer `subagent` call, never inside a `tasks` item. For several worktrees in one call, name the absolute worktree path in each `task` text.

```js
subagent({ workflow: "parallel", args: { tasks: [
  { agent: "pstack.judgment-agent", task: "Review /absolute/path/to/worktree-a at SHA <sha>." },
  { agent: "pstack.judgment-agent", task: "Review /absolute/path/to/worktree-b at SHA <sha>." }
] } })
```

The rejected shape is `tasks: [{ agent, task, cwd }]`: the schema validates task items before any child starts and rejects the extra field.

From jiangkoumo/pi-pstack, MIT.

More from jiangkoumo/pi-pstack

Signals

Stars
27
Forks
0
Open issues
0
Last commit (this folder)
Oct 21, 2026 (7 days ago)
Last release
Oct 24, 2026 (4 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from jiangkoumo

Cite this page

interrogate skill. Agent Mart. https://agentmart.dev/skills/jiangkoumo-interrogate (last updated 2026-10-24)