---
name: estilo-sin-ai-isms
description: >
  Audita y reescribe texto en español de México para eliminar "AI-isms" — patrones
  que delatan escritura por IA: aperturas de chatbot, inflación significativa,
  transiciones genéricas, inflación de vocabulario, sinonimia forzada, conclusiones
  formulaicas, uniformidad rítmica. Cargar cuando un agente SWL genere documentación,
  ADRs, resúmenes, mensajes de commit, PLAN.md, RESUMEN.md, APRENDIZAJES.md, o
  cualquier prosa destinada a humanos. Dos modos: rewrite (reescribe) y detect
  (solo señala). NO cargar para código fuente, JSON de configuración, schemas,
  o salida estrictamente determinista.
version: "1.1.1"
herramientasPermitidas: [Read, Bash]
exclusiones:
  - "No cargar para reescribir código fuente, JSON de configuración, schemas, trazas JSONL, mensajes de error del sistema o cualquier salida determinista — este skill opera solo sobre prosa destinada a humanos."
  - "No cargar para mejorar brevedad o eliminar repetición en output entre agentes — eso cae bajo `brevedad-output.md`; este skill detecta patrones semánticos de generación IA, no verbosidad genérica."
  - "No cargar cuando el texto a auditar ya fue validado como correcto por el usuario en esta sesión — re-auditar introduce cambios sobre texto que el usuario aprobó."
  - "No cargar para traducir o corregir gramática — este skill no valida ortografía ni sintaxis, asume texto bien escrito y detecta solo patrones de escritura por IA."
evolvable: true  # default para skill estandar
---
# Estilo sin AI-isms — Auditoría y reescritura de prosa generada

Editas texto en **español de México** para eliminar patrones que hacen que la prosa
suene a máquina. El objetivo es que el texto producido por agentes SWL suene escrito
por una persona técnica: directo, específico, con voz propia y variedad rítmica.

## Cuándo cargar esta skill

- Antes de emitir documentación, ADRs, `PROYECTO.md`, `RESUMEN.md`, `VERIFICACION.md`,
  `APRENDIZAJES.md`, o mensajes de commit largos.
- Como segunda pasada obligatoria al final de `/swl:aprender`, `/swl:ejecutar-fase`
  o `/swl:release`.
- Cuando el usuario pida "reescribe esto sin muletillas de IA" o similar.
- Antes de contribuir un skill nuevo al core (`/swl:contribuir`).

**No cargar** para código, JSON, YAML, CSV, logs, traces, schemas, ni para salidas
estrictamente deterministas (outputs de tool, comandos CLI, mensajes de error
del sistema).

---

## Modos de operación

**`rewrite`** (default) — Detecta AI-isms **y reescribe** el texto. Incluye segunda
pasada sobre la reescritura para cazar patrones que sobrevivieron la primera edición.

**`detect`** — Solo señala AI-isms sin modificar el texto. Útil cuando:
- El usuario quiere ver qué está marcado y decide qué cambiar.
- Los patrones detectados podrían ser intencionales (no todo AI-ism es malo).
- Se audita texto del usuario que NO queremos alterar (contenido publicado,
  referencia, otro autor).
- Se quiere un escaneo rápido sin esperar la reescritura completa.

Disparadores de modo `detect`: el usuario dice "detecta", "solo señala",
"audita", "escanea", "qué AI-isms tiene esto". Default: `rewrite`.

---

## Qué remover o corregir

### Formato

- **Em dash (— y --)**: remplazar por comas, puntos, paréntesis, o dividir en
  dos oraciones. Objetivo: cero. Máximo duro: 1 por cada 1,000 palabras. Aplica
  a encabezados y títulos, no solo a prosa. Detectar tanto `—` (Unicode) como
  `--` (sustituto de doble guión).
- **Uso excesivo de negritas**: una frase en negrita por sección mayor, o
  ninguna. Si algo es importante suficiente para negrita, reestructurar la
  oración para que encabece.
- **Emojis en encabezados**: eliminar. Excepción: posts sociales pueden usar
  uno o dos al final de línea.
- **Listas con viñetas abusivas**: convertir secciones hiper-enumeradas en
  prosa. Viñetas solo para contenido realmente listable (parámetros de API,
  pasos secuenciales, tabla de comparación).

### Estructura de oraciones

- **"No es X — es Y" / "No se trata de X, se trata de Y"**: reescribir como
  afirmación positiva directa. Máximo una vez por documento.
- **Intensificadores huecos**: cortar "realmente", "verdaderamente", "francamente",
  "para ser honesto", "cabe mencionar que", "es importante destacar que".
  Afirmar el hecho directamente.
- **Respaldo vago ("vale la pena + verbo")**: cortar o remplazar "vale la pena
  leer", "vale la pena considerar", "vale la pena explorar", "vale la pena
  revisar". Dicen "está bien" genéricamente en vez de decir *por qué* importa.
- **Hedging**: cortar "quizás", "tal vez", "podría potencialmente", "es importante
  notar que", "para ser claros". Ir al punto directamente.
- **Oraciones puente ausentes**: cada párrafo debe conectar con el anterior. Si
  los párrafos pudieran reordenarse sin que el lector lo note, falta tejido
  conectivo.
- **Regla de tres compulsiva**: variar agrupaciones. Usar dos items, cuatro,
  o una oración completa. Máximo una construcción "adjetivo, adjetivo y
  adjetivo" por pieza.

### Tabla de reemplazo de palabras

Tres tiers según qué tan fuerte señalan texto generado por IA en español.

#### Tier 1 — Siempre marcar y reemplazar

| Remplazar | Por |
|---|---|
| adentrarse / adentrémonos | ver, explorar, revisar |
| panorama (como metáfora) | campo, área, sector, industria |
| paisaje (como metáfora) | campo, espacio, industria |
| tapiz / entramado | (describir la complejidad real) |
| ámbito (vago) | área, campo, dominio |
| reino (metáfora) | área, espacio |
| paradigma | modelo, enfoque, marco |
| embarcarse en | comenzar, iniciar |
| faro (metáfora) | (reescribir completo) |
| testimonio de / prueba fehaciente de | muestra, prueba, demuestra |
| robusto | sólido, estable, confiable |
| integral / comprensivo | completo, total, exhaustivo |
| vanguardia / de vanguardia | más reciente, nuevo, avanzado |
| aprovechar (verbo inflado) | usar |
| pivotal | importante, clave, crítico |
| recalca / subraya (inflado) | muestra, señala, destaca |
| meticuloso / meticulosamente | cuidadoso, detallado, preciso |
| sin fisuras / sin problemas (metáfora) | fluido, simple, sin fricción |
| revolucionario / disruptivo | describir *qué* cambió y por qué importa |
| utilizar | usar |
| momento clave / punto de inflexión | (decir qué cambió) |
| el futuro es prometedor | (cortar — decir algo específico o nada) |
| solo el tiempo dirá | (cortar — decir algo específico o nada) |
| enclavado en | está en, se ubica en |
| vibrante | (describir qué lo hace activo, o cortar) |
| floreciente / próspero | creciendo, activo (o citar un número) |
| a pesar de los desafíos... sigue prosperando | (nombrar el desafío y la respuesta, o cortar) |
| mostrando / exhibiendo | muestra, demuestra (o cortar la cláusula) |
| inmersión profunda / profundicemos | revisar, examinar, explorar |
| desentrañar / desglosemos | explicar, descomponer |
| bullicioso | ocupado, activo (o citar qué lo hace ocupado) |
| intrincado / intrincadas | complejo, detallado (o nombrar la complejidad específica) |
| en constante evolución | cambiando, creciendo (o describir cómo) |
| perdurable | duradero, de largo plazo (o citar cuánto) |
| abrumador / desalentador | difícil, complicado |
| holístico / holísticamente | completo, total, integral (describir qué se incluye) |
| accionable | práctico, útil, concreto |
| impactante | efectivo, significativo (o describir el impacto) |
| aprendizajes (como sustantivo) | lecciones, hallazgos, conclusiones |
| líder de opinión / pensamiento de vanguardia | experto, autoridad (o describir su contribución real) |
| mejores prácticas | lo que funciona, métodos probados, enfoque estándar |
| en esencia / en su núcleo | (cortar — solo decir la cosa) |
| sinergia / sinergias | (describir el efecto combinado real) |
| interacción / interjuego | relación, conexión |
| con el fin de | para |
| debido al hecho de que | porque |
| sirve como / funciona como | es |
| cuenta con / presenta (inflado) | tiene, incluye |
| ostenta / alardea | tiene |
| llevar a cabo | hacer, ejecutar |
| proceder a / se procederá a | (cortar el puente, decir la acción) |
| efectuar / realizar (inflado) | hacer |
| ascertainar / determinar (inflado) | saber, averiguar |
| empeño / emprendimiento (inflado) | esfuerzo, intento |
| sinfonía (metáfora) | (describir la coordinación o combinación real) |
| abrazar / adoptar (metáfora) | adoptar, aceptar, cambiar a |

#### Tier 2 — Marcar cuando aparezcan 2 o más en el mismo párrafo

Son legítimas por sí solas. Cuando aparecen dos o más juntas, el párrafo
probablemente necesita reescritura.

| Remplazar | Por |
|---|---|
| aprovechar (sustantivo raro en tecnología) | usar, sacar provecho |
| navegar / navegando (metáfora) | atravesar, manejar, tratar |
| fomentar | alentar, apoyar, construir |
| elevar (metáfora) | mejorar, subir, fortalecer |
| desatar (metáfora) | liberar, habilitar |
| agilizar / optimizar (inflado) | simplificar, acelerar |
| empoderar (en contextos no sociales) | habilitar, permitir |
| reforzar (inflado) | apoyar, sostener |
| encabezar / liderar (inflado) | dirigir, guiar |
| resonar con | conectar con, atraer a, importar a |
| revolucionar | cambiar, transformar (o describir qué cambió) |
| facilitar | permitir, ayudar, habilitar |
| sustentar / subyacer | apoyar, formar la base de |
| matizado / con matices | específico, sutil, detallado |
| crucial | importante, clave, necesario |
| multifacético | (describir las facetas reales, o cortar) |
| ecosistema (metáfora) | sistema, comunidad, red, mercado |
| miríada | muchos, numerosos (o dar un número) |
| plétora | muchos, gran cantidad (o dar un número) |
| abarcar | incluir, cubrir, contener |
| catalizar | iniciar, desencadenar, acelerar |
| reimaginar | repensar, rediseñar, reconstruir |
| galvanizar | motivar, reunir, impulsar |
| aumentar / ampliar (inflado) | agregar, expandir |
| cultivar (metáfora) | construir, desarrollar, hacer crecer |
| iluminar (metáfora) | clarificar, explicar, mostrar |
| dilucidar | explicar, aclarar |
| yuxtaponer | comparar, contrastar |
| paradigmático | (describir qué lo hace ejemplar) |
| transformador / transformación | (describir qué cambió y cómo) |
| piedra angular / pilar fundamental | base, fundamento, parte clave |
| primordial / paramount | más importante, prioridad |
| dispuesto a (metáfora) | listo, a punto de |
| en ciernes / emergente | nuevo, creciendo (o citar número) |
| naciente | nuevo, en etapa temprana |
| por excelencia / quintaesencia | típico, clásico, definitorio |
| general / abarcador (inflado) | principal, central, amplio |
| subyacente / base fundante | base, fundamento |

#### Tier 3 — Marcar solo en alta densidad

Palabras normales. Solo marcar cuando saturan el texto — señal de que la IA
llenó espacio con alabanza vaga en vez de datos.

| Palabra | Qué hacer |
|---|---|
| significativo / significativamente | Remplazar algunas con específicos: números, comparaciones, ejemplos |
| innovador / innovación | Describir qué es realmente nuevo |
| efectivo / efectivamente | Decir cómo o citar una métrica |
| dinámico / dinámicas | Nombrar las fuerzas o cambios reales |
| escalable / escalabilidad | Describir qué escala y hasta qué punto |
| convincente / atractivo | Decir por qué convence |
| sin precedentes | Nombrar el precedente que rompe (o cortar) |
| excepcional / excepcionalmente | Citar qué lo hace excepción |
| notable / notablemente | Decir qué vale la pena notar |
| sofisticado | Describir la sofisticación |
| clase mundial / de última generación | Citar un benchmark o comparación |
| fundamental | Decir qué papel jugó |

### Frases plantilla (evitar)

Construcciones con huecos que delatan que la oración fue generada. Si una
frase tiene un blank donde un sustantivo/adjetivo podría ir y sonaría igual,
es demasiado genérica.

- "un paso [adjetivo] hacia [adjetivo] infraestructura" → describir la capacidad
  específica, benchmark, resultado.
- "un paso adelante para [sustantivo]" → misma regla: decir qué cambió.
- "ya seas [X] o [Y]" → falsa-amplitud. Elegir la audiencia real o cortar.
  "Ya seas desarrollador o arquitecto" = nada — es "todos".
- "recientemente tuve el placer de [verbo]" → patrón de reseña/social. Decir
  qué pasó: "hablé con", "leí", "asistí a".
- "en la actualidad, donde X" / "en la era de Y" → cortar o dar contexto específico.

### Transiciones a remover o reescribir

- "Por otra parte" / "Además" / "Adicionalmente" → reestructurar o usar "y",
  "también".
- "Por otro lado" (abusivo) → usar solo cuando hay contraste real.
- "En la actualidad" / "Hoy en día" / "En un mundo donde" → cortar o dar
  contexto específico.
- "Cabe destacar que" / "Cabe mencionar que" / "Cabe resaltar que" → solo
  afirmar el hecho.
- "Aquí lo interesante es" / "Lo que destaca es" → dejar que el contenido se
  haga cargo de su propia importancia.
- "En conclusión" / "En resumen" / "Para resumir" → la conclusión debe ser obvia.
- "Cuando se trata de" → hablar directamente del tema.
- "Al final del día" → cortar.
- "Dicho esto" / "Habiendo dicho lo anterior" → cortar o usar "pero", "sin embargo".
- "Por ende" / "Por consiguiente" / "En consecuencia" → usar solo cuando la
  causalidad no es obvia; alternativas: "entonces", "así que".

### Inflación significativa

Frases como "marcando un momento decisivo en la evolución de..." o "un hito
en la industria" inflan eventos rutinarios. Declarar qué pasó y dejar que
el lector juzgue importancia. Si la oración funciona al borrar la cláusula
inflada, borrarla.

### Evitación de cópula

IA evita "es" y "tiene" usando verbos fancy: "sirve como", "cuenta con",
"ostenta", "presenta", "representa". Suenan a boletín de prensa. Default:
"es" / "tiene" salvo que un verbo más específico agregue significado real.

### Ciclado de sinónimos

IA rota sinónimos para evitar repetir: "desarrolladores... ingenieros...
profesionales... constructores" en el mismo párrafo. Los humanos repiten la
palabra más clara. Si el mismo sustantivo/verbo aparece tres veces en un
párrafo y es la palabra correcta, las tres veces se quedan.

### Atribuciones vagas

"Los expertos creen", "Los estudios muestran", "La investigación sugiere",
"Los líderes de la industria coinciden" — sin nombrar al experto, estudio o
líder. Citar fuente específica o afirmar directamente sin la atribución.

### Agencia falsa (cosas inanimadas haciendo verbos humanos)

IA evita nombrar al actor humano dándole agencia a cosas inanimadas. Las
quejas no "se transforman en arreglos"; las decisiones no "emergen"; los
datos no "nos dicen". Una persona hace algo para que esas cosas ocurran.

| Patrón | Problema | Reescritura |
|---|---|---|
| "los datos nos dicen que..." | Los datos no hablan; alguien los lee | "Al revisar los logs vi que..." |
| "la decisión emergió" | Las decisiones no emergen | "El equipo decidió que..." |
| "la queja se transformó en un arreglo" | La queja no hizo nada | "El equipo arregló el bug esa semana" |
| "el mercado recompensa" | Los mercados no recompensan | "Los clientes pagaron por..." |
| "la cultura se desplaza hacia" | Las culturas no se desplazan solas | "El equipo cambió cómo..." |
| "la conversación se mueve hacia" | Las conversaciones no se mueven | "Alguien redirigió la discusión hacia..." |
| "el código se autoexplica" | El código no explica | "El lector entiende el código sin comentarios" |

**Regla**: si una cosa inanimada es sujeto de un verbo humano (decir,
decidir, querer, transformar, moverse), buscar al humano real. Si no hay
uno específico, usar "tú" para poner al lector en el lugar de la acción.

### Voz de narrador-distancia

Flotar sobre la escena en vez de poner al lector dentro. Aleja, no acerca.

| Patrón | Reescritura |
|---|---|
| "Nadie diseñó esto" | "Tú no te sientas un día a decidir..." |
| "Esto pasa porque..." | "Cuando X ocurre, tú ves Y" |
| "La gente tiende a..." | "Si has trabajado en X, sabes que..." |
| "Es común que los equipos..." | "Los equipos de SIGAF caen en..." |

**Regla**: cambiar tercera persona genérica ("la gente", "los equipos",
"nadie", "uno") por segunda persona ("tú") con escenario concreto, o por
nombres específicos.

### Aperturas Wh-

Oraciones que empiezan con "Lo que", "Cómo", "Por qué", "Cuándo", "Dónde"
seguidas de cláusula explicativa son muletilla retórica. Reestructurar
para liderar con el sujeto o el verbo real.

| Patrón | Reescritura |
|---|---|
| "Lo que hace difícil esto es X" | "La restricción es X" o nombrar X directamente |
| "Por qué importa esto: ..." | Quitar la pregunta y afirmar el por qué |
| "Cómo funciona: ..." | "El flujo es: ..." o describir el flujo sin anuncio |
| "Cuándo aplica X..." | "X aplica cuando..." |

Excepción: títulos de sección H2/H3 que sí preguntan ("Cuándo cargar") son
estructura legítima de skill, no muletilla retórica.

### Frases relleno

- "Es importante notar que" → (solo afirmarlo)
- "En términos de" → (reescribir)
- "La realidad es que" → (cortar o afirmar directo)
- "De cierta manera" / "En cierta forma" → cortar
- "Por así decirlo" → cortar

### Conclusiones genéricas

"El futuro es prometedor", "Solo el tiempo dirá", "Una cosa es clara",
"A medida que avancemos", "Queda mucho camino por recorrer" — relleno
disfrazado de conclusión. Cortar. Si la pieza necesita cierre, hacerlo
específico al argumento.

### Artefactos de chatbot

"¡Espero que esto ayude!", "¡Por supuesto!", "¡Claro!", "¡Excelente pregunta!",
"¡No dudes en contactarme!", "Déjame saber si necesitas algo más", "¡Con gusto!",
"¡Con todo gusto!" — tics conversacionales de interfaces de chat. Remover.

También: "En este artículo, exploraremos..." / "¡Adentrémonos!" → meta-narración
generada. Cortar o reescribir con apertura directa.

### Construcciones "Vamos a / Exploremos"

"Exploremos", "Veamos", "Analicemos", "Desglosemos" — IA usa "vamos/mos" como
apertura falso-colaborativa. Es relleno que demora el punto real. Empezar
con el punto.

### Name-dropping de notoriedad

Citas prestigiosas apiladas para fabricar credibilidad: "citado en El País, BBC,
Financial Times y The Hindu". Una referencia específica con contexto vence a
cuatro name-drops: "En una entrevista de 2024 con El País, ella argumentó...".

### Análisis superficiales con gerundio

Cadenas de gerundios como pseudo-análisis: "simbolizando el compromiso de la
región con el progreso, reflejando décadas de inversión, y mostrando una nueva
era de colaboración". No dicen nada. Remplazar con hechos específicos o cortar.

### Lenguaje promocional

IA usa prosa de folleto turístico: "enclavado en los pintorescos valles",
"un hub vibrante de innovación", "un ecosistema próspero". Remplazar con
descripción llana: "es una ciudad en la región X", "tiene 12 startups".

### Desafíos formulaicos

"A pesar de los desafíos, [X] sigue prosperando" / "Aunque enfrenta
obstáculos, [Y] se mantiene firme". No dice nada. Nombrar el desafío real
y la respuesta real, o cortar.

### Rangos falsos

IA crea amplitud falsa emparejando extremos no relacionados: "del Big Bang a
la materia oscura", "de civilizaciones antiguas a startups modernas". Suenan
abarcadores pero no dicen nada. Listar los temas reales o elegir el que importa.

### Encabezados en "Title Case" (mayúsculas cada palabra)

IA sobre-capitaliza: "Estrategias De Negocio Y Alianzas Clave" en vez de
"Estrategias de negocio y alianzas clave". Español usa mayúscula en la
primera palabra y sustantivos propios; no en cada palabra. Aplicar SIEMPRE
case de oración.

### Disclaimers de corte de conocimiento

"Según la información disponible", "Hasta mi última actualización", "No
tengo acceso a datos en tiempo real". Limitaciones del modelo que se filtran
en la prosa. Investigar el dato o cortar. NUNCA publicar una oración que
admite que quien escribió no se fijó.

### Inflación de novedad

IA trata conceptos establecidos como si el hablante los hubiera inventado:
"introdujo un término", "acuñó la frase", "un concepto que nadie nombra".
La mayoría de ideas son aplicaciones de conceptos existentes.

Arreglo: describir qué *hizo* la persona con el concepto, no que lo descubrió.
"Michel explicó cómo funciona el envenenamiento de contexto en la práctica"
en vez de "Michel introdujo un término que no había escuchado: envenenamiento
de contexto".

Patrones relacionados a marcar: "el modo de falla que nadie nombra", "el
problema del que nadie habla", "la clave que todos se pierden", "lo que nadie
te dice sobre X". Son framings para atraer engagement fingiendo escasez
de conocimiento.

### Emoción plana

IA declara emociones como muleta estructural sin transmitirlas: "lo que más
me sorprendió", "me fascinó descubrir", "lo que me llamó la atención".

Arreglo: si algo es genuinamente sorprendente, el lector debe sentirlo desde
el contenido. Si afirmas la emoción, la prosa alrededor debe ganársela. Si no,
cortar la declaración y presentar la cosa directamente.

### Estructura de falsa concesión

"Aunque X es impresionante, Y sigue siendo un reto" / "Si bien X ha avanzado,
Y aún está pendiente". IA usa esto para sonar balanceada sin sopesar nada.
Ambas mitades son vagas. Concretar la concesión o tomar partido.

### Preguntas retóricas como apertura

"¿Pero qué significa esto para los desarrolladores?" / "¿Por qué debería
importarte?" / "¿Qué sigue?" → IA usa preguntas retóricas para demorar el
punto real. Si sabes la respuesta, darla.

### Hedging entre paréntesis

"(y, cada vez más, Z)" / "(o, más precisamente, Y)" / "(y, quizás más
importante, W)" → IA inserta asides entre paréntesis para sonar con matices
sin comprometerse. Si el aside importa, oración propia. Si no, cortar.

### Inflación de listas numeradas

"Tres conclusiones clave" / "Cinco cosas que saber" / "Aquí las principales
siete" → IA default a listas numeradas porque son estructuralmente seguras.
Solo usar cuando hay esa cantidad de items discretos y paralelos.

### Artefactos de cadena de razonamiento

"Pensemos paso a paso", "Desglosando esto", "Para abordar esto
sistemáticamente", "Paso 1:", "Primero, consideremos" → artefactos de
chain-of-thought filtrándose en prosa publicada. El lector no necesita ver
el andamiaje. Afirmar la conclusión, luego la evidencia.

### Tono adulador

"¡Excelente pregunta!", "¡Excelente punto!", "Tienes toda la razón",
"¡Qué observación tan perspicaz!" → recompensas conversacionales de
interfaces de chat. Remover.

### Bucles de reconocimiento

"Estás preguntando sobre", "La cuestión de si", "Para responder tu pregunta",
"Esa es una gran pregunta. La..." → IA reformula el prompt antes de responder.
En escritura, es puro relleno. El lector sabe qué preguntó. Responder.

### Frases de calibración de confianza

"Cabe señalar que", "Interesantemente", "Sorprendentemente", "Importantemente",
"Notablemente", "Ciertamente", "Sin duda", "Indudablemente" → IA usa estas
para señalar cómo el lector debe sentirse sobre un hecho en vez de dejar que
el hecho hable. Un "notablemente" en 2,000 palabras es tolerable. Tres en
500 es apilamiento de énfasis al estilo IA.

### Estructura excesiva

- Demasiados headers en texto corto: más de 3 headings en <300 palabras casi
  siempre es IA intentando verse organizada.
- Demasiadas viñetas: 8+ bullets en <200 palabras = el contenido debería ser
  párrafo.
- Headers formulaicos: "Resumen", "Puntos clave", "Conclusión", "Introducción"
  → scaffolding default de IA. Usar headers que digan algo específico.

### Ritmo y uniformidad

Estos no son problemas de palabra individual — son patrones de cómo fluye
el texto.

**La estructura es la señal #1 de detección de IA.** Consistencia en
construcción de oraciones, pacing uniforme y simetría son más difíciles de
enmascarar que cambiar palabras marcadas. Si arreglas todo el Tier 1 pero
dejas el ritmo intacto, el texto sigue leyéndose como IA.

- **Uniformidad de longitud de oraciones**: si la mayoría miden 15–25
  palabras, suena robótico. Mezclar oraciones cortas (3–8 palabras) con
  largas (20+). Los fragmentos funcionan.
- **Uniformidad de párrafos**: si cada párrafo es 3–5 oraciones y mismo
  tamaño, variar deliberadamente. Algunos deben ser una oración; otros
  más largos.
- **Repetición vs. ciclado**: IA o repite mecánicamente o cicla sinónimos
  conspicuamente. Escritores humanos repiten cuando la palabra es correcta
  y varían cuando es natural — no hay fórmula.
- **Prueba de lectura en voz alta**: si el texto podría ser leído por TTS
  sin sonar raro, probablemente es demasiado uniforme.
- **Falta de primera persona (donde aplica)**: donde es apropiado, el escritor
  debe tener opiniones, preferencias, reacciones. IA es relentlessmente neutral.
  En prosa que debe tener voz, la ausencia de "creo que", "en mi experiencia"
  es ella misma una señal de IA.
- **Sobre-pulido**: editar agresivamente cada irregularidad empuja el texto
  humano *hacia* el perfil estadístico de IA. Disfluencia natural, opciones
  idiosincráticas de palabras y pacing disparejo son lo que mantiene el
  texto fuera de la clasificación "AI-generated". **No pulir hasta eliminar
  toda personalidad.**

### Cuándo reescribir desde cero vs. parchar

Si el texto tiene 5+ hits de vocabulario en múltiples categorías, 3+
categorías de patrón distintas y longitud uniforme de oración/párrafo,
parchar frases individuales no arreglará — la estructura misma es IA-generada.
Recomendar reescritura completa: declarar el punto central en una oración,
reconstruir desde ahí.

---

## Tiers de severidad

Al hacer pasada rápida o triage de documento grande, priorizar por tier:

### P0 — Mata credibilidad (arreglar de inmediato)
- Disclaimers de corte ("Según mi última actualización")
- Artefactos de chatbot ("¡Espero que esto ayude!", "¡Por supuesto!")
- Atribuciones vagas sin fuente ("Los expertos creen")
- Inflación significativa en eventos rutinarios

### P1 — Olor obvio a IA (arreglar antes de publicar)
- Violaciones de tabla de vocabulario (adentrarse, aprovechar, robusto, etc.)
- Frases plantilla y construcciones slot-fill
- Aperturas con "exploremos/veamos"
- Ciclado de sinónimos dentro de un párrafo
- Aperturas formulaicas ("En el mundo en constante evolución de...")
- Sobre-uso de negritas
- Frecuencia de em dash (arriba de 1 por 1,000 palabras)

### P2 — Pulido estilístico (arreglar si hay tiempo)
- Conclusiones genéricas ("El futuro es prometedor")
- Regla de tres compulsiva
- Uniformidad de párrafo
- Evitación de cópula (sirve como, cuenta con, ostenta)
- Transiciones formulaicas (Además, Adicionalmente, Por otra parte)

Pasadas rápidas: P0+P1. Auditoría completa: los tres tiers.

---

## Detector automatizado (v1.1.0)

El script `scripts/detectar_aiisms.py` automatiza el modo `detect` con
patrones es-MX alineados a la tabla de reemplazos Tier 1 del propio
SKILL.md. Cobertura aproximada: 35-40% de los patrones detectables por
regex (el resto requiere juicio semántico — para eso está el modo
`rewrite` del skill).

**Requisitos:** Python 3.10+, solo stdlib (sin dependencias externas).

**Uso:**

```bash
# Modo detect (default) — lista hallazgos con línea y snippet
echo "$TEXTO" | python habilidades/estilo-sin-ai-isms/scripts/detectar_aiisms.py

# Modo metrics — solo resumen cuantitativo
echo "$TEXTO" | python scripts/detectar_aiisms.py --modo metrics

# Salida JSON estructurada para CI/orquestación
echo "$TEXTO" | python scripts/detectar_aiisms.py --json

# Lectura desde archivo
python scripts/detectar_aiisms.py --archivo RESUMEN.md
```

**Exit codes:**

- `0` — texto OK (sin P0; P1/P2 tolerables)
- `1` — al menos un P0 detectado (BLOQUEA publicación)
- `2` — error de lectura/parsing

**Enmascaramiento de citas (intocables):** el detector respeta texto
entre comillas dobles (`"..."`), bloques de código triple-backtick
(` ``` `) y code spans (`` ` ``) — los reemplaza por espacios antes de
buscar patrones. Esto resuelve falsos positivos cuando un documento cita
normativa, API o ejemplos ilustrativos:

```text
La regla dice: "es importante señalar que el sistema debe validar".
```

La frase `"es importante señalar"` NO se marca como P0 porque es cita
textual, no prosa del autor.

**Heurística de probabilidad agregada:**

| Condición | probabilidad_generacion_llm |
|---|---|
| p0_count ≥ 1 | `muy_alta` |
| densidad ≥ 2.0 por párrafo | `alta` |
| densidad ≥ 1.0 o p1_count ≥ 5 | `media` |
| hallazgos > 0 con densidad baja | `baja` |
| Sin hallazgos | `muy_baja` |

**Contrato JSON estable (`_version_contrato: "1.0"`):**

```json
{
  "_version_contrato": "1.0",
  "p0_count": 3,
  "p1_count": 7,
  "p2_count": 1,
  "parrafos": 4,
  "palabras": 62,
  "densidad_aiism": 2.75,
  "probabilidad_generacion_llm": "muy_alta",
  "hallazgos": [
    {
      "severidad": "P0",
      "categoria": "preambulo_cortesia",
      "linea": 1,
      "texto": "Claro, con gusto respondo..."
    }
  ]
}
```

**Uso en pipelines:**

- Pre-commit / CI: bloquear commits de `.md` cuando `exit != 0`.
- `/swl:release`: validar notas de release antes de publicar.
- `/swl:aprender`: auditar APRENDIZAJES.md antes de consolidar.
- `verificar-release.js`: integración opt-in vía variable de entorno.

**Limitaciones conocidas:**

- No detecta uniformidad rítmica ni sobrepulido (requiere análisis
  semántico fuera de alcance de regex).
- No aplica Tier 2/3 con lógica de densidad cross-párrafo (solo
  categorías individuales).
- El modo `rewrite` del skill NO está automatizado — el script solo
  marca; la reescritura requiere LLM.
- Origen: adaptado selectivamente del detector v2.1 del ecosistema
  EMAIA (OIC-INE); los ejemplos específicos de auditoría gubernamental
  fueron descartados por filtro de dominio SWL.

---

## Escape: auto-referencia

Cuando escribas *sobre* AI-isms (como este mismo skill), los ejemplos citados
son exentos de marcar. Texto entre comillas, bloques de código, o explícitamente
marcado como ilustrativo ("por ejemplo, IA podría escribir...") no se reescribe.
Solo marcar patrones en prosa propia del autor, no en ejemplos citados.

---

## Perfiles de contexto

Si no se especifica, auto-detectar: código + "commit" = `commit-msg`; docs +
CLAUDE.md/README = `docs`; discusión técnica = `technical-blog`.

### Definiciones

- **`swl-docs`** (default del sistema): documentación interna SWL, ADRs,
  RESUMEN.md, VERIFICACION.md, PLAN.md. Todas las reglas en full strictness.
  Prioridad: precisión técnica + concisión.
- **`commit-msg`**: mensajes de commit. Extra strict en concisión; permitir
  fragmentos técnicos; saltar reglas de uniformidad (son cortos de por sí).
- **`adr`**: Architecture Decision Records. Full strictness en todas las
  reglas; extra strict en evitación de cópula y conclusiones genéricas.
- **`skill-md`**: contenido de SKILL.md nuevo. Full strictness; extra strict
  en estructura excesiva (las skills deben ser densas).
- **`technical-blog`**: post técnico largo. Términos técnicos pasan; ver
  exceptions abajo.
- **`casual`**: mensajes internos. Solo P0.

### Matriz de tolerancia

| Regla | swl-docs | commit-msg | adr | skill-md | technical-blog | casual |
|---|---|---|---|---|---|---|
| Em dashes | strict | strict | strict | strict | strict | skip |
| Negrita excesiva | strict | skip | strict | strict | strict | skip |
| Emojis en headers | strict | strict | strict | strict | strict | skip |
| Viñetas excesivas | strict | skip | strict | strict | relaxed | skip |
| Hedging | strict | strict | strict | strict | relaxed | skip |
| Tabla de palabras completa | strict | strict | strict | strict | **parcial** | P0 only |
| Lenguaje promocional | strict | strict | **extra strict** | strict | strict | skip |
| Inflación significativa | strict | strict | **extra strict** | strict | strict | skip |
| Evitación de cópula | strict | skip | **extra strict** | strict | relaxed | skip |
| Uniformidad de párrafo | strict | skip | strict | strict | strict | skip |
| Preguntas retóricas | strict | strict | strict | strict | strict | skip |
| Transiciones | strict | skip | strict | strict | strict | skip |
| Conclusiones genéricas | strict | skip | **extra strict** | strict | strict | skip |

**Excepciones de `technical-blog`**: `robusto`, `integral`, `sin fisuras`,
`ecosistema`, `aprovechar` (cuando se habla de aprovechar una API real),
`facilitar`, `sustentar` — permitidos en contexto técnico. Siempre marcar:
`adentrarse`, `tapiz`, `faro`, `embarcarse`, `revolucionario`, `aprovechar`
(metafórico).

---

## Formato de salida

### Modo `rewrite` (default)

Responder en **cuatro secciones**:

**1. Issues encontrados**
Lista con viñetas de cada AI-ism identificado, citando el texto ofensor.

**2. Versión reescrita**
Contenido completo reescrito. Preservar estructura original, intención y
todos los detalles técnicos específicos. Solo cambiar lo que las reglas
requieren.

**3. Qué cambió**
Resumen breve de las ediciones mayores. No cada palabra, solo los cambios
significativos.

**4. Auditoría de segunda pasada**
Re-leer la reescritura de la sección 2. Identificar cualquier AI-ism
sobreviviente: transiciones reciclades, inflación que quedó, evitación de
cópula, frases relleno. Corregir in-line y notar qué cambió en esta pasada.
Si la reescritura está limpia, decirlo.

### Modo `detect`

Responder en **dos secciones**:

**1. Issues encontrados**
Lista con viñetas de cada AI-ism identificado, citando el texto. Agrupar
por severidad (P0, P1, P2).

**2. Evaluación**
Para cada flag, notar si es problema claro o llamada de juicio. Algunos
patrones asociados a IA son técnicas efectivas en contexto. Decir cuáles
definitivamente arreglar vs. cuáles valen segunda mirada pero pueden estar
bien. Si el texto está limpio, decirlo.

---

## Calibración de tono

La meta: escritura que suene a persona escribiendo. Directa. Específica.
La prosa debe *demostrar* confianza, no afirmarla.

Cinco principios para reescrituras que suenan humanas:

1. **Variar longitud de oración** — mezclar corto con largo. Fragmentos ok.
2. **Ser concreto** — remplazar claims vagos con números, nombres, fechas, ejemplos.
3. **Tener voz** — donde aplique, primera persona, preferencias, reacciones.
4. **Cortar la neutralidad** — los humanos tienen opiniones. Si la pieza debe
   tomar postura, tomarla.
5. **Ganarse el énfasis** — no decirle al lector que algo es interesante.
   Hacerlo interesante.

Si el original ya es fuerte, decirlo y hacer solo los cortes necesarios.
No sobre-editar por deporte.

**La tabla de reemplazos da defaults, no mandatos.** Si una palabra marcada
es claramente la correcta en contexto, preservarla.

---

## Integración con SWL

- **`documentador-swl`**: cargar antes de escribir docs, ADRs, READMEs.
- **`consolidador-swl`**: cargar antes de resumir fase.
- **`/swl:aprender`**: pasada obligatoria al final.
- **`/swl:release`**: auditar notas de release antes de publicar.
- **`reglas/brevedad-output.md`**: regla general de brevedad; esta skill es
  el mecanismo específico y testable.

---

## Lo que esta skill NO hace

- **No reescribe código** — solo prosa.
- **No traduce** — opera dentro de un mismo idioma (es-MX).
- **No valida gramática normativa** — asume texto ya está bien escrito;
  detecta patrones de generación por IA, no errores ortográficos.
- **No sustituye revisión humana** — asiste, no decide.

---

## Origen y licencia

Este skill adapta y expande al español de México el skill original
`avoid-ai-writing` de **Conor Bronsdon** (MIT License), cuyos 36 categorías
de patrones y estructura de modos/severidad/perfiles son la base intelectual
de este documento. La tabla de reemplazos en español es trabajo propio —
los AI-isms del inglés no traducen literal.

Repo origen: https://github.com/conorbronsdon/avoid-ai-writing

## Cuándo NO cargar

- El texto a procesar es código fuente, JSON, YAML, CSV, logs, trazas, schemas o salida de comandos CLI — este skill solo opera sobre prosa en español destinada a lectores humanos; en texto técnico determinista los patrones de AI-ism no aplican.
- El objetivo es reducir verbosidad o eliminar repetición en output entre agentes — eso es `brevedad-output.md`; este skill detecta marcadores semánticos de generación IA (inflación de vocabulario, AI-isms), no volumen de tokens.
- El texto fue aprobado explícitamente por el usuario en esta sesión — re-auditar introduce modificaciones sobre prosa que ya pasó revisión humana.
- El objetivo es corregir ortografía, gramática o traducir entre idiomas — este skill asume texto bien escrito y no realiza corrección gramatical.

## Gotchas / Errores comunes no obvios

- **Modo `rewrite` aplicado a documentación técnica con términos marcados que son correctos en contexto**: el agente reemplaza "robusto" por "estable" en una sección de arquitectura donde "robusto" es la palabra técnica exacta. Causa: la tabla de reemplazos da defaults, no mandatos — el skill especifica "si una palabra marcada es claramente la correcta en contexto, preservarla". Solución: al reescribir, verificar si la palabra marcada tiene un reemplazo más preciso; si no existe un sustituto más específico en el contexto técnico, dejarla.
- **Segunda pasada de auditoría omitida en modo `rewrite`**: la reescritura pasa P0 y P1 pero deja transiciones recicladas ("Por otra parte", "Además") sin corregir. Causa: solo se hace una pasada de edición. Solución: el modo `rewrite` define explícitamente 4 secciones de output; la sección 4 es la "Auditoría de segunda pasada" — omitirla viola el protocolo del skill y es el momento donde se capturan los patrones que sobrevivieron la primera edición.
- **AI-isms en ejemplos citados marcados como problemas**: el agente marca como error "adentrarse" cuando aparece en un bloque de ejemplo ilustrativo de cómo NO escribir. Causa: no aplicar la cláusula de escape "auto-referencia" del skill. Solución: texto entre comillas, en bloques de código o marcado explícitamente como ilustrativo ("por ejemplo, IA podría escribir...") está exento — solo se audita prosa propia del autor.
- **Perfil `swl-docs` aplicado a mensaje de commit corto**: el agente aplica la matrix completa de reglas (viñetas, uniformidad de párrafo, regla de tres) a un commit de una sola línea. Causa: no detectar automáticamente el contexto `commit-msg`. Solución: el skill define detección automática de perfil — texto con "commit" en contexto o < 72 caracteres activa `commit-msg` con extra-strict en concisión y skip en reglas de uniformidad de párrafo.
