Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,14 @@
"author": {
"name": "Thomson Reuters"
}
},
{
"name": "arguman-legal",
"source": "./external_plugins/arguman-legal",
"description": "Multilingual legal research across Turkish high courts (Yargıtay, Danıştay, AYM, Uyuşmazlık), ECtHR (original-language HUDOC), and German BGH — nearly 15 million rulings. Cross-lingual semantic search lets Turkish queries surface English/French/German judgments for comparative work. Includes citation network traversal, counter-argument finder, and Turkish criminal sentence-enforcement calculation.",
"author": {
"name": "arguman.ai"
}
}
]
}
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,7 @@ law-student/ # Socratic drilling, outlining, IRAC, bar prep, flashc
legal-builder-hub/ # community skill discovery and install with a trust gate
external_plugins/ # partner-built plugins maintained by their vendors
cocounsel-legal/ # Thomson Reuters — Westlaw Deep Research via the CoCounsel Legal MCP
arguman-legal/ # arguman.ai — Turkish/ECtHR/BGH case-law search (multilingual)
managed-agent-cookbooks/ # Claude Managed Agent cookbooks — one dir per scheduled agent
diligence-grid/
docket-watcher/
Expand Down Expand Up @@ -276,6 +277,7 @@ Plugins under [`external_plugins/`](./external_plugins) are built and maintained
| Plugin | Built by | What it adds |
|---|---|---|
| **[cocounsel-legal](./external_plugins/cocounsel-legal)** | Thomson Reuters | Westlaw Deep Research with fully cited reports — caselaw, statutes, regulations, Practical Law, and secondary sources across up to three U.S. jurisdictions per run. Requires a CoCounsel Legal subscription with the MCP connector enabled. Support: cocounselsupport@tr.com. |
| **[arguman-legal](./external_plugins/arguman-legal)** | arguman.ai | Multilingual case-law research across Turkish high courts (Yargıtay, Danıştay, AYM, Uyuşmazlık), ECtHR (original-language HUDOC), and German BGH — nearly 15 million rulings. Cross-lingual semantic search lets Turkish queries surface English/French/German judgments for comparative work. Includes citation network traversal, counter-argument finder, and Turkish criminal sentence-enforcement calculation. OAuth 2.1 (PKCE + Dynamic Client Registration). Support: iletisim@arguman.ai. |

## The trust layer for community legal skills

Expand Down Expand Up @@ -306,6 +308,7 @@ These plugins ship connectors for the systems legal teams live in. A connector g
| **Slack** | Read channels, search, send messages and canvases | all plugins | Your workspace |
| **Google Drive** | Read docs, sheets, slides; fetch by link | all plugins | Your account |
| **CoCounsel Legal (Thomson Reuters)** | Westlaw Deep Research — cited reports across caselaw, statutes, regulations, Practical Law | `cocounsel-legal` | Customer subscription; OAuth |
| **arguman.ai** | Multilingual Turkish/ECtHR/BGH case-law search, citation network, counter-argument finder, Turkish infaz calculation | `arguman-legal` | Free tier with credits; OAuth 2.1 + PKCE + DCR |
| **Box** | Read files and folders in VDRs and matter rooms | `corporate-legal` | Your tenant |
| **Ironclad** | Read the contract register, renewal dates, clauses | `commercial-legal` | Customer subscription |
| **DocuSign / DocuSign CLM** | Envelope status, executed contracts, CLM metadata | `commercial-legal` | Customer subscription |
Expand Down Expand Up @@ -561,6 +564,14 @@ The full map across all plugins. The cold-start interview is the first thing to
|---|---|---|
| `/cocounsel-legal:deep-research` | deep-research | Run Westlaw Deep Research — start, poll, and present a fully cited report |

### arguman-legal (arguman.ai)

| Command | Skill | What it does |
|---|---|---|
| `/arguman-legal:caselaw-search` | caselaw-search | Multilingual hybrid case-law search with collection mapping, doctrinal translation, and drift detection |
| `/arguman-legal:citation-network` | citation-network | Build a doctrinal lineage map: anchor → similar → citing rulings |
| `/arguman-legal:karsi-arguman` | karsi-arguman | Counter-argument finder — stress-test a legal position by surfacing rulings that go the other way |

## Contributing

Everything here is markdown and JSON. Fork, edit, PR.
Expand Down
9 changes: 9 additions & 0 deletions external_plugins/arguman-legal/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"name": "arguman-legal",
"version": "0.1.0",
"description": "Multilingual legal research across Turkish high courts (Yargıtay, Danıştay, AYM, Uyuşmazlık), ECtHR (original-language HUDOC), and German BGH — nearly 15 million rulings. Cross-lingual semantic search lets Turkish queries surface English/French/German judgments for comparative work. Includes citation network traversal, counter-argument finder, and Turkish criminal sentence-enforcement calculation.",
"author": {
"name": "arguman.ai",
"email": "iletisim@arguman.ai"
}
}
10 changes: 10 additions & 0 deletions external_plugins/arguman-legal/.mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"mcpServers": {
"arguman-legal": {
"type": "http",
"url": "https://mcp.arguman.ai/mcp",
"title": "arguman.ai — Turkish Legal Research",
"description": "Multilingual hybrid search and citation lookup across Yargıtay, Danıştay, AYM, ECtHR (original-language HUDOC), Uyuşmazlık Mahkemesi, and German BGH case law. Turkish queries surface relevant English/French/German judgments via cross-lingual embeddings. Turkish criminal sentence-enforcement calculation included."
}
}
}
110 changes: 110 additions & 0 deletions external_plugins/arguman-legal/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# arguman-legal

arguman.ai brings nearly 15 million Turkish, European, and German case-law
records into Claude via a single hybrid-search MCP server with
**cross-lingual semantic search** — meaning a Turkish query surfaces
relevant English/French ECtHR judgments and German BGH rulings in their
original languages, purpose-built for comparative legal work. Covers the
courts whose rulings shape Turkish law in practice (Yargıtay, Danıştay,
Anayasa Mahkemesi, Uyuşmazlık Mahkemesi), the full multilingual HUDOC
corpus of ECtHR, and the German Bundesgerichtshof (criminal and civil).
Search results carry full provenance (esas no, karar no, tarih, daire /
Application No., Beschwerde-Nr.) so every citation can be verified.

- Use **arguman-legal** to run hybrid lexical + semantic search with
neural reranking across 8 case-law collections — query in Turkish,
English, or German and retrieve results across all three languages.
- Look up cases by docket number (esas/karar no, ECtHR Application No.,
BGH Beschwerde-Nr.), retrieve full opinions, trace citation networks,
and find similar rulings across chambers and jurisdictions.
- Stress-test legal positions by finding counter-authority — rulings that
cut against a stated argument.
- Calculate Turkish criminal sentence enforcement (infaz hesaplama) under
the CGTİHK (Law No. 5275).

## Example use cases

1. "Cezada haksız tahrik indirimi nasıl uygulanır? Yargıtay 1. CD'den son
5 yıl içtihatları."
2. "AYM bireysel başvuru — ifade özgürlüğü (m.26) — sosyal medya paylaşımı
nedeniyle disiplin cezası."
3. "Esas 2023/14587 numaralı Yargıtay 1. CD kararının tam metnini getir ve
bu karara atıf yapan diğer kararları listele."
4. "Tasarrufun iptali davası açtık. Karşı tarafın itiraz edebileceği
Yargıtay kararları nelerdir?" (counter-argument prep)
5. "Verilen 8 yıl hapis cezası için infaz süresini hesapla (tek suç,
sabıkasız, 5275/107)."

## When to Use

- Turkish case-law research across Yargıtay, Danıştay, AYM, Uyuşmazlık.
- ECtHR judgments in their original languages — query in Turkish, surface
relevant English/French rulings; ideal for Strasbourg jurisprudence
research without language barriers.
- German BGH comparative analysis (criminal and civil) — particularly
valuable for academic and doctoral work that cross-references German
doctrine with Turkish reception; query in Turkish, retrieve German
judgments via cross-lingual embeddings.
- Comparative cross-jurisdictional work (TR ↔ ECtHR ↔ BGH) in a single
query.
- Citation lookup by docket number; full-text retrieval; similar-case
discovery; citation-network traversal.
- Counter-argument identification for litigation preparation.
- Turkish criminal infaz / sentence-enforcement calculation.

## When Not to Use

- **Turkish statutes, regulations, or secondary legislation text** — use
the official `mevzuat` MCP plugin.
- **Drafting petitions (dilekçe), contracts, or motions** — use first-party
plugins such as `litigation-legal`.
- **US, UK, or EU case law** — use `cocounsel-legal`, `eulex-legal`, or
`courtlistener`.
- **Live court filing, e-imza, or UYAP docket operations** — out of scope.
- **Predicting case outcomes** or analytics on specific judges, lawyers,
or parties — out of scope for both ethical and policy reasons.
- **Exhaustive enumeration** ("every case ever mentioning X") — search
returns ranked top results, not exhaustive lists.

## Skills

This plugin ships three skills:

- **`caselaw-search`** — hybrid search workflow with collection mapping,
doctrinal translation (colloquial → legal Turkish), and drift detection.
- **`citation-network`** — anchor → similar → citing traversal for
building doctrinal lineage maps.
- **`karsi-arguman`** — counter-argument finder for litigation preparation;
stress-tests a stated position by finding rulings that go the other way.

## Authentication

OAuth 2.1 with Dynamic Client Registration (RFC 7591) and PKCE — no
manual API key, no static client ID. The Claude client registers itself
on first connect and runs the standard browser auth flow.

## Known limitations

- AYM bireysel başvuru coverage starts from late 2012 (the date the
individual application procedure became operative); earlier norm-control
decisions are indexed but pre-2012 individual applications are not.
- BGH coverage is concentrated post-1990; older Bundesgerichtshof rulings
are sparse.
- ECtHR coverage spans the full multilingual HUDOC corpus in original
languages (English, French primarily; other official translations
where available). Searches use cross-lingual embeddings — Turkish
query → English/French results — but Turkish translations of ECtHR
judgments are not separately indexed (use the official European
Court translation services if you need verbatim Turkish text).
- Reverse-citation graph traversal at scale is not yet exposed —
`find_citing_cases` operates one hop at a time.

## Links

- **Website:** https://arguman.ai
- **Documentation:** https://arguman.ai/docs/mcp
- **Privacy:** https://arguman.ai/privacy
- **Terms:** https://arguman.ai/terms
- **Support:** iletisim@arguman.ai
- **MCP endpoint:** https://mcp.arguman.ai/mcp
- **Health probe:** https://mcp.arguman.ai/health
185 changes: 185 additions & 0 deletions external_plugins/arguman-legal/skills/caselaw-search/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
---
name: caselaw-search
description: >
Use this skill whenever the user asks about Turkish case law, ECtHR judgments
(in any language), or German BGH precedents. Runs hybrid lexical + semantic
search with neural reranking and **cross-lingual retrieval** — a Turkish
query surfaces relevant English/French/German rulings across Yargıtay,
Danıştay, AYM, AİHM, Uyuşmazlık, and BGH collections (nearly 15 million
rulings total). Handles natural-language Turkish, doctrinal translation,
year/chamber filtering, and full-text retrieval with proper esas/karar
citation.
allowed-tools:
- mcp
---

# Multilingual Case-Law Search

`arguman-legal` provides hybrid case-law search across the major courts whose
output shapes Turkish law in practice: Yargıtay (Court of Cassation, criminal
and civil chambers), Danıştay (Council of State), Anayasa Mahkemesi (Constitutional
Court — both norm review and individual application), AİHM (the full
multilingual HUDOC corpus — judgments in their original language, primarily
English and French), Uyuşmazlık Mahkemesi (Conflicts Court), and the German
Bundesgerichtshof (criminal and civil — judgments in German).

Search combines lexical and semantic retrieval with **cross-lingual matching**
(Turkish queries hit English/French/German content) and neural reranking for
relevance ordering. This is the differentiator — comparative work no longer
requires manual translation of the query. Results carry full provenance
(esas no, karar no, tarih, daire, or Application No. / Beschwerde-Nr. for
ECtHR/BGH) so every citation can be verified.

## Prerequisites

The `arguman-legal` MCP server must be connected. Verify availability before
searching. If the server is not connected, inform the user and stop.

## When to Use

- Any question answerable from Turkish high-court rulings (Yargıtay,
Danıştay, AYM), e.g.:
- "Yargıtay 1. CD'nin haksız tahrik indirimini hangi koşullarda uyguladığı"
- "Danıştay'ın imar planına itiraz sürelerine yaklaşımı"
- "AYM'nin ifade özgürlüğü m.26 sosyal medya kararları"
- ECtHR judgments in their original languages (English, French primarily) —
query in Turkish, receive results in EN/FR via cross-lingual embeddings;
ideal for Strasbourg jurisprudence research without manual translation
- German BGH comparative analysis (criminal and civil) — query in Turkish,
retrieve German-language judgments
- Citation lookup by esas/karar no, ECtHR Application No., or BGH Beschwerde-Nr.
- Cross-jurisdiction comparison in a single query (TR ↔ ECtHR ↔ BGH)

## When Not to Use

If the request matches one of the categories below, briefly tell the user
this skill isn't the right fit and point to the suggested alternative.

- **Turkish statute or regulation text** (e.g., "Türk Ceza Kanunu m.86 nedir?")
- _Instead:_ suggest the official `mevzuat` MCP plugin.
- **Drafting petitions, contracts, or legal memoranda**
- _Instead:_ suggest first-party plugins such as `litigation-legal`.
- **Live court-filing, e-imza, or UYAP operations** — out of scope.
- **Predicting case outcomes or guessing what a specific judge will do**
— out of scope.
- **Analytics on specific judges, lawyers, or parties** — out of scope
for both ethical and policy reasons; do not attempt.
- **US, UK, EU, or non-TR/DE jurisdictions** — suggest `cocounsel-legal`,
`eulex-legal`, or `courtlistener`.
- **Exhaustive enumeration** ("bring me every single case mentioning X") —
search returns ranked top results, not exhaustive lists. Set this
expectation upfront.

## Communication Rules

- **Mirror the user's language.** If the user wrote in Turkish, respond
in Turkish; if in English, respond in English. Most users of this skill
are Turkish lawyers — default to Turkish when the language is ambiguous.
- Cite every authority verbatim with: **court** + **chamber (daire)** +
**esas no** + **karar no** + **tarih** + **collection**.
Example: `Yargıtay 1. CD, E.2023/14587 K.2024/921, 12.03.2024 (ceza)`.
- Keep Turkish legal terminology untranslated even when responding in
English (esas no, karar no, daire, içtihadı birleştirme, HGK, CGK) —
add a brief gloss on first use only.
- Never claim a ruling "binds" lower courts unless it is an HGK/CGK
içtihadı birleştirme decision — verify before asserting.
- If a snippet is ambiguous, fetch full text with `get_full_text` rather
than guess.
- Surface the doctrinal translation you used when the user's wording was
colloquial (e.g., "I searched 'haksız tahrik' for the colloquial
'kavga edip vurdum'") so the user can confirm the framing.

## Workflow

### 1. Pick the collection

Map the user's question → collection set:

| Domain | Collections |
|---|---|
| Criminal law (TR) | `ceza` (+ `anayasa` if constitutional dimension) |
| Civil/commercial (TR) | `hukuk` (+ `anayasa`) |
| Administrative (TR) | `idare` (+ `anayasa`) |
| Constitutional review / individual application (TR) | `anayasa` |
| Human rights / ECHR violations | `aihm` (multilingual, EN/FR primary) + `anayasa` |
| Jurisdiction conflicts (civil vs. admin, etc.) | `uyusmazlik` |
| Comparative criminal (DE) | `bgh_straf` (German originals) |
| Comparative civil (DE) | `bgh_zivil` (German originals) |

For cross-lingual queries, no special handling needed — write the search
in Turkish and the embeddings will surface relevant EN/FR/DE judgments.
When citing, preserve the judgment's original language in quoted text;
add a brief Turkish gloss only when the user explicitly asks for translation.

For multi-collection queries (e.g., a constitutional-criminal question),
prefer two focused `search` calls over one diffuse one.

### 2. Decide expansion mode

The `search` tool has an `expand` parameter (boolean, both modes cost 1
credit — pick on quality, not price):

- `expand=false` (default): one focused pass. Use when the query already
contains exact doctrinal terms, article numbers, esas/karar IDs, or
4+ keyword phrases.
- `expand=true`: broader recall via query expansion + neural rerank. Use
when the query is vague, natural-language, or uses lay wording.

### 3. Inspect for drift, then re-query if needed

Vector recall drifts to adjacent topics. After the first pass, check for
drift signals:

- Top results' **daire/court doesn't match** the question's domain
(e.g., asking about ceza but results come from hukuk)
- **Cited articles/statutes diverge** from what the user implied
- **Snippets don't contain the core verb/issue**

If drift, **translate the user's wording into doctrinal Turkish legal
terms** and rerun with `expand=false`. Examples:

| User said | Doctrinal term |
|---|---|
| "Kavga edip vurdum" | haksız tahrik (TCK m.29) |
| "Borçludan mal kaçırıyor" | tasarrufun iptali davası (İİK m.277) |
| "Boşandım yeniden evlenemiyorum" | iddet süresi (TMK m.132) |
| "Eski karımdan dolayı eve geri dönmek istemiyor" | velayet — çocuğun üstün yararı |
| "Vergi denetimi yapıldı borç çıktı" | re'sen / ikmalen tarhiyat (VUK m.30/29) |
| "Polis arama yapmak istedi izin vermedim" | adli/önleme araması, makul şüphe |

### 4. Drill down

Once a candidate ruling is identified:

- `get_full_text(point_id)` — pull the full opinion when the snippet
is insufficient
- `find_similar(point_id)` — neighboring rulings on the same issue
- `find_citing_cases(esas_no)` — see who cited this one (best with
HGK/CGK içtihadı birleştirme decisions)
- `case_lookup(esas_no, karar_no?)` — verify a specific docket reference

### 5. Synthesize and cite

- Group rulings by **doctrinal position** (majority/minority, evolving line,
içtihadı birleştirme anchor)
- Note **temporal trends** (older line → newer line, post-2017 anayasa
değişiklikleri etc.) when relevant
- For each cited authority, render the full citation format from
Communication Rules
- If results contradict each other, surface the conflict explicitly
rather than picking a side silently

## Helpful information

- Provider: arguman.ai (Istanbul, Türkiye)
- Auth: OAuth 2.1 with Dynamic Client Registration + PKCE
- Coverage: nearly 15 million rulings across 8 collections (Yargıtay Ceza,
Yargıtay Hukuk, Danıştay, AYM, AİHM multilingual HUDOC, Uyuşmazlık,
BGH Straf, BGH Zivil)
- Cross-lingual retrieval: Turkish, English, French, and German queries
all retrieve across all languages
- Free tier credits per user; rate limit returns HTTP 429 with `Retry-After`
- Privacy: https://arguman.ai/privacy
- Terms: https://arguman.ai/terms
- Documentation: https://arguman.ai/docs/mcp
- Support: iletisim@arguman.ai
Loading