diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index bcdf2edb3..6223413f0 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -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" + } } ] } diff --git a/README.md b/README.md index 5bdc249bb..ba957abd5 100644 --- a/README.md +++ b/README.md @@ -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/ @@ -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 @@ -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 | @@ -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. diff --git a/external_plugins/arguman-legal/.claude-plugin/plugin.json b/external_plugins/arguman-legal/.claude-plugin/plugin.json new file mode 100644 index 000000000..fa0d90253 --- /dev/null +++ b/external_plugins/arguman-legal/.claude-plugin/plugin.json @@ -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" + } +} diff --git a/external_plugins/arguman-legal/.mcp.json b/external_plugins/arguman-legal/.mcp.json new file mode 100644 index 000000000..72319c084 --- /dev/null +++ b/external_plugins/arguman-legal/.mcp.json @@ -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." + } + } +} diff --git a/external_plugins/arguman-legal/README.md b/external_plugins/arguman-legal/README.md new file mode 100644 index 000000000..943fe77a6 --- /dev/null +++ b/external_plugins/arguman-legal/README.md @@ -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 diff --git a/external_plugins/arguman-legal/skills/caselaw-search/SKILL.md b/external_plugins/arguman-legal/skills/caselaw-search/SKILL.md new file mode 100644 index 000000000..99ef36e4f --- /dev/null +++ b/external_plugins/arguman-legal/skills/caselaw-search/SKILL.md @@ -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 diff --git a/external_plugins/arguman-legal/skills/citation-network/SKILL.md b/external_plugins/arguman-legal/skills/citation-network/SKILL.md new file mode 100644 index 000000000..e1e43ad67 --- /dev/null +++ b/external_plugins/arguman-legal/skills/citation-network/SKILL.md @@ -0,0 +1,131 @@ +--- +name: citation-network +description: > + Use this skill when the user wants to map the citation graph around a + Turkish case — looking up a case by esas/karar number, finding similar + rulings, or tracing which rulings cited a given decision. Especially + valuable for tracking içtihadı birleştirme (HGK/CGK) influence and + building a doctrinal lineage around a precedent. +allowed-tools: + - mcp +--- + +# Citation Network — Turkish Case Lineage + +Turkish high-court rulings travel as networks: a Yargıtay HGK içtihadı +birleştirme decision settles a dispute, lower chambers cite it, follow-on +rulings refine its edges, and over time a doctrinal line emerges. +This skill traces that network using three tools — `case_lookup`, +`find_similar`, and `find_citing_cases` — to give the user a connected +map of authority rather than a single isolated citation. + +## Prerequisites + +The `arguman-legal` MCP server must be connected. Verify availability +before starting. If unavailable, inform the user and stop. + +## When to Use + +- The user names a specific case (esas/karar no) and wants to see how it + has been received, refined, or cited. +- The user wants to find rulings **similar in fact pattern or doctrine** + to an identified anchor case. +- Tracking the influence of an HGK / CGK / Genel Kurul içtihadı birleştirme + decision through later chambers. +- Building a "doctrinal lineage" view (anchor case → similar → who cited) + for a memo or brief. + +## When Not to Use + +- **Open-ended doctrinal research without a starting case** — use the + `caselaw-search` skill first to find an anchor, then come back here. +- **Statute/regulation lineage** (not case-law) — use the `mevzuat` MCP. +- **Live SEGBİS / UYAP docket tracking** — out of scope. +- **Judge or chamber analytics** — out of scope. + +## Communication Rules + +- **Mirror the user's language.** Turkish in → Turkish out; English in → + English out. Default to Turkish when ambiguous (Turkish lawyers are the + primary audience). +- Render every case as: **court** + **chamber** + **esas no** + **karar no** + + **tarih** + **collection** (e.g., `Yargıtay HGK, E.2019/4-1234 K.2021/567, + 14.06.2021 (hukuk)`). +- For HGK / CGK / İBK decisions, **flag the binding nature explicitly** + ("içtihadı birleştirme kararı — alt mahkemeler için bağlayıcı"). Other + rulings are persuasive only; never overstate. +- When presenting the network, distinguish: + - **Anchor** (the case the user named or you identified) + - **Similar** (related by fact pattern / doctrine, from `find_similar`) + - **Citing** (later rulings that referenced the anchor, from `find_citing_cases`) + +## Workflow + +### 1. Anchor the case + +If the user gave an esas/karar reference: + +``` +case_lookup(esas_no="2023/14587", karar_no="2024/921", collection="ceza") +``` + +If they gave a docket fragment or chamber+date, try the most specific +fields first; fall back to `caselaw-search` if `case_lookup` returns no +hit. + +For HGK/CGK rulings, esas numbers carry a kurul prefix, e.g., +`E.2019/4-1234` (4 = ceza-genel-kurul indicator). Preserve the dash; do +not strip it. + +### 2. Pull the full opinion + +``` +get_full_text(point_id=) +``` + +Verify the anchor actually addresses the issue the user named. If the +docket matched but the opinion is about a different issue (sometimes happens +with re-used esas numbers across years), say so and stop — do not +fabricate continuity. + +### 3. Expand the network + +Run both expansions: + +- `find_similar(point_id=)` — rulings near the anchor in + embedding + lexical space. Best for "what other rulings are about + the same problem?" +- `find_citing_cases(esas_no=)` — rulings that explicitly + cited the anchor's esas number. Best for "how was this received + downstream?" + +Note: reverse-citation traversal (citation graph at scale) is not yet +exposed; this skill operates one hop at a time. + +### 4. Order and present + +Sort the network by date (most recent first by default; let the user ask +for chronological if they want to see evolution). Group by: + +- **Same chamber line** (e.g., all Yargıtay 1. CD rulings together) +- **Across-chamber adoption** (when a doctrine moves from one daire to + another, this is a strong stability signal) +- **Higher-court endorsement** (HGK/CGK adopting a chamber line is + near-decisive) + +Surface contradictions. If `find_citing_cases` shows the anchor was +later overruled or qualified, flag that prominently. + +## 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, + Danıştay, AYM, AİHM multilingual HUDOC, Uyuşmazlık, BGH) +- HGK/CGK esas format: `E.YYYY/-` (preserve dash) +- ECtHR citation format: `/, +
>` — preserve original-language case name +- BGH citation format: `BGH, Beschluss/Urteil v. , + Az. /` +- Documentation: https://arguman.ai/docs/mcp +- Support: iletisim@arguman.ai diff --git a/external_plugins/arguman-legal/skills/karsi-arguman/SKILL.md b/external_plugins/arguman-legal/skills/karsi-arguman/SKILL.md new file mode 100644 index 000000000..58e74a0f4 --- /dev/null +++ b/external_plugins/arguman-legal/skills/karsi-arguman/SKILL.md @@ -0,0 +1,156 @@ +--- +name: karsi-arguman +description: > + Use this skill when the user states a legal position and wants to stress-test + it — find rulings that went the OTHER way, identify the strongest counter- + arguments, and surface qualifications, exceptions, or doctrinal lines that + cut against the user's framing. Built for litigation preparation: see what + the opposing side will cite before they cite it. +allowed-tools: + - mcp +--- + +# Counter-Argument Finder + +When a lawyer is preparing a position, the most dangerous citations are the +ones they did not look for. This skill flips a stated position and goes +hunting for rulings that contradict, qualify, or outright reject it — +across the same court system and across chambers. + +It is the inverse of `caselaw-search`: instead of confirming a position, +it tries to break it. + +## Prerequisites + +The `arguman-legal` MCP server must be connected. Verify availability +before starting. If unavailable, inform the user and stop. + +## When to Use + +- The user has a draft argument, brief, or appellate strategy and wants + to know what the other side will cite. +- The user asserts a doctrine and wants to find its limits, exceptions, + or competing line. +- Pre-hearing preparation — anticipating the panel's hardest questions. +- Stress-testing a research result obtained via `caselaw-search`. + +Examples: + +- "Müvekkilim haksız tahrik indirimi alacak — karşı tarafın itiraz edebileceği + Yargıtay kararları neler?" +- "Tasarrufun iptali davası açtık, eşin muvazaalı mal kaçırması savımız var. + Karşı yönde içtihat var mı?" +- "İdari sözleşmenin feshini istiyoruz; Danıştay'ın bu fesih sebebini kabul + etmediği kararlar olabilir mi?" + +## When Not to Use + +- **Initial research** — use `caselaw-search` first to establish the position, + then bring it here for stress-testing. +- **Drafting the actual response brief** — this skill surfaces opposing + authority; drafting belongs to `litigation-legal` or similar. +- **Devil's-advocate on questions of fact** — this is doctrinal, not factual. +- **Adversarial profiling of a specific judge** ("how does Judge X usually + rule on…?") — out of scope for both policy and accuracy reasons. + +## Communication Rules + +- **Mirror the user's language.** Turkish → Turkish, English → English. + Default to Turkish (Turkish litigators are the primary audience). +- Be **honest about strength**. If you cannot find genuine counter-authority, + say so explicitly — do not manufacture conflict. "Karşı yönde belirgin bir + içtihat bulamadım, yalnızca aşağıdaki kararlar konuyu daraltıyor" is a + valid finding. +- **Separate** counter-authority (rulings that go the other way) from + **qualifications** (rulings that limit / scope the position) — both + matter but they aren't the same threat. +- Cite every authority verbatim: court + chamber + esas no + karar no + + tarih + collection. +- Flag HGK / CGK / içtihadı birleştirme decisions as binding when they + appear on either side. + +## Workflow + +### 1. Restate the position precisely + +Before searching, restate the user's legal claim in doctrinal terms: + +- Identify the **rule** (statute / doctrine the position relies on) +- Identify the **elements** that must be proven +- Identify the **weakest element** — counter-authority usually attacks + the most contested element, not the rule itself + +If the user's framing is colloquial, translate to doctrine first (see +`caselaw-search` for the colloquial → doctrinal table). Surface your +translation so the user can confirm. + +### 2. Flip and search + +Run two complementary searches: + +**a. Negation search** — `search` with the position inverted: + +- Position: "haksız tahrik indirimi uygulanır" → + search: "haksız tahrik indirimi uygulanmaz" / "haksız tahrik koşulları gerçekleşmemiş" +- Position: "tasarrufun iptali şartları oluşmuş" → + search: "tasarrufun iptali şartları oluşmamış" / "muvazaa iddiasının reddi" + +**b. Element-attack search** — `search` for the weakest element being absent: + +- "haksız tahrik" weakest element = "haksız fiil" or "kusur dengesi" → + search those specifically with `expand=false` + +Use `daire` and `yil_min`/`yil_max` filters when scoping helps; the +goal is **relevant counter-authority**, not breadth. + +### 3. Expand from the strongest counter-case + +Pick the most directly contradictory ruling from step 2 and: + +- `get_full_text(point_id)` — verify the holding actually contradicts + the user's position (not just on facts but on doctrine) +- `find_similar(point_id)` — neighboring rulings on the same contra position +- `find_citing_cases(esas_no)` — has this contra-line been adopted or + abandoned downstream? + +### 4. Categorize the threat + +For each finding, classify: + +| Threat level | Definition | Example | +|---|---|---| +| **Binding contra** | HGK/CGK/İBK that goes the other way | Position likely loses unless distinguishable on facts | +| **Persuasive contra** | Chamber ruling that goes the other way | Argue distinguishability; address head-on | +| **Qualifier** | Same line but narrower scope than user assumed | Refine the position; do not abandon | +| **Outdated** | Older counter-line later overruled or eroded | Note for completeness; pre-empt opponent citing it | +| **Distinguishable** | Different facts, opposing party will still try to cite | Prepare distinguishing brief in advance | + +### 5. Present the threat map + +Lead with the **strongest counter-authority** and the **best response to it**. +Lawyers planning a hearing want to know the worst case first, then the +next-worst, then qualifications. Structure: + +``` +1. [Binding contra] — full citation, holding, distinguishing argument +2. [Persuasive contra] — same +3. [Qualifiers] — same +4. [Distinguishable / weak] — brief mention only +``` + +If the search returned no real counter-authority, say so plainly and +recommend the user proceed with confidence — but flag that absence of +authority is not the same as authority for the position. + +## 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, + Danıştay, AYM, AİHM multilingual HUDOC, Uyuşmazlık, BGH) +- Cross-lingual retrieval — counter-authority searches in Turkish also + surface ECtHR (EN/FR) and BGH (DE) rulings that contradict the position +- This skill is best used **after** `caselaw-search` has established a + baseline position to flip +- Documentation: https://arguman.ai/docs/mcp +- Support: iletisim@arguman.ai