Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use for "interrogate", "adversarial review", "multi-model review", "challenge this", "stress test this code", "find blind spots", or "tear this apart". Four LLM reviewers challenge changes from independent angles.
.claude/skills/sediman-agent-interrogate/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-13 | ✗→✓ | ▲ Improved | 106% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 123% | 0% |
| case-04 | ✓→✗ | ▼ Worse | 195% | 0% |
| case-05 | ✓→✗ | ▼ Worse | 75% | 0% |
| case-06 | ✓→✗ | ▼ Worse | -39% | 0% |
Spawn four reviewers on four different models to adversarially review code changes. Each model gets the same prompt and rubric. The adversarial signal comes from model diversity, not assigned personas. Models differ in blind spots, priors, and reasoning patterns. Agreement across models is high-confidence signal; lone-model findings are worth reading but lower confidence.
The deliverable is a synthesized verdict. Do NOT auto-apply changes.
Identify what to review from context:
git diff main...HEAD (or the appropriate base branch) for the full changesetPackage the diff (or file contents) plus any surrounding context files the reviewers need to understand the code.
Before spawning reviewers, state the intent explicitly. What is this code trying to accomplish? Derive this from:
Write one clear paragraph. Reviewers challenge whether the work achieves the intent well, not whether the intent itself is correct. If you're unsure about the intent, ask the user before proceeding.
Launch all four in a single message using the Task tool, each with a different model.
| Subagent | Model | |----------|-------| | Reviewer A | claude-opus-4-8-thinking-xhigh | | Reviewer B | gpt-5.3-codex-high-fast | | Reviewer C | gpt-5.5-high-fast | | Reviewer D | composer-2.5-fast |
For each reviewer:
subagent_type: generalPurposemodel: the model from the tablereadonly: trueIf a model slug in the table 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 this table. Do not block the review on the slug issue.
Read references/reviewer-prompt.md and fill in the template with:
references/rubric.mdreferences/code-quality-review.mdThe same filled template goes to all four reviewers, so every model applies the code-quality lens.
Each reviewer produces structured findings as described in the prompt template.
As results come back, build a unified picture:
You are the lead reviewer, a pragmatic senior engineer, not a neutral aggregator.
Read references/lead-judgment.md for the full framework. Reviewers only see a slice of the codebase. You have the full context (the goal, the constraints, the timeline, which tradeoffs were already considered). Use that context aggressively.
Categorize every finding into one of four buckets:
For each finding, include:
Present the verdict in this structure:
> The stated intent paragraph from Step 2]
Findings that should be addressed. For each: description, which models raised it, why it matters.]
Findings worth thinking about. For each: description, which models raised it, tradeoff involved.]
Valid but low-priority. Brief list.]
Rejected findings with brief rationale. This shows the user what was filtered out and why, so they can override your judgment if they disagree.]
Where did models agree, where did they diverge, and what does the pattern of agreement/disagreement tell us?]
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 7,901 | 4,629 | -41% | 1 | 1 | 0% | 1,256 | 1,420 | +13% | 0 | 0 | — |
case-02 | fail→fail | 23,518 | 5,906 | -75% | 1 | 1 | 0% | 3,852 | 1,402 | -64% | 0 | 0 | — |
case-03 | fail→fail | 5,824 | 2,868 | -51% | 1 | 1 | 0% | 261 | 1,398 | +436% | 0 | 0 | — |
case-04 | pass→fail | 3,612 | 5,762 | +60% | 1 | 1 | 0% | 501 | 1,480 | +195% | 0 | 0 | — |
case-05 | pass→fail | 7,210 | 7,915 | +10% | 1 | 1 | 0% | 1,125 | 1,968 | +75% | 0 | 0 | — |
case-06 | pass→fail | 13,593 | 5,885 | -57% | 1 | 1 | 0% | 2,390 | 1,457 | -39% | 0 | 0 | — |
case-07 | fail→fail | 5,805 | 3,610 | -38% | 1 | 1 | 0% | 982 | 1,401 | +43% | 0 | 0 | — |
case-08 | fail→fail | 3,538 | 3,831 | +8% | 1 | 1 | 0% | 466 | 1,371 | +194% | 0 | 0 | — |
case-09 | fail→fail | 21,249 | 5,500 | -74% | 1 | 1 | 0% | 3,592 | 1,481 | -59% | 0 | 0 | — |
case-10 | fail→fail | 10,926 | 4,185 | -62% | 1 | 1 | 0% | 1,544 | 1,317 | -15% | 0 | 0 | — |
case-11 | fail→fail | 7,584 | 3,570 | -53% | 1 | 1 | 0% | 1,084 | 1,300 | +20% | 0 | 0 | — |
case-12 | fail→fail | 16,626 | 4,453 | -73% | 1 | 1 | 0% | 2,843 | 1,359 | -52% | 0 | 0 | — |
case-13 | fail→pass | 8,777 | 13,677 | +56% | 1 | 1 | 0% | 1,370 | 2,816 | +106% | 0 | 0 | — |
case-14 | fail→pass | 16,655 | 18,580 | +12% | 1 | 1 | 0% | 1,287 | 2,872 | +123% | 0 | 0 | — |
case-15 | fail→fail | 12,973 | 9,174 | -29% | 1 | 1 | 0% | 1,996 | 1,838 | -8% | 0 | 0 | — |
case-16 | pass→fail | 10,633 | 6,273 | -41% | 1 | 1 | 0% | 1,512 | 1,469 | -3% | 0 | 0 | — |
case-17 | pass→fail | 12,743 | 12,055 | -5% | 1 | 1 | 0% | 1,878 | 2,373 | +26% | 0 | 0 | — |
case-18 | pass→fail | 18,170 | 7,841 | -57% | 1 | 1 | 0% | 2,626 | 1,913 | -27% | 0 | 0 | — |
case-19 | fail→fail | 22,788 | 31,932 | +40% | 1 | 1 | 0% | 4,272 | 1,591 | -63% | 0 | 0 | — |
case-20 | fail→fail | 17,664 | 4,696 | -73% | 1 | 1 | 0% | 2,657 | 1,512 | -43% | 0 | 0 | — |
case-21 | fail→fail | 15,469 | 6,812 | -56% | 1 | 1 | 0% | 2,317 | 1,626 | -30% | 0 | 0 | — |
case-22 | pass→fail | 13,254 | 6,149 | -54% | 1 | 1 | 0% | 1,947 | 1,484 | -24% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 2 counted toward the lift figure. The other 20 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of -23 percentage points is the difference between those two pass rates over the 2 comparable cases. 8 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.