Skip to content
Skillv1.0.0

verifier-citations

Post-flight de validation juridique PI. Pour chaque article cité dans une sortie skill (CPI, RMUE, RDMC, CBE, RGPD), interroge Légifrance via packages/core pour vérifier existence + version en vigueur

by jamon8888(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from jamon8888/hacienda-juridique (plugins/hacienda-propriete-intellectuelle/skills/verifier-citations/SKILL.md). Install upstream with npx skills add jamon8888/hacienda-juridique --skill verifier-citations. Copyright stays with the author.

Skill — Vérification des citations juridiques (PI)

POST-FLIGHT AUTOMATIQUE.

Ce skill est invoqué automatiquement par tous les skills PI produisant du texte juridique. Il vérifie que chaque article cité existe et n'est pas abrogé, et contrôle les numéros de titres PI (marques INPI/EUIPO, brevets FR/EP/PCT, dessins et modèles, droit d'auteur) ainsi que les arrêts CJUE structurants. Mode dégradé documenté si PISTE est absent.

Examples

Remonte en note du relecteur : « 1 citation CJUE à confirmer sur Eur-Lex / CURIA ».

Note du relecteur : « 2 arrêts CJUE structurants à confirmer sur Eur-Lex, 1 numéro EUTM à valider sur EUIPO eSearch avant production externe. »

Note du relecteur signale le numéro brevet à vérifier sur INPI Data avant envoi externe (statut en vigueur, annuités à jour, opposabilité aux tiers).


Chargement du profil

Vérifier loadConfig().credentialsSource :

  • "env" ou "file" → mode opérationnel
  • "none" → mode dégradé

Le skill doit aussi respecter les tags de provenance canoniques du CLAUDE.md PI : [Légifrance], [Judilibre], [Eur-Lex], [INPI Data], [EUIPO TMview], [EUIPO eSearch], [OEB Espacenet], [OMPI Madrid Monitor], [à vérifier], [review].


Intake

  1. sortie — texte de la sortie produit par le skill appelant
  2. type_citations (optionnel) — articles | jurisprudence | titres_pi | all (défaut)
  3. mode_silencieux (optionnel) — si true, ne retourner que la note relecteur + sortie annotée
  4. date_analyse — date du jour pour tracer la vérification

Gate non-juriste

Si l'utilisateur n'est pas juriste, mandataire ou avocat, produire une explication opérationnelle, signaler les limites, refuser toute conclusion présentée comme avis juridique final et demander validation par un professionnel habilité avant usage externe.

Outils MCP à privilégier

Appeler les outils par leur nom exact quand le serveur Hacienda Propriété Intellectuelle est disponible. Ne pas inventer de tool hors périmètre ; si une source n'a pas été consultée directement, garder [à vérifier].

  • Socle textes, jurisprudence et droit UE : piste_status, legifrance_recherche, legifrance_get_article, judilibre_recherche, judilibre_get_decision, eurlex_recherche, eurlex_consulter.
  • Vérification numéros marques : inpi_search_marques, inpi_marque_details, euipo_tmview_search.
  • Vérification numéros brevets : inpi_search_brevets, inpi_brevet_details, espacenet_search, espacenet_brevet_details.
  • Tout résultat issu d'un corpus client ou d'un outil interne reste distingué des sources primaires officielles.

Emplacement des sorties

Écrire les livrables dans le dossier de pratique ou de dossier configuré : ~/.claude/plugins/config/hacienda-juridique/hacienda-propriete-intellectuelle/outputs/ ou ~/.claude/plugins/config/hacienda-juridique/hacienda-propriete-intellectuelle/matters/<slug-dossier>/outputs/.

Sortie

Structurer la sortie avec : faits retenus, droit applicable, analyse, incertitudes, sources consultées, décisions proposées, prochaine action et validation humaine. Toute source non consultée directement reste [à vérifier].

Etape 1 — Extraction des citations

Appliquer les regex sur la sortie complète. Conserver refRaw, la position et le contexte court (phrase ou ligne) pour permettre une annotation précise. Dédoublonner les références identiques, mais conserver toutes les positions.

Articles et codes

Type Pattern
Article CPI \bart(?:icle)?\.?\s*L\.?\s*(\d+-\d+(?:-\d+)?)\s*(?:du\s+)?CPI
Article R. CPI \bart(?:icle)?\.?\s*R\.?\s*(\d+-\d+(?:-\d+)?)\s*(?:du\s+)?CPI
Article C.civ \bart(?:icle)?\.?\s*(\d+(?:-\d+)?)\s*(?:du\s+)?C\.?civ(?:il)?
Article C.com. \bart(?:icle)?\.?\s*L\.?\s*(\d+-\d+(?:-\d+)?)\s*(?:du\s+)?C\.?com(?:merce)?
Article RMUE \bart(?:icle)?\.?\s*(\d+(?:\s*§?\d*)?)\s*RMUE ou règlement\s*\(UE\)\s*2017/1001
Article RDMC \bart(?:icle)?\.?\s*(\d+)\s*RDMC ou règlement\s*\(CE\)\s*6/2002
Article CBE \bart(?:icle)?\.?\s*(\d+)\s*CBE ou Convention\s+de\s+Munich
Article RGPD \bart(?:icle)?\.?\s*(\d+(?:-\d+)?)\s*(?:du\s+)?RGPD
Loi numérotée loi\s+n[°o]\s*(\d+-\d+)\s+du\s+(\d+\s+[\p{L}]+\s+\d+)

Jurisprudence

Type Pattern
Arrêt Cour de cass. `Cass.\s+(com
Arrêt CA Paris CA\s+Paris(?:\s+p[ôo]le\s+5)?\s+(\d+\s+[\p{L}]+\s+\d{4})(?:\s+n[°o]\s*(RG[\s\d/]+))?
Arrêt CJUE CJUE\s+(\d+\s+[\p{L}]+\s+\d{4})(?:\s+aff\.\s+(C-\d+/\d+))?
Arrêt Tribunal UE `(?:TPI

Arrêts CJUE structurants PI à reconnaître comme références canoniques :

Arrêt Référence Domaine
Sabel CJUE 11 nov. 1997 aff. C-251/95 risque de confusion marques (appréciation globale)
Canon CJUE 29 sept. 1998 aff. C-39/97 similarité produits/services
Lloyd CJUE 22 juin 1999 aff. C-342/97 consommateur moyennement attentif
Matratzen Concord TPI 23 oct. 2002 aff. T-6/01 équivalents étrangers de marques
L'Oréal Bellure CJUE 18 juin 2009 aff. C-487/07 marques notoires, double identité
Infopaq CJUE 16 juillet 2009 aff. C-5/08 originalité droit d'auteur (test UE)
Painer CJUE 1er déc. 2011 aff. C-145/10 photographie originale

Si l'utilisateur cite l'un de ces arrêts par son nom usuel sans référence exacte, normaliser la refRaw vers la référence canonique ci-dessus avant lookup.

Numéros de titres PI

Type Pattern
Marque INPI FR `\bmarque\s+(?:FR\s+)?(\d{7,8}
Marque EU (EUTM) \b(?:EUTM|marque\s+UE)\s+(\d{8,9})
Marque internationale (Madrid) `\b(?:IR
Brevet FR `\b(?:brevet\s+)?FR\s*(\d{7,8})
Brevet EP \bEP\s*(\d{7,8})
Demande PCT \bPCT/(\w{2})(\d{4})/(\d{4,6})
Dessin/modèle FR `\b(?:D&M
DM communautaire (DMC) `\b(?:DMC

Retourner :

[
  {
    "type": "article",
    "code": "CODE_PROPRIETE_INTELLECTUELLE",
    "refRaw": "art. L.131-3 CPI",
    "refNorm": "CPI L131-3",
    "positions": [842]
  },
  {
    "type": "jurisprudence_cjue",
    "refRaw": "CJUE 11 nov. 1997 Sabel aff. C-251/95",
    "refNorm": "CJUE C-251/95 Sabel",
    "positions": [1456]
  },
  {
    "type": "titre_pi",
    "subtype": "brevet_fr",
    "refRaw": "FR 2018 12345",
    "refNorm": "FR2018012345",
    "positions": [2103]
  }
]

Si aucune citation n'est détectée, retourner une note courte : Aucune citation juridique détectée dans la sortie.


Etape 2 — Lookup Légifrance (mode opérationnel)

Pour chaque article extrait :

import { legifranceCheckArticle } from "@hacienda/core";

const result = await legifranceCheckArticle({
  code: "CODE_PROPRIETE_INTELLECTUELLE" | "CODE_CIVIL" | "CODE_COMMERCE",
  numero: "L131-3",
});
// -> { existe: bool, version_en_vigueur: bool, abroge: bool, dateMaj: string }

Mapping minimal des codes :

Citation Code Légifrance
CPI CODE_PROPRIETE_INTELLECTUELLE
C.civ / Code civil CODE_CIVIL
C.com / Code de commerce CODE_COMMERCE
RMUE / RDMC / CBE hors Légifrance — basculer vers Eur-Lex (eurlex_recherche)
RGPD hors Légifrance strict → tag [à vérifier] sauf integration Eur-Lex disponible

Si Légifrance retourne une erreur transitoire, ne pas inventer : taguer la citation [à vérifier] et le signaler dans la note relecteur.


Etape 3 — Lookup Judilibre + Eur-Lex (jurisprudence)

Pour chaque arrêt Cour de cassation ou CA Paris pôle 5 (chambre PI) :

Appeler judilibre_recherche avec la référence brute (refRaw), puis judilibre_get_decision si un identifiant fiable est retourné. Si la décision n'est pas retrouvée, marquer la citation [à vérifier].

Pour CJUE / Tribunal UE / arrêts canoniques PI (Sabel, Canon, Lloyd, Matratzen, L'Oréal Bellure, Infopaq, Painer) :

  1. Tenter eurlex_recherche avec la refNorm (format C-XXX/XX ou T-XXX/XX).
  2. Si trouvé → tag [Eur-Lex ✓].
  3. Si non trouvé mais arrêt dans la liste canonique → tag [arrêt canonique connu — à confirmer] et inscrire dans la note relecteur.
  4. Sinon → [à vérifier].

Etape 4 — Lookup INPI / EUIPO / OEB (numéros de titres PI)

Pour chaque numéro de titre extrait :

Subtype Outil MCP
marque_inpi_fr inpi_search_marques puis inpi_marque_details
marque_eu (EUTM) euipo_tmview_search
marque_internationale hors couverture core → [à vérifier OMPI Madrid Monitor]
brevet_fr inpi_search_brevets puis inpi_brevet_details
brevet_ep espacenet_search puis espacenet_brevet_details
pct espacenet_search (couverture partielle)
dessin_modele_fr hors couverture core directe → [à vérifier INPI Data D&M]
dmc hors couverture core directe → [à vérifier EUIPO eSearch]

Garde-fou volume : ne pas lancer plus de 5 lookups numéros de titres par sortie sans accord explicite (coût API). Au-delà, conserver [à vérifier] sur les numéros restants et signaler dans la note relecteur.

Pour chaque titre vérifié, contrôler :

  • existence du titre ;
  • statut (en vigueur, déchu, expiré, rejeté) ;
  • titulaire actuel (si la sortie identifie un cédant ou un licencié) ;
  • date de prochaine échéance (annuité brevet, renouvellement marque).

Etape 5 — Annotation de la sortie

Ajouter un tag proche de chaque citation, sans alourdir inutilement le livrable. Si une même citation apparaît plusieurs fois, annoter la première occurrence et laisser les occurrences suivantes intactes sauf alerte bloquante.

Résultat Tag inline
Article CPI/C.civ/C.com en vigueur [Légifrance ✓]
Article RMUE/RDMC/CBE en vigueur [Eur-Lex ✓]
Article abrogé [abrogé 🔴]
Version ancienne ou référence incertaine [obsolète 🟠]
Arrêt Cour cass. ou CA Paris trouvé [Judilibre ✓]
Arrêt CJUE / Tribunal UE trouvé [Eur-Lex ✓]
Arrêt canonique PI connu mais non récupéré [arrêt canonique — à confirmer]
Titre PI vérifié et en vigueur [INPI ✓] / [EUIPO ✓] / [OEB ✓]
Titre déchu ou expiré [titre déchu 🔴]
Non récupérable ou mode dégradé [à vérifier]

Toute citation abrogée, tout titre déchu ou tout arrêt introuvable dans une base disponible doit remonter dans la note du relecteur. Ne pas corriger silencieusement le fond du livrable.


Etape 6 — Note relecteur

Si tout est vert :

⚠️ Note du relecteur : Légifrance + Eur-Lex + Judilibre + INPI Data vérifiés
· {N} citations + {M} titres PI · aucun flag · prêt pour relecture

Si des abrogations, titres déchus ou incohérences sont détectés :

- **Sources :** Légifrance ✓ / Eur-Lex ✓ / Judilibre ✓ / INPI Data ✓
- **Citations vérifiées :** 12 sur 12 · **Titres PI vérifiés :** 3 sur 4
- **ALERTE 🔴 : 1 titre déchu** — brevet FR 2018 12345, annuité 2022 non payée,
  titre déchu depuis le 12/06/2023. Ne PAS s'appuyer sur ce titre dans la mise
  en demeure projetée. À retirer ou remplacer.
- **ALERTE 🟠 : 1 arrêt canonique non confirmé** — CJUE C-251/95 Sabel,
  référence connue mais non récupérée via Eur-Lex cette session.

Si vérification partielle :

- **Sources :** Légifrance ✓ / Eur-Lex erreur temporaire / Judilibre ✓
- **Citations vérifiées :** 9 sur 12
- **Action :** valider manuellement les 3 citations CJUE taguées [à vérifier]

Mode dégradé (PISTE absent)

Si loadConfig().credentialsSource === "none" :

  1. Ne pas appeler Légifrance ni Eur-Lex.
  2. Ne pas présenter les articles comme vérifiés.
  3. Taguer toutes les citations [à vérifier].
  4. Pour les numéros de titres PI : tenter Judilibre public et EUIPO TMview (souvent accessibles sans clé) ; sinon [à vérifier].
  5. Ajouter une note relecteur explicite :
- **verifier-citations :** non exécuté en mode complet (clés PISTE absentes)
- **Action :** vérifier manuellement les {N} citations contre Légifrance / Eur-Lex
- **Pour activer :** configurer `PISTE_CLIENT_ID` et `PISTE_CLIENT_SECRET`
  dans `~/.config/Hacienda/credentials.json`, puis lancer
  `/h-pi:entretien-demarrage --check-integrations`

Niveaux de criticité

Échelle canonique appliquée à toute appréciation subjective de ce skill :

Niveau Icône Signification dans le contexte de ce skill
Faible 🟢 Toutes citations + titres vérifiés en vigueur, mode opérationnel complet.
Moyen 🟡 Vérifications partielles (1-2 sources temporairement indisponibles) ou arrêts canoniques connus mais non récupérés cette session.
Élevé 🟠 Article obsolète / référence incertaine détecté, ou ≥ 3 citations en mode dégradé. Note relecteur explicite requise.
Bloquant 🔴 Article abrogé cité comme en vigueur, OU titre PI déchu invoqué comme base d'une mise en demeure / contentieux / cession. Ne pas produire le livrable externe en l'état.

Plancher cross-skill (CLAUDE.md §4) : ce skill peut REHAUSSER une cote du skill amont si une abrogation ou un titre déchu est détecté ; il ne peut jamais la dégrader silencieusement.


Sortie — Format livrable

Retourner au skill appelant :

{
  "sortieAnnotee": "...texte avec tags inline...",
  "citationsVerifiees": 12,
  "citationsDetectees": 12,
  "titresPiVerifies": 3,
  "titresPiDetectes": 4,
  "alertes": [
    {
      "type": "titre_dechu",
      "ref": "brevet FR 2018 12345",
      "date_decheance": "2023-06-12",
      "cause": "annuité 2022 non payée"
    },
    {
      "type": "abroge",
      "ref": "art. L.711-3 ancien CPI",
      "remplacement": "L.711-2 (ordonnance 2019-1169)"
    }
  ],
  "modeDegrade": false,
  "noteRelecteur": "- **Sources :** Légifrance ✓ / Eur-Lex ✓ / INPI ✓..."
}

En mode dégradé :

{
  "sortieAnnotee": "...toutes citations taguées [à vérifier]...",
  "citationsVerifiees": 0,
  "citationsDetectees": 8,
  "titresPiVerifies": 0,
  "titresPiDetectes": 2,
  "alertes": [],
  "modeDegrade": true,
  "noteRelecteur": "- **verifier-citations :** non exécuté en mode complet..."
}

Le skill appelant insère noteRelecteur dans le bloc unique de note du relecteur, puis utilise sortieAnnotee comme livrable propre.


Ce skill ne fait pas

  • Ne réécrit pas le fond du livrable pour corriger une citation abrogée — il signale, le skill appelant ou l'avocat décide.
  • Ne garantit pas la pertinence d'un arrêt cité — il vérifie son existence, pas son adéquation au raisonnement.
  • N'interroge pas OMPI Madrid Monitor, EUIPO eSearch (au-delà de TMview) ou les offices nationaux non couverts par le core PI — ces sources restent [à vérifier].
  • Ne dépose pas d'objection en cas de titre déchu — il alerte uniquement.

Sortie brouillon soumise à validation humaine avant tout usage externe.

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/jamon8888-hacienda-juridique-verifier-citations/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

jamon8888-hacienda-juridique-verifier-citations.ocm.jsonjson
{
  "ocm": "1",
  "id": "jamon8888-hacienda-juridique-verifier-citations",
  "kind": "skill",
  "name": "verifier-citations",
  "description": "Post-flight de validation juridique PI. Pour chaque article cité dans une sortie skill (CPI, RMUE, RDMC, CBE, RGPD), interroge Légifrance via packages/core pour vérifier existence + version en vigueur + non-abrogation. Étend la vérification aux numéros INPI / EUIPO / EUTM / OEB / EP et aux arrêts CJUE structurants en propriété intellectuelle (Sabel, Canon, Lloyd, Matratzen Concord, L'Oréal Bellure). Annote la sortie. Mode dégradé si PISTE non configuré.",
  "publisher": "jamon8888",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "travel"
    ],
    "tags": [
      "skill-md",
      "validation",
      "legifrance",
      "post-flight",
      "citations",
      "propriete-intellectuelle",
      "github"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Post-flight de validation juridique PI. Pour chaque article cité dans une sortie skill (CPI, RMUE, RDMC, CBE, RGPD), interroge Légifrance via packages/core pour vérifier existence + version en vigueur + non-abrogation. Étend la vérification aux numéros INPI / EUIPO / EUTM / OEB / EP et aux arrêts CJUE structurants en propriété intellectuelle (Sabel, Canon, Lloyd, Matratzen Concord, L'Oréal Bellure). Annote la sortie. Mode dégradé si PISTE non configuré."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "github",
      "repository": "https://github.com/jamon8888/hacienda-juridique",
      "path": "plugins/hacienda-propriete-intellectuelle/skills/verifier-citations/SKILL.md",
      "ref": "fd46dcd2c26f7a7f254cbb1584c4ceaace6c1a99",
      "url": "https://github.com/jamon8888/hacienda-juridique/blob/fd46dcd2c26f7a7f254cbb1584c4ceaace6c1a99/plugins/hacienda-propriete-intellectuelle/skills/verifier-citations/SKILL.md",
      "key": "jamon8888/hacienda-juridique/plugins/hacienda-propriete-intellectuelle/skills/verifier-citations/SKILL.md"
    }
  },
  "instructions": "# Skill — Vérification des citations juridiques (PI)\n\n> **POST-FLIGHT AUTOMATIQUE.**\n>\n> Ce skill est invoqué automatiquement par tous les skills PI produisant\n> du texte juridique. Il vérifie que chaque article cité existe et n'est\n> pas abrogé, et contrôle les numéros de titres PI (marques INPI/EUIPO,\n> brevets FR/EP/PCT, dessins et modèles, droit d'auteur) ainsi que les\n> arrêts CJUE structurants. Mode dégradé documenté si PISTE est absent.\n\n## Examples\n\n<example>\n<user>(appelé automatiquement par cession-droit-auteur après production de la sortie)</user>\n<response>\nAnalyse la sortie, extra",
  "cost": {
    "context_tokens": 4239
  }
}

Fetch it by URL: GET /api/v1/registry/jamon8888-hacienda-juridique-verifier-citations/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.

verifier-citations - Skill - OpenSmartRoute