Skip to content
Automation
Skill

/citation-content-verify

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,

From plugin
bettercallclaude
4617 skills21 agents29 commands10 MCP

Claude Code

$ npx -y skills add fedec65/bettercallclaude --skill citation-content-verify --agent claude-code

SKILL.md

citation-content-verify.SKILL.md
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

Citation Content Verify

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:

  • **(a) Existence** — the cited source really exists in the live database.
  • **(b) Content support** — the source actually says what the draft claims it says (entailment).

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 Vocabulary

| 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 |

Verification Procedure

Step 0: Privacy Pre-Check

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):

  • **`strict` mode**: privileged content MUST NOT cross to cloud content-checks. Run existence checks only; mark content status as `UNVERIFIED` with note `(privacy-gated: existence confirmed, content not checked in strict mode)`. Optionally offer local-only review via the ollama server.
  • **`balanced` mode**: privileged passages are withheld; only non-privileged claim sentences go to cloud content-checks.
  • **`cloud` mode**: proceed normally.

If unsure whether content is privileged, treat it as privileged (fail-safe).

Step 1: EXTRACT

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.

Step 2: CLASSIFY & RESOLVE

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) |

Step 3: ROUTE & VERIFY

For each citation, with **exactly one retry** on timeout/transient MCP error before declaring `UNVERIFIED`:

**`statute`** → `fedlex-sparql__get_article` (or `lookup_statute`). -

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 citation-content-verify.

Which coding agents can use citation-content-verify?
citation-content-verify 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.