sepia : réparer l'architecture narrative avant de retoucher les mots
De-AI writing skill for any Agent Skills-compatible agent (77+ via the Skills CLI), with native plugins for Claude Code, Codex, Grok Build, and Antigravity. Narrative-architecture repair for fiction, venue-matched rules for professional prose. Based on StoryScope (arXiv:2604.03136).
En bref
- De quoi s’agit-il ?
- sepia est une Agent Skill Python sous licence MIT qui traite les marqueurs d'écriture IA au niveau de la structure narrative et du registre de destination, et non au niveau du vocabulaire. Sa thèse repose sur une étude mesurant la détection de fiction générée à 93,2 % de F1 macro à partir de seules caractéristiques narratives.
- À qui s’adresse-t-il ?
- sepia convient aux équipes qui produisent de la fiction ou de la prose professionnelle avec un agent compatible Agent Skills et qui acceptent de diagnostiquer la structure avant de polir les phrases. Il ne convient pas à qui cherche une passe de vocabulaire rapide : les quatre opérations supposent un texte source et un jugement sur ce qu'il faut garder.
- Puis-je l’utiliser commercialement ?
- Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Le dépôt a reçu de nouveaux commits au cours des dernières 24 heures.
- En quel langage est-il écrit ?
- Principalement Python, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Le problème que sepia attaque n'est pas celui des humaniseurs classiques
La plupart des outils de réécriture anti-IA agissent sur le choix des mots et la syntaxe. sepia part d'un constat différent, tiré de StoryScope (Russell et al., 2026, arXiv:2604.03136), une étude portant sur 61 608 nouvelles écrites par des humains et par cinq LLM de frontière. Selon le README, un classifieur utilisant uniquement des caractéristiques de structure narrative atteint 93,2 % de F1 macro pour détecter la fiction générée par IA. Dans la condition LAMP de la même étude, où des éditeurs humains avaient réécrit le style de surface, la détection ne baisse que de 95,5 % à 93,9 %. Autrement dit, les marqueurs qui résistent à une réécriture stylistique sont architecturaux : thème expliqué par le narrateur, intrigue causalement propre sur une seule piste, émotions rendues uniquement par la sensation corporelle, absence de références au monde réel, absence de lecteur, temps linéaire, dénouement par croissance et acceptation du protagoniste. Le public visé est double : les auteurs de fiction qui veulent échapper à une signature structurelle, et les rédacteurs techniques dont les textes trahissent leur origine par le registre et le remplissage plutôt que par le lexique.
Trois passes, quatre opérations, et un principe de calibration
Le protocole de sepia se décompose en trois passes. La première traite l'architecture narrative pour la fiction : cesser d'expliquer le thème, desserrer la chaîne causale, déplacer les révélations vers la fin, mélanger les modes d'expression émotionnelle, réduire la densité du réseau de personnages, nommer des choses réelles. La deuxième porte sur le flux discursif : dé-template la séquence question-réponse des paragraphes, corriger l'affaissement du milieu de récit, varier le rythme et les positions. La troisième est la couche classique de surface : clichés, gabarits syntaxiques, vocabulaire, registre. À cela s'ajoutent une grille de diagnostic à 30 caractéristiques et des empreintes par modèle, en deux couches : les marqueurs narratifs mesurés par StoryScope (Claude, GPT, Gemini, DeepSeek, Kimi) et les marqueurs de phrase issus des guides de prompting des éditeurs eux-mêmes (Claude Fable 5.1 et Mythos 5.1, Fable 5 et Mythos 5, Opus 5, Opus 4.8 ; GPT-5.6, GPT-6 Astra ; série Gemini 3). Le README précise que les éditeurs qui ne publient pas de tels guides sont enregistrés comme consultés, pas devinés. Quatre opérations structurent l'usage : write, review (diagnostic sans édition), refactor (retouches minimales sur place), recreate (réécriture complète à partir des faits et de l'intention). Le principe directeur énoncé est de calibrer sur la distribution humaine plutôt que d'inverser celle de l'IA : un texte où toutes les règles seraient appliquées devient une nouvelle empreinte. La skill sélectionne 3 à 5 mouvements par récit et laisse du jeu.
Pour la prose professionnelle, ce sont les règles de lieu qui changent
sepia ne traite pas la prose professionnelle comme une fiction ratée. Le README indique que les études rassemblées dans research/ pointent un remplissage sans information, des précautions là où un jugement était attendu, des restes de chatbot, un registre qui ignore le lieu de publication et un formatage qui semble estampé. Chaque type de document reçoit un fichier de règles mince posé sur une liste de contrôle commune. Pour des notes de version, l'impact utilisateur passe en premier, chaque affirmation est accompagnée de son artefact, et l'inflation marketing est exclue. Pour une réponse à une pull request ou à un ticket, la réponse vient d'abord, la référence file:line est citée, l'éloge réflexe est proscrit, et la longueur est proportionnelle à l'enjeu. Pour un postmortem, le texte est sans reproche envers les personnes et sans pitié envers les mécanismes, avec horodatages, impasses et actions correctives attribuées. Pour un ticket, le titre énonce le résultat et les critères d'acceptation sont testables. Pour un article technique, on ouvre sur le problème, on raconte une vraie impasse, on assume une opinion, et les chiffres sont donnés avec leurs conditions. Ce découpage est la partie la plus concrète du projet : il transforme une consigne vague de « moins d'IA » en une liste de vérifications par livrable.
Installation : une skill canonique, des wrappers qui dépendent du paquet complet
sepia se présente comme une Agent Skill portable : tout agent qui parle la spécification peut la charger, et le Skills CLI, qui prend en charge plus de 77 agents d'après le README, l'installe en une commande. Claude Code, Codex, Grok Build et Antigravity bénéficient en plus d'un empaquetage natif en plugin. Le dépôt ne contient qu'un seul SKILL.md canonique, sans fork par plateforme. Les points d'entrée diffèrent selon l'hôte. Sous Claude Code, Grok Build et Antigravity, les opérations s'appellent /sepia-write, /sepia-review, /sepia-refactor, /sepia-recreate et /sepia-hemingway, avec un routeur général /sepia. Sous Codex, la syntaxe utilise le dollar : $sepia-write, $sepia-review, $sepia-refactor, $sepia-recreate, $sepia-hemingway, plus $sepia pour le routeur. Un point d'exploitation important figure noir sur blanc : les wrappers d'opération dépendent de la skill canonique sœur, donc l'installation isolée d'un wrapper n'est pas prise en charge. Il faut installer le paquet plugin complet. Le README renvoie à la section Install pour ce qui a été vérifié sur chaque plateforme, et cette section n'est pas reproduite dans le matériel fourni, donc je ne peux pas en confirmer le détail.
Composition avec une skill de voix : un contrat explicite, une base expérimentale mince
Depuis la v0.4.0, sepia définit une interface pour empiler une skill de voix ou de style par-dessus : méthode minimaliste, voix de marque, guide de personnage. C'est opt-in. Si vous ne dites rien, aucune voix externe n'est chargée. Le contrat tient en quelques règles : les décisions architecturales de sepia passent en premier, les mouvements de la voix sont appliqués sélectivement (3 à 5 mouvements signature par pièce, avec des fins de formule délibérément cassées parfois), et un rapport de revue signale les coûts connus de la voix au lieu de les corriger, tandis que les constats d'uniformité gardent toute leur force, une voix n'excusant pas un métronome. Sur les routes professionnelles, le lieu de publication fixe toujours le registre. Les conflits directs reviennent à l'utilisateur. Le README est ici honnête sur la solidité de la base : l'interface s'appuie sur une seule expérience de revue en aveugle sur un spécimen de minimalisme strict, et il la qualifie d'exemple travaillé, pas de preuve mesurée. Un profil intégré est livré sous references/voices/ : Hemingway, avec l'omission par iceberg pour la fiction et les règles du Kansas City Star pour la prose professionnelle, chaque mouvement étant tracé à sa source. Sur la fiction, une revue ne signale que si les constats enregistrés du texte correspondent au profil Hemingway, et ne charge rien. Demander un fort effet anti-IA sur un récit vaut opt-in, et sepia indique alors quel profil il applique et comment le refuser.
Ce que le matériel ne permet pas de conclure
Plusieurs éléments restent hors de portée. Le README est tronqué au milieu d'une phrase sur le rythme des phrases et la calibration en chinois, donc le mécanisme de contrôle de la dispersion des longueurs de phrase n'est pas vérifiable ici. La homepage est absente, ce qui complique la découverte de la documentation longue. Les notes de version v0.7.0, v0.8.0 et v0.9.0 sont datées du 4, du 5 et du 8 septembre 2026, soit trois versions en quatre jours : le rythme de publication est rapide, et rien dans le matériel ne décrit la politique de compatibilité entre versions ni la stabilité du format de SKILL.md. Sur le coût de maintenance, on peut seulement dire que le projet dépend d'une spécification externe, Agent Skills, et de plusieurs hôtes dont les syntaxes d'invocation diffèrent, ce qui crée une surface de suivi réelle à chaque évolution de ces plateformes. Les empreintes par modèle citent des noms de modèles qui évoluent vite ; leur mise à jour est un travail récurrent, et le README indique que les éditeurs sans guide publié sont marqués comme consultés, ce qui laisse une part d'incertitude assumée. La licence MIT autorise l'usage, la modification et la redistribution, y compris commerciale, avec conservation du texte de licence ; ce n'est pas un avis juridique, et une organisation qui redistribue le paquet doit vérifier elle-même les conditions applicables aux ressources citées dans research/.
Face à un humaniseur classique, et face à une consigne maison
L'alternative la plus directe est le humaniseur classique, celui qui réécrit le vocabulaire et la syntaxe. La différence d'approche est nette : un humaniseur de surface travaille sur la troisième passe de sepia, tandis que sepia commence par la première. Le résultat attendu diverge en conséquence. Un humaniseur de surface peut faire disparaître un tic lexical sans toucher au fait que le narrateur explique son propre thème, alors que sepia considère ce dernier point comme le marqueur à traiter en priorité. L'inconvénient est symétrique : un humaniseur de surface est plus simple à appliquer à un paragraphe isolé, là où sepia demande un texte avec assez de matière pour juger d'une architecture, d'un réseau de personnages ou d'une chaîne causale. Une deuxième alternative, plus fréquente en pratique, est la consigne maison rédigée par l'équipe. Elle a l'avantage d'être taillée pour le contexte, mais elle reste généralement une liste de mots interdits. sepia apporte à la place des fichiers de règles par domaine et une grille de diagnostic nommée, ce qui rend les constats discutables et reproductibles entre relecteurs. En revanche, adopter sepia signifie adopter aussi son vocabulaire d'analyse, et une équipe qui n'est pas prête à parler de chaîne causale ou de modes émotionnels tirera peu de la passe 1.
Quand sepia est le mauvais outil
Le cas le plus clair est le texte court et utilitaire : un message de commit, une ligne de changelog, une réponse d'une phrase. Les quatre opérations supposent un texte source et un jugement sur ce qu'il faut conserver, et la passe 1 n'a rien à réparer dans un paragraphe qui n'a pas d'architecture. Un deuxième cas est la documentation dont le registre est imposé par une norme externe, par exemple un référentiel réglementaire : le README indique que le lieu de publication fixe le registre sur les routes professionnelles, donc sepia ne peut pas l'assouplir, et l'outil n'apporte alors que sa liste de contrôle commune. Un troisième cas est l'usage en écriture purement générative sans texte de départ : recreate existe, mais il reconstruit à partir des faits et de l'intention fournis, ce qui déplace le travail vers la qualité de ces entrées plutôt que vers la skill. Enfin, un utilisateur qui attend un score unique de « ressemblance humaine » sera déçu : sepia produit des constats nommés et des mouvements sélectionnés, pas une note. Le README revendique d'ailleurs une base expérimentale mince pour l'interface de composition avec les skills de voix, et il faut le prendre au mot.
Conclusion éditoriale
sepia convient aux équipes qui produisent de la fiction ou de la prose professionnelle avec un agent compatible Agent Skills et qui acceptent de diagnostiquer la structure avant de polir les phrases. Il ne convient pas à qui cherche une passe de vocabulaire rapide : les quatre opérations supposent un texte source et un jugement sur ce qu'il faut garder. Avant d'adopter, vérifiez trois choses dans le dépôt : le contenu réel de research/, la présence des fichiers de règles par domaine, et le fait que les wrappers d'opération exigent l'installation du paquet plugin complet, l'installation isolée d'un wrapper n'étant pas prise en charge.
Notes de la communauté