Adversarial research -- biased teams argue opposite sides, a judge delivers the verdict. Use for comparing technologies, evaluating trade-offs, or resolving debates with structured evidence from Reddit, X, and the web. Do not use for single-source research or quick questions -- use /cortex-engineering:research instead.
From cortex-engineeringnpx claudepluginhub nathanvale/side-quest-marketplace --plugin cortex-engineeringThis skill is limited to using the following tools:
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Orchestrates subagents to execute phased plans: deploys for implementation, verification, anti-pattern checks, code quality review, and commits only after passing checks.
Arena is an adversarial research tool. The user picks a topic with two or three opposing camps. You dispatch biased beat reporters -- one per camp -- to search Reddit, X, and the web for the strongest evidence supporting their side. Once reporters file, you put on an impartial staff engineer judge hat, score each team across 5 dimensions, and declare a winner. The whole process takes about 5-10 minutes.
This skill uses the in-plugin beat-reporter agent from cortex-engineering.
Check $ARGUMENTS first:
$ARGUMENTS
$ARGUMENTS contains vs or a clear matchup -> go directly to Fight$ARGUMENTS contains surprise -> go to Surprise Me$ARGUMENTS contains rematch or a doc path -> go to Rematch$ARGUMENTS is empty or unclear -> show the Arena welcome menu (see below)When no arguments are provided, show the Arena welcome menu. Set the scene -- this is a gladiatorial arena for ideas. Explain what's about to happen: two (or three) biased research teams will scour Reddit, X, and the web for evidence, then a judge scores them across 5 rounds. Make it fun and punchy -- this isn't a dry tool, it's a fight night.
Then present a numbered menu of ways to get started:
- Pick a fight -- Give me "X vs Y" and I'll send in the teams
- Surprise me -- I'll scan your repo for open debates worth settling
- Rematch -- Re-run a previous arena match with fresh evidence
Keep the tone energetic. Think sports commentator meets staff engineer.
Present the camps and wait for confirmation before dispatching:
Here's how I'd frame the matchup:
- Team A: [Position A] -- they believe [short thesis]
- Team B: [Position B] -- they believe [short thesis] [- Team C: [Position C] -- they believe [short thesis]]
Sound right, or want to adjust the framing?
days) with routingPick one window for the whole matchup and pass it to all reporters:
| Topic pattern | Days |
|---|---|
| Breaking news, releases, incidents, "latest/today/this week" | 7 |
| Fast-moving ecosystems (AI models, JS framework/runtime churn, security advisories) | 14 |
| Default technology debates and trade-offs | 30 |
| Slow-moving architecture/process debates (testing philosophy, team topology, monolith vs services) | 90 |
If unclear, use 30. If user explicitly asks for a range, always honor that override.
Go to Dispatch Beat Reporters.
Scan the repo for open debates:
docs/brainstorms/*.md -- undecided approaches, open questions, multiple optionsdocs/plans/*.md -- status: draft with unresolved architectural choicesdocs/research/*.md -- "Open Questions" sections with genuine tensionPresent 3-5 suggestions as a numbered list:
Found some live debates in your repo:
- [Topic A] vs [Topic B] -- [which doc, what's undecided]
- [Topic C] vs [Topic D] -- [which doc, what's undecided]
- ...
Pick a number, give me your own topic, or refine one of these.
Once the user picks, go to Fight Step 2 to confirm camps.
Find a previous arena research doc:
docs/research/*.md for method: containing "arena" or "adversarial"Previous arena matches:
- [Previous match title] (YYYY-MM-DD)
- ...
Pick one to re-run with fresh evidence, or give me a new matchup.
Once selected, extract the original camps from the doc and choose days using this rematch rule:
7 or 14.Then go to Dispatch Beat Reporters with the same framing and chosen days.
Launch one agent per camp, all in parallel, using the Agent tool:
subagent_type: "newsroom:beat-reporter"run_in_background: trueprompt: the Reporter Brief Template below (one per team)You are a beat reporter for Team [LETTER]. Team [LETTER] LOVES [POSITION].
They believe [POSITION] is the best approach and the alternatives are inferior.
Your job: Find the STRONGEST evidence supporting Team [LETTER]'s position.
Emphasize evidence that supports [POSITION], and de-emphasize evidence that undermines it.
Use a search window of [DAYS] days (`--days=[DAYS]`).
Search Reddit, X/Twitter, and the web for:
1. Arguments FOR [POSITION]
2. Success stories and production proof points
3. Criticisms and failures of the OPPOSING position(s)
4. Hard data -- benchmarks, token counts, adoption numbers, performance metrics
5. Community sentiment favouring [POSITION]
6. Prominent developers/companies championing [POSITION]
7. Recent improvements or momentum (2025-2026)
Come back with the strongest possible case. Be biased in Team [LETTER]'s favour --
find every piece of ammunition. Include specific Reddit threads, tweets, videos, and blog posts
with engagement metrics (upvotes, likes, comments, views) where possible.
Tell the user reporters are dispatched and wait for all to return.
Once all reporters have filed, put on the impartial staff engineer judge hat.
Rate each team on 5 dimensions (1-5 scale):
| Dimension | What it measures |
|---|---|
| Hard data | Benchmarks, metrics, reproducible numbers |
| Production proof | Real-world usage at scale, not just demos |
| Ecosystem momentum | Adoption, governance, community size |
| Developer experience | Simplicity, debuggability, speed to build |
| Future trajectory | Where is this heading in 12-24 months? |
# Arena: [Team A Position] vs [Team B Position]
## Round-by-Round Scoring
### Round 1: Hard Data
Team A: [score]/5 -- [one-line justification]
Team B: [score]/5 -- [one-line justification]
### Round 2: Production Proof
...
### Round 3: Ecosystem Momentum
...
### Round 4: Developer Experience
...
### Round 5: Future Trajectory
...
## Final Score
Team A: [total]/25
Team B: [total]/25
## The Verdict
[2-3 paragraph synthesis. Who wins overall? Where does each side
have genuine strengths? What's the pragmatic answer?]
For three-camp matchups (X vs Y vs Z), use the same format with Team C added to each round. The final score becomes [total]/25 for each of three teams.
Keep the personality of a staff engineer who enjoys a good debate -- witty but rigorous. The scores must be honest, not diplomatic ties.
A good arena verdict meets these bars:
After presenting the verdict, ask whether to save. If yes:
Use the /cortex-engineering:frontmatter skill for correct frontmatter structure. If that skill is unavailable, use this minimal template:
---
title: "Arena: [Team A] vs [Team B]"
type: research
status: complete
date: YYYY-MM-DD
method: adversarial arena research (N parallel beat reporters + judge synthesis)
sources: [reddit, x-twitter, web]
tags: [arena, topic-a, topic-b]
---
Then:
docs/research/YYYY-MM-DD-<slug>.mdresearch doc type (Summary, Key Findings, Details, Sources, Open Questions)