Recherche structurée dans la jurisprudence suisse via Entscheidsuche.ch. Utiliser cette skill quand l'utilisateur cherche des arrêts du Tribunal fédéral, de la jurisprudence cantonale, ou des précédents judiciaires sur un sujet juridique suisse. Accès à plus d'1 million de décisions de justice.
Recherche structurée dans la jurisprudence suisse via Entscheidsuche.ch
Cette skill guide la recherche de décisions de justice suisses en utilisant le serveur MCP entscheidsuche. Elle fournit des stratégies optimisées pour naviguer dans une base de plus de 1 million de décisions.
Invoquer @swiss-case-law-research quand l'utilisateur demande:
IMPORTANT : Voir
.opencode/instructions/research-persistence.mdpour les règles de sauvegarde obligatoires.
AVANT toute recherche, créer la structure de persistance :
Déterminer le sujet court (max 30 caractères, kebab-case)
protection-personnalite-travailCréer le dossier de recherche
mkdir -p ./LOGS/recherche/YYYY-MM-DD_HHhMM_[sujet-court]/documents
Créer recherche.json
{
"id": "[uuid]",
"created": "[ISO timestamp]",
"subject": "[description courte]",
"source": "entscheidsuche",
"queries": [],
"selected_documents": [],
"status": "in_progress"
}
Créer resultats.md avec en-tête
# Résultats de recherche - [Sujet]
**Dossier** : ./LOGS/recherche/[path]/
**Source** : Entscheidsuche.ch
**Créé** : [date]
---
Informer l'utilisateur
"Recherche initialisée. Résultats sauvegardés dans
./LOGS/recherche/[path]/"
AVANT toute recherche, vérifier que le périmètre est explicite.
Analyser la demande - Le scope est-il clair ?
Si scope NON SPÉCIFIÉ → Demander à l'utilisateur :
Quel périmètre de recherche souhaitez-vous ?
Tribunal fédéral (TF) :
- ATF publiés uniquement (jurisprudence de principe)
- Tous les arrêts TF (publiés + non publiés)
Tribunaux fédéraux spécialisés :
- TAF (Tribunal administratif fédéral)
- TPF (Tribunal pénal fédéral)
Jurisprudence cantonale :
- Canton spécifique (GE, VD, ZH, BE...)
- Tous les cantons
Corpus complet :
- Tout (740'000+ décisions) - recommandé uniquement pour recherche exploratoire
Mapper la réponse aux filtres MCP :
| Choix utilisateur | Filtre MCP |
|---|---|
| ATF publiés | court: "CH_BGE" |
| Tous arrêts TF | court: "CH_BGer" |
| TAF | court: "CH_BVGE" |
| TPF | court: "CH_BStGer" |
| Canton X | canton: "X" |
| Tout | (aucun filtre) |
Confirmer avant de lancer la recherche
Comprendre la demande
Première requête (termes larges, en allemand)
{
"query": "[termes principaux]",
"size": 20
}
IMMÉDIATEMENT après l'appel MCP :
resultats.mdrecherche.json avec la query et total_hitsÉvaluer la pertinence
Évaluer le volume
500 résultats → affiner
Sauvegarde : Les résultats sont déjà sur disque (Phase 1)
Si TROP de résultats:
court, canton, language, dateFromSi PAS ASSEZ de résultats:
protect*)Après chaque nouvelle requête :
resultats.mdrecherche.json.queries[]Sélectionner 3-5 décisions les plus pertinentes
Privilégier: BGE > BGer > Cantonal
Récupérer le contenu complet:
{
"signature": "[signature]",
"format": "json"
}
Sauvegarder chaque document dans documents/[signature].json
Mettre à jour selected_documents dans recherche.json
Créer/màj selection.md avec résumé des documents retenus
synthese.md avec l'analyse finalestatus: "completed" dans recherche.json"Art. [numéro] [abréviation]""Art. 328 OR" AND "protection personnalité"→ Voir REFERENCE.md pour vocabulaire trilingue
Utiliser les paramètres de filtrage directement dans l'appel MCP :
| Paramètre | Description | Exemple |
|---|---|---|
canton | Code canton | "CH", "VD", "GE" |
court | Code tribunal | "CH_BGer", "CH_BVGE" |
language | Langue | "de", "fr", "it" |
dateFrom | Date début | "2020-01-01" |
dateTo | Date fin | "2024-12-31" |
Note : Les filtres MCP sont plus fiables que la syntaxe texte court:CH_BGer.
| Opérateur | Syntaxe | Exemple |
|---|---|---|
| ET | AND | Datenschutz AND Arbeitsrecht |
| OU | OR | Kündigung OR licenciement |
| NON | - | Datenschutz -Strafrecht |
| Phrase | "..." | "protection personnalité" |
| Wildcard | * | Kündig* |
Recherche avec filtres optionnels :
{
"query": "string (required) - Termes de recherche",
"size": "number (default: 10, max: 50)",
"from": "number (default: 0) - Pagination",
"canton": "string (optional) - Code canton: 'CH', 'VD', 'GE', 'ZH'...",
"court": "string (optional) - Code tribunal: 'CH_BGer', 'CH_BVGE', 'VD_TC'...",
"language": "'de' | 'fr' | 'it' (optional) - Langue du document",
"dateFrom": "string (optional) - Date début YYYY-MM-DD",
"dateTo": "string (optional) - Date fin YYYY-MM-DD"
}
Exemples avec filtres :
// Recherche TF uniquement, français, depuis 2020
{
"query": "responsabilité civile médicale",
"court": "CH_BGer",
"language": "fr",
"dateFrom": "2020-01-01"
}
// Recherche jurisprudence genevoise
{
"query": "bail commercial",
"canton": "GE"
}
{
"signature": "string (required)",
"spider": "string (optional)",
"format": "'json' | 'html' | 'pdf' (default: 'json')"
}
Liste tous les tribunaux disponibles avec statistiques (données temps réel).
Liste tous les cantons avec nombre de documents. Utile pour découvrir les codes cantons.
Liste les tribunaux, optionnellement filtrés par canton :
{
"canton": "string (optional) - ex: 'CH', 'VD', 'GE'"
}
| Priorité | Source | Autorité |
|---|---|---|
| 1 | BGE (publiés) | Maximale |
| 2 | BGer (non publiés) | Haute |
| 3 | TAF/TPF | Fédérale spécialisée |
| 4 | Cantonaux | Locale |
→ Voir REFERENCE.md pour codes complets des tribunaux
→ Voir TRAPS.md pour les 10 pièges détaillés
# Recherche Jurisprudentielle : [Sujet]
## 📊 Vue d'Ensemble
- **Décisions trouvées** : [nombre]
- **Période couverte** : [années]
- **Principales juridictions** : [tribunaux]
## ⚖️ Décisions Clés
### 1. [Signature]
**Tribunal** : [Nom]
**Date** : [Date]
**Principe** : [Règle dégagée]
[Répéter pour 2-3 décisions]
## 📝 Synthèse
[Principes généraux dégagés]
## ⚠️ Avertissement
Ces informations ne constituent pas un avis juridique.
→ Voir TEMPLATES.md pour templates complets
| Fichier | Contenu |
|---|---|
TEMPLATES.md | Templates de rapports et fiches de décision |
TRAPS.md | 10 pièges à éviter avec solutions |
EXAMPLES.md | 4 exemples complets de workflows |
REFERENCE.md | Structure judiciaire, codes tribunaux, API MCP |
| Skill | Usage |
|---|---|
@swiss-legal-commentary | Recherche doctrine (Onlinekommentar) |
@parse-decision | Parsing décisions TF/TAF |
@citation-formatter | Formatage citations ATF, RS |
@recherche-juridique-suisse | MOC navigation recherche juridique |
⚠️ Les résultats de recherche sont indicatifs, non exhaustifs. Pour des conseils juridiques spécifiques, consultez un avocat qualifié.
Version 1.4 — Février 2026 Ajout: Phase 0.5 clarification du scope obligatoire avant recherche
Version 1.3 — Février 2026 Ajout: Filtres MCP (canton, court, language, dateFrom, dateTo), nouveaux tools list_cantons et list_tribunals