fedec65/bettercallclaude/bettercallclaude/skills/swiss-citation-formats/SKILL.md
swiss-citation-formats
Swiss legal citation formatter — validates, formats, and converts BGE/ATF/DTF, statutory, and cantonal citations across DE/FR/IT/EN. Trigger when: citations need formatting, validation, or cross-language conversion. Uses legal-citations MCP (validate, format, convert). Also handles citation conversion delegated by swiss-legal-translation. Do NOT trigger for: research (swiss-legal-research), drafting (swiss-legal-drafting), or translation without citations.
- Source repository stars
- 34
- Declared platforms
- 0
- Static risk flags
- 0
- Last source update
- 2026-08-04
- Source checked
- 2026-08-04
Decision brief
What it does—and where it fits
You are a Swiss legal citation formatting specialist. You ensure every legal citation follows the correct format for the target language, verify citations against official sources, and maintain consistency across multi-lingual documents. Citation accuracy target: 95%. Never mix…
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/fedec65/bettercallclaude --skill "bettercallclaude/skills/swiss-citation-formats"Inspect the Agent Skill "swiss-citation-formats" from https://github.com/fedec65/bettercallclaude/blob/29b1bee83769f438810a5fcccf93d6058d86ad78/bettercallclaude/skills/swiss-citation-formats/SKILL.md at commit 29b1bee83769f438810a5fcccf93d6058d86ad78. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
Citation Element Terminology
Review the “Citation Element Terminology” section in the pinned source before continuing.
Review and apply the “Citation Element Terminology” source section. - 02
BGE / ATF / DTF Citation Format
The volume, section, and page numbers are identical across all language versions. Only the prefix (BGE/ATF/DTF) and consideration label (E./consid./consid./consideration) change. Volume numbering: volume = year - 1874. Example: BGE 150 = 2024 decisions.
The volume, section, and page numbers are identical across all language versions. Only the prefix (BGE/ATF/DTF) and consideration label (E./consid./consid./consideration) change. Volume numbering: volume = year - 1874.… - 03
Full Format by Language
The volume, section, and page numbers are identical across all language versions. Only the prefix (BGE/ATF/DTF) and consideration label (E./consid./consid./consideration) change. Volume numbering: volume = year - 1874. Example: BGE 150 = 2024 decisions.
The volume, section, and page numbers are identical across all language versions. Only the prefix (BGE/ATF/DTF) and consideration label (E./consid./consid./consideration) change. Volume numbering: volume = year - 1874.… - 04
BGE Section Codes
Review the “BGE Section Codes” section in the pinned source before continuing.
Review and apply the “BGE Section Codes” source section. - 05
Major Federal Codes
Review the “Major Federal Codes” section in the pinned source before continuing.
Review and apply the “Major Federal Codes” source section.
Permission review
Static risk signals and limitations
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 86/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 34 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- fedec65/bettercallclaude
- Skill path
- bettercallclaude/skills/swiss-citation-formats/SKILL.md
- Commit
- 29b1bee83769f438810a5fcccf93d6058d86ad78
- License
- AGPL-3.0
- Collected
- 2026-08-04
- Default branch
- main
View the original SKILL.md
Swiss Citation Formats
You are a Swiss legal citation formatting specialist. You ensure every legal citation follows the correct format for the target language, verify citations against official sources, and maintain consistency across multi-lingual documents. Citation accuracy target: >95%. Never mix language conventions within a single citation. Always verify article numbers and paragraph counts against the actual statute text before output.
Citation Element Terminology
| Element | DE | FR | IT | EN |
|---|---|---|---|---|
| Article | Art. (capital A) | art. (lowercase a) | art. (lowercase a) | Article |
| Paragraph | Abs. (Absatz) | al. (alinea) | cpv. (capoverso) | paragraph / para. |
| Letter | Bst. (Buchstabe) / lit. | let. (lettre) | lett. (lettera) | letter / lit. |
| Number | Ziff. (Ziffer) | ch. (chiffre) | n. (numero) | number / no. |
| Consideration | E. (Erwagung) | consid. (considerant) | consid. (considerando) | consideration |
| Margin number | N / Rz. (Randziffer) | ch. (chiffre marginal) | n. (numero marginale) | para. / no. |
BGE / ATF / DTF Citation Format
Full Format by Language
| Language | Name | Format | Full Example | Short Example |
|---|---|---|---|---|
| DE | Bundesgerichtsentscheid | BGE [Band] [Abt.] [Seite] E. [Erw.] S. [Seite] | BGE 145 III 229 E. 4.2 S. 235 | BGE 145 III 229 E. 4.2 |
| FR | Arret du Tribunal federal | ATF [volume] [section] [page] consid. [cons.] p. [page] | ATF 145 III 229 consid. 4.2 p. 235 | ATF 145 III 229 consid. 4.2 |
| IT | Decisione del Tribunale federale | DTF [volume] [sezione] [pagina] consid. [cons.] pag. [pag.] | DTF 145 III 229 consid. 4.2 pag. 235 | DTF 145 III 229 consid. 4.2 |
| EN | Federal Supreme Court Decision | BGE [volume] [section] [page], consideration [no.] | BGE 145 III 229, consideration 4.2 | BGE 145 III 229, cons. 4.2 |
The volume, section, and page numbers are identical across all language versions. Only the prefix (BGE/ATF/DTF) and consideration label (E./consid./consid./consideration) change. Volume numbering: volume = year - 1874. Example: BGE 150 = 2024 decisions.
BGE Section Codes
| Code | DE | FR | IT | EN |
|---|---|---|---|---|
| I | Verfassungsrecht | Droit constitutionnel | Diritto costituzionale | Constitutional law |
| Ia | Internationales Recht, Grundrechte | Droit international, droits fondamentaux | Diritto internazionale, diritti fondamentali | International law, fundamental rights |
| II | Zivilrecht (ZGB) | Droit civil (CC) | Diritto civile (CC) | Civil law (ZGB) |
| III | Schuld- und Sachenrecht (OR) | Droit des obligations et droit reel | Diritto delle obbligazioni e diritto reale | Obligations and property law |
| IV | Sozialversicherungsrecht | Droit des assurances sociales | Diritto delle assicurazioni sociali | Social insurance law |
| V | Verwaltungsrecht | Droit administratif | Diritto amministrativo | Administrative law |
| VI | Strafrecht | Droit penal | Diritto penale | Criminal law |
Major Federal Codes
| Code | DE (Name / Abbr.) | FR (Name / Abbr.) | IT (Name / Abbr.) | EN Abbr. |
|---|---|---|---|---|
| Civil Code | Zivilgesetzbuch / ZGB | Code civil suisse / CC (or CCS) | Codice civile svizzero / CC | SCC |
| Code of Obligations | Obligationenrecht / OR | Code des obligations / CO | Codice delle obbligazioni / CO | CO |
| Criminal Code | Strafgesetzbuch / StGB | Code penal suisse / CP | Codice penale svizzero / CP | SCC |
| Federal Constitution | Bundesverfassung / BV | Constitution federale / Cst. | Costituzione federale / Cost. | FC |
| Civil Procedure | Zivilprozessordnung / ZPO | Code de procedure civile / CPC | Codice di procedura civile / CPC | SCPC |
| Criminal Procedure | Strafprozessordnung / StPO | Code de procedure penale / CPP | Codice di procedura penale / CPP | SCPP |
| Admin. Procedure | Verwaltungsverfahrensgesetz / VwVG | Loi sur la procedure administrative / PA | Legge sulla procedura amministrativa / PA | APA |
| Unfair Competition | Bundesgesetz gegen den unlauteren Wettbewerb / UWG | Loi contre la concurrence deloyale / LCD | Legge contro la concorrenza sleale / LCSl | UCA |
| Data Protection (new, from 1.9.2023) | Datenschutzgesetz / nDSG (also revDSG) | Loi sur la protection des donnees / nLPD | Legge sulla protezione dei dati / nLPD | nFADP |
| Data Protection (old, pre-2023) | Datenschutzgesetz / DSG | Loi sur la protection des donnees / LPD | Legge sulla protezione dei dati / LPD | FADP |
Statutory Citation Format Examples
German (DE):
Art. 97 OR
Art. 97 Abs. 1 OR
Art. 97 Abs. 1 Bst. a OR
Art. 97-109 OR
Art. 97 Abs. 1 und 2 OR
French (FR):
art. 97 CO
art. 97 al. 1 CO
art. 97 al. 1 let. a CO
art. 97 a 109 CO
art. 97 al. 1 et 2 CO
Italian (IT):
art. 97 CO
art. 97 cpv. 1 CO
art. 97 cpv. 1 lett. a CO
art. 97-109 CO
art. 97 cpv. 1 e 2 CO
English (EN) (unofficial):
Article 97 CO
Article 97 paragraph 1 CO
Article 97 paragraph 1 letter a CO
Articles 97-109 CO
Article 97 paragraphs 1 and 2 CO
Cantonal Court Citation Formats
| Canton | Court | Format | Example |
|---|---|---|---|
| ZH | Obergericht Zurich | [Court], Urteil vom [date], [ref] | Obergericht Zurich, Urteil vom 15.03.2023, LB220045 |
| ZH | Handelsgericht | Handelsgericht ZH, [date], [ref] | Handelsgericht ZH, 10.01.2023, HG220123 |
| BE | Obergericht Bern | [Court], Urteil vom [date], [ref] | Obergericht BE, Urteil vom 15.03.2023, ZK2022-456 |
| GE | Cour de justice | Cour de justice GE, arret du [date], [ref] | Cour de justice GE, arret du 15.03.2023, C/12345/2022 |
| BS | Appellationsgericht | Appellationsgericht BS, [date], [ref] | Appellationsgericht BS, 20.06.2023, VGE 2023-45 |
| VD | Tribunal cantonal | Tribunal cantonal VD, arret du [date], [ref] | Tribunal cantonal VD, arret du 15.03.2023, HC/2023/123 |
| TI | Tribunale d'appello | Tribunale d'appello TI, sentenza del [date], [ref] | Tribunale d'appello TI, sentenza del 15.03.2023, 12.2022.45 |
Doctrine Citation Format
Full Citation (first reference)
AUTHOR(S), Title, Edition, Place Year, margin number.
Examples:
GAUCH/SCHLUEP/SCHMID, Schweizerisches Obligationenrecht Allgemeiner Teil,
10. Aufl., Zurich 2014, N 865.
SCHWENZER, Schweizerisches Obligationenrecht Allgemeiner Teil, 8. Aufl.,
Bern 2020, N 47.15.
HONSELL/VOGT/WIEGAND (Hrsg.), Basler Kommentar Obligationenrecht I,
7. Aufl., Basel 2020, Art. 97 N 15.
Short Citation (subsequent references)
GAUCH/SCHLUEP/SCHMID, OR AT, N 865.
SCHWENZER, OR AT, N 47.15.
BSK OR I-WIEGAND, Art. 97 N 15.
Procedural Abbreviations
| DE | FR | IT | EN | Meaning |
|---|---|---|---|---|
| m.w.H. | avec ref. | con rif. | with ref. | mit weiteren Hinweisen (with further references) |
| a.M. | op. diff. | op. div. | dissenting | anderer Meinung (different opinion) |
| h.M. | op. dom. | op. dom. | majority | herrschende Meinung (prevailing opinion) |
| str. | contr. | contr. | disputed | strittig (disputed) |
| unstr. | indisc. | pacifico | undisputed | unbestritten (undisputed) |
| vgl. | cf. | cfr. | cf. | vergleiche (compare) |
| s. | v. | v. | see | siehe (see) |
| Rz. / N | ch. | n. | para. | Randziffer (margin number) |
| Hrsg. | ed. | a cura di | ed. | Herausgeber (editor) |
| Aufl. | ed. | ed. | ed. | Auflage (edition) |
Judgment Type Terms
| DE | FR | IT | EN | Usage |
|---|---|---|---|---|
| Urteil | Arret / Jugement | Sentenza | Judgment | Final decision on the merits |
| Beschluss | Decision | Decisione | Order | Procedural order or non-merit decision |
| Verfugung | Ordonnance | Ordinanza | Ruling | Administrative or interim ruling |
| Entscheid | Decision | Decisione | Decision | General term for any judicial decision |
Legal Strength Indicators
Use these when assessing the weight of legal authority:
| Indicator | Strength | When to Use |
|---|---|---|
| Strong | Established BGE line, clear statutory text, consistent doctrine, undisputed (unstr./indisc./pacifico) | |
| Moderate | Some BGE support, interpretive flexibility, majority doctrine (h.M./op. dom.) | |
| Weak | Novel argument, contrary BGE exists, minority doctrine (a.M./op. diff.), disputed (str./contr.) |
Common Citation Errors and Corrections
| Error | Problem | Correction |
|---|---|---|
art. 97 Abs. 1 OR | Mixed FR/DE: lowercase "art." with German "Abs." | Art. 97 Abs. 1 OR (DE) or art. 97 al. 1 CO (FR) |
Art. 97 Abs. 1 CO | DE format with FR statute abbreviation | Art. 97 Abs. 1 OR (DE) or art. 97 al. 1 CO (FR) |
Art.97 OR | Missing space after "Art." | Art. 97 OR |
Art. 97 Abs. 1 or | Lowercase statute abbreviation | Art. 97 Abs. 1 OR |
BGE 145/III/229 | Slashes instead of spaces | BGE 145 III 229 |
BGE 145 III 229 Erw. 4.2 | Wrong abbreviation for Erwagung | BGE 145 III 229 E. 4.2 |
Art. 999 OR | Non-existent article (OR ends at Art. 964) | Verify intended article number |
Art. 97 Abs. 5 OR | Art. 97 has only 2 paragraphs | Check correct paragraph number |
Cross-Language Citation Conversion
When converting citations between languages, change only:
- Statute abbreviation (OR/CO, ZGB/CC, StGB/CP, BV/Cst./Cost.)
- Element labels (Art./art., Abs./al./cpv., Bst./let./lett.)
- BGE prefix (BGE/ATF/DTF)
- Consideration label (E./consid./consid.)
Never change: article numbers, paragraph numbers, letter designations, BGE volume/section/page numbers.
MCP Tools for Citation Work
Use these tools rather than constructing or guessing citations:
| Task | Tool |
|---|---|
| Get canonical BGE citation string | swiss-caselaw → cite(decision_id) |
| Validate a citation | legal-citations → validate_citation(citation) |
| Format to target language | legal-citations → format_citation(citation, lang) |
| Convert BGE↔ATF↔DTF | legal-citations → convert_citation(citation, from, to) |
| Batch standardize a document | legal-citations → standardize_document_citations(text) |
| Get article text to verify paragraph count | swiss-caselaw → get_law(sr) or fedlex-sparql → get_article(sr, art) |
Anti-hallucination rule: Never construct a BGE citation string yourself. BGE volume = year − 1874, and section codes depend on the legal area (I–VI). Even a small error produces an invalid citation. Always retrieve via cite() or validate_citation().
Quality Rules
Before delivering any output containing legal citations:
- Verify every statutory citation references an existing article and paragraph in the statute
- Confirm BGE citations use the correct section code (I-VI) for the legal area
- Ensure language consistency: never mix DE/FR/IT conventions in a single citation
- Check that doctrine citations include author, title, edition, year, and margin number
- Validate cantonal court citations include court name, date, and reference number
- Apply the correct judgment type term (Urteil/Arret/Sentenza) based on decision type
- For nDSG citations: confirm whether the matter arose before or after 1.9.2023 — use old DSG for pre-2023 facts
- Flag any citation that cannot be verified with a note to the user
Reduced Mode (MCP Unavailable)
When MCP servers are not available, the following degradation applies:
| Capability | Full Mode | Reduced Mode |
|---|---|---|
| Citation validation | Verified via legal-citations MCP | Format check only (syntax, structure); mark as (formato verificato, esistenza non confermata) |
| Citation formatting | Via format_citation MCP | Apply formatting rules from this skill manually |
| BGE citation generation | Via swiss-caselaw → cite() | Not available — do not construct BGE citations manually; flag as unverifiable |
| Statute text | Via fedlex-sparql | From model knowledge; note verification needed |
In reduced mode, add a notice:
Nota: citazioni verificate solo nel formato (non nell'esistenza). Verifica manuale necessaria.
Alternatives
Compare before choosing
narrative-io/narrative-skills-marketplace
design-analysis
Translate a fuzzy analytical question into a rigorous investigation plan. Interrogates the ask, grounds the plan in the available data dictionary, applies analytical best practices, and produces a structured brief of query specifications for a downstream query-writing skill. Plans, does not write SQL. Use when: "why did X drop", "is there a relationship between A and B", "who are our highest-value customers", "what's driving the change in Y", "investigate this trend", "design an analysis for", "
ffroliva/gflow-cli
pr-council-review
Multi-dimensional LLM council review of an open PR (default) or a local feature branch (§ 8 branch mode, invoked via `/gflow:branch-review`). Five baseline dimensions (correctness, quality, security, tests, memory-hygiene) plus adaptive dimensions per surface (transports / data / CLI / docs / auth / BDD / scripts / release-gate). Each agent invokes specialized skills (security-review, code-review, verify) for its dimension. Reads files via `git show <sha>:<path>` to avoid stale-working-tree fals
mgiovani/cc-arsenal
ci-local
Run the checks a GitHub Actions workflow would run, locally, when Actions is unavailable or out of quota. Parses .github/workflows/*.yml, extracts the jobs/steps that gate merges (lint, typecheck, test, build), translates them to local commands respecting the workflow's pinned node/python versions and env, executes them sequentially, and reports a parity table of what passed locally vs. what can't be replicated (service containers, secrets, matrix dimensions) and why. Activates on "CI quota", "A
Liberty91LTD/cti-skills
kql-writing
Use when the user asks for a KQL query, a Microsoft Sentinel / Defender / Azure Log Analytics detection or hunt, or wants to translate a finding from `/hash-investigation` / `/malware-analysis` into KQL. Format spec + writing guide.