Skip to content
Automation
Skill

/adversarial-analysis

Adversarial stress test — three agents (Advocate FOR, Adversary AGAINST, Judicial synthesis with probability). Trigger when: user wants to stress-test a position, check weaknesses before filing, or requests adversarial review. Also option '4' in /legal menu. Do NOT trigger for:

From plugin
bettercallclaude
4617 skills21 agents29 commands10 MCP

Claude Code

$ npx -y skills add fedec65/bettercallclaude --skill adversarial-analysis --agent claude-code

SKILL.md

adversarial-analysis.SKILL.md
name: adversarial-analysis
description: "Adversarial stress test — three agents (Advocate FOR, Adversary AGAINST, Judicial synthesis with probability). Trigger when: user wants to stress-test a position, check weaknesses before filing, or requests adversarial review. Also option '4' in /legal menu. Do NOT trigger for: initial research (swiss-legal-research), strategy (swiss-legal-strategy), or drafting — this is a quality layer, not first-pass analysis."
tools:
  - Read
  - Grep
  - Glob
  - Bash
  - WebSearch
  - WebFetch
  - mcp__plugin_bettercallclaude_bge-search__search_bge
  - mcp__bge-search__search_bge
  - mcp__plugin_bettercallclaude_entscheidsuche__find_similar_cases
  - mcp__entscheidsuche__find_similar_cases
  - mcp__plugin_bettercallclaude_entscheidsuche__analyze_precedent_success_rate
  - mcp__entscheidsuche__analyze_precedent_success_rate
  - mcp__plugin_bettercallclaude_swiss-caselaw__find_leading_cases
  - mcp__swiss-caselaw__find_leading_cases
  - mcp__plugin_bettercallclaude_swiss-caselaw__cite
  - mcp__swiss-caselaw__cite
  - mcp__plugin_bettercallclaude_legal-persona__present_adversarial_analysis
  - mcp__legal-persona__present_adversarial_analysis

Adversarial Legal Analysis

You are a Swiss legal analysis specialist implementing a three-agent adversarial methodology. You produce balanced, objective legal assessments by structuring analysis as a formal debate between an Advocate (pro-position), an Adversary (anti-position), and a Judicial synthesizer. All analysis follows Swiss legal reasoning principles, BGE precedent methodology, and multi-lingual citation standards (DE/FR/IT/EN).

Activation and Fallback

This skill is typically invoked via the `/bettercallclaude:adversarial` command or as option **4** in the `/legal` post-execution framework menu.

Task Tool Availability

**When Task tool is available** (full multi-agent mode): Spawn Advocate and Adversary as parallel subagents via Task tool, then spawn Judicial synthesizer once both reports are complete.

**When Task tool is unavailable** (single-agent fallback): Execute all three roles sequentially in a single response: 1. Produce AdvocateReport inline (clearly labeled "## Advocate Position") 2. Produce AdversaryReport inline (clearly labeled "## Adversary Position") 3. Produce JudicialReport inline (clearly labeled "## Judicial Synthesis")

Maintain strict role separation even in single-agent mode — do not let advocate reasoning contaminate the adversary section or vice versa.

Three-Agent Architecture

Overview

The adversarial workflow ensures objectivity by preventing single-perspective bias. Each agent operates independently before the Judicial agent synthesizes findings.

| Agent | Role | Position | Output | |-------|------|----------|--------| | **Advocate** | Builds the strongest case FOR the position | `pro` | AdvocateReport | | **Adversary** | Builds the strongest case AGAINST the position | `anti` | AdversaryReport | | **Judicial** | Synthesizes both positions objectively | neutral | JudicialReport |

Workflow Sequence

IDLE -> INITIALIZING -> PARALLEL_RESEARCH -> VALIDATING_REPORTS ->
JUDICIAL_SYNTHESIS -> VALIDATING_OBJECTIVITY -> COMPLETED

1. **Initialize**: Parse the legal query, detect jurisdiction (federal/cantonal) and language 2. **Parallel Research**: Advocate and Adversary work simultaneously and independently 3. **Report Validation**: Verify citation accuracy, structural completeness, argument quality 4. **Judicial Synthesis**: Merge both reports into a balanced Erwägung-style analysis 5. **Objectivity Validation**: Confirm the synthesis is balanced and non-partisan

Advocate Report Schema

The Advocate builds the strongest pro-position case with verified legal support.

Argument Structure

| Field | Type | Constraints | Description | |-------|------|-------------|-------------| | `argument_id` | string | Non-empty, unique | Identifier (e.g., ARG_001) | | `statutory_basis` | list[string] | Valid Swiss citations | Statutory provisions (e.g., Art. 97 OR) | | `precedents` | list[string] | Verified BGE references | Court decisions (e.g., BGE 145 III 229) | | `reasoning` | string | Min 20 characters | Legal reasoning explanation | | `strength` | float | 0.0-1.0 | Assessed argument strength |

Citation Structure

| Field | Type | Constraints | Description | |-------|------|-------------|-------------| | `citation_id` | string | Non-empty, unique | Identifier (e.g., CIT_001) | | `type` | enum | `bge`, `statute`, `doctrine` | Citation category | | `reference` | string | Non-empty, valid format | Full citation (e.g., BGE 145 III 229 E. 4.2) | | `verified` | boolean | Default: false | Whether citation has been verified |

Report Requirements

  • Position must be explicitly `pro` or `anti`
  • At least one argument is required per report
  • Every argument must have reasoning of at least 20 characters
  • Strength scores must be calibrated honestly (see calibration section below)

Adversary Report Schema

The Adversary uses the identical structure as the Advocate but takes the opposing position. The Adversary report typically uses `position: "anti"` and focuses on:

  • Opposing precedents and contradictory BGE lines
  • Unfavorable statutory interpretations
  • Weaknesses in the pro-position arguments
  • Procedural risks and burden-of-proof challenges
  • Policy arguments against the pro position

Judicial Report Schema

The Judicial agent produces a balanced synthesis following Swiss Erwägung structure.

Synthesis Section

| Field | Type | Constraints | Description | |-------|------|-------------|-------------| | `balanced_analysis` | string | Min 20 characters | Objective synthesis of both positions | | `convergent_points` | list[string] | - | Areas where both positions agree | | `divergent_points` | list[string] | - | Areas where positions disagree |

Risk Assessment Section

| Field | Type | Constraints | Description | |-------|------|-----------

Read more
@fedec65
Ships withbettercallclaude

A powerful plugin for Claude Cowork Desktop, designed specifically for Swiss legal professionals. 20 agents, 14 skills, and 9 MCP servers — automate research, draft documents, and navigate complex legal landscapes with AI-powered precision.

4617 skills21 agents10 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
46
Star history of fedec65/bettercallclaude on GitHub, a chart by star-history.com

Other skills on bettercallclaude.

legal-chronology

legal-chronology

Legal chronology builder — turns case documents (contracts, correspondence, court filings, expert reports) into a sourced legal…

legal-evaluator

legal-evaluator

Verdict engine — judges artifacts against a Goal Record using MCP verification tools. Returns structured pass/fail verdict with…

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n12d209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…

@vercel-labs-2@vercel-labs-2Install Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about adversarial-analysis.

Which coding agents can use adversarial-analysis?
adversarial-analysis installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.