Inventaire · généré le 07.11.2026

Skills de recherche

Droit suisse et recherche généraliste : 21 skills, 253 outils MCP. Pour chaque skill, le déclencheur, la sortie réelle, et le point où ça casse. Source : ~/.hermes/skills/.

Ce qui existe, en une page


3
skills juridiques
13
skills de recherche et veille
5
skills de capture
253
outils MCP, 6 serveurs

Droit suisse

Un moteur de recherche (sept rangs de sources), une procédure (recours au TF), un calcul (contrats de travail). Le domaine change le contenu, jamais la démarche.

Recherche et veille

Creuser un sujet, cartographier un domaine, lire le signal social, surveiller des sources. Le point commun : prouver la couverture, pas seulement produire une synthèse.

Capture

Transformer une source brute en chose réutilisable : article, conversation, PDF, corpus Readwise. Sans cette étape, la recherche ne laisse rien derrière elle.

Quatre règles qui tiennent l'ensemble

RèglePourquoi
Partir de la source primaire, jamais du commentaireLa hiérarchie des sources détermine l'ordre des requêtes. Commencer par la doctrine trouve des opinions.
Déclarer les trous de couvertureUn corpus incomplet annoncé vaut mieux qu'une synthèse propre sur deux plateformes sur cinq. C'est la donnée la plus utile du rapport.
Vérifier la citation, puis le fondUne référence qui existe ne prouve pas l'affirmation. Existence et soutien sont deux contrôles distincts.
Ne pas déduire une décision d'un texte libreUn regex sur de la prose rate les négations. Les colonnes qui pilotent un choix se curent à la main.

Quelle skill pour quelle demande


Point d'entrée : trouver la ligne, charger la skill avec skill_view(name=…) avant d'agir. Les skills ne s'invoquent pas de mémoire.

DemandeSkillSortie
Question de droit suisse, tous domainesdroit-suisseAvis en six blocs, sources vérifiées
Rédiger ou auditer un recours au TFrecours-tfRecevabilité + squelette de mémoire
Comparer deux contrats de travailcontrats-travail-chComparatif CHF/an normalisé
Creuser un sujet, enquêterreadwise-wiki-researchRaw + fiche vault
Question large, plusieurs anglesdeep-researcher6 lentilles + contradictions
Comprendre la structure d'un domaineknowledge-mapCarte mentale + Mermaid
Ce que les gens disent maintenantsocial-signal-researchBadge + citations + couverture
Veille blog / RSSblogwatcherFlux lu/non-lu en CLI
Veille concurrentiellecompetitor-news-monitorDigest d'événements matériels
Probabilités d'un événementpolymarketPrix = probabilité
Tout livrable sourcégrounded-citationsLedger url → [n] + vérification
Wiki / base de connaissances durablellm-wikiMarkdown interrelié, 3 couches
Fiche ressource depuis un repoexternal-source-analysisPage wiki structurée
Papier de conférenceresearch-paper-writingPipeline jusqu'à soumission
Article ou conversation à archiverarticle-to-vault / grok-to-vaultNote vault + HTML
PDF, scan, devis à extraireocr-and-documentsTexte propre, chiffres recoupés

Recherche juridique


Trois skills, un seul serveur MCP. La méthode est identique partout : la norme d'abord, la jurisprudence ensuite, la doctrine en dernier. Ce qui change, c'est le livrable.

droit-suisse v2.0.0 opérationnelle Un seul moteur pour toute question de droit suisse : où chercher, comment chercher, comment rendre.

La hiérarchie des sources n'est pas décorative : elle fixe l'ordre des requêtes. Une recherche qui commence par la doctrine trouve des opinions, une recherche qui commence par la norme trouve le droit.

RangSourceOutilCe qu'on en tire
1Norme en vigueur à la date des faitsget_law avec as_of, search_lawsconditions d'application, texte exact
2Jurisprudence de principefind_leading_cases, get_regesterègle posée, autorité
3Jurisprudence d'applicationsearch_decisions, get_case_briefapplication aux faits, évolutions
4Texte exact du considérantget_erwaegung, find_relevant_erwaegungla phrase qu'on cite
5Doctrine open accessget_commentary, search_scholarshipinterprétation, controverses
6Matériauxget_article_purpose, search_botschaftbut de la norme, historique
7Pratique administrativesearch_practice, get_practiceapplication par l'administration

Six phases, toujours dans cet ordre

Cadrer (branche, date déterminante, canton, destinataire) → Faits (chronologie datée, manques signalés) → Questions (« qui veut quoi de qui, sur quelle base ») → Sources (les sept rangs) → Analyse (syllogisme, subsomption, charge de la preuve) → Vérifier (cite() sur chaque référence, check_claim_support() sur chaque affirmation décisive).

Le gabarit, une seule ossature

1 · QUESTION2 · FAITS3 · RÈGLES4 · ANALYSE5 · CONCLUSION6 · SOURCES
Le piège central : pinpoint_status: verified prouve que le considérant existe, pas qu'il soutient l'affirmation. Le fond se contrôle avec check_claim_support(). Une citation composée à la main est une faute qui se voit.
recours-tf v3.0.0 opérationnelle Les verrous de recevabilité et la forme du grief. Ne dit pas ce que dit la loi, dit dans quel ordre la vérifier et comment l'écrire.

Art. 42 al. 2 LTF : les motifs doivent exposer en quoi l'acte viole le droit. Un grief qui énonce une violation sans démonstration est irrecevable, et c'est la cause d'irrecevabilité la plus fréquente.

VerrouQuestion à trancherArticle
Voie de recoursde quelle matière relève la décision ?72, 78, 82, 113
Décision attaquablefin de procédure, ou incidente avec préjudice irréparable ?90, 93
Instance précédenteest-ce bien la dernière instance ?75
Qualité pour recourirparticipation + atteinte + intérêt digne de protection ?76
Délaiquel délai, à partir de quand, quelles suspensions ?100, 44-47
Valeur litigieuseun seuil s'applique-t-il, quelles exceptions ?74, 85
Mandatairequi peut représenter, faut-il une procuration ?40
Formelangue, conclusions, motifs, preuves, signature42

Un seul « non » = recours irrecevable, quel que soit le fond. Le calcul de délai s'écrit dans le mémoire : lendemain de la notification (art. 44), féries retranchées (art. 46, liste à revérifier chaque année), report au premier jour ouvrable (art. 45), aucune prolongation (art. 47).

Hors périmètre : les voies cantonales non épuisées. Le TF n'est ni une instance d'appel ni une première instance.

contrats-travail-ch v1.0.0 opérationnelle Deux contrats ne se comparent jamais sur le salaire mensuel. Trois conversions, un référentiel commun en CHF et en jours.

Un 8'500 × 13 à 42 h avec 4 semaines de vacances peut valoir moins qu'un 7'800 × 12 à 40 h avec 5 semaines et une meilleure caisse de pension.

Conversion 1
Temps → année (mensualités, horaire × 52, vacances en heures, bonus pondéré par sa probabilité)
Conversion 2
Avantage → CHF (une semaine de vacances, home office, part patronale LPP, 80 % vs 100 % en cas de maladie)
Conversion 3
Clause → droit (minimum impératif : ce qui est nul ne se compare pas, ça se signale et se renégocie)

Sept paramètres à figer avant de lire les contrats : année de référence (seuils LPP, plafond AC, taux AVS), canton, âge (bonifications 7/10/15/18 %), taux d'activité, CCT applicable, statut de séjour, horizon 1 an ou 10 ans. Un seul non fixé et le comparatif est faux.

Scans sans couche texte : pypdf renvoie 0 caractère, ce n'est pas un PDF vide. Rendu 300 dpi avec PyMuPDF puis tesseract page.png - -l fra --psm 6. vision_analyze en dernier recours seulement, et jamais un montant lu par vision sans recoupement avec un décompte de salaire.
swiss-caselawMCP · v1.27 44 outils · lecture seule · sans clé Le corpus derrière droit-suisse : 1,05 M de décisions, 5 546 lois fédérales, 16 400 lois cantonales, 1 796 commentaires open access.

Endpoint https://mcp.opencaselaw.ch/mcp, Streamable HTTP. Aucune authentification. Outils mcp__swiss_caselaw__*, chargés à la demande via tool_search puis tool_call.

Décisions
1,05 M (TF publiées et non publiées, TAF, TPF, COMCO, 26 cantons, CEDH/HUDOC)
Législation
5 546 lois fédérales (Fedlex, DE/FR/IT) + 16 400 cantonales (LexFind)
Doctrine
1 796 commentaires OnlineKommentar / OpenLegalCommentary
Matériaux
~28 100 documents du Bundesblatt (Botschaften dès 1999)
Pratique
9 900+ documents administratifs
Graphe
9,65 M arêtes de citation, confiance par arête

Les quatre outils qui font la différence

OutilCe qu'il fait
cite(ref, pinpoint)Chaîne de citation canonique + URL + statut du pinpoint. Ne jamais composer une citation à la main.
find_relevant_erwaegung(decision_id, claim)Quel considérant soutient une thèse, avec un niveau de confiance. Si no_match ou low : ne pas citer.
check_claim_support(claim, decision_id, pinpoint)Juge indépendant : supports: yes|partial|no|contradicts|unrelated. C'est le contrôle de fond.
get_law(sr, art, as_of=…)Texte autoritatif, édition historique incluse, changements en cours signalés.
Trois pièges constatés en test. Les codes internes sont en allemand (OR, ZGB, StGB, BV) : law_code="CO" renvoie des arrêts sur l'art. 41 BGG. Le champ total est une borne inférieure, pas un compte. Ne pas filtrer par langue : 70 % des arrêts fédéraux sont en allemand, une recherche monolingue rate les arrêts.
Corpus à annoncer s'il change la réponse : ni Commentaire romand, ni BSK/Zürcher/Berner Kommentar, ni revues payantes. Le message « No open-access commentary » est normal, pas une erreur.

Recherche


Creuser, cartographier, sourcer, compiler. Ce sont les skills qui décident comment chercher ; le corpus, lui, vient des MCP et du vault.

readwise-wiki-research v2.0.0 pipeline wiki mort La routine « creuser un sujet » : domaine → sources pertinentes → Readwise d'abord → synthèse → vault.

La routine « creuser un sujet » : domaine → sources pertinentes → Readwise d'abord → synthèse → vault.

DéclencheurL'utilisateur demande de creuser, analyser, approfondir ou enquêter sur un sujet.
SortieFichier {topic}-raw.md dans 0-Inbox/Resources/, puis fiche. Table domaine → sources (crypto, ML, géopolitique, investissement, réglementation suisse, documents).
Ce qui casse : 4-Ressources/Wiki a été supprimé le 02.11.2026 : les sections batch-processing, process_wiki.py, venv du wiki et build Quartz sont mortes. Bannière d'avertissement posée dans le SKILL.md le 07.11 ; la recherche brute va dans 0-Inbox/Resources, la fiche dans 4-Ressources/<domaine>/.
deep-researcher v1.0.0 opérationnelle Six lentilles d'analyse sur une même question, puis détection des contradictions entre lentilles.

Six lentilles d'analyse sur une même question, puis détection des contradictions entre lentilles.

DéclencheurQuestion large ou controversée où la réponse dépend de l'angle (marché, politique, techno).
SortieRésumé exécutif, six analyses (technique, économique, historique, géopolitique, contraire, premiers principes), analyse des contradictions, score de confiance, journal d'évaluation des sources.
Ce qui casse : Les contradictions sont le produit, pas un défaut à lisser. Une synthèse qui aplanit les désaccords jette l'information.
knowledge-map v1.0.0 opérationnelle Cartographie d'apprentissage façon NotebookLM : structure d'un domaine, pas ses détails.

Cartographie d'apprentissage façon NotebookLM : structure d'un domaine, pas ses détails.

DéclencheurComprendre un domaine avant d'y entrer (cible ingénieur : principes, liens, désaccords).
SortieMarkdown dans 0-Inbox/Resources/knowledge-maps/ : squeeze en 3 phrases, arbre Mermaid, principes, architecture, désaccords d'experts, angles morts. Prêt pour podcast et page web.
Ce qui casse : Une carte qui descend au détail devient une fiche. Le test : chaque section doit répondre à « comment c'est structuré », jamais « quel est le chiffre ».
grounded-citations v1.2.0 opérationnelle Citations numérotées inline + bloc Sources, avec un ledger qui possède la correspondance url → [n].

Citations numérotées inline + bloc Sources, avec un ledger qui possède la correspondance url → [n].

DéclencheurToute réponse ou tout livrable qui repose sur de l'information récupérée plutôt que sue.
Sortiescripts/sources.py : reset, add, list, render, verify. Mode fact-check : citations verbatim par source, claims de mémoire marqués [unverified].
Ce qui casse : Les numéros et les URLs viennent de la récupération, jamais de la mémoire. verify --evidence échoue tout brouillon dont les sources citées ne portent aucune preuve.
llm-wiki v2.1.0 opérationnelle Base de connaissances markdown interreliée (pattern Karpathy) : compile une fois, garde à jour, au lieu de re-découvrir à chaque requête.

Base de connaissances markdown interreliée (pattern Karpathy) : compile une fois, garde à jour, au lieu de re-découvrir à chaque requête.

DéclencheurCréer ou alimenter un wiki, ingérer une source, interroger un corpus existant, auditer la cohérence.
SortieTrois couches : raw/ immuable, pages entités/concepts/comparaisons maintenues par l'agent, SCHEMA.md pour les conventions. Configuré par WIKI_PATH.
Ce qui casse : Sur ce host, le wiki Readwise a été supprimé : ne pas recréer 4-Ressources/Wiki. La skill reste valable pour tout autre wiki explicite.
external-source-analysis v1.0.0 opérationnelle Fiche ressource depuis un repo GitHub, une doc ou un article de fond : architecture, stack, patterns, pitfalls, liens.

Fiche ressource depuis un repo GitHub, une doc ou un article de fond : architecture, stack, patterns, pitfalls, liens.

DéclencheurUn lien est partagé et il faut autre chose qu'un résumé : une fiche réutilisable.
SortiePipeline fetch → analyse (claim, architecture, composants, patterns) → cross-référence → page wiki → index + log.
Ce qui casse : Toujours chercher le repo dans Readwise avant de conclure : la mention existante est souvent plus contextualisée que le README.
research-paper-writing v1.1.0 dépendances absentes Pipeline complet d'un papier ML/AI jusqu'à la soumission : lit review, design d'expérience, rédaction, self-review, soumission.

Pipeline complet d'un papier ML/AI jusqu'à la soumission : lit review, design d'expérience, rédaction, self-review, soumission.

DéclencheurÉcrire un papier de conférence (NeurIPS, ICML, ICLR, ACL, AAAI, COLM). Boucle, pas pipeline linéaire.
SortieProjet structuré, BibTeX, expériences versionnées, draft LaTeX, checklist de relecture par les reviewers.
Ce qui casse : semanticscholar, habanero et matplotlib/SciencePlots ne sont pas installés sur ce host. À installer avant de lancer la phase 1.

Veille et signal


Surveiller ce qui bouge : réseaux, flux, concurrents, marchés de prédiction. Le piège commun est de confondre « rien n'est remonté » avec « il n'y a rien ».

social-signal-research v1.0.0 opérationnelle Ce que les gens disent maintenant, avec chiffres et citations vérifiables, sur Reddit / X / YouTube / HN.

Ce que les gens disent maintenant, avec chiffres et citations vérifiables, sur Reddit / X / YouTube / HN.

DéclencheurOutil qui vient de sortir, modèle frais, controverse en cours.
SortieRapport avec badge en première ligne, prose à titres, footer de stats recopié verbatim, liens inline pour chaque citation.
Ce qui casse : python3.12 obligatoire (le moteur refuse 3.11). Écrire le plan dans un fichier JSON et passer le chemin, jamais le JSON inline. Un 0 item n'est pas une absence de signal : lire le stderr source par source.
community-signal-research v1.0.0 opérationnelle Le contrat de fiabilité au-dessus du moteur : qualifier la requête, lire la couverture, combler les jambes mortes.

Le contrat de fiabilité au-dessus du moteur : qualifier la requête, lire la couverture, combler les jambes mortes.

DéclencheurToute demande « qu'est-ce que les gens disent de X » qui doit être défendable.
SortieSynthèse qui déclare explicitement quelles plateformes ont été bloquées et comment elles ont été récupérées.
Ce qui casse : Le footer « all agents reported back » dit que les agents ont fini, pas qu'ils ont ramené quelque chose. Qualifier la requête avec le nom de l'incumbent ou la catégorie, sinon un produit récent n'a aucun footprint sous son propre nom.
last30days v3.1.1 opérationnelle Le moteur sous les deux skills précédentes : Reddit, X, YouTube, TikTok, HN, Polymarket, GitHub, Bluesky, Truth Social.

Le moteur sous les deux skills précédentes : Reddit, X, YouTube, TikTok, HN, Polymarket, GitHub, Bluesky, Truth Social.

DéclencheurVia social-signal-research. Ne pas éditer : paquet externe, contrat de sortie défini par son auteur.
SortieRapport brut dans ~/Documents/Last30Days/<slug>-raw-<suffix>.md. 1 à 3 minutes par run.
Ce qui casse : Lancer en foreground, stdout et stderr dans des fichiers séparés, puis lire les fichiers. Le plan est plus décisif que n'importe quel flag.
blogwatcher v2.0.0 binaire non installé Veille RSS/Atom en CLI : découverte de flux, fallback scraping HTML, import OPML, lu/non-lu.

Veille RSS/Atom en CLI : découverte de flux, fallback scraping HTML, import OPML, lu/non-lu.

DéclencheurSuivre une liste de blogs sans passer par un lecteur de flux hébergé.
Sortieblogwatcher-cli add|scan|articles|read, base dans ~/.blogwatcher-cli/.
Ce qui casse : blogwatcher-cli n'est pas présent sur ce host (which vide). Installer via le binaire de release ou go install avant de promettre une veille.
competitor-news-monitor v0.1.0 opérationnelle Veille concurrentielle : watchlist figée, hiérarchie de sources, déduplication par événement, seuil de matérialité.

Veille concurrentielle : watchlist figée, hiérarchie de sources, déduplication par événement, seuil de matérialité.

Déclencheur« Surveille ces concurrents chaque semaine », alerte prix, lancement produit, levée, mouvement dirigeant.
SortieDigest par événement (quoi, date, preuves, pourquoi ça compte, confiance). Silence si rien de matériel. Contrat dans ~/.hermes/competitor-watches/<slug>.json, tick en cronjob.
Ce qui casse : Une source en échec signifie couverture inconnue, pas « pas de news ». Le cutoff n'avance qu'en cas de succès complet.
polymarket v1.0.0 lecture seule Marchés de prédiction : le prix EST la probabilité. Trois API publiques, zéro authentification.

Marchés de prédiction : le prix EST la probabilité. Trois API publiques, zéro authentification.

Déclencheur« Quelles sont les chances que X arrive ? », odds, carnet d'ordres, historique de prix.
SortieGamma (découverte), CLOB (prix temps réel, carnet, historique), Data (trades, open interest).
Ce qui casse : outcomePrices, outcomes et clobTokenIds sont doublement encodés : json.loads() obligatoire. Aucune exécution d'ordre dans cette skill.

Capture et extraction


Une recherche qui ne laisse pas de trace est à refaire. Ces skills transforment une source en artefact : note vault, page HTML, base markdown.

article-to-vault v1.0.0 Article web ou X/Twitter → contenu propre, traduction FR, note vault + version HTML.

Article web ou X/Twitter → contenu propre, traduction FR, note vault + version HTML.

DéclencheurLien d'article X (x.com/i/article/...), blog derrière paywall, série multi-parties à concaténer.
Sortie
Ce qui casse : Miroirs pour les login walls, mais la provenance se déclare. Jamais de recopie depuis un aperçu partiel.
grok-to-vault v1.2.0 Conversation partagée Grok → rapport structuré ou concept wiki.

Conversation partagée Grok → rapport structuré ou concept wiki.

DéclencheurLien grok.com/share/... à capitaliser : sortie avec résumé exécutif, contexte, décisions, prochaines étapes, sources.
Sortie
Ce qui casse : Extraction par browser_exec + document.body.innerText d'abord, Playwright en dernier recours. Une conversation IA n'est pas une source : le cadre s'importe, les chiffres se re-vérifient.
ocr-and-documents v2.3.0 Texte depuis PDF et scans : pymupdf pour la couche texte, marker-pdf pour l'OCR lourd.

Texte depuis PDF et scans : pymupdf pour la couche texte, marker-pdf pour l'OCR lourd.

DéclencheurDevis, contrats, plans, papiers arxiv, tout document dont une donnée doit sortir.
Sortie
Ce qui casse : pymupdf n'est pas dans le python système : disponible dans ~/venvs/pdf2 (v2.0). Tesseract installé avec eng + fra. Sur un document technique, la couche texte est la seule source publiable, la lecture vision invente des cotes plausibles.
readwise-reader v1.1.0 Le corpus personnel : recherche vectorielle dans Reader, recherche d'highlights, inbox, tags, sauvegarde.

Le corpus personnel : recherche vectorielle dans Reader, recherche d'highlights, inbox, tags, sauvegarde.

DéclencheurPoint d'entrée par défaut de toute recherche documentaire : le sujet a probablement déjà été lu.
Sortie
Ce qui casse : 13 outils MCP readwise_* disponibles (list, search, topic_search, save, daily_review). Le corpus local en markdown est plus rapide pour un grep exact : ~/data/reader-review/vault/Documents/*_fulltext.md.
document-to-action-items v0.1.0 Obligations, délais et tâches extraits d'un document, chacun avec sa citation.

Obligations, délais et tâches extraits d'un document, chacun avec sa citation.

DéclencheurContrat, décision, devis, courrier d'autorité : ce qui doit être fait, par qui, avant quand.
Sortie
Ce qui casse : Une obligation sans référence de clause n'est pas une obligation, c'est une impression. Sortie vide sur un délai = relire le document, pas conclure qu'il n'y en a pas.

Outils MCP disponibles


253 outils répartis sur six serveurs. Ils ne sont pas dans la liste de base : on les découvre avec tool_search, on lit le schéma avec tool_describe, puis on appelle avec tool_call.

ServeurOutilsUsageOrigine
swiss-caselaw44Droit suisse : décisions, lois, doctrine OA, matériaux, pratique. Lecture seule, sans clé.mcp.opencaselaw.ch/mcp
readwise13Corpus personnel : documents, highlights, recherche par sujet, sauvegarde.config.yaml
vibe-trading78Marchés, fondamentaux, backtests, facteurs, news financières.config.yaml
x-api101Posts, recherche, listes, bookmarks, news sur X.config.yaml
yt-dlp10Métadonnées, transcripts, sous-titres, commentaires YouTube.config.yaml
fast-whisper7Audio → texte : interviews, podcasts, mémos vocaux.config.yaml
Accès web direct. web_search et web_extract sont natifs. Sur le VPS, urllib et httpx sont bloqués au TLS : utiliser curl, ou curl_cffi avec impersonate="chrome". Pour un 403 ou un paywall, la skill blocked-page-recovery donne l'échelle de replis et la discipline de provenance.

Ce qui ne marche pas aujourd'hui


Vérifié sur le host le 07.11.2026, pas recopié de la documentation des skills.

SkillConstatCorrectif
readwise-wiki-researchsections batch-processing / Quartz encore écrites pour 4-Ressources/Wiki, supprimé le 02.11.2026bannière posée dans le SKILL.md le 07.11 ; reste à supprimer les sections mortes
blogwatcherblogwatcher-cli absent du hostinstaller le binaire de release, ou assumer que la veille RSS passe par blogwatcher MCP/Reader
research-paper-writingsemanticscholar, habanero, matplotlib absentsinstaller avant toute phase 1, sinon la lit review échoue
droit-suisse / sources-et-outils.mdannonce 42 outils MCP, le serveur en expose 44corriger le décompte, ou l'omettre : le nombre ne sert à rien
Le reste tient. droit-suisse, recours-tf, contrats-travail-ch, grounded-citations, social-signal-research, competitor-news-monitor et polymarket ont tout ce qu'il faut sous la main : serveur MCP joignable, python3.12 présent, tesseract avec fra, pymupdf dans ~/venvs/pdf2.