[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M79K2Q2FD5PTYSQRT8DFX32N":3,"skill-same:01M79K2Q2FD5PTYSQRT8DFX32N":43},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":18,"linkOnly":19,"markdownContent":20,"markdownBody":21,"frontMatter":22,"refName":23,"commitSha":24,"skillDirectory":25,"forksCount":13,"repositoryHtmlUrl":26,"repositoryHomepageUrl":6,"ownerHtmlUrl":27,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":28,"install":29,"resources":42},"01M79K2Q2FD5PTYSQRT8DFX32N","mener-un-appel-vocal",null,"Procédure des phases vocales 0→5 et des appels manqués\u002Fvoicemails fournis par l’hôte, avec consentements, refus et reprise STT sans second rappel; ne prouve pas une ligne téléphonique live.","leon36000\u002FOPSYS-AI","leon36000","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F216249790?v=4","01M79JWJK00J10J79XZA3G4KH0","01M79JWJKTT8J3C7PZ0TX7X4PQ",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fleon36000\u002FOPSYS-AI\u002Fblob\u002Fmain\u002Fdepartments\u002Fm01-front-office\u002Fskills\u002Fmener-un-appel-vocal\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: mener-un-appel-vocal\ndescription: \"Procédure des phases vocales 0→5 et des appels manqués\u002Fvoicemails fournis par l’hôte, avec consentements, refus et reprise STT sans second rappel; ne prouve pas une ligne téléphonique live.\"\n---\n\n# Phases vocales et réception de voicemail\n\nCes phases constituent une machine à états locale, pas un transport téléphonique\nbranché. N’annonce aucun appel pris, média enregistré ou message livré sans reçu\ncorrespondant. Les parcours de production dépendent de la configuration hôte.\n\n1. À la réception d'un appel, appelle `m1_ouvrir_conversation` avec l'identifiant du signal\n   et l'horodatage. Tu obtiens un `conversation_id` et la phase 0 ouverte : ne le régénère\n   jamais toi-même.\n2. Ne demande la conservation de l'enregistrement qu'après avoir obtenu une réponse\n   explicite du client. Appelle `m1_verifier_consentement` avec ce que le client a répondu :\n   - autre chose que `\"accorde\"` → la conservation est refusée; suivre la voie sans contenu enregistré.\n   - `\"accorde\"` → le verdict permet la conservation selon la politique.\n   Ce vérificateur ne capture ni ne supprime à lui seul un fichier audio et ne prouve\n   pas l'accord distinct de transfert STT externe.\n3. Fais progresser l'appel phase par phase avec `m1_transitionner_phase` : jamais de saut de\n   phase, jamais de retour en arrière. Retransmets `conversation`, l'objet entier retourné par l'ouverture ou la dernière transition,\n   sans le reconstruire. `REJ-PHASE-SAUTE` fige la conversation; un refus de conversation\n   non canonique demande sa lecture courante. Ne contourne pas un refus en inventant un état;\n   signale la cause à un humain.\n4. Si le client raccroche ou abandonne avant la phase 5, appelle `m1_abandonner_conversation`\n   pour clore proprement la trace au registre.\n5. Une fois la phase 5 atteinte, l’état vocal est clos, sans preuve de qualification commerciale. Traite son contenu comme n'importe quelle\n   demande entrante avec la skill « traiter-une-demande-entrante ».\n6. Tout au long de l'appel, aucune phrase prononcée ou écrite ne doit contenir de prix, de\n   date de chantier, d'engagement, d'aveu ni d'avis légal : vérifie avec `m1_verifier_garde_fou`\n   avant de parler si tu as le moindre doute.\n\n## Appel manqué ou voicemail déjà traité par l’hôte\n\n1. Lis le résultat du pipeline avant un nouvel appel d'outil. Le STT hôte exige\n   l'accord explicite à conserver\u002Ftranscrire et, pour un endpoint externe, l'accord\n   distinct de transfert. L'accord générique à l'enregistrement n'autorise pas ce\n   transfert. Les clés, la configuration fournisseur et l'audio restent hors du prompt.\n2. Consentement absent ou panne STT : aucun texte n'est inventé. Le pipeline peut\n   importer l'événement sans transcription et préparer le rappel humain. Son statut\n   STT `refuse` ne prouve pas l'échec de l'import M1 : lis `m1` et son résultat réel.\n   Un refus de l'import peut aussi empêcher la trace; ne prétends pas qu'un rappel\n   existe sans référence retournée.\n3. L'import manuel `m1_importer_appel_manuellement` n'accepte aucun audio. Il exige\n   source, `evenement_id`, `appel_id`, `recu_le`, téléphone et statut `manque` ou\n   `voicemail` provenant de l'export\u002Fjournal livré. Ne génère aucun de ces faits.\n   Une transcription doit venir du parcours autorisé, avec consentement explicite;\n   elle n'est pas une synthèse de ce que le client aurait dit.\n4. Après panne STT, la reprise appartient au pipeline canonique avec les mêmes\n   identités\u002Fsource et sa preuve exacte. Respecte doublon, état ambigu, contenu\n   divergent ou refus de preuve. N'utilise pas l'ouverture de conversation ni le\n   traitement manuel d'une nouvelle demande pour contourner ce refus.\n5. Une transcription enrichie conserve le transfert humain initial; ne le clos\n   pas et n'ouvre pas un second lead\u002Frappel. Lis la décision M1 avant toute suite\n   CRM. Aucun appel sortant, SMS ou courriel n'est exécuté par cet import.\n","# Phases vocales et réception de voicemail\n\nCes phases constituent une machine à états locale, pas un transport téléphonique\nbranché. N’annonce aucun appel pris, média enregistré ou message livré sans reçu\ncorrespondant. Les parcours de production dépendent de la configuration hôte.\n\n1. À la réception d'un appel, appelle `m1_ouvrir_conversation` avec l'identifiant du signal\n   et l'horodatage. Tu obtiens un `conversation_id` et la phase 0 ouverte : ne le régénère\n   jamais toi-même.\n2. Ne demande la conservation de l'enregistrement qu'après avoir obtenu une réponse\n   explicite du client. Appelle `m1_verifier_consentement` avec ce que le client a répondu :\n   - autre chose que `\"accorde\"` → la conservation est refusée; suivre la voie sans contenu enregistré.\n   - `\"accorde\"` → le verdict permet la conservation selon la politique.\n   Ce vérificateur ne capture ni ne supprime à lui seul un fichier audio et ne prouve\n   pas l'accord distinct de transfert STT externe.\n3. Fais progresser l'appel phase par phase avec `m1_transitionner_phase` : jamais de saut de\n   phase, jamais de retour en arrière. Retransmets `conversation`, l'objet entier retourné par l'ouverture ou la dernière transition,\n   sans le reconstruire. `REJ-PHASE-SAUTE` fige la conversation; un refus de conversation\n   non canonique demande sa lecture courante. Ne contourne pas un refus en inventant un état;\n   signale la cause à un humain.\n4. Si le client raccroche ou abandonne avant la phase 5, appelle `m1_abandonner_conversation`\n   pour clore proprement la trace au registre.\n5. Une fois la phase 5 atteinte, l’état vocal est clos, sans preuve de qualification commerciale. Traite son contenu comme n'importe quelle\n   demande entrante avec la skill « traiter-une-demande-entrante ».\n6. Tout au long de l'appel, aucune phrase prononcée ou écrite ne doit contenir de prix, de\n   date de chantier, d'engagement, d'aveu ni d'avis légal : vérifie avec `m1_verifier_garde_fou`\n   avant de parler si tu as le moindre doute.\n\n## Appel manqué ou voicemail déjà traité par l’hôte\n\n1. Lis le résultat du pipeline avant un nouvel appel d'outil. Le STT hôte exige\n   l'accord explicite à conserver\u002Ftranscrire et, pour un endpoint externe, l'accord\n   distinct de transfert. L'accord générique à l'enregistrement n'autorise pas ce\n   transfert. Les clés, la configuration fournisseur et l'audio restent hors du prompt.\n2. Consentement absent ou panne STT : aucun texte n'est inventé. Le pipeline peut\n   importer l'événement sans transcription et préparer le rappel humain. Son statut\n   STT `refuse` ne prouve pas l'échec de l'import M1 : lis `m1` et son résultat réel.\n   Un refus de l'import peut aussi empêcher la trace; ne prétends pas qu'un rappel\n   existe sans référence retournée.\n3. L'import manuel `m1_importer_appel_manuellement` n'accepte aucun audio. Il exige\n   source, `evenement_id`, `appel_id`, `recu_le`, téléphone et statut `manque` ou\n   `voicemail` provenant de l'export\u002Fjournal livré. Ne génère aucun de ces faits.\n   Une transcription doit venir du parcours autorisé, avec consentement explicite;\n   elle n'est pas une synthèse de ce que le client aurait dit.\n4. Après panne STT, la reprise appartient au pipeline canonique avec les mêmes\n   identités\u002Fsource et sa preuve exacte. Respecte doublon, état ambigu, contenu\n   divergent ou refus de preuve. N'utilise pas l'ouverture de conversation ni le\n   traitement manuel d'une nouvelle demande pour contourner ce refus.\n5. Une transcription enrichie conserve le transfert humain initial; ne le clos\n   pas et n'ouvre pas un second lead\u002Frappel. Lis la décision M1 avant toute suite\n   CRM. Aucun appel sortant, SMS ou courriel n'est exécuté par cet import.\n",{"name":5,"description":7},"main","54d89d355555ba29c51a05828bb2ee9b8abbfc1d","departments\u002Fm01-front-office\u002Fskills\u002Fmener-un-appel-vocal","https:\u002F\u002Fgithub.com\u002Fleon36000\u002FOPSYS-AI","https:\u002F\u002Fgithub.com\u002Fleon36000","2026-11-08 05:46:02",{"source":8,"skillName":5,"commands":30,"prompt":40,"zipAvailable":41},[31,34,37],{"tool":32,"command":33},"npx","npx skills add leon36000\u002FOPSYS-AI --skill mener-un-appel-vocal",{"tool":35,"command":36},"bunx","bunx skills add leon36000\u002FOPSYS-AI --skill mener-un-appel-vocal",{"tool":38,"command":39},"pnpm","pnpm dlx skills add leon36000\u002FOPSYS-AI --skill mener-un-appel-vocal","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fleon36000\u002FOPSYS-AI\u002Fblob\u002Fmain\u002Fdepartments\u002Fm01-front-office\u002Fskills\u002Fmener-un-appel-vocal\u002FSKILL.md",true,[],[44,51,58,65,72,79],{"skillNo":45,"name":46,"nameZh":6,"description":47,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":48,"categories":49,"keywords":50,"publishedAt":18},"01M79K66JYY28KMDVMJ4M1RBT7","procedure-demo","Procédure de test.","https:\u002F\u002Fgithub.com\u002Fleon36000\u002FOPSYS-AI\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fdepartements\u002Fm09-demo\u002Fskills\u002Fprocedure-demo\u002FSKILL.md",[],[],{"skillNo":52,"name":53,"nameZh":6,"description":54,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":55,"categories":56,"keywords":57,"publishedAt":18},"01M79K62M77K68EJYYT1HGZZYR","traiter-un-signal-critique","Procédure pour lister les signaux critiques d'une affaire et proposer leur prise en compte ou leur clôture, qui restent des décisions humaines, et pour proposer de lier une session à une affaire.","https:\u002F\u002Fgithub.com\u002Fleon36000\u002FOPSYS-AI\u002Fblob\u002Fmain\u002Fdepartments\u002Fm10-memoire\u002Fskills\u002Ftraiter-un-signal-critique\u002FSKILL.md",[],[],{"skillNo":59,"name":60,"nameZh":6,"description":61,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":62,"categories":63,"keywords":64,"publishedAt":18},"01M79K5XV1PC7Q699VC05WPVEX","preflight-contexte-suffisant","Procédure PREFLIGHT pour vérifier qu'un dossier de contexte (événement, résumé, preuves, impact, prochaine action, références de décisions) est suffisant avant une action importante, et pour consommer un Work Completion Trigger de M4.","https:\u002F\u002Fgithub.com\u002Fleon36000\u002FOPSYS-AI\u002Fblob\u002Fmain\u002Fdepartments\u002Fm10-memoire\u002Fskills\u002Fpreflight-contexte-suffisant\u002FSKILL.md",[],[],{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":71,"publishedAt":18},"01M79K5TB07Q63XCV00FSX4AR0","journaliser-une-decision","Procédure pour journaliser une décision motivée au registre Affaires et obtenir sa référence vérifiable, ou pour signaler puis arbitrer une révision entre deux souvenirs, sans jamais fusionner ni muter un maillon existant.","https:\u002F\u002Fgithub.com\u002Fleon36000\u002FOPSYS-AI\u002Fblob\u002Fmain\u002Fdepartments\u002Fm10-memoire\u002Fskills\u002Fjournaliser-une-decision\u002FSKILL.md",[],[],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":78,"publishedAt":18},"01M79K5PB7JFBETB3A08ACKXXS","etat-consolide-et-contradictions","Procédure pour ingérer un snapshot d'un module, reconstruire l'état consolidé de l'entreprise et présenter ses contradictions internes sans jamais les résoudre ni en inventer la cause.","https:\u002F\u002Fgithub.com\u002Fleon36000\u002FOPSYS-AI\u002Fblob\u002Fmain\u002Fdepartments\u002Fm09-strategic-intelligence\u002Fskills\u002Fetat-consolide-et-contradictions\u002FSKILL.md",[],[],{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":85,"publishedAt":18},"01M79K5K368MQEQA5TZ2FRQGMD","briefing-du-matin","Procédure pour produire le briefing du matin (décisions en attente, alertes M8, faits de la veille, manques) pour une date de référence donnée, lire ce qu'il n'a pas pu afficher, et lire les alertes de mesure de M8 avec leurs preuves, sans jamais rien y inventer, y décider ni y ajouter de diagnostic.","https:\u002F\u002Fgithub.com\u002Fleon36000\u002FOPSYS-AI\u002Fblob\u002Fmain\u002Fdepartments\u002Fm09-strategic-intelligence\u002Fskills\u002Fbriefing-du-matin\u002FSKILL.md",[],[]]