SuperAPI AI Directory

interrogate

Coding & development

View repository

Updated 10-15 22:12

About this skill

Interrogate

Before resolving models or delegating, read T3 execution. It defines global configuration, capacity selection, and transport constraints.

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.

The deliverable is a synthesized verdict. Do NOT auto-apply changes.

Step 1, Determine 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) plus any surrounding context files the reviewers need to understand the code.

Step 2, State the Intent

Before spawning reviewers, state the intent explicitly. Derive this from:

  • The user's message
  • Commit messages
  • PR description if one exists
  • The code itself

Write one clear paragraph. If you're unsure about the intent, ask the user before proceeding.

Step 3, Spawn Reviewers

Launch all reviewers in a single turn, one delegate_task per reviewer with mode: "async". Use the interrogate reviewers line in pstack-models.md, one reviewer per entry, labeled Reviewer A, B, C, and so on for the configured entry count. Resolve each entry's provider and model through orchestrator_capabilities. If the line is missing, use the bundled default for that role.

For each reviewer:

  • The brief is self-contained. A delegated reviewer gets only the brief, never your context.
  • The brief says read-only: inspect only, no writes, no git commands that change state.
  • For an auto or inherit-parent entry, omit the model so that reviewer runs on the parent model.

If a capacity-selected reviewer is unavailable, resolve another suitable account/model through the execution reference. Report a fixed or user-selected model failure and ask before replacing it.

Read references/reviewer-prompt.md and fill in the template with:

  1. The stated intent
  2. The diff or file contents
  3. The review rubric from references/rubric.md
  4. The code-quality lens from references/code-quality-review.md

The same filled template goes to all reviewers, so every model applies the code-quality lens. Drain results with task_status.

Watch for stalled reviewers as T3 execution describes. Synthesize once every reviewer has returned or stalled. With two or more returned, cancel a stalled reviewer without restaffing and list it as stalled under Reviewers; with fewer than two, restaff it.

Step 4, Synthesize

As results come back, build a unified picture:

  1. Parse all findings from the reviewers
  2. Identify consensus. Findings raised by 2+ models independently are highest signal.
  3. Identify lone-model findings. Still worth reading, but weight accordingly.
  4. Deduplicate. Different models may describe the same issue differently. Merge these and note which models raised it.
  5. Note disagreements. If one model flags something and another explicitly says the opposite, that's useful context for the verdict.

Step 5, Lead Judgment

You are the lead reviewer, a pragmatic senior engineer, not a neutral aggregator.

Read references/lead-judgment.md for the full framework.

Categorize every finding using these buckets:

  • Act on. Real issues affecting correctness, security, or maintainability given the actual goals. These would block a real PR.
  • Consider. Legitimate points, but you're not sure they outweigh the cost of addressing them right now. Worth the user's attention.
  • Noted. Technically valid but not actionable. Context-dependent, premature optimization, or low-impact given the current stage.
  • Dismissed. Wrong, nitpicky, or missing context. Brief explanation why.

For each finding, include:

  • Which model(s) raised it
  • The category (act on / consider / noted / dismissed)
  • A one-line rationale for the categorization

Output Format

Present the verdict in this structure:

Intent

[The stated intent paragraph from Step 2]

Reviewers

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

Act On

[Findings that should be addressed. For each: description, which models raised it, why it matters.]

Consider

[Findings worth thinking about. For each: description, which models raised it, tradeoff involved.]

Noted

[Valid but low-priority. Brief list.]

Dismissed

[Rejected findings with brief rationale.]

Agreement Map

[Where did models agree, where did they diverge, and what does the pattern of agreement/disagreement tell us?]