CommunityRedacción y edicióngithub.com

kofekod23/french-humanizer

Reescribe prosa francesa que suena a IA para que parezca escrita por una persona, sin cambiar su contenido, según 37 registros (carta, correo, jurídico, prensa, crítica, ficha de producto, README, documentación, comentario de código, CV, carta de presentación, LinkedIn, foro...).

¿Qué es french-humanizer?

Esta skill para agentes de IA (como Claude Code, Cursor, Codex) está diseñada para humanizar texto en francés generado por modelos de lenguaje, eliminando las marcas típicas de escritura automática. Su objetivo no es engañar detectores de IA, sino lograr una prosa natural y agradable para un lector humano, manteniendo fielmente el contenido original. Soporta 37 registros específicos (desde correos formales hasta reseñas de productos, pasando por documentación técnica, CVs o publicaciones en redes sociales) y se basa en un catálogo de patrones lingüísticos franceses que delatan el origen IA. El flujo de trabajo incluye: identificar el registro, detectar patrones problemáticos, reescribir sin aferrarse a la estructura original, y revisar la fidelidad y naturalidad. Además, permite al usuario añadir sus propios textos (correos, artículos) para calibrar la voz de la skill a su estilo personal, respetando siempre la ortografía, la tipografía francesa y el nivel de lengua adecuado al contexto.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/kofekod23/french-humanizer/tree/HEAD

Installed? Explore more Redacción y edición skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

French humanizer (humanizador de texto IA en francés)

Esta skill reescribe prosa francesa producida por un modelo de lenguaje para que se lea como texto humano, sin cambiar lo que afirma. Retoma el método de blader/humanizer (MIT) y lo adapta al francés, con un catálogo de patrones propio del francés y perfiles de registro extraídos de textos humanos publicados antes de 2020 (hasta 2021 para algunos géneros), antes de que los asistentes de redacción se generalizaran.

El objetivo es un texto agradable para un lector humano. Engañar a un detector de IA no es un objetivo: nunca se añaden errores voluntarios.

Por qué existen estos patrones

Un modelo elige la opción más probable, por tanto la formulación que conviene al mayor número de lectores y temas. Una persona escribe para un lector y un tema concretos. Cada patrón del catálogo es un rastro de esa elección por defecto: una frase que señala la importancia en lugar de aportar un hecho, un ritmo aplicado por regla, una banalidad disfrazada de giro decisivo, un resto de conversación, una explicación de lo que el lector ya sabe.

Procedimiento

  1. Consultar el corpus personal. Si el usuario ha añadido textos (ver el comando add más abajo), ejecutar python3 scripts/ajouter.py profil, luego python3 scripts/ajouter.py exemples <contexto> para el contexto del texto a reescribir. Los textos del autor prevalecen sobre el perfil de registro en cuanto a la voz.
  2. Identificar quién habla. Si el usuario se presenta («je suis DAF», «je suis électricien», «je suis étudiante en alternance», «je suis CTO d'une startup», «j'écris à mon propriétaire»), aplicar la sección «Quién habla, a quién» a continuación antes de elegir el registro.
  3. Identificar el registro. Leer el texto y elegir uno de los 37 perfiles de references/registres.md (el sumario está al inicio del fichero). Para prensa, situar primero el texto en la escala de lo más ligero a lo más formal: una IA escribe todo al mismo nivel medio, un periodista se ancla claramente en un extremo. Si ninguno encaja, aplicar las reglas generales. Si el registro es ambiguo y la situación lo justifica (carta oficial, acta), preguntar. Leer la sección del perfil elegido antes de reescribir.
  4. Detectar los patrones. Repasar references/motifs-ia-fr.md, del más fuerte al más débil. Los cinco primeros justifican una corrección desde la primera aparición. Aquellos marcados débil aislado solo cuentan si se acumulan en un mismo pasaje. Para un texto largo o un dossier, python3 scripts/scan.py fichero.md proporciona un primer análisis cuantificado (léxico, guiones, títulos en mayúsculas, conectores en serie, uniformidad de las frases).
  5. Primer borrador. Reescribir sin dar por sentada la estructura original: fusionar, cortar, reordenar si el contenido se beneficia. Apuntar a los rasgos observados del perfil (longitud de las frases, vocabulario, puntuación, fórmulas de uso).
  6. Control. Releer el primer borrador preguntándose qué aún suena a «escrito por una IA» y anotarlo en dos o tres líneas. Verificar la fidelidad: cada nombre, cifra, fecha, cita, referencia proviene de la fuente o del autor.
  7. Versión final. Corregir lo que el control haya señalado.

Cuando el usuario pega un texto, mostrar: la lista corta de los patrones encontrados (los más fuertes primero), el primer borrador, la crítica, la versión final. Cuando proporciona un fichero, modificar solo la prosa: código, datos, frontmatter, destinos de enlaces y citas permanecen intactos.

Reglas fijas

  • No inventar nada. Si una frase requiere un detalle ausente (cifra, fecha, ejemplo vivido), preguntar en lugar de inventarlo. En jurídico, no añadir nunca un artículo, fallo o fecha que no figure en la fuente.
  • Acentos y ortografía correctos, incluyendo mayúsculas acentuadas (À, É, Ç).
  • Sin guión largo (U+2014) ni medio guión largo (U+2013) como puntuación. Sustituir por coma, punto, dos puntos o paréntesis. Excepción: si la muestra de voz del autor los utiliza.
  • Puntuación y tipografía francesas: ver la sección siguiente.
  • Mantener los anglicismos de uso. Las palabras inglesas comúnmente empleadas en el oficio o la vida cotidiana (backlog, sprint, crawl, SEO, pitch, week-end, nombres de herramientas, comandos) son normales en francés: se dejan. El patrón 21 solo se refiere a calcos torpes («faire du sens», «adresser un problème», «délivrer de la valeur»).
  • Mantener el nivel de lengua del registro. No volver familiar una carta formal ni elevar un mensaje entre amigos. Tuteo o voseo: conservar el de la fuente.
  • No aplanar las opiniones. Un texto personal conserva sus opiniones, sus partidismos y sus tics deliberados. Un texto técnico o de referencia mantiene neutralidad y sobriedad.

Quién habla, a quién

Cuando el usuario dice quién es («je suis…», «en tant que…», «je travaille comme…») o a quién escribe, la prosa debe sonar como un verdadero miembro de ese oficio o situación.

  1. Anotar tres cosas: el oficio o rol (DAF, electricista, RRHH, desarrollador, estudiante, inquilino), el nivel (junior, senior, directivo), y el destinatario (cliente, reclutador, par, administración, amigo).
  2. Elegir el perfil de registro más cercano (por ejemplo: electricista que escribe a un cliente, carta formal o ficha técnica; DAF que publica en LinkedIn, perfil 32; CTO que escribe un post, perfil 33; candidato junior, perfiles 4, 29 y 30).
  3. Tomar el vocabulario real del oficio al nivel del autor: un electricista habla de sección, de calibre y de diferencial 30 mA sin explicárselo a un colega, pero lo explica a un particular; un DAF habla de cierre, de BFR y de tesorería; un desarrollador de despliegue, de deuda, de dependencias. Un senior cita cifras de perímetro (equipo, presupuesto); un junior habla de sus tareas y de lo que ha aprendido.
  4. Ajustar al destinatario: no se escribe a un par como a un cliente, ni a un reclutador como a un amigo. Tuteo o voseo según el uso del ámbito (a menudo tuteo entre desarrolladores, voseo con un cliente o una administración).
  5. No inventar nunca experiencia. El rol declarado marca el tono y el vocabulario, no los hechos: no se añaden ni cifras, ni referencias normativas, ni logros que el usuario no haya proporcionado. Si fueran necesarios para que el texto suene auténtico, pedirlos.
  6. Si el rol no corresponde a ningún perfil, partir del perfil más cercano y pedir una o dos frases escritas por el usuario, o proponer añadirlas con scripts/ajouter.py.

Ejemplo: «Je suis artisan électricien, réécris ce mail à un client qui conteste mon devis.» Perfil negociación (27) más carta formal (5): frases cortas, partidas del presupuesto nombradas (suministro, instalación, puesta en conformidad), razón técnica de una desviación en una frase comprensible por un particular, propuesta concreta (una opción más barata, un plazo), voseo, sin jerga no explicada.

Puntuación y tipografía

En los registros cuidados (jurídico, carta formal, prensa, enciclopédico, carta de motivación):

  • Nunca guión largo ni medio guión largo como puntuación, ni guión aislado entre dos espacios que actúe como tal. El guión sigue siendo aceptable al inicio de línea para un diálogo o un elemento de lista.
  • Comillas francesas « » con un espacio fino no rompible en el interior; comillas inglesas "…" solo para una cita dentro de otra cita.
  • Espacio fino no rompible antes de ; : ! ? y antes del signo %; ningún espacio antes del punto y la coma.
  • Puntos suspensivos: tres puntos, nunca más, y ningún punto final después de ellos.
  • Números: espacio entre los miles (1 455 746), coma decimal (4,40 m), espacio entre el número y la unidad (12 V, 24 %). Ordinales abreviados 1er, 2e, 16e (no 2ème ni 16ème). Siglos en versalitas o en números romanos (XXe siècle).
  • Mayúsculas: acentuadas (À, É, Ç). Títulos y subtítulos en minúsculas salvo la primera letra y los nombres propios.
  • Dos puntos: para anunciar una explicación o una lista, no para crear un efecto (patrón 10).
  • Punto y coma: bienvenido para unir dos proposiciones relacionadas o separar los elementos de una enumeración larga, como hacen los humanos en jurídico y en crítica.

En los registros informales (foro, mensaje entre amigos, buzz), conservar la puntuación del autor, incluso irregular; no «corregir» nada que forme parte de la voz, ni añadir errores.

Verificar el resultado

  • python3 scripts/scan.py texto.md sobre la versión final: la puntuación debe haber disminuido claramente. Mide los patrones del catálogo, no al autor.
  • Leer en voz alta: una frase que nunca se diría a ese lector debe revisarse.
  • Existen detectores de IA (GPTZero, ZeroGPT, Compilatio, Lucide.ai para francés, Pangram...). Se equivocan en ambos sentidos y también señalan textos humanos. La skill no está ajustada para ellos: pasar un detector no dice nada sobre la calidad del texto, y nunca se sacrifica el significado para bajar una puntuación.

Calibrar según la voz del autor

Si el usuario proporciona dos o tres párrafos de su propia escritura, alinearse con ella: longitud y ritmo de las frases, palabras favoritas, puntuación, tics deliberados (incluidos guiones si los usa). La muestra prevalece sobre el perfil de registro cuando divergen, excepto en cuanto a la exactitud de los hechos y las referencias.

Ejemplo de llamada:

/french-humanizer

Voici un échantillon de mon écriture :
[2 o 3 párrafos]

Humanise ce texte (courrier formel) :
[texto]

Comando /french-humanizer add <contexto>

El usuario enriquece la skill desde Claude Code o la aplicación de escritorio escribiendo, por ejemplo:

/french-humanizer add commercial
[texto pegado]

add y ajouter son sinónimos. La palabra que sigue es el contexto (commercial, mail pro, juridique, LinkedIn, lettre de motivation...); puede tener varias palabras. En ese caso, no reescribir el texto pegado: guardarlo tal cual.

  1. Obtener el texto. Si no se ha pegado con el comando, pedirlo, luego esperar.

  2. Saber quién lo ha escrito, porque un texto recibido nunca debe servir de modelo para la voz del usuario. Si no se dice («mon mail», «un mail de client», «reçu»...), hacer una sola pregunta: ¿lo ha escrito él mismo, o lo ha recibido? Un mail escrito por él da mail-envoyé, otro texto escrito por él texte-modèle, un mail recibido mail-reçu, cualquier otro texto de un tercero texte-autre.

  3. Retirar los datos sensibles si el usuario lo solicita, o señalarlos (números de cuenta, teléfonos, direcciones de particulares) antes de guardar. No cambiar nada más del texto.

  4. Guardar pasando el texto por la entrada estándar, sin fichero intermedio en el repositorio:

    python3 scripts/ajouter.py <tipo> - --registre "<contexto>" <<'FIN_DU_TEXTE'
    [texto]
    FIN_DU_TEXTE
    

    Ejecutar el comando desde el directorio de la skill (~/.claude/skills/french-humanizer generalmente).

  5. Informar en dos líneas: qué se ha guardado, bajo qué contexto, y la posible alerta del script (texto «del autor» que se parece a prosa IA). Si el script señala esta alerta, proponer retirarlo.

Otros comandos útiles: /french-humanizer contextes ejecuta python3 scripts/ajouter.py contextes y muestra lo ya guardado; /french-humanizer exemples comercial ejecuta python3 scripts/ajouter.py exemples comerciales.

Durante una reescritura, si el contexto del texto corresponde a un registro del corpus (ajouter.py contextes), leer dos o tres ejemplos con ajouter.py exemples <contexto> antes del primer borrador. Los textos del autor marcan la voz; los textos recibidos muestran solo cómo se escribe en ese contexto.

Si el script no puede ejecutarse (sesión sin terminal, como una conversación en la aplicación sin acceso al ordenador), decirlo en una frase y proponer el comando para ejecutar en un terminal, con el texto listo para pegar.

Añadir tus textos

El usuario también puede enriquecer la skill en lenguaje corriente. Cuando dice «ajoute ce mail», escribe /french-humanizer ajouter mail-envoyé o pega un texto pidiendo añadirlo, Claude guarda el texto con:

python3 scripts/ajouter.py <tipo> fichero.txt --registre "mail pro"
python3 scripts/ajouter.py <tipo> - --registre "article" < texto.txt
TipoQué esRol
mail-envoyéun correo escrito por el usuariovoz del autor
texte-modèlecualquier otro texto escrito por el usuariovoz del autor
mail-reçuun correo escrito por otra personaejemplo humano de registro
texte-autreartículo, carta recibida, documentoejemplo humano de registro

Los acentos son opcionales en el tipo (mail-envoye funciona). Si no se proporciona el tipo, preguntar cuál de los cuatro; si el registro no es evidente, preguntarlo también.

  • Los textos del autor sirven para calibrar la voz (longitud de las frases, puntuación, tuteo o voseo, fórmulas de apertura y cierre). python3 scripts/ajouter.py profil proporciona su resumen.

Notas finales

  • La skill está diseñada para funcionar con Claude Code y otras herramientas compatibles con skills de agente. Agradecemos las contribuciones a la base de patrones y registros.
  • Para preguntas, informes o sugerencias, abrir un issue en el repositorio o contactar con el mantenedor.

Skills relacionados