Dossier — Recherche d'Entité de Niveau Décisionnel
Portabilité : Nécessite
WebSearch+WebFetch, Node.js avec le paquetdocx, et optionnellementbash_tool+curlpour les API gratuites (SEC EDGAR, GitHub, ProPublica). Les MCPs BYOK (LinkedIn, Crunchbase, Apollo, Pitchbook, SimilarWeb) sont des améliorations optionnelles. Fonctionne nativement dans Claude Code CLI.
Cadrage Non-Générique — Le Différenciateur
Cette compétence est une recherche d'entité de niveau décisionnel avec test d'hypothèse. Elle refuse d'être « dis-moi tout sur Microsoft ». Chaque appel force l'utilisateur à exposer son hypothèse upfront (Q4) afin que le dossier la teste plutôt que de la confirmer.
La forme du cas d'usage :
« Je présente Microsoft mardi. Mon hypothèse est qu'ils consolident leurs dépenses en IA sur leur plateforme Foundry propriétaire. Valide ou infirme, et donne-moi trois accroches conversationnelles liées à ce que tu trouves. »
PAS :
« Dis-moi tout sur Microsoft. »
La question obligatoire Q4 — l'hypothèse — est l'ancre non-générique. Sautez-la et la compétence produit un résumé Wikipédia.
Voir references/hypothesis_testing_discipline.md pour le canon.
Règles d'Intégrité de l'Agent (Convention de Recherche)
Verrouillé textuellement selon l'audit PR #657.
- Discipline d'exécution. Appels de recherche séquentiels. WebSearch + WebFetch ont des limites de débit plus souples que Consensus mais appliquent toujours une étiquette de 1 q/s. Confirmer la réception de la réponse avant l'appel suivant.
- Discipline des sources. Ne citer que les sources renvoyées par les appels d'outils de cette session. Wikipédia / connaissances d'entraînement étiquetées
[Contexte — vérifier avant de citer]et exclues du décompte des constats principaux. - Comptage triple. Requêtes envoyées / sources reçues / sources citées. Plus un décompte par niveau (primaire / secondaire / tertiaire) unique au dossier. Affiché dans le journal d'audit.
- Politique de réessai. En cas d'échec → attendre 3s → réessayer une fois → journaliser. Après 3 échecs consécutifs : arrêter, alerter l'utilisateur.
- Niveau de fiabilité des sources. Chaque citation étiquetée primaire (officiel, SEC, dossiers judiciaires) / secondaire (presse généraliste, presse professionnelle) / tertiaire (blogs, forums). Le DOCX affiche le niveau sur chaque indicateur.
Phase 1 : Questionnaire d'Accueil en Profondeur (6 questions obligatoires, une à la fois)
Q1 (racine) — Identité du sujet
Qui est le sujet ? Donne-moi le nom exact et, si c'est une entreprise, le site web ou l'URL LinkedIn. Si c'est une personne, son URL LinkedIn ou un identifiant unique (affiliation à une entreprise + rôle).
Pourquoi je demande : Désambiguïsation. Il y a 47 John Smith. Il y a trois entreprises appelées « Atlas ». J'ai besoin d'une entité spécifique pour faire la recherche.
Si l'utilisateur donne seulement un nom, insister pour un second identifiant. Refuser de continuer sur des noms ambigus.
Q2 (dépend de Q1) — Type de sujet
Quel type de sujet est-ce ? Choisis un : personne / entreprise / organisation à but non lucratif / organisme gouvernemental / autre.
Pourquoi je demande : Différentes matrices de sources s'appliquent. Pour les personnes je vérifie LinkedIn, GitHub, Scholar, actualités ; pour les entreprises je vérifie SEC EDGAR (si public), Crunchbase, actualités, GitHub pour les organisations tech ; pour les OBNL je vérifie les formulaires 990 sur ProPublica.
Choix forcé. « Autre » nécessite une description d'une ligne.
Q3 (dépend de Q2) — Objectif
Pour quoi te prépares-tu ? Choisis un :
- Rendez-vous commercial / pitch de partenariat
- Diligence d'investissement
- Diligence d'acquisition
- Journalisme / due diligence
- Préparation d'entretien d'embauche
- Renseignement concurrentiel
- Vérification personnelle (rendez-vous amoureux, embauche, partenaires commerciaux)
- Autre (préciser)
Pourquoi je demande : L'objectif dicte l'angle, la profondeur et la sensibilité aux signaux d'alarme. La préparation commerciale a besoin d'accroches conversationnelles. La diligence d'investissement a besoin de signaux de traction. La vérification personnelle nécessite des limites de sensibilité prudentes.
Q4 (dépend de Q3) — Hypothèse — OBLIGATOIRE
Quelle est ton hypothèse de départ ? Que crois-tu déjà sur ce sujet, et que veux-tu vérifier ou infirmer ?
Pourquoi je demande : C'est la question critique. Un dossier qui ne fait que confirmer ce que tu penses déjà ne vaut rien. En énonçant ton hypothèse upfront, je peux chercher des preuves qui la contrediraient aussi bien que des preuves qui la soutiennent — et te donner un verdict que tu peux réellement utiliser.
Exemples :
- « Je crois que Microsoft consolide ses dépenses d'IA sur la plateforme Foundry propriétaire. Vérifie ou infirme. »
- « Je pense que le PDG est dépassé — trop de discours sur le TAM, pas de traction. Teste ça. »
- « Je crois que le ratio de frais généraux de cette OBNL est douteux. Vérifie les 990. »
- « Je pense que cette personne est assez technique pour assumer un poste de CTO. Vérifie. »
OBLIGATOIRE. Si l'utilisateur dit « je n'en ai pas », insister une fois : « Alors devine. Engage-toi sur une position que tu pourras mettre à jour plus tard. Le dossier a besoin d'une hypothèse à tester, sinon c'est un profil générique et ça ne t'aidera pas à prendre une décision. »
Si toujours refusé : revenir à l'hypothèse implicite « quelle est la chose la plus surprenante que je pourrais trouver ? » et signaler le repli dans le journal d'audit.
Cette question est l'ancre non-générique. Sautez-la et la compétence devient un résumé Wikipédia.
Q5 (dépend de Q3) — Profondeur
Horizon temporel : briefing de 5 minutes ou dossier décisionnel de 15 minutes ?
Pourquoi je demande : Le mode briefing plafonne à environ 10 recherches et saute les passes réseau et réputation. Le mode décisionnel va plus en profondeur sur chaque section. Choisis en fonction de l'enjeu de cette décision.
Choix forcé.
Q6 (demandée seulement si Q3 ∈ {journalisme, vérification personnelle}) — Sensibilités
Y a-t-il quelque chose de sensible à exclure ? Par exemple, des informations médicales personnelles, des détails familiaux, des antécédents politiques, ou des sujets spécifiques interdits ?
Pourquoi je demande : Certains contextes de recherche ont des contraintes éthiques. Je préfère le savoir upfront plutôt que de révéler quelque chose que tu ne partagerais jamais.
Ignorer pour les ventes/investissement/acquisition/renseignement concurrentiel (faible sensibilité) ; demander pour le journalisme/vérification personnelle (haute sensibilité).
Condition d'arrêt : Après Q6 (ou plus tôt avec les sauts de dépendance), s'engager et commencer la Phase 2. Ne jamais rouvrir le questionnaire après le début de la Phase 2.
Phase 2 : Désambiguïsation du Sujet
Avant la Phase 3, résoudre le sujet en une entité spécifique :
- Pour les personnes : confirmer l'URL LinkedIn OU (employeur + rôle + ville)
- Pour les entreprises : confirmer le domaine OU (nom légal + juridiction d'incorporation)
- Pour les OBNL : confirmer le NIF OU (nom légal + état)
- Pour les organismes gouvernementaux : confirmer l'URL officielle .gov
Si toujours ambigu après le recadrage de Q1 : s'arrêter et redemander Q1 avec des identifiants désambiguïsants. Refuser de continuer.
Phase 3 : Sélection de la Matrice de Sources
Acheminé par le type de sujet Q2. Voir references/subject_type_source_matrix.md pour le canon complet.
Personne
- LinkedIn (récupération manuelle ou MCP LinkedIn si BYOK)
- Site web personnel
- Twitter/X (limité en débit ; dégradation gracieuse)
- GitHub (si sujet technique)
- Google Scholar (si académique)
- Actualités (WebSearch + WebFetch)
- Transcriptions de conférences, podcasts (WebSearch)
Entreprise
- Site officiel (à propos, direction, actualités, carrières)
- SEC EDGAR (API gratuite ; 10-K, 10-Q, 8-K pour les sociétés cotées)
- Niveau gratuit Crunchbase (ou MCP Crunchbase si BYOK)
- Actualités (WebSearch + WebFetch)
- GitHub (pour les organisations tech)
- Glassdoor + Comparably (sentiment ; dégradation gracieuse si le scraping est bloqué)
- Page LinkedIn entreprise
Organisation à but non lucratif
- ProPublica Nonprofit Explorer (gratuit ; formulaires 990)
- Site officiel
- Actualités
- GuideStar (si accessible)
Organisme gouvernemental
- Sites officiels .gov
- Actualités
- ProPublica (pour les agences fédérales)
Si un MCP payant est connecté (Apollo, Pitchbook, SimilarWeb), l'utiliser mais marquer les constats comme sourcés BYOK dans le journal d'audit.
Phase 4 : Recherche Guidée par l'Hypothèse
Chaque recherche de la Phase 4 DOIT être classée comme :
- Preuve corroborante (confirme l'hypothèse), OU
- Preuve infirmante (réfuterait l'hypothèse)
≥30% du budget de recherche alloué aux requêtes infirmantes. Appliqué via scripts/disconfirming_evidence_balance.py.
Exemple pour l'hypothèse « Microsoft consolide ses dépenses d'IA sur Foundry » :
- Corroborant : « adoption Microsoft Foundry 2026 », « consolidation infrastructure IA Microsoft »
- Infirmant : « renégociation accord OpenAI Microsoft », « diversification fournisseurs IA Microsoft », « partenariats modèles tiers Microsoft 2026 »
C'est ce qui rend le dossier de niveau décisionnel plutôt que biaisé par confirmation.
Pour chaque recherche :
- Enregistrer via
citation_tracker.pyavec classification (corroborant / infirmant) - Appliquer le niveau de source depuis
source_tier_classifier.pyà chaque URL de résultat
Phase 5 : Chronologie d'Activité sur 12 Mois
Fenêtre par défaut de 12 mois pour la chronologie d'activité ; plus approfondie pour l'identité fondamentale.
Catégories :
- Actualités (acquisitions, embauches, départs, lancements de produits)
- Levées de fonds / événements financiers
- Controverses / événements juridiques
- Déclarations publiques / changements de stratégie
Ordre chronologique inverse. Chaque entrée hyperliée + avec niveau.
Phase 6 : Signaux de Réseau et de Réputation
Réseau
- Entreprises : investisseurs (entrants/sortants), clients (nommés), partenaires
- Personnes : co-fondateurs, conseillers, mentors, employeurs, postes au conseil
- OBNL : bailleurs de fonds, conseil, direction
5-10 entrées, classées par pertinence par rapport à l'hypothèse.
Réputation
- Sentiment des actualités (12 derniers mois)
- Glassdoor pour les entreprises (note globale + 3 avis représentatifs)
- Mentions par les pairs pour les personnes
- Avertissement : les données de réputation sont bruyantes ; classer en conséquence
Phase 7 : Identification des Signaux d'Alarme
Faire remonter sans sensationaliser :
- Contentieux (dossiers judiciaires → niveau primaire)
- Mesures réglementaires (SEC, DOJ, actions d'agences → primaire)
- Départs inhabituels (départs de personnel clé dans les 90 jours)
- Signaux financiers (notes de continuité d'exploitation dans les 10-K → primaire)
- Atteintes à la réputation (couverture négative soutenue → secondaire)
Chaque indicateur classé par niveau. Le niveau apparaît à côté de chaque indicateur dans le DOCX.
Phase 8 : Génération d'Accroches Conversationnelles
3-5 accroches spécifiques liées à des constats réels, pas des points de discussion génériques.
Voir references/conversation_hook_quality.md pour le canon.
| ❌ Générique | ✅ Liée à un constat |
|---|---|
| « Demande-leur leur feuille de route » | « Mentionne leur récente acquisition de [X] — cela signale qu'ils investissent dans le secteur vertical Y. Suggestion : « J'ai vu l'annonce de [X] — comment cela change-t-il votre feuille de route sur Y ? » » |
| « Demande-leur à propos des embauches » | « Leur VP Ingénierie est parti il y a 3 semaines (LinkedIn). Suggestion : « J'ai vu que [nom] est parti — quel est le plan pour la direction technique ? » » |
| « Parle de leurs valeurs » | « Ils ont mis à jour leur page de tarification la semaine dernière (leur site officiel). Suggestion : « J'ai vu la mise à jour des prix — qu'est-ce qui a motivé cela ? » » |
Chaque accroche :
- L'accroche (une phrase)
- Le constat auquel elle est liée (avec hyperlien + niveau)
- Formulation suggérée (phrasing textuel que l'utilisateur peut adapter)
Phase 9 : Génération du DOCX (9 Sections)
Via Node.js + bibliothèque docx.
- Résumé Exécutif — un paragraphe : qui ils sont + pourquoi ils sont importants + verdict sur l'hypothèse (SUPPORTÉE / PARTIELLEMENT SUPPORTÉE / INFIRMÉE / NON CONCLUSIF) + 3 points à savoir.
- Tableau des Faits d'Identité — fondé/né, lieu, taille/stade, rôle actuel, affiliations clés. Toutes les cellules sourcées ; niveau en infobulle.
- Test d'Hypothèse — hypothèse de l'utilisateur énoncée textuellement. Preuves corroborantes (3-5 points avec citations hyperliées). Preuves infirmantes (3-5 points avec citations hyperliées). Paragraphe de verdict (2-3 phrases expliquant le poids).
- Chronologie d'Activité sur 12 Mois — Actualités, financements, embauches, départs, lancements de produits, controverses. Ordre chronologique inverse. Chaque entrée hyperliée.
- Signaux de Réseau — Collaborateurs / investisseurs / associés. 5-10 entrées, classées par pertinence par rapport à l'hypothèse.
- Signaux de Réputation — Sentiment des actualités, Glassdoor pour les entreprises, mentions par les pairs pour les personnes. Avertissement : les données de réputation sont bruyantes.
- Signaux d'Alarme et Tendances Cachées — Contentieux, mesures réglementaires, départs inhabituels, signaux financiers, atteintes à la réputation. Classé par niveau.
- Accroches Conversationnelles — 3-5 accroches spécifiques liées à des constats. Chaque : accroche + constat + formulation suggérée.
- Journal de Provenance des Sources et d'Audit — Liste par source avec niveau. Tableau récapitulatif des recherches (#, requête, classification, sources renvoyées, sources citées). Trois comptes + comptes par niveau. Recherches échouées. Indicateur d'utilisation des MCPs BYOK.
Mise en forme
Corps Arial 12pt, titres marine (#1a3a5c), en-têtes de tableau bleu clair (#e8f0f8), appel rouge pour les signaux d'alarme, appel vert pour les accroches conversationnelles.
Modèles d'hyperliens
new ExternalHyperlink({
link: "https://...",
children: [new TextRun({ text: titre, style: "Hyperlink" })],
});
Phase 10 : Livraison
- Enregistrer :
<output-dir>/dossier_<slug-entité>_<YYYY-MM-DD>.docx - Résumé dans le chat : chemin du fichier + verdict sur l'hypothèse + comptes d'audit + décompte par niveau + MCPs BYOK utilisés (le cas échéant)
- Valider : vérifier l'intégrité du zip avec
python3 -c "import zipfile,sys; zipfile.ZipFile(sys.argv[1]).testzip()" <docx>(pas de sortie = intact), puis confirmer que les sections requises sont présentes
Outillage
| Script | Rôle |
|---|---|
scripts/citation_tracker.py | Audit triple comptage + classification corroborant/infirmant + étiquetage du niveau de source dans ~/.dossier_sessions/<session>.json |
scripts/disconfirming_evidence_balance.py | Vérifie que ≥30% du budget de recherche est alloué aux requêtes infirmantes ; avertit en cas de biais |
scripts/source_tier_classifier.py | URL → classification primaire / secondaire / tertiaire via heuristiques de domaine |
Références
references/hypothesis_testing_discipline.md— règle des ≥30% + niveau décisionnel vs encyclopédique (7+ sources)references/subject_type_source_matrix.md— matrices de sources personne/entreprise/OBNL/gouvernement (7+ sources)references/conversation_hook_quality.md— discipline des accroches liées à des constats (7+ sources)
Gestion des Erreurs
| Échec | Comportement |
|---|---|
| Nom du sujet ambigu | Refuser de continuer. Redemander Q1 avec un identifiant désambiguïsant. |
| L'utilisateur refuse d'énoncer son hypothèse | Insister une fois. Si toujours refusé, revenir à l'hypothèse implicite « quelle est la chose la plus surprenante que je pourrais trouver ? ». Signaler dans l'audit. |
| Le sujet a une empreinte publique | … (suite du texte tronqué pour la traduction) |
Limites Connues
- Dépendance aux outils de recherche. La compétence nécessite
WebSearchetWebFetch. Sans eux, la recherche est impossible. - Qualité des sources. Les données de réputation (Glassdoor, Comparably) peuvent être bruyantes ou obsolètes. Toujours classées comme secondaires ou tertiaires.
- BYOK vs gratuit. Les utilisateurs sans MCPs payants auront une couverture réseau réduite (LinkedIn, Crunchbase, Pitchbook, etc.). Les API gratuites (SEC EDGAR, ProPublica, GitHub) couvrent les constats de base.
- Hypothèse vide. Si l'utilisateur insiste pour ne pas fournir d'hypothèse, la compétence utilise un repli implicite, ce qui réduit la qualité du dossier.
Considérations de Sécurité et de Confidentialité
- Exclusions de sensibilité. Les contextes de journalisme et de vérification personnelle déclenchent une question sur les exclusions de contenu sensible. La compétence ne stocke pas les réponses en dehors de la session en cours.
- Pas de persistance. Le fichier de session (
~/.dossier_sessions/<session>.json) est supprimé à la fin du DOCX. - BYOK. Les MCPs fournis par l'utilisateur peuvent envoyer des requêtes à des API tierces ; les utilisateurs sont responsables de leurs propres clés et limites de débit.
Exemples d'Invocation
Exemple 1 : Préparation de réunion commerciale
Q1 : Quelle entreprise ? « Acme Corp, acme.com »
Q2 : Entreprise
Q3 : Rendez-vous commercial / pitch de partenariat
Q4 : « Je crois qu'ils doublent leur investissement dans le SaaS IA. Vérifie ou infirme. »
Q5 : Dossier décisionnel de 15 minutes
Exemple 2 : Vérification d'un fondateur
Q1 : Personne : « Jane Doe, LinkedIn.com/in/janedoe »
Q2 : Personne
Q3 : Vérification personnelle (embauche)
Q4 : « Je pense qu'elle est technique mais n'a pas d'expérience en gestion d'équipe. Teste ça. »
Q5 : Dossier décisionnel de 15 minutes
Q6 : « Exclure les détails de santé personnelle et les antécédents familiaux. »