enestanerr/prove

Vérifie un document affirmation par affirmation : recalcule chaque nombre, compare les graphiques au texte et s'assure que les sources citées existent. À utiliser lorsque l'utilisateur demande un audit, une vérification, une relecture ou une vérification de cohérence d'un rapport, PDF, diaporama, tableur ou brouillon ; si les chiffres sont cohérents ; ou s'il s'apprête à envoyer un document contenant des chiffres, des graphiques ou des citations. Les verdicts sont calculés par un script fourni, pas par le modèle.

Qu'est-ce que prove ?

Le skill **Prove** permet d'auditer un document en vérifiant chaque affirmation chiffrée, chaque référence croisée, chaque graphique et chaque source. Il est conçu pour des documents techniques, financiers ou académiques (rapports, PDF, tableurs, présentations). Le modèle lit le document et propose des vérifications, mais **ne rend aucun verdict lui-même** : c'est l'outil `provecheck` (un script Python zippé fourni avec le skill) qui décide si chaque affirmation est contredite, suspecte, vérifiée ou non vérifiée. Le skill fonctionne via la CLI en sept étapes (ingestion, scan, écriture des claims, vérification, sources, rapport, résumé utilisateur). Il est compatible avec tout terminal où Python 3 est disponible, et les fichiers d'aide (`reference/`) détaillent le schéma des claims, la lecture des graphiques et des exemples complets.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/enestanerr/Prove/tree/HEAD/plugin/skills/prove

Installed? Explore more Recherche et analyse de données skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait prove ?

Vous lisez le document et proposez des vérifications. provecheck décide de chaque verdict.

PROVE ci-dessous signifie python3 ${CLAUDE_SKILL_DIR}/scripts/provecheck.pyz. Si ${CLAUDE_SKILL_DIR} n'est pas remplacé par un chemin où vous lisez ceci, il s'agit du dossier qui contient ce SKILL.md.

  • Si python3 est manquant ou échoue (sous Windows, il s'agit souvent d'un simple raccourci Store), exécutez la même commande avec python, et si cela échoue encore, avec py -3. Ne cherchez pas d'interpréteur sur la machine.
  • Écrivez le chemin complet dans chaque commande : ne le stockez pas dans une variable shell. Exécutez une commande PROVE par appel. Mettez le chemin entre guillemets s'il contient des espaces.
  • Ouvrez les fichiers reference/ avec votre outil de lecture de fichiers et écrivez claims.json avec votre outil d'écriture de fichiers, pas avec cat ou un heredoc shell.

Règles à ne pas enfreindre

  1. Ne prononcez jamais un verdict que provecheck n'a pas affiché. Ne le modifiez jamais. N'appelez pas une affirmation fausse, juste, correcte ou suspecte selon votre propre jugement.
  2. Copiez les nombres exactement tels qu'imprimés, avec la phrase ou la ligne de tableau dans laquelle ils se trouvent. Ne les corrigez pas, ne les arrondissez pas, ne les reformatez pas et ne les convertissez pas.
  3. Un nombre est arrondi sauf si vous pouvez nommer pourquoi il est exact : count, ledger, defined ou cell.
  4. Si vous ne pouvez pas dire comment un nombre devrait être calculé, n'inventez pas de dérivation. Laissez-le sans affirmation.
  5. Chaque nombre dans le document se retrouve soit dans numbers soit dans skipped avec une raison. Exécutez l'étape de couverture et revenez en arrière pour tout ce qui a été oublié.
  6. Ne corrigez pas le document et ne modifiez pas verdicts.json ou les rapports.

Étapes

Travaillez dans un dossier nommé prove-work/ dans le répertoire courant. DOC est le fichier de l'utilisateur.

  1. Ingestion. PROVE ingest DOC -o prove-work/doc.json --render-pages prove-work/pages Si cela indique que le support PDF est manquant, essayez pip install pymupdf une fois. Si ce n'est pas possible, lisez le fichier avec vos propres outils, sautez --doc à l'étape 4 et dites à l'utilisateur que les nombres n'ont pas pu être ancrés, donc rien ne peut être signalé comme contredit.
  2. Scan. PROVE scan prove-work/doc.json liste chaque jeton numérique avec sa page. C'est votre liste de vérification pour la règle 5. PROVE text prove-work/doc.json affiche le texte de chaque page : copiez vos citations à partir de celui-ci.
  3. Lire et écrire prove-work/claims.json. Lisez d'abord reference/claims-schema.md dans le dossier de ce skill : il définit chaque champ. Ensuite, lisez le document lui-même (et les images de page pour un PDF) et enregistrez :
    • Nombres dérivés : totaux, différences, parts, taux de croissance, moyennes, CAGR, rangs. Lorsque les parties sont imprimées, calculez une part à partir de la somme des parties, pas à partir d'un total imprimé qui est lui-même en cours de vérification.
    • Références croisées : la même quantité imprimée à deux endroits (eq).
    • Graphiques : seulement après avoir lu reference/charts.md. Lisez chaque repère deux fois, la deuxième fois à partir d'un recadrage 2× réalisé avec PROVE crop. Donnez un intervalle honnête, pas un point.
    • Sources : DOI, identifiants arXiv, URL et toute citation directe avec sa source.
    • Tout le reste numérique va dans skipped avec une raison (année, numéro de page, …). Les numéros de page et les citations doivent correspondre à ce que PROVE text a affiché, pas à votre mémoire.
  4. Vérification. PROVE check prove-work/claims.json --doc prove-work/doc.json Il affiche les verdicts et écrit prove-work/verdicts.json. S'il signale des erreurs de schéma, not-grounded, parse-mismatch, unit-mismatch, scale-mismatch ou des nombres oubliés, la cause est généralement dans votre fichier de claims : corrigez le fichier et exécutez-le à nouveau. Ne le corrigez jamais en changeant ce que le document dit. Arrêtez-vous lorsque ce qui reste est vrai pour le document.
  5. Sources. PROVE sources prove-work/claims.json si le fichier en liste. Sans accès réseau, ajoutez --offline et dites à l'utilisateur que les sources n'ont pas été vérifiées.
  6. Rapport. PROVE report prove-work/verdicts.json --html --md --card Le code de sortie 1 ici signifie qu'au moins une affirmation est contredite. C'est un constat, pas un échec.
  7. Dites à l'utilisateur, dans cet ordre :
    • combien d'affirmations ont été contredites, puis chacune dans une phrase avec le calcul, copié de ce que provecheck a affiché ;
    • les affirmations suspectes, chacune avec son intervalle possible ;
    • la ligne de couverture, et combien de nombres ont été oubliés s'il y en a ;
    • ce qui n'a pas été vérifié et pourquoi (affirmations non vérifiées, sources en mode hors ligne, graphiques qui n'ont pas pu être lus) ;
    • le chemin de prove-work/prove-report.html.

Que dire pour chaque verdict

  • contredit : « Cela ne peut pas être correct avec aucun arrondi. » Montrez les nombres.
  • suspect : « Cela ne fonctionne que si les entrées se situent à la limite de leur arrondi. » Montrez l'intervalle.
  • non vérifié : « Non vérifié », avec la raison. Ne le présentez jamais comme un problème avec le document.
  • vérifié : mentionnez le nombre ; listez-les seulement si demandé.

Les verdicts sur les graphiques reposent sur votre lecture de l'image, et le rapport les étiquette read. Dites-le, et gardez-les séparés de ceux calculés dans votre résumé.

Un rapport vierge signifie que les affirmations vérifiées sont passées. Dites combien ont été vérifiées.

Plus de détails, chargés si nécessaire

  • reference/claims-schema.md — le fichier de claims, champ par champ, avec la liste des relations et la signification de chaque raison unverified. Lisez avant l'étape 3.
  • reference/charts.md — comment lire un graphique pour Prove. Lisez avant toute affirmation sur un graphique.
  • reference/examples.md — deux exemples complets détaillés.

Skills associés