joogy06/agent-foundry/adversarial-team-brainstorm
Claude Code and agent skill by joogy06/agent-foundry
- community
Checking that the SKILL.md file is still in the repository.
Use when a question needs structured-contention exploration across multiple parallel founding / design / analysis lenses with cross-fire critique, not a single-agent monologue. Runs a reusable multi-team tournament: diverge (N teams generate independently) → cross-fire (teams attack each other) → refine (teams revise) → arbiter (synthesizes winners, attaches kill criteria). Reusable by forge (design exploration), alf (review cycles), agent-teams (tournament mode), founder-ideation, and any caller that needs adversarially-validated outputs with explicit kill criteria. Trigger on: "generate N ideas for X", "tournament", "cross-fire review", "four teams on this problem", "adversarial brainstorm", "kill-criteria ranked outputs".
Install
npx vskill@latest install joogy06/agent-foundry/adversarial-team-brainstormSKILL.md
Adversarial Team Brainstorm
Multi-team tournament primitive. Spawns N parallel teams with distinct lenses, runs them through a structured four-round process, and returns ranked outputs with attached kill criteria, first experiments, and cross-fire attack histories. Reusable by any caller — not tied to a specific domain.
Scope: Pure prompt-orchestration primitive. Does NOT own the question, the data feeds, or the output storage. The caller owns those.
Callers:
forge— design exploration tournaments (alternative to the current single-team exploration)agent-teams— "tournament" mode exposing this primitive for generic orchestrationfounder-ideation— generates business ideas with adversarial team quadalf— adversarial review of skills/code/products- Any caller that passes a question + team angles + optional context
<HARD-RULE> Parallel diverge is mandatory. Round 1 teams MUST run in parallel, not sequentially. Sequential execution defeats the entire point of divergence — the later team sees the earlier team's output and anchors to it. Always spawn all teams simultaneously via Agent tool (Claude) / codex exec (Codex) / agy -p (Antigravity) calls batched in a single message. </HARD-RULE>
<HARD-RULE> Cross-fire must attack. In Round 2, every attacking team MUST produce ≥1 flaw per output from every team it reviews. A "looks good" verdict is a failure mode — the attacker is punting. If a team cannot find a flaw, it must either (a) propose a sharper test that would surface one, or (b) explicitly mark the output as "attack-resistant under {constraint}" and name the constraint that makes it so. Generic "this is solid" verdicts are rejected by the arbiter. </HARD-RULE>
<HARD-RULE> Kill criteria are mandatory, not optional. The arbiter refuses to output a ranked list without ≥2 kill criteria per output. The primitive exists to defeat "polished guru" failure mode — without kill criteria, every output is equally defendable and equally useless. If the caller passes kill_criteria_required: false, this primitive refuses to run. </HARD-RULE>
<HARD-RULE> Refine round must show before/after. Round 3 (refine) must produce explicit before/after for each revised output. No silent rewrites — the attack history must be traceable into the revised version so the arbiter can judge whether the critique was absorbed or dismissed. </HARD-RULE>
<HARD-RULE> Grounding requirement for high-confidence promotion. The arbiter cannot promote an output above speculative confidence without ≥1 piece of external data grounding (from context feeds — Reddit, GDELT, user-supplied data, prior wiki entries, etc.). Without grounding, max confidence is speculative. This is the primary mechanism against LLM-vs-LLM hallucination. </HARD-RULE>
Invocation Contract
Input
Output
The Four Rounds
Round 1: Diverge
Each team generates n_per_team outputs in parallel and without seeing the others' work.
Per-team spawn prompt template:
Spawn all teams simultaneously in one message (Claude via Agent, Codex via codex exec, Antigravity via timeout 600 agy --sandbox -p "..." < /dev/null as a background Bash task — --sandbox is mandatory for these advise-only calls, per the antigravity-cli SANDBOX RULE).
Round 2: Cross-fire
Each team receives the other teams' Round 1 outputs and must attack them. See references/cross-fire-protocol.md for the full protocol. Summary:
- Each team attacks every other team's outputs (N-1 targets)
- Minimum ≥1 attack per output (no "all good" verdicts — HARD-RULE)
- Attacks must include: severity (critical / moderate / minor), issue, fix_proposed
- Codex-powered teams are preferred for the
contrarian/ devil's-advocate role
Attacks MUST be structured — free-form commentary is rejected.
Round 3: Refine
Each team receives the attacks on its own outputs and revises. See references/cross-fire-protocol.md#refine-rules for rules.
- Every revised output must include
before+after+critique_absorbedlist - A team may mark an attack as "rejected" with reasoning — not every critique is absorbed, but
ignoring it silently is a failure mode
- Kill criteria are sharpened during refine (Round 1 drafts → Round 3 hardened versions)
Round 4: Arbiter Synthesis
A single arbiter agent (Claude by default; caller may override) reads all Round 3 outputs + attack histories and produces the final ranked list. See references/arbiter-synthesis.md for the full protocol. Summary:
- Identify surviving outputs (did not receive critical attacks, or absorbed them in refine)
- Hybridize where cross-team ideas complement (mark
source_team: "hybrid(A+B)") - Attach final kill criteria (minimum 2 per output — HARD-RULE)
- Assign confidence:
high/medium/low/speculative speculativeis the max if there is no external data grounding- Preserve minority reports: if one team strongly disagrees with the ranking, the arbiter notes
it in arbiter_notes rather than hiding it
- Filter any outputs marked
unfoundedthat cannot be hybridized with a grounded output
Team Angles
See references/team-angles.md for the full library. Common angles:
| Angle | Typical use | Best model | |
|---|---|---|---|
problem-first | Ideation from user pain data | Claude | |
asset-first | Ideation from user's existing capabilities / distribution | Claude | |
trend-first | Ideation from macro event velocity (GDELT inflections) | Claude | |
contrarian | Attacks consensus, finds counter-positioning | Codex (default) | |
first-principles | Reasoning from physics / unit economics / constraints | Codex | |
arbitrage | Finds price / information / capability gaps | Codex | |
blue-ocean | Creates new demand categories | Antigravity (agy) | |
constraint-inverted | Starts from what's forbidden / impossible today | Claude |
Callers pass the list they want; the primitive does NOT prescribe which angles to use — that is domain knowledge owned by the caller.
Fast path — adversarial-tournament workflow (S055, optional, main-loop only)
When the orchestrator is the main loop with the orchestration surface available (probe.sh get capabilities.workflow_tool true AND probe.sh context == main-loop — the ONLY capability API; capabilities.* alone never authorizes, session files are shared with subagents), the four rounds MAY run as the adversarial-tournament saved workflow: parallel diverge (one isolated agent per team angle, team-output.v1 with initial_kill_criteria minItems:2 — role collapse mechanically prevented) → parallel crossfire (each attacker sees ONLY other teams' outputs, attack-set.v1 minItems:1 per target makes "all good" schema-invalid; the script validates target coverage with a deterministic single retry on a sycophantic miss) → refine → single arbiter (tournament-result.v1; the script forces confidence to speculative when grounding_sources is empty — DOWNGRADE only, never upgrade). Below the budget floor before refine ⇒ skip refine, cap confidence low, meta.degraded_to: "quick_tournament" (documented mode, not silent loss). The script REFUSES configs that would drop kill criteria.
Stays inline: question scoping, angle selection, grounding-feed acquisition (reddit/gdelt run BEFORE and passed as context_paths), final selection, all user decisions. External team overrides ride W-EXT wrappers with args-supplied commands. The schemas live in schemas/; design-tournament does NOT wrap this workflow (B's ruling — standalone callers are this skill's own inline invocations). On any fast-path failure, fall back to the inline four rounds below.
Implementation Notes
Spawning Teams
Claude teams — use Agent tool with subagent_type: "general-purpose" and a spawn prompt that includes:
- The team lens definition (read from
references/team-angles.md) - The question
- Any data feeds from
context - The Round 1 output format
Codex teams — use codex exec (preferred for contrarian, first-principles, arbitrage angles):
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/adversarial-team-brainstorm/SKILL.md
Popularity
- Repository stars
- 2
- 7-day trend score
- 5
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/joogy06/agent-foundry/adversarial-team-brainstorm)