Communitygithub.com

robcsaszar/prose

Rédige et révise de la prose pour Claude Code — crée du nouveau contenu avec la voix adaptée à chaque canal, ou analyse des textes existants pour détecter les motifs d'IA et les réécrit dans une voix humaine authentique.

Qu'est-ce que prose ?

Cette compétence pour Claude Code permet de générer et d'améliorer du contenu écrit en détectant automatiquement le mode d'utilisation (rédaction ou révision). En mode rédaction, elle aide à concevoir un texte qui correspond à un public et un objectif spécifiques, en s'appuyant sur une calibration vocale optionnelle via des échantillons d'écriture de l'utilisateur. En mode révision, elle applique un processus rigoureux en six étapes : détection du type de contenu (email, documentation, blog, etc.), analyse des motifs d'IA avec un scanner déterministe Python, vérification contradictoire des signalements, évaluation de l'originalité, notation structurée, et réécriture itérative jusqu'à élimination complète des artefacts d'IA. La compétence intègre des références détaillées (règles de rédaction, diagnostics longs formats, profils vocaux, etc.) et insiste sur l'importance de l'ancre concrète dans chaque paragraphe substantiel, tout en respectant les conventions propres à chaque canal (documentation, créatif, email, etc.).

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add robcsaszar/prose

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 prose ?

Deux modes. Détectez le bon avant toute action.

Détection du mode

Mode rédaction — l'utilisateur a un sujet, un brief ou un plan et souhaite un nouveau contenu. Mode révision — l'utilisateur a un texte existant et souhaite l'améliorer, l'humaniser ou le noter.

En cas d'ambiguïté : demandez — « Voulez-vous que j'écrive du nouveau contenu, ou que je révise/réécrive quelque chose que vous avez déjà ? » Si l'utilisateur ne répond pas, utilisez le mode rédaction par défaut.


Calibration vocale

Avant de rédiger ou de réécrire, demandez un échantillon vocal si l'utilisateur n'en a pas fourni. Pour les cibles courtes (messagerie instantanée, e-mails de moins de 200 mots) : ignorez la calibration vocale sauf si l'utilisateur a déjà fourni un échantillon.

« Partagez 1 à 3 paragraphes de votre propre écriture qui vous ressemblent le plus. Je vais m'adapter à votre rythme de phrase, votre choix de mots et vos habitudes structurelles. »

Analysez l'échantillon pour :

  • Tendance de longueur de phrase (percutante / analytique / mixte)
  • Comment il commence (affirmation d'abord, histoire d'abord, données d'abord, contexte d'abord)
  • Habitudes de ponctuation (parenthèses, deux-points, point-virgule)
  • Phrases récurrentes ou tics verbaux
  • Comment il se termine (principe, défi, question ouverte, action)
  • Mots qu'il n'utilise jamais

Conservation du profil. Après avoir analysé un échantillon, proposez de sauvegarder le résultat pour que les sessions futures évitent une recalibration : remplissez references/voice-profile-template.md et écrivez-le dans references/voice-profile.md dans le dossier de la compétence (si le dossier est en lecture seule, affichez le profil complété pour que l'utilisateur le sauvegarde). Si references/voice-profile.md existe déjà, lisez-le intégralement avant de rédiger ou de réécrire — il remplace les conventions par défaut (tolérance au tiret cadratin, style de citation, expressions fétiches, registres). En cas de « apprends aussi de ce texte » : ajoutez des observations datées au profil existant ; les conflits se résolvent en faveur de l'échantillon le plus récent. Un profil ne peut jamais remplacer la discipline factuelle, l'accessibilité ou les règles JAMAIS.

Si aucun échantillon ni profil sauvegardé : procédez avec la voix par défaut — voir references/drafting-core.md § « Voix par défaut ». Pour les blogs, essais, opinions ou écrits personnels, voir aussi references/personality-and-soul.md — une voix par défaut propre peut encore sembler sans âme sans cela. Si le texte sera publié sous le nom de l'utilisateur, mentionnez que la sortie non calibrée porte une voix par défaut générique et proposez une calibration — une fois par conversation, puis abandonnez.


Mode rédaction

Phase 0 — Comprendre avant d'écrire

Demandez avant de rédiger :

  1. Que doit faire ou ressentir le lecteur après la lecture ? (détermine la pertinence du support et du public)
  2. Qu'est-ce qui surprendrait vraiment ce lecteur — que pense-t-il déjà savoir qui est incomplet ?
  3. Quel est le seul objectif de ce texte — informer, persuader, instruire, divertir ou convertir ?
  4. Quel registre convient au contexte — formel, décontracté, technique, conversationnel — et restera-t-il stable ?
  5. Fil conducteur — un exemple concret, un cas ou une conséquence qui peut porter un poids réel

Si la tâche est orientée : la réponse ou la prochaine action vient en premier. Si le format est long : choisissez le fil conducteur et une ancre concrète avant de rédiger.

Avant de rédiger, demandez : quel est l'exemple concret ou la conséquence unique qui pourrait porter ce texte ? Si vous ne pouvez pas le nommer, vous n'êtes pas prêt à rédiger.

LECTURE OBLIGATOIRE avant de rédiger quoi que ce soit de plus de 200 mots : → references/drafting-core.md — règles fondamentales et schémas spécifiques au support

Pour les cibles Documentation ou Créatif, lisez aussi les règles de réécriture de ce canal avant de rédiger — les deux suspendent les valeurs par défaut qui s'appliquent partout ailleurs : → references/channel-rules.md § Documentation / § Créatif

Ne chargez PAS references/ai-patterns-universal.md pendant la rédaction — il est réservé à la révision.

Phase 1 — Rédaction

Écrivez pour correspondre au contexte réel, pas à un idéal abstrait de « bonne écriture ».

Principes actifs :

  • Chaque paragraphe substantiel porte au moins une ancre concrète (nom propre, nombre spécifique, citation directe, décision nommée, détail vérifiable). Pour les blogs, articles et réseaux sociaux. Pour la messagerie instantanée et les e-mails courts : une ancre par message suffit.
  • Pas de déclarations vagues : « beaucoup », « divers », « implications larges », « changements significatifs » échouent au test de l'ancre.
  • Utilisez des mots simples ; répétez le mot ordinaire quand c'est le mot juste ; préférez les verbes aux nominalisations.
  • Maintenez un registre stable ; adaptez le format au support.

Phase 2 — Révision

OBLIGATOIRE : Effectuez les vérifications requises après la rédaction. → references/required-checks.md

Si un shell est disponible, exécutez aussi le scanner déterministe sur le brouillon — l'anti-déchet s'applique aux nouveaux écrits, pas seulement aux révisions :

python3 scripts/slop-scan.py --channel <medium> draft.md

Chaque chemin de script et de référence dans cette compétence est relatif au dossier de la compétence, pas au dossier de travail. Installé comme plugin, les deux sont rarement identiques : résolvez scripts/slop-scan.py par rapport au dossier à partir duquel ce SKILL.md a été chargé. Considérez « fichier non trouvé » comme un problème de chemin à résoudre une fois, pas comme « pas de shell » — passer à la couche manuelle supprime silencieusement toute la passe déterministe.

Corrigez les résidus inconditionnellement. Vérifiez chaque indicateur de phrase par rapport aux règles de faux positifs avant de le modifier (le mot signalé peut simplement être le mot juste). Les notes de structure alimentent le même jugement que la vérification requise 5.

Si le texte semble toujours faux après les vérifications requises (travail long uniquement) : → references/long-form-diagnostics.md

Lorsque des exemples de révision seraient utiles : → references/examples.md


Mode révision / humanisation

Ne chargez PAS references/drafting-core.md pendant le mode révision/humanisation — il est réservé à la rédaction.

Étape 0 — Détection automatique du type de contenu

Classez le canal avant d'exécuter des vérifications. Indiquez la détection en haut de la révision.

E-mail — contient : ligne d'objet / formule de salutation (Bonjour Nom, Cher Nom) / demande explicite + structure de signature Réseaux sociaux — contient : une phrase par ligne tout au long / hashtags / appel à l'action engageant à la fin / moins de 3 000 caractères sans titres Messagerie instantanée — contient : @mentions / références de canal / ton décontracté / moins de 500 caractères / pas de salutation ni de signature Documentation — contient : procédures numérotées / verbes d'étape impératifs / blocs de code, commandes CLI ou clés de configuration / tableaux d'API, de paramètres ou d'options / pas de narration à la première personne Créatif — contient : dialogues avec ponctuation de discours / structure de scène, de strophe ou de script / narration avec personnages nommés / sauts de ligne utilisés pour le rythme plutôt que pour une structure de liste Article de blog — contient : titres / 3 000+ caractères de prose structurée / plusieurs paragraphes développés

Vérifiez Documentation et Créatif avant Blog. Les deux ont des titres et des paragraphes développés, donc un guide ou une scène correspondra aussi aux signaux du Blog, et Blog est le mauvais défaut pour l'un ou l'autre.

Si un canal correspond clairement : indiquez la détection et procédez. En cas d'ambiguïté (signaux contradictoires ou aucun ne se déclenche) : demandez — « Quel est le format ? Article de blog, réseaux sociaux, e-mail, messagerie instantanée, documentation ou créatif ? » Ne procédez pas avant d'avoir obtenu une réponse.

Étape 1 — Analyse des motifs d'IA

Passe déterministe d'abord. Si un shell est disponible, sauvegardez le texte dans un fichier et exécutez :

python3 scripts/slop-scan.py --channel <détecté> file.md

Les noms de canaux correspondent aux valeurs des indicateurs : Article de blog → blog, Réseaux sociaux → social, E-mail → email, Messagerie instantanée → im, Documentation → docs, Créatif → creative. Chaque canal supprime les règles que son support enfreint légitimement, donc passer le mauvais produit à la fois des faux positifs et des signaux manqués.

Le scanner rapporte les indicateurs mécaniques (résidus, phrases toutes faites, typographie) et les métriques de structure (monotonie des phrases, paragraphes uniformes, confiance uniforme, budget aphoristique, séquences d'anaphore, paragraphes étiquetés par ordinal, concepts inventés, duplication textuelle) avec une sortie stable et reproductible. Passez --allow <identifiant-règle> pour tout ce que le profil vocal ou le support permet légitimement. Pas de shell : appliquez references/formula-watchlist.md manuellement comme couche mécanique.

Passe de jugement ensuite. LECTURE OBLIGATOIRE — marqueurs universels d'abord : → references/ai-patterns-universal.md

Puis chargez les marqueurs spécifiques au canal : → references/ai-patterns-channels.md

Appliquez les marqueurs universels à TOUT le contenu. Appliquez les marqueurs spécifiques au canal uniquement pour le type détecté. Listez chaque élément signalé — résultats du scanner et indicateurs de jugement — avec la citation exacte et son emplacement.

Étape 2 — Vérification contradictoire

Chaque signalement de l'étape 1 doit survivre à une défense avant d'entrer dans le rapport. Pour chaque signalement, argumentez le cas le plus fort qu'il s'agit d'un FAUX POSITIF, en utilisant les règles « À ne PAS signaler » dans ai-patterns-universal.md :

  • L'expression se trouve-t-elle dans une citation, un titre, un nom propre ou un exemple discuté plutôt qu'utilisé ?
  • Est-ce clairement le mot juste ici, apparaissant une fois, sans groupe d'autres indicateurs autour ?
  • Est-ce une convention du support (structure dans la documentation, formules de politesse dans les e-mails) ou explicitement autorisé par le profil vocal ?
  • L'indicateur « structurel » a-t-il la forme correcte pour ce genre (spécification, guide, page de référence) ?

Verdict par signalement : CONFIRMÉ (la défense échoue) ou REJETÉ (raison en une ligne). Seuls les signalements confirmés sont retenus. Les résidus (artefacts de chat, espaces réservés, fragments de suivi) sont toujours confirmés — il n'y a pas d'utilisation légitime.

Cette étape existe pour protéger la vraie prose : sur-éditer un texte qui était correct est autant un échec que de manquer un signalement.

Étape 3 — Vérification d'originalité

Signalez si le contenu :

  • Aurait pu être écrit par n'importe qui avec un moteur de recherche (aucune autorité acquise, aucune expérience spécifique)
  • N'a aucune expérience de première main, histoire client ou preuve concrète
  • Fait le même point deux fois sans ajouter de profondeur
  • Recycle le cadrage de l'industrie (« l'avenir de X est Y »)
  • Manque le facteur « seulement moi pourrais écrire cela »

Réseaux sociaux supplément : signalez les promotions de produits déguisées en leçons ; les histoires personnelles avec des conclusions bateau.

Étape 4 — Notation

LECTURE OBLIGATOIRE pour les dimensions de notation par canal : → references/channel-rules.md

Fournissez une justification d'une phrase pour chaque note. Si la ressemblance avec l'IA est faible mais que la dimension de fond est également faible — Crédibilité du domaine (blog/réseaux sociaux), Clarté (e-mail/messagerie instantanée), Achèvement de la tâche (documentation), ou Retenue (créatif) — signalez explicitement. Le contenu est propre mais creux.

Étape 5 — Rapport de révision structuré

LECTURE OBLIGATOIRE pour la structure du rapport : → references/review-report-template.md

Rapportez uniquement les signalements confirmés ; indiquez le nombre de signalements rejetés en une ligne.

Étape 6 — Réécriture

Choisissez d'abord le périmètre d'édition (choisissez vous-même si l'utilisateur n'en a pas indiqué ; dites lequel vous avez choisi si cela a de l'importance) :

  • Édition libre (par défaut pour « humanise ceci ») — les expressions vides sont supprimées, pas reformulées ; la longueur peut diminuer sensiblement.
  • Édition soignée (le texte doit remplir un emplacement : document client, format fixe) — la structure survit ; la longueur reste entre 80 et 110 % de l'original.
  • Édition minimale (sur demande explicite uniquement) — ne touchez que les constructions IA non ambiguës.

Règles de réécriture universelles :

  1. N'ajoutez jamais d'idées qui ne sont pas dans l'original ; ne supprimez jamais de substance
  2. Remplacez chaque expression IA signalée par un langage naturel
  3. Variez la longueur des phrases : mélangez des phrases courtes et percutantes avec des phrases plus longues et analytiques
  4. Remplacez les ouvertures génériques par un accroche spécifique (histoire, donnée, affirmation provocante)
  5. Remplacez les conclusions récapitulatives par un défi, un principe ou une question ouverte
  6. Brisez le rythme uniforme des paragraphes : certains courts, certains longs
  7. Si des exemples concrets manquent : laissez [AJOUTEZ UN EXEMPLE SPÉCIFIQUE DE VOTRE EXPÉRIENCE] — n'inventez jamais
  8. La correction n'est pas une vérification des faits : une affirmation que le texte ne soutient pas n'est pas nécessairement fausse — l'auteur peut avoir des données au-delà du texte. Adoucissez la formulation pour qu'elle corresponde à ce que le texte peut porter, ou signalez que la version publique nécessite des preuves. Ne supprimez pas silencieusement l'affirmation comme non vérifiée.

Exceptions de canal aux règles 3–6. Ces quatre sont des règles de rythme de prose et deux canaux ne les veulent pas :

  • Documentation — ne variez pas la longueur des phrases, ne brisez pas le rythme des paragraphes, ne remplacez pas une ouverture par un accroche, ni ne transformez une conclusion récapitulative en question ouverte. La forme uniforme est ce qui rend une procédure suivable, et une spécification qui se termine par une provocation a échoué. Les règles 1, 2, 7 et 8 s'appliquent toujours.
  • Créatif — la règle 5 s'inverse : une phrase de clôture qui énonce le sens du texte est l'indicateur, donc supprimez-la plutôt que de la remplacer par un principe ou un défi. Les règles 3 et 6 relèvent du choix de l'écrivain, pas du vôtre.

Pour les blogs, essais, opinions ou écrits personnels (pas de contenu encyclopédique, technique, juridique ou de référence) : LECTURE OBLIGATOIRE → references/personality-and-soul.md — supprimer les motifs d'IA produit une prose propre ; cette section est ce qui la fait sonner comme quelqu'un de réel.

LECTURE OBLIGATOIRE pour les règles de réécriture spécifiques au canal : → references/channel-rules.md

Boucle d'élimination. Une seule passe de réécriture n'est pas l'état final. Itérez jusqu'à ce que le texte survive à la fois à une vérification déterministe et à une vérification contradictoire, jusqu'à 3 tours :

  1. Réécriture en appliquant les signalements confirmés et les règles ci-dessus.
  2. Re-balayage — exécutez scripts/slop-scan.py sur la réécriture (même ensemble --allow). Tout résidu = correction immédiate. Toute nouvelle expression signalée = correction ou justification.
  3. Poursuite — changez de camp : argumentez le cas le plus fort que la réécriture est encore générée par IA. Vérifiez spécifiquement contre les indicateurs de second ordre dans references/ai-patterns-universal.md § Partie 5 — une passe de nettoyage a tendance à les produire : confiance uniforme, une conclusion aphoristique sur chaque paragraphe, « Ce n'est pas X. C'est Y. », aucun relâchement nulle part, vulnérabilité performative (un aveu qui ne coûte rien à l'auteur), et suspense fabriqué qui remplace les accroches que vous venez de supprimer. Citez la preuve en une ligne pour chacun.
  4. Si la poursuite a un fondement, corrigez et répétez à partir de 2. Si elle n'en a pas, ou après 3 tours, arrêtez.

Critères de sortie : le scanner rapporte 0 résidu ; les signalements restants du scanner ont chacun une justification d'une ligne (convention du support ou profil vocal) ; la poursuite ne trouve pas de cas convaincant. Si le texte semble encore faux après 3 tours, signalez-le dans une note de bas de page — n'éditez pas en boucle au-delà de ce point.

Skills associés