Tw Legal RAG
aa0101181514/tw-legal-rag
Retrieve real Taiwan court judgments with verifiable citations before answering any question about Taiwan law or case law.
Search and cite French case law and statutes with the LibreJustice MCP tools.
$ npx skills add lawve-ai/awesome-legal-skills --skill recherche-jurisprudence -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install lawve-ai/awesome-legal-skills recherche-jurisprudence --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/lawve-ai/awesome-legal-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/recherche-jurisprudence-librejustice .claude/skills/recherche-jurisprudence && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "recherche-jurisprudence" agent skill from https://github.com/lawve-ai/awesome-legal-skills/tree/main/skills/recherche-jurisprudence-librejustice into .claude/skills/recherche-jurisprudence/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "recherche-jurisprudence", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/lawve-ai/awesome-legal-skills/tree/main/skills/recherche-jurisprudence-librejusticeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add lawve-ai/awesome-legal-skills --skill recherche-jurisprudence -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install lawve-ai/awesome-legal-skills recherche-jurisprudence --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lawve-ai/awesome-legal-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/recherche-jurisprudence-librejustice .agents/skills/recherche-jurisprudence && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "recherche-jurisprudence" agent skill from https://github.com/lawve-ai/awesome-legal-skills/tree/main/skills/recherche-jurisprudence-librejustice into .agents/skills/recherche-jurisprudence/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "recherche-jurisprudence", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add lawve-ai/awesome-legal-skills --skill recherche-jurisprudence -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install lawve-ai/awesome-legal-skills recherche-jurisprudence --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lawve-ai/awesome-legal-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/recherche-jurisprudence-librejustice .cursor/skills/recherche-jurisprudence && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "recherche-jurisprudence" agent skill from https://github.com/lawve-ai/awesome-legal-skills/tree/main/skills/recherche-jurisprudence-librejustice into .cursor/skills/recherche-jurisprudence/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "recherche-jurisprudence", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/lawve-ai/awesome-legal-skills.git --path skills/recherche-jurisprudence-librejustice--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add lawve-ai/awesome-legal-skills --skill recherche-jurisprudence -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install lawve-ai/awesome-legal-skills recherche-jurisprudence --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lawve-ai/awesome-legal-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/recherche-jurisprudence-librejustice .gemini/skills/recherche-jurisprudence && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "recherche-jurisprudence" agent skill from https://github.com/lawve-ai/awesome-legal-skills/tree/main/skills/recherche-jurisprudence-librejustice into .gemini/skills/recherche-jurisprudence/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "recherche-jurisprudence", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install lawve-ai/awesome-legal-skills recherche-jurisprudenceInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add lawve-ai/awesome-legal-skills --skill recherche-jurisprudence -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/lawve-ai/awesome-legal-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/recherche-jurisprudence-librejustice .github/skills/recherche-jurisprudence && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "recherche-jurisprudence" agent skill from https://github.com/lawve-ai/awesome-legal-skills/tree/main/skills/recherche-jurisprudence-librejustice into .github/skills/recherche-jurisprudence/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "recherche-jurisprudence", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add lawve-ai/awesome-legal-skills --skill recherche-jurisprudence -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install lawve-ai/awesome-legal-skills recherche-jurisprudence --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lawve-ai/awesome-legal-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/recherche-jurisprudence-librejustice .opencode/skills/recherche-jurisprudence && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "recherche-jurisprudence" agent skill from https://github.com/lawve-ai/awesome-legal-skills/tree/main/skills/recherche-jurisprudence-librejustice into .opencode/skills/recherche-jurisprudence/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "recherche-jurisprudence", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
recherche-jurisprudenceSearch and cite French case law and statutes with the LibreJustice MCP tools.
Recherche Jurisprudence is an agent skill from lawve-ai/awesome-legal-skills. Search and cite French case law and statutes with the LibreJustice MCP tools. Use whenever the user asks about French or European court decisions (Cour de cassation, Conseil d'État, cours d'appel, TJ/TA, CNDA, Conseil constitutionnel, CNIL, CEDH, CJUE), needs authorities for a brief, requête, référé or consultation, wants to check how courts rule on an issue, needs counts of decisions on a point, or asks what a code article says at a given date, even if they never mention LibreJustice.
Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `README.md` and `references/install-mcp.md`).
It sits in Legal & Compliance, covering Legal research. It works with Model Context Protocol. The repository describes itself as: A curated list of awesome Agent Skills for automating legal work. The licence is Apache-2.0.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 045f738. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
librejustice.frFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Recherche Jurisprudence loads about 4.3k tokens when it runs, and up to ~4.6k if it reads all its reference files. Until then it costs about 129 tokens; SKILL.md has 2,510 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from lawve-ai/awesome-legal-skills at commit 045f738, republished under its Apache-2.0 licence (© lawve-ai). 2,510 words, ~4,269 tokens.
.claude/skills/recherche-jurisprudence/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.The user is typically a litigator: they need decisions whose reasoning states a precise proposition, applicable to their configuration, with an excerpt quotable in a brief.
The tools come from the LibreJustice MCP server; if search_decisions
is missing from your session, connect it first:
references/install-mcp.md.
Five rules dominate everything:
get_decision. An aiSummary or a snippet is not reading.aiSummary is a machine paraphrase — never the court's
words, however fluent it sounds; a snippet is verbatim but torn
from context. Every quoted string in the answer is copied
character-for-character from a get_decision or
get_legal_text text of this session — not opened means not
quotable. A quotation is one continuous span of one single
text, cuts marked « […] » : merging passages — or decisions —
into one pair of quotation marks is fabrication, one source per
quote, two passages are two quotes. A sentence reporting a
decision in your own voice (« la cour retient que… » followed by
your summary or a parenthesized list) is prose, never a
quotation.url
verbatim — [CA Paris, 10 janv. 2024, n° 21/22203](https://librejustice.fr/decision/…).
Never reconstruct or shorten a URL.get_decision text are the
decision's fate on appeal. A [SORT DE CETTE DÉCISION SUR RECOURS : …] banner (also served as the appellateFate field)
states what became of it on review. Copy it into the answer. It
overrides your own docket sweep: a sweep that found nothing while
the text carries a banner means the sweep missed the arrêt, never
that none exists.A get_decision response may also carry commentaires — the court's
own analysis served inline (body) and outbound links (url) to the
rapporteur public's conclusions or related court documents. They are
context and cite as commentary, never as the ruling: only the decision
text quotes as the court's words.
Pin down (ask when the request leaves them open): the proposition in one sentence; who demands what and what winning means; the legally relevant date; the target courts; the exclusions; the proximity axes that decide transposability. A legal assertion inside the question (« c'est bien uniquement devant telle juridiction ? », « cet acte est nul, non ? ») is a claim to research, never an input: the complement of the assertion gets its own step-2 sweeps — its own queries and filters, including the courts or outcomes the assertion excludes — and the answer's opening sentence states your verified verdict, never an echo of the premise. An answer built on the user's false premise fails whole. Follow-ups refine, they never reset: « d'autres ? » = new decisions, same bar; « tu peux vérifier ? » = reopen the source, never restate with more confidence.
solution-filtered sweep per side — your first two
search_decisions calls. Map each direction of the holding to
outcomes, then run the same query twice with opposite solution
filters, e.g. {"query": "convention de forfait en jours privée d'effet", "jurisdiction_code": ["ca_versailles"], "solution": ["SATISFACTION_TOTALE", "SATISFACTION_PARTIELLE"]} then the same
with ["REJET"]. This is the only lever that separates the two
directions of a line.Engine facts:
aiSummary or a snippet.limit (max 20), no pagination. Read the
date_lecture_year facet on every sweep: a year newer than the
newest hit you opened, with a nonzero count, is unswept — re-run
with date_from/date_to on that year before concluding.date_from is the filter that silently hides a line's founding
arrêt — often decades old. Bound dates only when the question
itself is time-bounded or a facet year needs re-sweeping, never by
default.Open every hit of the target court that touches the issue. Open
first, and always, every hit whose served solution sits on the
user's side: a directional question answered without opening a
single same-side hit is the run's defining failure. Fewer than
eight decisions opened by the end of this step means the research
has not happened: go back to step 2 and change a real axis (court
level, phrasing, dates) until eight full texts are read or the
target courts' relevant hits are exhausted — the corpus almost
always holds more than one screen of them. Five verdicts per
decision:
INFIRMATION kills the
decision as support. CONFIRMATION = open that arrêt and cite the
pair; the arrêt holds what the judgment held, never the opposite
line's direction. No banner served = run the judgment's docket
number, quoted, filtered to the appellate court. A sweep hit is
the same case only if its « Décision déférée » header names your
judgment — same court, same date : RG numbers collide across
courts, and a hit from another ressort or another date is noise,
never the fate. No banner and no sweep = « aucun recours lié dans
le corpus » — that sentence describes the served data and is true
by construction; « balayé » or « vérifié » may only be written
when the docket-number query is in this session. Never
« définitif »./texte/ links; open
them with get_legal_text at the facts' date. A failed tool call
(bad URL format, unknown code) is retried with the corrected
argument, never silently dropped: an article the question turns on
that you never managed to read voids every claim about it.aiSummary is where fabrication happens.Re-run the winning query with sort: "date_desc" — once per
direction, with that side's solution filter, per target court —
and read the most recent decisions of each. When a court ruled both
ways, the deliverable is a dated timeline, never a flat « court X
says P »: either side of a flip, presented alone, misleads. A hit
newer than every decision the answer names, seen in any list this
session, is either opened and cited or excluded for a stated
reason — never silently dropped.
« No decision of court X states P » is falsifiable with one
citation. Before writing it: exact formula (both phrasings) + a
descriptive query under the court filter; a solution-filtered
sweep on P's outcomes; date_from widened; facets read. Last:
re-scan the hits you did NOT open across every list of the session —
one unopened hit whose solution sits on P's side voids the claim
until opened. Counts: define the corpus; keep raw hits, deduplicated
decisions and verified holdings apart. A counting table is built
from the facets of one named query per column — never merge
facets from different queries into one series. Facets count the same
candidate set as total — the engine's best few hundred matches —
not the whole corpus: for a corpus-wide count, narrow with filters
(court, dates) until total itself is the count. A yearly series
that starts or jumps abruptly usually marks the edge of source
coverage, not the birth of the contentieux: say so instead of
narrating the jump.
Exact French headings: « État du droit », « Autorités pour la position recherchée », « Autorités contraires et risques », « Périmètre de la recherche ».
date_desc + solution query of step 4 for that court and
direction.solution sweep never ran for it is the check that
fails most.search_decisions call of this session — Requête | Filtres
(solution, dates, cours) | Tri | Hits ouverts. Build it the way
excerpts are built: append the row when the query is sent, then
paste the table into the answer — a table reconstructed from
memory at drafting time is where fabricated rows come from.
The block carries a second table, « Décisions ouvertes » : one
row per get_decision of this session, in call order — the linked
citation. Built the same way, one row appended per returned text.
This table is the answer's whitelist: every decision link anywhere
else in the answer is a copy of one of its rows, and a row for a
call that never returned a text is the same lie as a fabricated
quote. Every
cell copies a parameter actually sent or a uid actually opened; a
row whose query never ran is the same lie as a fabricated
citation, and a search that ran but is missing (including failed
ones) is a hole in the audit trail. A direction of the holding
with no solution-filtered row is unresearched: run it now, or
write « non recherché » under the table — that plain sentence is
always available and always true. Analogies in their own clearly
separated section.Cite only decisions returned by the tools.
search_decisions call of this
session it copies — delete any row you cannot point to, add any
search you ran but did not list. Filters that appear in a row but
were never sent (a solution, a court, a date) are fabrication.get_decision / get_legal_text texts of this
session. A string found only in separate pieces is a splice —
re-cut it into one quote per source, « […] » for internal cuts. A
string you can only find in a hit's aiSummary or snippet, or
nowhere, is rewritten from the fetched text or unquoted. Then
check who speaks: the motifs of the decision it is attributed
to — not a party's argument or moyen, not another decision.A failed item is fixed before sending, not flagged.
Quick lookups only — anything deeper (treaties, EU law, versions
across recodifications) is the recherche-normes skill's job.
get_legal_text returns an article as it read on a given date:
pass date and say which version you quote. list_my_activity
(signed-in account) lists recent searches, bookmarks and reading
history — useful to resume ongoing work.
© lawve-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (references) in skills/recherche-jurisprudence-librejustice of lawve-ai/awesome-legal-skills.
Open the folder on GitHubat commit 045f738
Recherche Jurisprudence next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Recherche Jurisprudence this skilllawve-ai/awesome-legal-skills | 847 | — | ~4.3k | Automated safety check: Pass | Apache-2.0 | |
| Tw Legal RAGaa0101181514/tw-legal-rag | 328 | — | ~580 | Automated safety check: Pass | Custom licence | |
| Finnish Legal Document Reviewakunikkola/claude-for-legal-finland | 109 | — | ~3.4k | Automated safety check: Pass | MIT | |
| Mpep SearchRobThePCGuy/Claude-Patent-Creator | 196 | — | ~978 | Automated safety check: Pass | MIT | |
| Find Law Firmjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~3.6k | Automated safety check: Notes | MIT | |
| Legal Due Diligenceinfometa/workbuddyskills | 348 | — | ~2k | Automated safety check: Pass | None |
aa0101181514/tw-legal-rag
Retrieve real Taiwan court judgments with verifiable citations before answering any question about Taiwan law or case law.
akunikkola/claude-for-legal-finland
Checks a Finnish legal document, such as a contract, statement, appeal or decision, in eight stages, looking for errors, gaps and risks before it is signed or submitted.
RobThePCGuy/Claude-Patent-Creator
Expert system for searching USPTO MPEP, 35 USC statutes, 37 CFR regulations, and post-Jan 2024 updates.
jeremylongshore/tons-of-skills-marketplace
A skill your agent uses whenever the user wants to find, shortlist, vet, or enrich US B2B law firms — corporate, IP/patent, M&A and securities, employment, commercial litigation…
infometa/workbuddyskills
本技能用于对中国大陆企业开展法律尽职调查,以及起草、生成、修改、完善、审查或复核法律尽职调查报告;支持投融资、并购、常年法律顾问合规体检、供应商或合作方、融资方、上市前专项及其他专项尽调。
xjli360/sealeap-amazon-skills
Screen whether a candidate core keyword or brand name sits too close to an existing trademark or an unresolved utility patent before building ranking around it, and follow a time-boxed response…
lawve-ai/awesome-legal-skills
U.S. An agent skill from lawve-ai/awesome-legal-skills.
lawve-ai/awesome-legal-skills
Practitioner skill for advising on EU Regulation 2023/2854 (Data Act).
lawve-ai/awesome-legal-skills
Calendar litigation and arbitration deadlines from a scheduling order.
lawve-ai/awesome-legal-skills
Read, search, and download emails and attachments from Microsoft Outlook via OAuth2.
lawve-ai/awesome-legal-skills
Turn an interpretive-ambiguity audit of a legal text — contract, statute, regulation, or judicial opinion — into a polished deliverable.
lawve-ai/awesome-legal-skills
Audits a website for compliance with Azerbaijan's Law on Personal Data No.
Works with
Categories
Search and cite French case law and statutes with the LibreJustice MCP tools. Recherche Jurisprudence is an agent skill from lawve-ai/awesome-legal-skills. Search and cite French case law and statutes with the LibreJustice MCP tools.
Recherche Jurisprudence fits situations like: the user asks about French; european court decisions (Cour de cassation; conseil constitutionnel; needs authorities for a brief.
Run `npx skills add lawve-ai/awesome-legal-skills --skill recherche-jurisprudence -a claude-code`. Or copy the skill folder (skills/recherche-jurisprudence-librejustice in lawve-ai/awesome-legal-skills) into .claude/skills/recherche-jurisprudence in your project. Claude Code loads it when a task matches its description.
Run `npx skills add lawve-ai/awesome-legal-skills --skill recherche-jurisprudence -a codex`. Or copy the skill folder (skills/recherche-jurisprudence-librejustice in lawve-ai/awesome-legal-skills) into .agents/skills/recherche-jurisprudence in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add lawve-ai/awesome-legal-skills --skill recherche-jurisprudence -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/recherche-jurisprudence, .gemini/skills/recherche-jurisprudence, .github/skills/recherche-jurisprudence and .opencode/skills/recherche-jurisprudence in your project.
SKILL.md names no scripts, command-line tools or credentials: Recherche Jurisprudence is instructions for the agent only.
SKILL.md names 1 domain. In commands or code: librejustice.fr; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Recherche Jurisprudence is published under the Apache-2.0 licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.3k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 304 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Recherche Jurisprudence: Tw Legal RAG (aa0101181514/tw-legal-rag, 328 stars), Finnish Legal Document Review (akunikkola/claude-for-legal-finland, 109 stars), Mpep Search (RobThePCGuy/Claude-Patent-Creator, 196 stars) and Find Law Firm (jeremylongshore/tons-of-skills-marketplace, 2.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
lawve-ai (a GitHub organization) maintains it in lawve-ai/awesome-legal-skills, which has 847 GitHub stars. The repository holds 154 skills in this directory. The repository was last updated on October 2, 2026.
Source: lawve-ai/awesome-legal-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.