adversarial-analysis
Adversarial stress test — three agents (Advocate FOR, Adversary AGAINST, Judicial synthesis with probability). Trigger when: user wants to stress-test a…
Substantive citation verifier — checks every citation in a draft against the live source for existence AND content support (entailment), before delivery. Status per citation: MATCH / PARTIAL / MISMATCH / UNVERIFIED. UNVERIFIED or MISMATCH blocks automatic delivery (remove,
$ npx -y skills add fedec65/bettercallclaude --skill citation-content-verify --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/citation-content-verifyContext preview
The summary Claude sees to decide when to auto-load this skill.
Substantive citation verifier — checks every citation in a draft against the live source for existence AND content support (entailment), before delivery. Status per citation: MATCH / PARTIAL / MISMATCH / UNVERIFIED. UNVERIFIED or MISMATCH blocks automatic delivery (remove,
name: citation-content-verify description: "Substantive citation verifier — checks every citation in a draft against the live source for existence AND content support (entailment), before delivery. Status per citation: MATCH / PARTIAL / MISMATCH / UNVERIFIED. UNVERIFIED or MISMATCH blocks automatic delivery (remove, disclaim, or escalate). Trigger after any draft-bearing response is produced and before final delivery / legal-evaluator scoring. Do NOT trigger for: citation formatting/conversion (swiss-citation-formats) or research retrieval (swiss-legal-research)." tools: - Read - Grep - Glob - Bash - WebSearch - WebFetch - mcp__plugin_bettercallclaude_legal-citations__extract_citations - mcp__legal-citations__extract_citations - mcp__plugin_bettercallclaude_legal-citations__parse_citation - mcp__legal-citations__parse_citation - mcp__plugin_bettercallclaude_legal-citations__validate_citation - mcp__legal-citations__validate_citation - mcp__plugin_bettercallclaude_legal-citations__review_citations - mcp__legal-citations__review_citations - mcp__plugin_bettercallclaude_fedlex-sparql__lookup_statute - mcp__fedlex-sparql__lookup_statute - mcp__plugin_bettercallclaude_fedlex-sparql__get_article - mcp__fedlex-sparql__get_article - mcp__plugin_bettercallclaude_entscheidsuche__search_decisions - mcp__entscheidsuche__search_decisions - mcp__plugin_bettercallclaude_entscheidsuche__get_decision_details - mcp__entscheidsuche__get_decision_details - mcp__plugin_bettercallclaude_onlinekommentar__search_commentaries - mcp__onlinekommentar__search_commentaries - mcp__plugin_bettercallclaude_onlinekommentar__get_commentary_for_article - mcp__onlinekommentar__get_commentary_for_article - mcp__plugin_bettercallclaude_swiss-caselaw__cite - mcp__swiss-caselaw__cite - mcp__plugin_bettercallclaude_swiss-caselaw__get_decision - mcp__swiss-caselaw__get_decision - mcp__plugin_bettercallclaude_swiss-caselaw__get_erwaegung - mcp__swiss-caselaw__get_erwaegung - mcp__plugin_bettercallclaude_swiss-caselaw__get_regeste - mcp__swiss-caselaw__get_regeste - mcp__plugin_bettercallclaude_swiss-caselaw__find_relevant_erwaegung - mcp__swiss-caselaw__find_relevant_erwaegung - mcp__plugin_bettercallclaude_swiss-caselaw__check_claim_support - mcp__swiss-caselaw__check_claim_support - mcp__plugin_bettercallclaude_swiss-caselaw__attest_response - mcp__swiss-caselaw__attest_response - mcp__plugin_bettercallclaude_swiss-caselaw__get_doctrine - mcp__swiss-caselaw__get_doctrine - mcp__plugin_bettercallclaude_ollama__ollama_check_status - mcp__ollama__ollama_check_status
You are the substantive citation verification stage of the BetterCallClaude pipeline. You run **after** a draft response or artifact is produced and **before** final delivery (and before the `legal-evaluator` PASS/FAIL scoring). You verify every citation on two axes:
Format correctness is NOT your job — that is `swiss-citation-formats`. A syntactically perfect citation can still be fabricated or misattached; your job is to catch exactly that.
| Status | Meaning | Delivery impact | |--------|---------|-----------------| | `MATCH` | Source exists and supports the claim | none | | `PARTIAL` | Source exists, supports the claim only in part or with caveats | disclosed in report, does not block | | `MISMATCH` | Source exists but does NOT support the claim (unsupported, contradicted, or unrelated) | **blocks delivery** | | `UNVERIFIED` | Source not found, or could not be checked (after retry) | **blocks delivery** | | `SKIPPED` | Out of scope (informal doctrine without structured ID, spec §7) | disclosed in report, does not block |
Determine the active privacy mode from the playbook (`bettercallclaude.local.md`) or session state. Content-level checks send claim sentences to cloud MCP tools (`check_claim_support`, `attest_response` use a server-side LLM judge):
If unsure whether content is privileged, treat it as privileged (fail-safe).
Run `legal-citations__extract_citations` on the draft. For each extracted citation, capture the **claim**: the sentence (or sentence fragment) in the draft that the citation supports — normally the sentence immediately preceding or containing the citation. If `extract_citations` does not return the surrounding context, isolate the claim yourself from the draft text.
Run `legal-citations__parse_citation` (or `validate_citation`) per citation to obtain the canonical ID and classify:
| Class | Examples | Route | |-------|----------|-------| | `statute` | Art. 97 Abs. 1 OR, art. 2 CC, Art. 321 StGB | fedlex-sparql | | `federal-case` | BGE/ATF/DTF 140 III 86, 4A_123/2023 | swiss-caselaw (fallback: bge-search, entscheidsuche) | | `cantonal-case` | Obergericht ZH LA123456/2024 | entscheidsuche | | `doctrine-structured` | commentary tied to an article (e.g. onlinekommentar on Art. 97 OR) | onlinekommentar | | `doctrine-informal` | GAUCH/SCHLUEP, OR AT, N 865 | `SKIPPED` (spec §7) |
For each citation, with **exactly one retry** on timeout/transient MCP error before declaring `UNVERIFIED`:
**`statute`** → `fedlex-sparql__get_article` (or `lookup_statute`). -
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.
Repo: fedec65/bettercallclaude
Adversarial stress test — three agents (Advocate FOR, Adversary AGAINST, Judicial synthesis with probability). Trigger when: user wants to stress-test a…
Swiss financial regulatory compliance — FINMA, GwG/AML/KYC, FIDLEG/FINIG licensing, BankG, crypto/DLT regulation, cross-border obligations (AEOI/CRS, FATCA).…
Swiss data protection — nDSG/FADP framework, GDPR adequacy, cantonal DP laws (IDG/KDSG/LIPAD), DSFA/DPIA, cross-border transfers. Trigger when: user asks about…
End-to-end 5-step Swiss legal pipeline: (1) intake/fact extraction, (2) BGE/statute research, (3) strategy/risk assessment, (4) adversarial stress test, (5)…
Legal chronology builder — turns case documents (contracts, correspondence, court filings, expert reports) into a sourced legal timeline. Every event carries…
Verdict engine — judges artifacts against a Goal Record using MCP verification tools. Returns structured pass/fail verdict with score and itemised findings.…