oral-clean
Nettoie et adapte un texte structuré (markdown, tableaux, abréviations) pour une lecture orale fluide — entretiens, TTS, podcasts, présentation à voix haute.
Quand l'utiliser (Trigger)
Déclenchement standard selon le contexte de l'écosystème Hermès.
Mode d'emploi (Usage)
Mode d'emploi standard via l'agent Hermès. Skill: oral-clean
Quand l’utiliser
- Texte à lire à voix haute : préparation entretien, TTS (synthèse vocale), podcast, script radio
- Markdown avec tableaux, emojis, blocs de code ASCII, symboles qu’un lecteur ne prononcerait pas naturellement
- Textes contenant des abréviations et acronymes qui nécessitent une prononciation guidée
- Documents issus de banques de questions, guides de préparation, fiches techniques à présenter oralement
Différence avec tts-clean
tts-clean cible les rapports journalistiques : supprime URLs, code, citations. Neutre sur le vocabulaire.
oral-clean va plus loin :
- Convertit les tableaux en phrases (chaque ligne → une phrase complète)
- Développe les abréviations avec prononciation guidée entre parenthèses
- Transforme les blocs visuels (art ASCII, box-drawing) en description verbale
- Adapte le registre pour un interlocuteur qui écoute, pas qui lit
MÉTHODE EN 3 PHASES
Phase 1 — Analyser (détecter ce qui bloque la lecture orale)
Parcourir le texte et repérer :
- Tableaux markdown : lignes commençant par |
- Emojis : caractères hors ASCII (❌, ✅, 🤖)
- Abréviations : majuscules consécutives (OSINT, SIEM, KPI, TI)
- Symboles markdown : #, **, *, >, →, ─
- Blocs visuels : ```, ┌─, │, └─
- Nombres composites : 2–3, 0–10, 95–110k
- Anglicismes à adapter : on-call, post-mortem, onboarding
Phase 2 — Nettoyer (règles de transformation)
2.1 Tableaux → Phrases
Règle : lire l’en-tête pour comprendre les colonnes, puis pour chaque ligne de données, construire une phrase complète.
AVANT (tableau 3 colonnes : numéro, question, signal) : | S1 | « Quelle est la dette technique… » | Tu ne fuis pas la réalité… |
APRÈS (2 phrases) : Question S1 : “Quelle est la dette technique la plus lourde que l’équipe porte aujourd’hui, et comment elle est priorisée ?” Signal envoyé : vous ne fuyez pas la réalité ; vous savez que la dette technique est le vrai risque opérationnel.
Pour les tableaux à 2 colonnes (avant/après) : AVANT : | ❌ À éviter | ✅ Si nécessaire | / | “C’est quoi le salaire ?” | Attends l’offre… | APRÈS : À éviter : “C’est quoi le salaire ?” Reformulation : attendez l’offre…
2.2 Emojis → Mots
❌ → “à éviter :” ✅ → “alternative :” ou “reformulation :” Tous autres → supprimer
2.3 Abréviations et Acronymes → Prononciation guidée
OSINT → OSINT (prononcé o-sint) SIEM → SIEM (prononcé siem) TI → TI (prononcé té-i) KPI / KPIs → indicateurs de performance (k-pé-i) RH → ressources humaines IR → réponse aux incidents CISSP → CISSP (prononcé si-esse-pé) CEH → CEH (prononcé cé-é-ache) CISM → CISM (prononcé si-esse-em) PCI-DSS → PCI-DSS (pé-cé-i-dé-esse-esse) PIPEDA → PIPEDA (pi-pé-da) AWS → AWS (a-double-v-esse) GCP → GCP (jé-cé-pé) QC → du Québec on-call → astreintes post-mortem → retour d’expérience onboarding → intégration on-prem → sur site pen test → test de pénétration table stakes → condition de base
Règle de décision :
- Acronyme prononcé comme un mot → écrire tel quel avec guide entre parenthèses au PREMIER usage seulement
- Acronyme épelé lettre par lettre → écrire les lettres séparées ou développer
- Anglicisme remplaçable → développer directement
2.4 Blocs visuels → Description verbale
┌─────────────────────────┐ │ OUVERTURE (0–10 min) │ └─────────────────────────┘ → Première phase, l’ouverture, de zéro à dix minutes : [contenu du bloc]
2.5 Nombres → Écriture parlée
0–10 min → “zéro à dix minutes” 2–3 max → “deux ou trois au maximum” 90 premiers jours → “quatre-vingt-dix premiers jours” 95–110k → “quatre-vingt-quinze à cent dix mille dollars” 12 mois → “douze mois” 2e entretien → “deuxième entretien” Loi 25 → “Loi vingt-cinq”
2.6 Symboles markdown → Mots ou suppression
→ → “vers” ou supprimer selon contexte ─ ┌ │ └ ┐ ┘ → supprimer (blocs visuels) | dans tableau → supprimer (remplacé par phrases)
## ### → supprimer, garder texte du titre
texte → garder texte seulement texte → garder texte seulement
texte → garder texte (citation orale naturelle) --- → supprimer
Phase 3 — Vérifier (liste de contrôle)
[ ] Aucune ligne commençant par | dans le texte final [ ] Aucun emoji [ ] Abréviations développées ou guidées au premier usage [ ] Nombres écrits en toutes lettres (durées, fourchettes, dates) [ ] Aucun caractère box-drawing (┌ ─ ┐ │ └ ┘) [ ] Chaque tableau → série de phrases complètes [ ] Contenu intégral (rien supprimé) [ ] Phrases courtes (< 30 mots), registre parlé
RÈGLES RAPIDES (anti-patterns courants)
- Ne pas simplement supprimer les | d’un tableau → laisse du texte incohérent
- Ne pas garder “2–3” → lire “deux tiret trois” n’est pas naturel
- Ne pas supprimer les abréviations → les garder avec guide au premier usage
- Ne pas garder “post-mortem” → utiliser “retour d’expérience”
Scripts
oral-clean.py: script Python principal~/.local/bin/oral-clean: wrapper CLI
Usage : oral-clean fichier.md > texte-oral.txt cat fichier.md | oral-clean
Relation avec tts-clean
oral-clean étend tts-clean sans le remplacer. Chaîner si besoin : oral-clean fichier.md | clean-for-tts # oral d’abord, puis journalistique