@saulwade/swl-ses 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (702) hide show
  1. package/CLAUDE.md +238 -0
  2. package/README.md +560 -0
  3. package/_userland/agentes/.gitkeep +0 -0
  4. package/_userland/habilidades/.gitkeep +0 -0
  5. package/agentes/.evolved.json +9 -0
  6. package/agentes/accesibilidad-wcag-swl.md +692 -0
  7. package/agentes/arquitecto-swl.md +238 -0
  8. package/agentes/auto-evolucion-swl.md +854 -0
  9. package/agentes/backend-api-swl.md +470 -0
  10. package/agentes/backend-csharp-swl.md +418 -0
  11. package/agentes/backend-go-swl.md +388 -0
  12. package/agentes/backend-java-swl.md +279 -0
  13. package/agentes/backend-node-swl.md +477 -0
  14. package/agentes/backend-python-swl.md +608 -0
  15. package/agentes/backend-rust-swl.md +362 -0
  16. package/agentes/backend-workers-swl.md +480 -0
  17. package/agentes/cloud-infra-swl.md +485 -0
  18. package/agentes/consolidador-swl.md +539 -0
  19. package/agentes/datos-swl.md +584 -0
  20. package/agentes/depurador-swl.md +349 -0
  21. package/agentes/devops-ci-swl.md +374 -0
  22. package/agentes/disenador-ui-swl.md +558 -0
  23. package/agentes/documentador-swl.md +343 -0
  24. package/agentes/evals/arquitecto-swl.evals.json +56 -0
  25. package/agentes/evals/auto-evolucion-swl.evals.json +68 -0
  26. package/agentes/evals/implementador-swl.evals.json +56 -0
  27. package/agentes/evals/orquestador-swl.evals.json +60 -0
  28. package/agentes/evals/perfilador-usuario-swl.evals.json +60 -0
  29. package/agentes/evals/red-team-swl.evals.json +59 -0
  30. package/agentes/evals/revisor-codigo-swl.evals.json +59 -0
  31. package/agentes/frontend-angular-swl.md +627 -0
  32. package/agentes/frontend-css-swl.md +720 -0
  33. package/agentes/frontend-react-swl.md +696 -0
  34. package/agentes/frontend-swl.md +500 -0
  35. package/agentes/frontend-tailwind-swl.md +830 -0
  36. package/agentes/implementador-swl.md +328 -0
  37. package/agentes/investigador-swl.md +430 -0
  38. package/agentes/investigador-ux-swl.md +500 -0
  39. package/agentes/llm-apps-swl.md +276 -0
  40. package/agentes/migrador-swl.md +417 -0
  41. package/agentes/mobile-android-swl.md +509 -0
  42. package/agentes/mobile-cross-swl.md +539 -0
  43. package/agentes/mobile-ios-swl.md +500 -0
  44. package/agentes/mobile-testing-swl.md +300 -0
  45. package/agentes/notificador-swl.md +916 -0
  46. package/agentes/observabilidad-swl.md +436 -0
  47. package/agentes/orquestador-swl.md +884 -0
  48. package/agentes/pagos-swl.md +283 -0
  49. package/agentes/perfilador-usuario-swl.md +306 -0
  50. package/agentes/planificador-swl.md +402 -0
  51. package/agentes/producto-prd-swl.md +587 -0
  52. package/agentes/red-team-swl.md +216 -0
  53. package/agentes/release-manager-swl.md +568 -0
  54. package/agentes/rendimiento-swl.md +714 -0
  55. package/agentes/resolutor-build-swl.md +243 -0
  56. package/agentes/revisor-angular-swl.md +276 -0
  57. package/agentes/revisor-codigo-swl.md +348 -0
  58. package/agentes/revisor-csharp-swl.md +262 -0
  59. package/agentes/revisor-go-swl.md +257 -0
  60. package/agentes/revisor-java-swl.md +255 -0
  61. package/agentes/revisor-kotlin-swl.md +271 -0
  62. package/agentes/revisor-nextjs-swl.md +279 -0
  63. package/agentes/revisor-php-swl.md +269 -0
  64. package/agentes/revisor-react-swl.md +276 -0
  65. package/agentes/revisor-rust-swl.md +344 -0
  66. package/agentes/revisor-seguridad-swl.md +390 -0
  67. package/agentes/revisor-swift-swl.md +266 -0
  68. package/agentes/revisor-typescript-swl.md +344 -0
  69. package/agentes/sre-swl.md +265 -0
  70. package/agentes/tdd-qa-swl.md +354 -0
  71. package/agentes/ux-disenador-swl.md +501 -0
  72. package/bin/lib/bot-comandos.js +1030 -0
  73. package/bin/lib/bot-discovery.js +182 -0
  74. package/bin/lib/bot-git.js +142 -0
  75. package/bin/swl-ses.js +325 -0
  76. package/bin/swl-telegram-bot.js +442 -0
  77. package/bin/swl-telegram-bot.plist +21 -0
  78. package/bin/swl-telegram-bot.service +14 -0
  79. package/comandos/swl/.evolved.json +23 -0
  80. package/comandos/swl/actualizar.md +174 -0
  81. package/comandos/swl/adoptar-proyecto.md +207 -0
  82. package/comandos/swl/aprender.md +701 -0
  83. package/comandos/swl/auditar-deps.md +134 -0
  84. package/comandos/swl/autoresearch.md +170 -0
  85. package/comandos/swl/ayuda.md +224 -0
  86. package/comandos/swl/brainstorm.md +50 -0
  87. package/comandos/swl/checkpoint.md +330 -0
  88. package/comandos/swl/compactar.md +283 -0
  89. package/comandos/swl/configurar-ci.md +227 -0
  90. package/comandos/swl/contexto.md +112 -0
  91. package/comandos/swl/contribuir.md +233 -0
  92. package/comandos/swl/crear-skill.md +292 -0
  93. package/comandos/swl/cron.md +196 -0
  94. package/comandos/swl/dashboard.md +146 -0
  95. package/comandos/swl/discutir-fase.md +230 -0
  96. package/comandos/swl/ejecutar-fase.md +135 -0
  97. package/comandos/swl/evaluar-skill.md +487 -0
  98. package/comandos/swl/evolucion-estado.md +142 -0
  99. package/comandos/swl/evolucionar.md +259 -0
  100. package/comandos/swl/exportar-vault.md +189 -0
  101. package/comandos/swl/gateway.md +158 -0
  102. package/comandos/swl/inbox.md +116 -0
  103. package/comandos/swl/instalar.md +220 -0
  104. package/comandos/swl/instintos.md +86 -0
  105. package/comandos/swl/mapear-codebase.md +312 -0
  106. package/comandos/swl/mcp-status.md +175 -0
  107. package/comandos/swl/metricas.md +270 -0
  108. package/comandos/swl/modelo.md +102 -0
  109. package/comandos/swl/notificaciones.md +396 -0
  110. package/comandos/swl/nuevo-proyecto.md +154 -0
  111. package/comandos/swl/planear-fase.md +221 -0
  112. package/comandos/swl/plugins.md +256 -0
  113. package/comandos/swl/reflect-skills.md +125 -0
  114. package/comandos/swl/release.md +217 -0
  115. package/comandos/swl/revisar-impacto.md +206 -0
  116. package/comandos/swl/revisar.md +330 -0
  117. package/comandos/swl/salud.md +363 -0
  118. package/comandos/swl/sesiones.md +200 -0
  119. package/comandos/swl/skill-search.md +113 -0
  120. package/comandos/swl/verificar.md +585 -0
  121. package/comandos/swl/wiki.md +620 -0
  122. package/contextos/dev.md +32 -0
  123. package/contextos/research.md +30 -0
  124. package/contextos/review.md +31 -0
  125. package/habilidades/accesibilidad-a11y/SKILL.md +201 -0
  126. package/habilidades/accesibilidad-a11y/evals/evals.json +56 -0
  127. package/habilidades/accesibilidad-a11y/recursos/ejemplos-y-checklist-completo.md +441 -0
  128. package/habilidades/agent-browser/SKILL.md +218 -0
  129. package/habilidades/agentes-como-servicio/SKILL.md +218 -0
  130. package/habilidades/ai-runtime-security/SKILL.md +273 -0
  131. package/habilidades/angular-avanzado/SKILL.md +164 -0
  132. package/habilidades/angular-avanzado/recursos/ejemplos-avanzados.md +219 -0
  133. package/habilidades/angular-moderno/SKILL.md +186 -0
  134. package/habilidades/angular-moderno/evals/evals.json +45 -0
  135. package/habilidades/angular-moderno/recursos/ejemplos-avanzados.md +106 -0
  136. package/habilidades/api-rest-diseno/SKILL.md +191 -0
  137. package/habilidades/api-rest-diseno/recursos/openapi-template.yaml +506 -0
  138. package/habilidades/api-rest-diseno/recursos/referencia-api.md +140 -0
  139. package/habilidades/aprendizaje-continuo/SKILL.md +151 -0
  140. package/habilidades/aprendizaje-continuo/evals/evals.json +53 -0
  141. package/habilidades/aprendizaje-continuo/recursos/referencia-instintos.md +290 -0
  142. package/habilidades/async-python/SKILL.md +149 -0
  143. package/habilidades/async-python/evals/evals.json +47 -0
  144. package/habilidades/async-python/recursos/patrones-y-ejemplos-completos.md +292 -0
  145. package/habilidades/auth-patrones/.evolved.json +9 -0
  146. package/habilidades/auth-patrones/SKILL.md +413 -0
  147. package/habilidades/auth-patrones/recursos/implementaciones-completas.md +229 -0
  148. package/habilidades/auto-evolucion-protocolo/SKILL.md +276 -0
  149. package/habilidades/auto-evolucion-protocolo/evals/evals.json +55 -0
  150. package/habilidades/auto-evolucion-protocolo/recursos/referencia-completa.md +145 -0
  151. package/habilidades/autoresearch/SKILL.md +268 -0
  152. package/habilidades/autoresearch/evals/evals.json +41 -0
  153. package/habilidades/autoresearch/recursos/checklist-template.md +191 -0
  154. package/habilidades/autoresearch/scripts/calcular-score.js +88 -0
  155. package/habilidades/azure-cloud/SKILL.md +308 -0
  156. package/habilidades/azure-cloud/recursos/aks.md +327 -0
  157. package/habilidades/backend-mcp-servidor/SKILL.md +270 -0
  158. package/habilidades/backend-production-resilience/SKILL.md +288 -0
  159. package/habilidades/brainstorming/SKILL.md +295 -0
  160. package/habilidades/brainstorming/recursos/componentes-html.md +247 -0
  161. package/habilidades/build-errors-cpp/SKILL.md +270 -0
  162. package/habilidades/build-errors-csharp/SKILL.md +265 -0
  163. package/habilidades/build-errors-go/SKILL.md +306 -0
  164. package/habilidades/build-errors-java/SKILL.md +278 -0
  165. package/habilidades/build-errors-kotlin/SKILL.md +303 -0
  166. package/habilidades/build-errors-nextjs/SKILL.md +312 -0
  167. package/habilidades/build-errors-php/SKILL.md +270 -0
  168. package/habilidades/build-errors-python/SKILL.md +292 -0
  169. package/habilidades/build-errors-rust/SKILL.md +284 -0
  170. package/habilidades/build-errors-swift/SKILL.md +272 -0
  171. package/habilidades/build-errors-typescript/SKILL.md +369 -0
  172. package/habilidades/checklist-calidad/SKILL.md +271 -0
  173. package/habilidades/checklist-calidad/recursos/quality-report-template.md +148 -0
  174. package/habilidades/checklist-seguridad/SKILL.md +285 -0
  175. package/habilidades/checkpoints-verificacion/SKILL.md +298 -0
  176. package/habilidades/checkpoints-verificacion/recursos/checkpoint-templates.md +360 -0
  177. package/habilidades/ci-cd-pipelines/SKILL.md +157 -0
  178. package/habilidades/ci-cd-pipelines/recursos/github-actions-template.yaml +403 -0
  179. package/habilidades/ci-cd-pipelines/recursos/pipelines-completos.md +487 -0
  180. package/habilidades/cloud-aws/SKILL.md +142 -0
  181. package/habilidades/cloud-aws/recursos/servicios-aws-referencia.md +321 -0
  182. package/habilidades/compactacion-contexto/SKILL.md +247 -0
  183. package/habilidades/contenedores-docker/SKILL.md +137 -0
  184. package/habilidades/contenedores-docker/recursos/dockerfile-template.dockerfile +160 -0
  185. package/habilidades/contenedores-docker/recursos/ejemplos-y-configuraciones.md +327 -0
  186. package/habilidades/context-builder/SKILL.md +170 -0
  187. package/habilidades/control-profundidad/SKILL.md +128 -0
  188. package/habilidades/csharp-experto/SKILL.md +322 -0
  189. package/habilidades/csharp-patrones/SKILL.md +316 -0
  190. package/habilidades/csharp-testing/SKILL.md +286 -0
  191. package/habilidades/css-moderno/SKILL.md +166 -0
  192. package/habilidades/css-moderno/evals/evals.json +43 -0
  193. package/habilidades/css-moderno/recursos/ejemplos-y-patrones-completos.md +337 -0
  194. package/habilidades/datos-etl/SKILL.md +129 -0
  195. package/habilidades/datos-etl/recursos/implementaciones-completas.md +322 -0
  196. package/habilidades/dbml-experto/SKILL.md +339 -0
  197. package/habilidades/dbml-experto/evals/evals.json +56 -0
  198. package/habilidades/dependencias-auditoria/SKILL.md +320 -0
  199. package/habilidades/deprecacion-migracion/SKILL.md +169 -0
  200. package/habilidades/deprecacion-migracion/recursos/implementaciones-completas.md +220 -0
  201. package/habilidades/design-tokens/SKILL.md +158 -0
  202. package/habilidades/design-tokens/recursos/tokens-y-configuracion.md +363 -0
  203. package/habilidades/devsecops-pipeline-security/SKILL.md +309 -0
  204. package/habilidades/diagrama-arquitectura/SKILL.md +165 -0
  205. package/habilidades/diagrama-arquitectura/assets/template.html +276 -0
  206. package/habilidades/discutir-fase/SKILL.md +188 -0
  207. package/habilidades/diseno-herramientas-agente/SKILL.md +199 -0
  208. package/habilidades/diseno-responsivo/SKILL.md +186 -0
  209. package/habilidades/diseno-responsivo/recursos/ejemplos-layouts.md +156 -0
  210. package/habilidades/django-experto/SKILL.md +205 -0
  211. package/habilidades/django-experto/recursos/async-django.md +390 -0
  212. package/habilidades/django-experto/recursos/drf-patrones.md +438 -0
  213. package/habilidades/django-experto/recursos/orm-avanzado.md +382 -0
  214. package/habilidades/django-experto/recursos/referencia-completa.md +188 -0
  215. package/habilidades/django-experto/recursos/testing-django.md +415 -0
  216. package/habilidades/doc-sync/SKILL.md +280 -0
  217. package/habilidades/drift-detection/SKILL.md +179 -0
  218. package/habilidades/ejecutar-fase/SKILL.md +468 -0
  219. package/habilidades/estilo-sin-ai-isms/SKILL.md +775 -0
  220. package/habilidades/estilo-sin-ai-isms/evals/evals.json +63 -0
  221. package/habilidades/estilo-sin-ai-isms/scripts/detectar_aiisms.py +500 -0
  222. package/habilidades/estructura-proyecto-claude/SKILL.md +215 -0
  223. package/habilidades/estructura-proyecto-claude/recursos/claude-md-template.md +261 -0
  224. package/habilidades/estructura-proyecto-claude/recursos/configuracion-y-extensiones.md +176 -0
  225. package/habilidades/estructura-proyecto-claude/recursos/frontmatter-y-hooks-referencia.md +289 -0
  226. package/habilidades/estructura-proyecto-claude/recursos/mcp-json-template.json +77 -0
  227. package/habilidades/estructura-proyecto-claude/recursos/variantes-por-stack.md +177 -0
  228. package/habilidades/evaluacion-agentes/SKILL.md +314 -0
  229. package/habilidades/event-driven/SKILL.md +153 -0
  230. package/habilidades/event-driven/recursos/implementaciones-completas.md +423 -0
  231. package/habilidades/extraccion-documentos/SKILL.md +221 -0
  232. package/habilidades/extractor-de-aprendizajes/.evolved.json +9 -0
  233. package/habilidades/extractor-de-aprendizajes/SKILL.md +311 -0
  234. package/habilidades/extractor-de-aprendizajes/evals/evals.json +55 -0
  235. package/habilidades/fastapi-experto/SKILL.md +221 -0
  236. package/habilidades/fastapi-experto/recursos/async-patterns.md +438 -0
  237. package/habilidades/fastapi-experto/recursos/dependency-injection.md +330 -0
  238. package/habilidades/fastapi-experto/recursos/referencia-completa.md +79 -0
  239. package/habilidades/fastapi-experto/recursos/testing-httpx.md +420 -0
  240. package/habilidades/filament-admin/SKILL.md +290 -0
  241. package/habilidades/frontend-avanzado/SKILL.md +257 -0
  242. package/habilidades/frontend-avanzado/recursos/apis-nativas-ejemplos.md +341 -0
  243. package/habilidades/gcp-cloud/SKILL.md +260 -0
  244. package/habilidades/gcp-cloud/recursos/gke.md +234 -0
  245. package/habilidades/gcp-cloud/recursos/terraform-gcp.md +307 -0
  246. package/habilidades/generacion-mermaid/SKILL.md +229 -0
  247. package/habilidades/git-worktrees-paralelo/SKILL.md +270 -0
  248. package/habilidades/go-experto/SKILL.md +305 -0
  249. package/habilidades/go-patrones/SKILL.md +299 -0
  250. package/habilidades/go-testing/SKILL.md +291 -0
  251. package/habilidades/graphql-experto/SKILL.md +323 -0
  252. package/habilidades/guardrail-semantico/SKILL.md +282 -0
  253. package/habilidades/harness-claude-code/SKILL.md +299 -0
  254. package/habilidades/iam-secretos/SKILL.md +265 -0
  255. package/habilidades/iam-secretos/recursos/implementaciones-completas.md +356 -0
  256. package/habilidades/infra-github-actions/SKILL.md +166 -0
  257. package/habilidades/instalar-sistema/.evolved.json +9 -0
  258. package/habilidades/instalar-sistema/SKILL.md +221 -0
  259. package/habilidades/java-experto/SKILL.md +290 -0
  260. package/habilidades/java-patrones/SKILL.md +275 -0
  261. package/habilidades/java-testing/SKILL.md +288 -0
  262. package/habilidades/kotlin-compose/SKILL.md +278 -0
  263. package/habilidades/kotlin-compose/recursos/animaciones-performance.md +93 -0
  264. package/habilidades/kotlin-experto/SKILL.md +318 -0
  265. package/habilidades/kotlin-testing/SKILL.md +267 -0
  266. package/habilidades/kotlin-testing/recursos/testing-avanzado.md +74 -0
  267. package/habilidades/kubernetes-orquestacion/SKILL.md +152 -0
  268. package/habilidades/kubernetes-orquestacion/recursos/manifiestos-completos.md +452 -0
  269. package/habilidades/langchain-langraph/SKILL.md +386 -0
  270. package/habilidades/langchain-langraph/recursos/evaluacion-rag.md +321 -0
  271. package/habilidades/langchain-langraph/recursos/rag-maturity-model.md +225 -0
  272. package/habilidades/langchain-langraph/recursos/vectorstores.md +306 -0
  273. package/habilidades/legacy-code-rescue/SKILL.md +267 -0
  274. package/habilidades/likec4-experto/SKILL.md +412 -0
  275. package/habilidades/likec4-experto/evals/evals.json +69 -0
  276. package/habilidades/manejo-errores/.evolved.json +9 -0
  277. package/habilidades/manejo-errores/SKILL.md +407 -0
  278. package/habilidades/manejo-errores/recursos/implementaciones-completas.md +248 -0
  279. package/habilidades/mapear-codebase/SKILL.md +275 -0
  280. package/habilidades/memoria-busqueda/SKILL.md +194 -0
  281. package/habilidades/memoria-busqueda/evals/evals.json +44 -0
  282. package/habilidades/meta-skills-estandar/SKILL.md +298 -0
  283. package/habilidades/meta-skills-estandar/recursos/anti-patrones-y-leyes.md +205 -0
  284. package/habilidades/meta-skills-estandar/recursos/frameworks-seguridad.md +107 -0
  285. package/habilidades/meta-skills-estandar/recursos/idiomas-framework.md +60 -0
  286. package/habilidades/meta-skills-estandar/recursos/skills-as-agents.md +163 -0
  287. package/habilidades/microservicios/SKILL.md +155 -0
  288. package/habilidades/microservicios/recursos/patrones-y-ejemplos-completos.md +325 -0
  289. package/habilidades/mobile-flutter/SKILL.md +199 -0
  290. package/habilidades/mobile-flutter/recursos/ejemplos-completos.md +319 -0
  291. package/habilidades/mobile-react-native/SKILL.md +176 -0
  292. package/habilidades/mobile-react-native/recursos/ejemplos-completos.md +216 -0
  293. package/habilidades/mongodb-experto/SKILL.md +302 -0
  294. package/habilidades/monitoring-alertas/SKILL.md +201 -0
  295. package/habilidades/monitoring-alertas/recursos/instrumentacion-y-alertas.md +301 -0
  296. package/habilidades/nestjs-experto/SKILL.md +307 -0
  297. package/habilidades/nestjs-experto/recursos/guards-interceptors.md +339 -0
  298. package/habilidades/nestjs-experto/recursos/modulos-di.md +287 -0
  299. package/habilidades/nestjs-experto/recursos/testing-nestjs.md +354 -0
  300. package/habilidades/nextjs-experto/SKILL.md +335 -0
  301. package/habilidades/nextjs-patrones/SKILL.md +303 -0
  302. package/habilidades/nextjs-testing/SKILL.md +331 -0
  303. package/habilidades/node-experto/.evolved.json +9 -0
  304. package/habilidades/node-experto/SKILL.md +266 -0
  305. package/habilidades/node-experto/recursos/patrones-completos.md +283 -0
  306. package/habilidades/notificaciones-multicanal/SKILL.md +159 -0
  307. package/habilidades/notificaciones-multicanal/recursos/config-template.json +115 -0
  308. package/habilidades/notificaciones-multicanal/recursos/configuracion-y-templates.md +303 -0
  309. package/habilidades/nuevo-proyecto/SKILL.md +204 -0
  310. package/habilidades/orquestacion-async/SKILL.md +303 -0
  311. package/habilidades/paid-media-tracking/SKILL.md +269 -0
  312. package/habilidades/paid-media-tracking/recursos/auditoria-tracking.md +220 -0
  313. package/habilidades/paid-media-tracking/recursos/google-ads-api.md +215 -0
  314. package/habilidades/patrones-python/SKILL.md +228 -0
  315. package/habilidades/patrones-python/evals/evals.json +56 -0
  316. package/habilidades/patrones-python/recursos/patrones-avanzados.md +469 -0
  317. package/habilidades/patrones-python/recursos/referencia-completa.md +202 -0
  318. package/habilidades/perfil-usuario/SKILL.md +200 -0
  319. package/habilidades/perfil-usuario/evals/evals.json +55 -0
  320. package/habilidades/performance-baseline/SKILL.md +297 -0
  321. package/habilidades/php-experto/SKILL.md +291 -0
  322. package/habilidades/php-patrones/SKILL.md +306 -0
  323. package/habilidades/php-testing/SKILL.md +280 -0
  324. package/habilidades/planear-fase/SKILL.md +269 -0
  325. package/habilidades/postgresql-experto/SKILL.md +151 -0
  326. package/habilidades/postgresql-experto/evals/evals.json +53 -0
  327. package/habilidades/postgresql-experto/recursos/referencia-completa.md +215 -0
  328. package/habilidades/prevencion-racionalizacion/SKILL.md +175 -0
  329. package/habilidades/prevencion-sobreingenieria/SKILL.md +323 -0
  330. package/habilidades/privacy-memoria/SKILL.md +141 -0
  331. package/habilidades/privacy-memoria/evals/evals.json +43 -0
  332. package/habilidades/prompt-engineering/SKILL.md +518 -0
  333. package/habilidades/prompt-engineering/recursos/patrones-avanzados.md +467 -0
  334. package/habilidades/rag-arquitectura/SKILL.md +338 -0
  335. package/habilidades/rails-experto/SKILL.md +237 -0
  336. package/habilidades/rails-experto/recursos/active-record.md +260 -0
  337. package/habilidades/rails-experto/recursos/hotwire-turbo.md +293 -0
  338. package/habilidades/rails-experto/recursos/testing-rspec.md +362 -0
  339. package/habilidades/react-experto/SKILL.md +209 -0
  340. package/habilidades/react-experto/evals/evals.json +55 -0
  341. package/habilidades/react-experto/recursos/patrones-y-ejemplos-completos.md +240 -0
  342. package/habilidades/react-optimizacion/SKILL.md +174 -0
  343. package/habilidades/react-optimizacion/recursos/patrones-avanzados.md +138 -0
  344. package/habilidades/redis-experto/SKILL.md +305 -0
  345. package/habilidades/release-semver/.evolved.json +9 -0
  346. package/habilidades/release-semver/SKILL.md +248 -0
  347. package/habilidades/release-semver/scripts/generar-changelog.sh +238 -0
  348. package/habilidades/rust-experto/SKILL.md +400 -0
  349. package/habilidades/rust-patrones/SKILL.md +296 -0
  350. package/habilidades/rust-testing/SKILL.md +311 -0
  351. package/habilidades/seguridad-skills-ia/SKILL.md +262 -0
  352. package/habilidades/sql-optimizacion/SKILL.md +200 -0
  353. package/habilidades/sql-optimizacion/evals/evals.json +54 -0
  354. package/habilidades/sql-optimizacion/recursos/patrones-sql-avanzados.md +131 -0
  355. package/habilidades/sre-patrones/SKILL.md +333 -0
  356. package/habilidades/sre-patrones/recursos/chaos-engineering.md +241 -0
  357. package/habilidades/sre-patrones/recursos/oncall-design.md +236 -0
  358. package/habilidades/stripe-pagos/SKILL.md +550 -0
  359. package/habilidades/stripe-pagos/recursos/errores-reintentos.md +390 -0
  360. package/habilidades/stripe-pagos/recursos/stripe-connect.md +290 -0
  361. package/habilidades/structured-outputs/SKILL.md +343 -0
  362. package/habilidades/swift-experto/SKILL.md +320 -0
  363. package/habilidades/swift-experto/recursos/keychain-y-wrappers.md +110 -0
  364. package/habilidades/swift-patrones/SKILL.md +313 -0
  365. package/habilidades/swift-patrones/recursos/tca-ejemplo-completo.md +113 -0
  366. package/habilidades/swift-testing/SKILL.md +254 -0
  367. package/habilidades/swift-testing/recursos/xcuitest-planes.md +143 -0
  368. package/habilidades/swl-dashboard/SKILL.md +370 -0
  369. package/habilidades/swl-markitdown/SKILL.md +285 -0
  370. package/habilidades/swl-markitdown/evals/evals.json +52 -0
  371. package/habilidades/swl-revisar-impacto/SKILL.md +233 -0
  372. package/habilidades/tailwind-experto/SKILL.md +240 -0
  373. package/habilidades/tailwind-experto/recursos/referencia-completa.md +184 -0
  374. package/habilidades/tdd-workflow/SKILL.md +293 -0
  375. package/habilidades/terraform-experto/SKILL.md +321 -0
  376. package/habilidades/testing-python/SKILL.md +340 -0
  377. package/habilidades/testing-python/recursos/ejemplos-completos.md +167 -0
  378. package/habilidades/threat-model-lite/SKILL.md +246 -0
  379. package/habilidades/tracing-processor/SKILL.md +212 -0
  380. package/habilidades/tracking-measurement/SKILL.md +239 -0
  381. package/habilidades/tracking-measurement/recursos/consent-mode.md +231 -0
  382. package/habilidades/tracking-measurement/recursos/gtm-datalayer.md +216 -0
  383. package/habilidades/tracking-measurement/recursos/meta-capi.md +262 -0
  384. package/habilidades/typescript-avanzado/SKILL.md +144 -0
  385. package/habilidades/typescript-avanzado/evals/evals.json +55 -0
  386. package/habilidades/typescript-avanzado/recursos/patrones-y-ejemplos-completos.md +298 -0
  387. package/habilidades/typescript-diagnosticos/SKILL.md +513 -0
  388. package/habilidades/ux-diseno/SKILL.md +116 -0
  389. package/habilidades/ux-diseno/evals/evals.json +43 -0
  390. package/habilidades/ux-diseno/recursos/patrones-ux-referencia.md +214 -0
  391. package/habilidades/validacion-ci-sistema/SKILL.md +136 -0
  392. package/habilidades/validacion-ci-sistema/recursos/validadores-completos.md +369 -0
  393. package/habilidades/validacion-ci-sistema/scripts/validar-sistema.sh +286 -0
  394. package/habilidades/verificacion-evidencia/SKILL.md +160 -0
  395. package/habilidades/verificar-trabajo/SKILL.md +303 -0
  396. package/habilidades/verificar-trabajo/recursos/plantilla-verificacion.md +60 -0
  397. package/habilidades/wiki-conocimiento/SKILL.md +276 -0
  398. package/habilidades/wireframes-flujos/SKILL.md +212 -0
  399. package/habilidades/wireframes-flujos/recursos/referencia-completa.md +192 -0
  400. package/habilidades/workflow-claude-code/SKILL.md +260 -0
  401. package/habilidades/workflow-claude-code/recursos/referencia-completa.md +109 -0
  402. package/hooks/_run-hook.sh +57 -0
  403. package/hooks/actualizar-perfil-usuario.js +364 -0
  404. package/hooks/agente-lifecycle.js +71 -0
  405. package/hooks/aiisms-detector.js +173 -0
  406. package/hooks/audit-trail.js +204 -0
  407. package/hooks/auto-background.js +97 -0
  408. package/hooks/auto-consolidacion.js +178 -0
  409. package/hooks/auto-evolucion.js +666 -0
  410. package/hooks/auto-restaurar-settings.js +360 -0
  411. package/hooks/calidad-pre-commit.js +929 -0
  412. package/hooks/calidad-typescript.js +511 -0
  413. package/hooks/captura-feedback-usuario.js +148 -0
  414. package/hooks/check-update.js +211 -0
  415. package/hooks/clasificador-mensajes.js +271 -0
  416. package/hooks/degradacion-instintos.js +272 -0
  417. package/hooks/escaneo-secretos.js +389 -0
  418. package/hooks/extraccion-aprendizajes.js +763 -0
  419. package/hooks/grafo-contexto.js +129 -0
  420. package/hooks/graph-update.js +67 -0
  421. package/hooks/guardrail-modelo.js +247 -0
  422. package/hooks/inbox-aviso.js +75 -0
  423. package/hooks/inyeccion-contexto.js +246 -0
  424. package/hooks/lib/abort-registry.js +214 -0
  425. package/hooks/lib/agent-backend.js +210 -0
  426. package/hooks/lib/agent-comms.js +263 -0
  427. package/hooks/lib/agent-issue-codes.js +284 -0
  428. package/hooks/lib/agent-matcher.js +189 -0
  429. package/hooks/lib/async-hook-registry.js +252 -0
  430. package/hooks/lib/atomic-write.js +130 -0
  431. package/hooks/lib/auto-consolidator.js +335 -0
  432. package/hooks/lib/canary-skills.js +187 -0
  433. package/hooks/lib/consolidation-lock.js +291 -0
  434. package/hooks/lib/context-builder.js +430 -0
  435. package/hooks/lib/context-compressor.js +657 -0
  436. package/hooks/lib/convergence-detector.js +105 -0
  437. package/hooks/lib/delegation-tracker.js +198 -0
  438. package/hooks/lib/detectar-package-manager.js +423 -0
  439. package/hooks/lib/edit-accumulator.js +171 -0
  440. package/hooks/lib/error-classifier.js +308 -0
  441. package/hooks/lib/event-bus.js +112 -0
  442. package/hooks/lib/evolution-tracker.js +442 -0
  443. package/hooks/lib/execution-state.js +316 -0
  444. package/hooks/lib/fingerprint-id.js +135 -0
  445. package/hooks/lib/gateway-notify.js +116 -0
  446. package/hooks/lib/graph-security.js +75 -0
  447. package/hooks/lib/guardrail-metrics.js +202 -0
  448. package/hooks/lib/hook-circuit-breaker.js +206 -0
  449. package/hooks/lib/loop-detector.js +267 -0
  450. package/hooks/lib/mcp-health.js +184 -0
  451. package/hooks/lib/mcp-pool.js +436 -0
  452. package/hooks/lib/memory-search.js +506 -0
  453. package/hooks/lib/merkle-audit.js +96 -0
  454. package/hooks/lib/model-router.js +222 -0
  455. package/hooks/lib/normalize-error.js +324 -0
  456. package/hooks/lib/normalize-input.js +65 -0
  457. package/hooks/lib/nudge-tracker.js +306 -0
  458. package/hooks/lib/otlp-exporter.js +365 -0
  459. package/hooks/lib/performance-marks.js +239 -0
  460. package/hooks/lib/privacy-filter.js +128 -0
  461. package/hooks/lib/prompt-injection-scanner.js +209 -0
  462. package/hooks/lib/provenance-tracker.js +183 -0
  463. package/hooks/lib/rate-limit-tracker.js +253 -0
  464. package/hooks/lib/reflect-classifier.js +164 -0
  465. package/hooks/lib/resource-quota.js +122 -0
  466. package/hooks/lib/retry-jitter.js +165 -0
  467. package/hooks/lib/risk-engine.js +368 -0
  468. package/hooks/lib/run-log.js +408 -0
  469. package/hooks/lib/session-fts.js +379 -0
  470. package/hooks/lib/session-store.js +293 -0
  471. package/hooks/lib/singleton-guard.js +159 -0
  472. package/hooks/lib/skill-auditor.js +588 -0
  473. package/hooks/lib/sync-status.js +228 -0
  474. package/hooks/lib/taint-tracker.js +107 -0
  475. package/hooks/lib/task-service.js +295 -0
  476. package/hooks/lib/tech-skills-map.js +146 -0
  477. package/hooks/lib/telegram-cliente.js +159 -0
  478. package/hooks/lib/telegram-config.js +170 -0
  479. package/hooks/lib/token-budget.js +156 -0
  480. package/hooks/lib/token-estimator.js +420 -0
  481. package/hooks/lib/toon-compressor.js +245 -0
  482. package/hooks/lib/usage-model.js +183 -0
  483. package/hooks/lib/variable-resolver.js +230 -0
  484. package/hooks/linea-estado.js +324 -0
  485. package/hooks/metricas-evolucion.js +209 -0
  486. package/hooks/monitor-contexto.js +325 -0
  487. package/hooks/notificacion-sesion-stop.js +198 -0
  488. package/hooks/notificacion-telegram-notification.js +4 -0
  489. package/hooks/notificacion-telegram-subagent.js +4 -0
  490. package/hooks/notificacion-telegram.js +267 -0
  491. package/hooks/preservar-estado-pre-compact.js +150 -0
  492. package/hooks/proteccion-rutas.js +366 -0
  493. package/hooks/registro-turnos.js +209 -0
  494. package/hooks/resumen-sesion.js +249 -0
  495. package/hooks/risk-scoring.js +323 -0
  496. package/hooks/rotar-audit-auto.js +122 -0
  497. package/hooks/sugerir-regenerar-inventario.js +170 -0
  498. package/hooks/telemetria-agentes.js +167 -0
  499. package/hooks/tracking-costos.js +688 -0
  500. package/instintos/global.yaml +8 -0
  501. package/instintos/perfil-usuario.yaml +53 -0
  502. package/instintos/prompt-appendices.yaml +57 -0
  503. package/instintos/proyecto.yaml +372 -0
  504. package/manifiestos/gateway-config.json +77 -0
  505. package/manifiestos/handoff-context.json +223 -0
  506. package/manifiestos/hook-profiles.json +44 -0
  507. package/manifiestos/hooks-config.json +360 -0
  508. package/manifiestos/modulos.json +1173 -0
  509. package/manifiestos/perfiles.json +404 -0
  510. package/package.json +86 -0
  511. package/plantillas/ESTADO.md +109 -0
  512. package/plantillas/HOJA-RUTA.md +143 -0
  513. package/plantillas/PROYECTO.md +122 -0
  514. package/plantillas/REQUISITOS.md +132 -0
  515. package/plantillas/auditor-veto-template.md +105 -0
  516. package/plantillas/github-workflows/README.md +47 -0
  517. package/plantillas/github-workflows/release-please.yml +44 -0
  518. package/plantillas/github-workflows/swl-ci.yml +107 -0
  519. package/plantillas/github-workflows/swl-security.yml +51 -0
  520. package/plantillas/mcp-mineru.json +13 -0
  521. package/plantillas/research/ARQUITECTURA.md +220 -0
  522. package/plantillas/research/FUNCIONALIDADES.md +175 -0
  523. package/plantillas/research/RESUMEN.md +165 -0
  524. package/plantillas/research/STACK.md +233 -0
  525. package/plantillas/research/TRAMPAS.md +299 -0
  526. package/plantillas/skill-evals-template.json +44 -0
  527. package/plugin.json +343 -0
  528. package/reglas/accesibilidad.md +269 -0
  529. package/reglas/api-diseno.md +400 -0
  530. package/reglas/arquitectura.md +352 -0
  531. package/reglas/brevedad-output.md +124 -0
  532. package/reglas/cloud-infra.md +247 -0
  533. package/reglas/docs.md +245 -0
  534. package/reglas/estilo-codigo.md +201 -0
  535. package/reglas/git-workflow.md +245 -0
  536. package/reglas/gobernanza.md +271 -0
  537. package/reglas/harness-claude-code.md +213 -0
  538. package/reglas/hooks.md +186 -0
  539. package/reglas/lenguajes/csharp/estilo-codigo.md +231 -0
  540. package/reglas/lenguajes/csharp/hooks.md +281 -0
  541. package/reglas/lenguajes/csharp/patrones.md +226 -0
  542. package/reglas/lenguajes/csharp/seguridad.md +258 -0
  543. package/reglas/lenguajes/csharp/testing.md +176 -0
  544. package/reglas/lenguajes/go/estilo-codigo.md +195 -0
  545. package/reglas/lenguajes/go/hooks.md +249 -0
  546. package/reglas/lenguajes/go/patrones.md +249 -0
  547. package/reglas/lenguajes/go/seguridad.md +225 -0
  548. package/reglas/lenguajes/go/testing.md +272 -0
  549. package/reglas/lenguajes/java/estilo-codigo.md +217 -0
  550. package/reglas/lenguajes/java/hooks.md +251 -0
  551. package/reglas/lenguajes/java/patrones.md +226 -0
  552. package/reglas/lenguajes/java/seguridad.md +233 -0
  553. package/reglas/lenguajes/java/testing.md +238 -0
  554. package/reglas/lenguajes/kotlin/estilo-codigo.md +208 -0
  555. package/reglas/lenguajes/kotlin/hooks.md +245 -0
  556. package/reglas/lenguajes/kotlin/patrones.md +201 -0
  557. package/reglas/lenguajes/kotlin/seguridad.md +202 -0
  558. package/reglas/lenguajes/kotlin/testing.md +236 -0
  559. package/reglas/lenguajes/nextjs/estilo-codigo.md +175 -0
  560. package/reglas/lenguajes/nextjs/hooks.md +186 -0
  561. package/reglas/lenguajes/nextjs/patrones.md +225 -0
  562. package/reglas/lenguajes/nextjs/seguridad.md +216 -0
  563. package/reglas/lenguajes/nextjs/testing.md +193 -0
  564. package/reglas/lenguajes/php/estilo-codigo.md +228 -0
  565. package/reglas/lenguajes/php/hooks.md +165 -0
  566. package/reglas/lenguajes/php/patrones.md +233 -0
  567. package/reglas/lenguajes/php/seguridad.md +186 -0
  568. package/reglas/lenguajes/php/testing.md +205 -0
  569. package/reglas/lenguajes/rust/estilo-codigo.md +207 -0
  570. package/reglas/lenguajes/rust/hooks.md +240 -0
  571. package/reglas/lenguajes/rust/patrones.md +250 -0
  572. package/reglas/lenguajes/rust/seguridad.md +221 -0
  573. package/reglas/lenguajes/rust/testing.md +194 -0
  574. package/reglas/lenguajes/swift/estilo-codigo.md +238 -0
  575. package/reglas/lenguajes/swift/hooks.md +257 -0
  576. package/reglas/lenguajes/swift/patrones.md +235 -0
  577. package/reglas/lenguajes/swift/seguridad.md +248 -0
  578. package/reglas/lenguajes/swift/testing.md +242 -0
  579. package/reglas/markitdown.md +60 -0
  580. package/reglas/memoria-consolidada.md +209 -0
  581. package/reglas/patrones.md +225 -0
  582. package/reglas/performance.md +195 -0
  583. package/reglas/pruebas.md +159 -0
  584. package/reglas/seguridad-agentes.md +351 -0
  585. package/reglas/seguridad.md +151 -0
  586. package/reglas/skills-estandar.md +373 -0
  587. package/reglas/testing.md +193 -0
  588. package/schemas/agent-contract.json +176 -0
  589. package/schemas/agent-frontmatter.schema.json +149 -0
  590. package/schemas/agent-message.schema.json +53 -0
  591. package/schemas/agent-output-implementacion.schema.json +85 -0
  592. package/schemas/agent-output-planificacion.schema.json +113 -0
  593. package/schemas/agent-output-review.schema.json +78 -0
  594. package/schemas/diary-entry.schema.json +80 -0
  595. package/schemas/hook-profiles.schema.json +39 -0
  596. package/schemas/hooks-config.schema.json +74 -0
  597. package/schemas/instinct.schema.json +115 -0
  598. package/schemas/modulos.schema.json +29 -0
  599. package/schemas/perfiles.schema.json +28 -0
  600. package/schemas/plugin.schema.json +64 -0
  601. package/schemas/skill-evals.schema.json +95 -0
  602. package/schemas/skill-frontmatter.schema.json +170 -0
  603. package/scripts/actualizar.js +145 -0
  604. package/scripts/audit-skills.sh +78 -0
  605. package/scripts/auditar-agentes-gaps.js +149 -0
  606. package/scripts/auditar-cobertura-frameworks.js +241 -0
  607. package/scripts/auditar-skills-gaps.js +206 -0
  608. package/scripts/bootstrap-instintos.js +259 -0
  609. package/scripts/check-update.js +109 -0
  610. package/scripts/comandos/agents.js +105 -0
  611. package/scripts/comandos/info.js +108 -0
  612. package/scripts/comandos/install-asistido.js +186 -0
  613. package/scripts/comandos/skills.js +211 -0
  614. package/scripts/configurar-branch-protection.js +418 -0
  615. package/scripts/daemon-swl.py +388 -0
  616. package/scripts/desinstalar.js +130 -0
  617. package/scripts/doctor.js +559 -0
  618. package/scripts/field-report.js +199 -0
  619. package/scripts/generar-inventario.js +317 -0
  620. package/scripts/inbox-tmux-inject.js +161 -0
  621. package/scripts/inferir-herramientas-permitidas.js +586 -0
  622. package/scripts/inicializar.js +133 -0
  623. package/scripts/instalador.js +1031 -0
  624. package/scripts/instalar-git-hook.js +122 -0
  625. package/scripts/lib/agp-frontmatter.js +222 -0
  626. package/scripts/lib/append-con-marcadores.js +199 -0
  627. package/scripts/lib/artefactos-python.js +43 -0
  628. package/scripts/lib/audit-query.js +221 -0
  629. package/scripts/lib/autostart-linux.js +347 -0
  630. package/scripts/lib/autostart-macos.js +360 -0
  631. package/scripts/lib/autostart-windows.js +307 -0
  632. package/scripts/lib/budget-enforcer.js +252 -0
  633. package/scripts/lib/claude-sessions.js +285 -0
  634. package/scripts/lib/configurar-ci.js +380 -0
  635. package/scripts/lib/console-span-exporter.js +92 -0
  636. package/scripts/lib/contadores-inventario.js +217 -0
  637. package/scripts/lib/dashboard-widgets.js +290 -0
  638. package/scripts/lib/detectar-runtime.js +279 -0
  639. package/scripts/lib/detectar-stack.js +187 -0
  640. package/scripts/lib/diary-entry.js +234 -0
  641. package/scripts/lib/drift-detector.js +545 -0
  642. package/scripts/lib/estado.js +124 -0
  643. package/scripts/lib/gestor-componentes.js +243 -0
  644. package/scripts/lib/gitignore-manifest.js +305 -0
  645. package/scripts/lib/graph-analyze.py +556 -0
  646. package/scripts/lib/graph-builder.py +485 -0
  647. package/scripts/lib/graph-cluster.py +259 -0
  648. package/scripts/lib/health-row.js +168 -0
  649. package/scripts/lib/hooks-settings.js +789 -0
  650. package/scripts/lib/manifiestos.js +138 -0
  651. package/scripts/lib/mc-client.js +137 -0
  652. package/scripts/lib/notificaciones-telegram.js +1107 -0
  653. package/scripts/lib/npm-version.js +261 -0
  654. package/scripts/lib/paquetes-conocidos.js +50 -0
  655. package/scripts/lib/preservar-usuario.js +586 -0
  656. package/scripts/lib/prompt-builder.js +264 -0
  657. package/scripts/lib/resolver-externo.js +332 -0
  658. package/scripts/lib/schedule-parser.js +305 -0
  659. package/scripts/lib/scoring-instintos.js +240 -0
  660. package/scripts/lib/seguridad.js +160 -0
  661. package/scripts/lib/selector-interactivo.js +152 -0
  662. package/scripts/lib/semantic-search.js +242 -0
  663. package/scripts/lib/skill-discovery.js +234 -0
  664. package/scripts/lib/skill-metrics.js +246 -0
  665. package/scripts/lib/skill-normalizer.js +112 -0
  666. package/scripts/lib/skills-hub.js +340 -0
  667. package/scripts/lib/span-schema.js +134 -0
  668. package/scripts/lib/tool-cost-analyzer.js +255 -0
  669. package/scripts/lib/tracing-processor-interface.js +286 -0
  670. package/scripts/lib/transformadores/base.js +80 -0
  671. package/scripts/lib/transformadores/claude.js +124 -0
  672. package/scripts/lib/transformadores/codex.js +115 -0
  673. package/scripts/lib/transformadores/copilot.js +106 -0
  674. package/scripts/lib/transformadores/gemini.js +74 -0
  675. package/scripts/lib/transformadores/index.js +35 -0
  676. package/scripts/lib/transformadores/opencode.js +75 -0
  677. package/scripts/lib/ui.js +259 -0
  678. package/scripts/limpiar-artefactos-python.js +131 -0
  679. package/scripts/mcp-orchestrator.py +386 -0
  680. package/scripts/mcp-pool-manager.py +352 -0
  681. package/scripts/mcp-telemetry.py +378 -0
  682. package/scripts/poblar-evolvable.js +226 -0
  683. package/scripts/publicar.js +287 -0
  684. package/scripts/reflect-skills.js +403 -0
  685. package/scripts/rotar-audit-logs.js +185 -0
  686. package/scripts/run-skill-evals.js +242 -0
  687. package/scripts/smoke-test.js +374 -0
  688. package/scripts/token-analysis.py +471 -0
  689. package/scripts/validar-manifest.js +195 -0
  690. package/scripts/validar-memoria.js +321 -0
  691. package/scripts/validar-tests-aislamiento.js +184 -0
  692. package/scripts/validar-tokens-test.js +208 -0
  693. package/scripts/validar.js +147 -0
  694. package/scripts/validate-markdown.py +339 -0
  695. package/scripts/validate-skills.py +385 -0
  696. package/scripts/vendor/claude-usage/README.md +116 -0
  697. package/scripts/vendor/claude-usage/cli.py +334 -0
  698. package/scripts/vendor/claude-usage/dashboard.py +795 -0
  699. package/scripts/vendor/claude-usage/scanner.py +467 -0
  700. package/scripts/vendor/markitdown/cli.py +194 -0
  701. package/scripts/verificar-evolucion.js +289 -0
  702. package/scripts/verificar-release.js +494 -0
@@ -0,0 +1,775 @@
1
+ ---
2
+ name: estilo-sin-ai-isms
3
+ description: >
4
+ Audita y reescribe texto en español de México para eliminar "AI-isms" — patrones
5
+ que delatan escritura por IA: aperturas de chatbot, inflación significativa,
6
+ transiciones genéricas, inflación de vocabulario, sinonimia forzada, conclusiones
7
+ formulaicas, uniformidad rítmica. Cargar cuando un agente SWL genere documentación,
8
+ ADRs, resúmenes, mensajes de commit, PLAN.md, RESUMEN.md, APRENDIZAJES.md, o
9
+ cualquier prosa destinada a humanos. Dos modos: rewrite (reescribe) y detect
10
+ (solo señala). NO cargar para código fuente, JSON de configuración, schemas,
11
+ o salida estrictamente determinista.
12
+ version: "1.1.0"
13
+ herramientasPermitidas: [Read, Bash]
14
+ exclusiones:
15
+ - "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."
16
+ - "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."
17
+ - "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ó."
18
+ - "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."
19
+ evolvable: true # default para skill estandar
20
+ ---
21
+ # Estilo sin AI-isms — Auditoría y reescritura de prosa generada
22
+
23
+ Editas texto en **español de México** para eliminar patrones que hacen que la prosa
24
+ suene a máquina. El objetivo es que el texto producido por agentes SWL suene escrito
25
+ por una persona técnica: directo, específico, con voz propia y variedad rítmica.
26
+
27
+ ## Cuándo cargar esta skill
28
+
29
+ - Antes de emitir documentación, ADRs, `PROYECTO.md`, `RESUMEN.md`, `VERIFICACION.md`,
30
+ `APRENDIZAJES.md`, o mensajes de commit largos.
31
+ - Como segunda pasada obligatoria al final de `/swl:aprender`, `/swl:ejecutar-fase`
32
+ o `/swl:release`.
33
+ - Cuando el usuario pida "reescribe esto sin muletillas de IA" o similar.
34
+ - Antes de contribuir un skill nuevo al core (`/swl:contribuir`).
35
+
36
+ **No cargar** para código, JSON, YAML, CSV, logs, traces, schemas, ni para salidas
37
+ estrictamente deterministas (outputs de tool, comandos CLI, mensajes de error
38
+ del sistema).
39
+
40
+ ---
41
+
42
+ ## Modos de operación
43
+
44
+ **`rewrite`** (default) — Detecta AI-isms **y reescribe** el texto. Incluye segunda
45
+ pasada sobre la reescritura para cazar patrones que sobrevivieron la primera edición.
46
+
47
+ **`detect`** — Solo señala AI-isms sin modificar el texto. Útil cuando:
48
+ - El usuario quiere ver qué está marcado y decide qué cambiar.
49
+ - Los patrones detectados podrían ser intencionales (no todo AI-ism es malo).
50
+ - Se audita texto del usuario que NO queremos alterar (contenido publicado,
51
+ referencia, otro autor).
52
+ - Se quiere un escaneo rápido sin esperar la reescritura completa.
53
+
54
+ Disparadores de modo `detect`: el usuario dice "detecta", "solo señala",
55
+ "audita", "escanea", "qué AI-isms tiene esto". Default: `rewrite`.
56
+
57
+ ---
58
+
59
+ ## Qué remover o corregir
60
+
61
+ ### Formato
62
+
63
+ - **Em dash (— y --)**: remplazar por comas, puntos, paréntesis, o dividir en
64
+ dos oraciones. Objetivo: cero. Máximo duro: 1 por cada 1,000 palabras. Aplica
65
+ a encabezados y títulos, no solo a prosa. Detectar tanto `—` (Unicode) como
66
+ `--` (sustituto de doble guión).
67
+ - **Uso excesivo de negritas**: una frase en negrita por sección mayor, o
68
+ ninguna. Si algo es importante suficiente para negrita, reestructurar la
69
+ oración para que encabece.
70
+ - **Emojis en encabezados**: eliminar. Excepción: posts sociales pueden usar
71
+ uno o dos al final de línea.
72
+ - **Listas con viñetas abusivas**: convertir secciones hiper-enumeradas en
73
+ prosa. Viñetas solo para contenido realmente listable (parámetros de API,
74
+ pasos secuenciales, tabla de comparación).
75
+
76
+ ### Estructura de oraciones
77
+
78
+ - **"No es X — es Y" / "No se trata de X, se trata de Y"**: reescribir como
79
+ afirmación positiva directa. Máximo una vez por documento.
80
+ - **Intensificadores huecos**: cortar "realmente", "verdaderamente", "francamente",
81
+ "para ser honesto", "cabe mencionar que", "es importante destacar que".
82
+ Afirmar el hecho directamente.
83
+ - **Respaldo vago ("vale la pena + verbo")**: cortar o remplazar "vale la pena
84
+ leer", "vale la pena considerar", "vale la pena explorar", "vale la pena
85
+ revisar". Dicen "está bien" genéricamente en vez de decir *por qué* importa.
86
+ - **Hedging**: cortar "quizás", "tal vez", "podría potencialmente", "es importante
87
+ notar que", "para ser claros". Ir al punto directamente.
88
+ - **Oraciones puente ausentes**: cada párrafo debe conectar con el anterior. Si
89
+ los párrafos pudieran reordenarse sin que el lector lo note, falta tejido
90
+ conectivo.
91
+ - **Regla de tres compulsiva**: variar agrupaciones. Usar dos items, cuatro,
92
+ o una oración completa. Máximo una construcción "adjetivo, adjetivo y
93
+ adjetivo" por pieza.
94
+
95
+ ### Tabla de reemplazo de palabras
96
+
97
+ Tres tiers según qué tan fuerte señalan texto generado por IA en español.
98
+
99
+ #### Tier 1 — Siempre marcar y reemplazar
100
+
101
+ | Remplazar | Por |
102
+ |---|---|
103
+ | adentrarse / adentrémonos | ver, explorar, revisar |
104
+ | panorama (como metáfora) | campo, área, sector, industria |
105
+ | paisaje (como metáfora) | campo, espacio, industria |
106
+ | tapiz / entramado | (describir la complejidad real) |
107
+ | ámbito (vago) | área, campo, dominio |
108
+ | reino (metáfora) | área, espacio |
109
+ | paradigma | modelo, enfoque, marco |
110
+ | embarcarse en | comenzar, iniciar |
111
+ | faro (metáfora) | (reescribir completo) |
112
+ | testimonio de / prueba fehaciente de | muestra, prueba, demuestra |
113
+ | robusto | sólido, estable, confiable |
114
+ | integral / comprensivo | completo, total, exhaustivo |
115
+ | vanguardia / de vanguardia | más reciente, nuevo, avanzado |
116
+ | aprovechar (verbo inflado) | usar |
117
+ | pivotal | importante, clave, crítico |
118
+ | recalca / subraya (inflado) | muestra, señala, destaca |
119
+ | meticuloso / meticulosamente | cuidadoso, detallado, preciso |
120
+ | sin fisuras / sin problemas (metáfora) | fluido, simple, sin fricción |
121
+ | revolucionario / disruptivo | describir *qué* cambió y por qué importa |
122
+ | utilizar | usar |
123
+ | momento clave / punto de inflexión | (decir qué cambió) |
124
+ | el futuro es prometedor | (cortar — decir algo específico o nada) |
125
+ | solo el tiempo dirá | (cortar — decir algo específico o nada) |
126
+ | enclavado en | está en, se ubica en |
127
+ | vibrante | (describir qué lo hace activo, o cortar) |
128
+ | floreciente / próspero | creciendo, activo (o citar un número) |
129
+ | a pesar de los desafíos... sigue prosperando | (nombrar el desafío y la respuesta, o cortar) |
130
+ | mostrando / exhibiendo | muestra, demuestra (o cortar la cláusula) |
131
+ | inmersión profunda / profundicemos | revisar, examinar, explorar |
132
+ | desentrañar / desglosemos | explicar, descomponer |
133
+ | bullicioso | ocupado, activo (o citar qué lo hace ocupado) |
134
+ | intrincado / intrincadas | complejo, detallado (o nombrar la complejidad específica) |
135
+ | en constante evolución | cambiando, creciendo (o describir cómo) |
136
+ | perdurable | duradero, de largo plazo (o citar cuánto) |
137
+ | abrumador / desalentador | difícil, complicado |
138
+ | holístico / holísticamente | completo, total, integral (describir qué se incluye) |
139
+ | accionable | práctico, útil, concreto |
140
+ | impactante | efectivo, significativo (o describir el impacto) |
141
+ | aprendizajes (como sustantivo) | lecciones, hallazgos, conclusiones |
142
+ | líder de opinión / pensamiento de vanguardia | experto, autoridad (o describir su contribución real) |
143
+ | mejores prácticas | lo que funciona, métodos probados, enfoque estándar |
144
+ | en esencia / en su núcleo | (cortar — solo decir la cosa) |
145
+ | sinergia / sinergias | (describir el efecto combinado real) |
146
+ | interacción / interjuego | relación, conexión |
147
+ | con el fin de | para |
148
+ | debido al hecho de que | porque |
149
+ | sirve como / funciona como | es |
150
+ | cuenta con / presenta (inflado) | tiene, incluye |
151
+ | ostenta / alardea | tiene |
152
+ | llevar a cabo | hacer, ejecutar |
153
+ | proceder a / se procederá a | (cortar el puente, decir la acción) |
154
+ | efectuar / realizar (inflado) | hacer |
155
+ | ascertainar / determinar (inflado) | saber, averiguar |
156
+ | empeño / emprendimiento (inflado) | esfuerzo, intento |
157
+ | sinfonía (metáfora) | (describir la coordinación o combinación real) |
158
+ | abrazar / adoptar (metáfora) | adoptar, aceptar, cambiar a |
159
+
160
+ #### Tier 2 — Marcar cuando aparezcan 2 o más en el mismo párrafo
161
+
162
+ Son legítimas por sí solas. Cuando aparecen dos o más juntas, el párrafo
163
+ probablemente necesita reescritura.
164
+
165
+ | Remplazar | Por |
166
+ |---|---|
167
+ | aprovechar (sustantivo raro en tecnología) | usar, sacar provecho |
168
+ | navegar / navegando (metáfora) | atravesar, manejar, tratar |
169
+ | fomentar | alentar, apoyar, construir |
170
+ | elevar (metáfora) | mejorar, subir, fortalecer |
171
+ | desatar (metáfora) | liberar, habilitar |
172
+ | agilizar / optimizar (inflado) | simplificar, acelerar |
173
+ | empoderar (en contextos no sociales) | habilitar, permitir |
174
+ | reforzar (inflado) | apoyar, sostener |
175
+ | encabezar / liderar (inflado) | dirigir, guiar |
176
+ | resonar con | conectar con, atraer a, importar a |
177
+ | revolucionar | cambiar, transformar (o describir qué cambió) |
178
+ | facilitar | permitir, ayudar, habilitar |
179
+ | sustentar / subyacer | apoyar, formar la base de |
180
+ | matizado / con matices | específico, sutil, detallado |
181
+ | crucial | importante, clave, necesario |
182
+ | multifacético | (describir las facetas reales, o cortar) |
183
+ | ecosistema (metáfora) | sistema, comunidad, red, mercado |
184
+ | miríada | muchos, numerosos (o dar un número) |
185
+ | plétora | muchos, gran cantidad (o dar un número) |
186
+ | abarcar | incluir, cubrir, contener |
187
+ | catalizar | iniciar, desencadenar, acelerar |
188
+ | reimaginar | repensar, rediseñar, reconstruir |
189
+ | galvanizar | motivar, reunir, impulsar |
190
+ | aumentar / ampliar (inflado) | agregar, expandir |
191
+ | cultivar (metáfora) | construir, desarrollar, hacer crecer |
192
+ | iluminar (metáfora) | clarificar, explicar, mostrar |
193
+ | dilucidar | explicar, aclarar |
194
+ | yuxtaponer | comparar, contrastar |
195
+ | paradigmático | (describir qué lo hace ejemplar) |
196
+ | transformador / transformación | (describir qué cambió y cómo) |
197
+ | piedra angular / pilar fundamental | base, fundamento, parte clave |
198
+ | primordial / paramount | más importante, prioridad |
199
+ | dispuesto a (metáfora) | listo, a punto de |
200
+ | en ciernes / emergente | nuevo, creciendo (o citar número) |
201
+ | naciente | nuevo, en etapa temprana |
202
+ | por excelencia / quintaesencia | típico, clásico, definitorio |
203
+ | general / abarcador (inflado) | principal, central, amplio |
204
+ | subyacente / base fundante | base, fundamento |
205
+
206
+ #### Tier 3 — Marcar solo en alta densidad
207
+
208
+ Palabras normales. Solo marcar cuando saturan el texto — señal de que la IA
209
+ llenó espacio con alabanza vaga en vez de datos.
210
+
211
+ | Palabra | Qué hacer |
212
+ |---|---|
213
+ | significativo / significativamente | Remplazar algunas con específicos: números, comparaciones, ejemplos |
214
+ | innovador / innovación | Describir qué es realmente nuevo |
215
+ | efectivo / efectivamente | Decir cómo o citar una métrica |
216
+ | dinámico / dinámicas | Nombrar las fuerzas o cambios reales |
217
+ | escalable / escalabilidad | Describir qué escala y hasta qué punto |
218
+ | convincente / atractivo | Decir por qué convence |
219
+ | sin precedentes | Nombrar el precedente que rompe (o cortar) |
220
+ | excepcional / excepcionalmente | Citar qué lo hace excepción |
221
+ | notable / notablemente | Decir qué vale la pena notar |
222
+ | sofisticado | Describir la sofisticación |
223
+ | clase mundial / de última generación | Citar un benchmark o comparación |
224
+ | fundamental | Decir qué papel jugó |
225
+
226
+ ### Frases plantilla (evitar)
227
+
228
+ Construcciones con huecos que delatan que la oración fue generada. Si una
229
+ frase tiene un blank donde un sustantivo/adjetivo podría ir y sonaría igual,
230
+ es demasiado genérica.
231
+
232
+ - "un paso [adjetivo] hacia [adjetivo] infraestructura" → describir la capacidad
233
+ específica, benchmark, resultado.
234
+ - "un paso adelante para [sustantivo]" → misma regla: decir qué cambió.
235
+ - "ya seas [X] o [Y]" → falsa-amplitud. Elegir la audiencia real o cortar.
236
+ "Ya seas desarrollador o arquitecto" = nada — es "todos".
237
+ - "recientemente tuve el placer de [verbo]" → patrón de reseña/social. Decir
238
+ qué pasó: "hablé con", "leí", "asistí a".
239
+ - "en la actualidad, donde X" / "en la era de Y" → cortar o dar contexto específico.
240
+
241
+ ### Transiciones a remover o reescribir
242
+
243
+ - "Por otra parte" / "Además" / "Adicionalmente" → reestructurar o usar "y",
244
+ "también".
245
+ - "Por otro lado" (abusivo) → usar solo cuando hay contraste real.
246
+ - "En la actualidad" / "Hoy en día" / "En un mundo donde" → cortar o dar
247
+ contexto específico.
248
+ - "Cabe destacar que" / "Cabe mencionar que" / "Cabe resaltar que" → solo
249
+ afirmar el hecho.
250
+ - "Aquí lo interesante es" / "Lo que destaca es" → dejar que el contenido se
251
+ haga cargo de su propia importancia.
252
+ - "En conclusión" / "En resumen" / "Para resumir" → la conclusión debe ser obvia.
253
+ - "Cuando se trata de" → hablar directamente del tema.
254
+ - "Al final del día" → cortar.
255
+ - "Dicho esto" / "Habiendo dicho lo anterior" → cortar o usar "pero", "sin embargo".
256
+ - "Por ende" / "Por consiguiente" / "En consecuencia" → usar solo cuando la
257
+ causalidad no es obvia; alternativas: "entonces", "así que".
258
+
259
+ ### Inflación significativa
260
+
261
+ Frases como "marcando un momento decisivo en la evolución de..." o "un hito
262
+ en la industria" inflan eventos rutinarios. Declarar qué pasó y dejar que
263
+ el lector juzgue importancia. Si la oración funciona al borrar la cláusula
264
+ inflada, borrarla.
265
+
266
+ ### Evitación de cópula
267
+
268
+ IA evita "es" y "tiene" usando verbos fancy: "sirve como", "cuenta con",
269
+ "ostenta", "presenta", "representa". Suenan a boletín de prensa. Default:
270
+ "es" / "tiene" salvo que un verbo más específico agregue significado real.
271
+
272
+ ### Ciclado de sinónimos
273
+
274
+ IA rota sinónimos para evitar repetir: "desarrolladores... ingenieros...
275
+ profesionales... constructores" en el mismo párrafo. Los humanos repiten la
276
+ palabra más clara. Si el mismo sustantivo/verbo aparece tres veces en un
277
+ párrafo y es la palabra correcta, las tres veces se quedan.
278
+
279
+ ### Atribuciones vagas
280
+
281
+ "Los expertos creen", "Los estudios muestran", "La investigación sugiere",
282
+ "Los líderes de la industria coinciden" — sin nombrar al experto, estudio o
283
+ líder. Citar fuente específica o afirmar directamente sin la atribución.
284
+
285
+ ### Frases relleno
286
+
287
+ - "Es importante notar que" → (solo afirmarlo)
288
+ - "En términos de" → (reescribir)
289
+ - "La realidad es que" → (cortar o afirmar directo)
290
+ - "De cierta manera" / "En cierta forma" → cortar
291
+ - "Por así decirlo" → cortar
292
+
293
+ ### Conclusiones genéricas
294
+
295
+ "El futuro es prometedor", "Solo el tiempo dirá", "Una cosa es clara",
296
+ "A medida que avancemos", "Queda mucho camino por recorrer" — relleno
297
+ disfrazado de conclusión. Cortar. Si la pieza necesita cierre, hacerlo
298
+ específico al argumento.
299
+
300
+ ### Artefactos de chatbot
301
+
302
+ "¡Espero que esto ayude!", "¡Por supuesto!", "¡Claro!", "¡Excelente pregunta!",
303
+ "¡No dudes en contactarme!", "Déjame saber si necesitas algo más", "¡Con gusto!",
304
+ "¡Con todo gusto!" — tics conversacionales de interfaces de chat. Remover.
305
+
306
+ También: "En este artículo, exploraremos..." / "¡Adentrémonos!" → meta-narración
307
+ generada. Cortar o reescribir con apertura directa.
308
+
309
+ ### Construcciones "Vamos a / Exploremos"
310
+
311
+ "Exploremos", "Veamos", "Analicemos", "Desglosemos" — IA usa "vamos/mos" como
312
+ apertura falso-colaborativa. Es relleno que demora el punto real. Empezar
313
+ con el punto.
314
+
315
+ ### Name-dropping de notoriedad
316
+
317
+ Citas prestigiosas apiladas para fabricar credibilidad: "citado en El País, BBC,
318
+ Financial Times y The Hindu". Una referencia específica con contexto vence a
319
+ cuatro name-drops: "En una entrevista de 2024 con El País, ella argumentó...".
320
+
321
+ ### Análisis superficiales con gerundio
322
+
323
+ Cadenas de gerundios como pseudo-análisis: "simbolizando el compromiso de la
324
+ región con el progreso, reflejando décadas de inversión, y mostrando una nueva
325
+ era de colaboración". No dicen nada. Remplazar con hechos específicos o cortar.
326
+
327
+ ### Lenguaje promocional
328
+
329
+ IA usa prosa de folleto turístico: "enclavado en los pintorescos valles",
330
+ "un hub vibrante de innovación", "un ecosistema próspero". Remplazar con
331
+ descripción llana: "es una ciudad en la región X", "tiene 12 startups".
332
+
333
+ ### Desafíos formulaicos
334
+
335
+ "A pesar de los desafíos, [X] sigue prosperando" / "Aunque enfrenta
336
+ obstáculos, [Y] se mantiene firme". No dice nada. Nombrar el desafío real
337
+ y la respuesta real, o cortar.
338
+
339
+ ### Rangos falsos
340
+
341
+ IA crea amplitud falsa emparejando extremos no relacionados: "del Big Bang a
342
+ la materia oscura", "de civilizaciones antiguas a startups modernas". Suenan
343
+ abarcadores pero no dicen nada. Listar los temas reales o elegir el que importa.
344
+
345
+ ### Encabezados en "Title Case" (mayúsculas cada palabra)
346
+
347
+ IA sobre-capitaliza: "Estrategias De Negocio Y Alianzas Clave" en vez de
348
+ "Estrategias de negocio y alianzas clave". Español usa mayúscula en la
349
+ primera palabra y sustantivos propios; no en cada palabra. Aplicar SIEMPRE
350
+ case de oración.
351
+
352
+ ### Disclaimers de corte de conocimiento
353
+
354
+ "Según la información disponible", "Hasta mi última actualización", "No
355
+ tengo acceso a datos en tiempo real". Limitaciones del modelo que se filtran
356
+ en la prosa. Investigar el dato o cortar. NUNCA publicar una oración que
357
+ admite que quien escribió no se fijó.
358
+
359
+ ### Inflación de novedad
360
+
361
+ IA trata conceptos establecidos como si el hablante los hubiera inventado:
362
+ "introdujo un término", "acuñó la frase", "un concepto que nadie nombra".
363
+ La mayoría de ideas son aplicaciones de conceptos existentes.
364
+
365
+ Arreglo: describir qué *hizo* la persona con el concepto, no que lo descubrió.
366
+ "Michel explicó cómo funciona el envenenamiento de contexto en la práctica"
367
+ en vez de "Michel introdujo un término que no había escuchado: envenenamiento
368
+ de contexto".
369
+
370
+ Patrones relacionados a marcar: "el modo de falla que nadie nombra", "el
371
+ problema del que nadie habla", "la clave que todos se pierden", "lo que nadie
372
+ te dice sobre X". Son framings para atraer engagement fingiendo escasez
373
+ de conocimiento.
374
+
375
+ ### Emoción plana
376
+
377
+ IA declara emociones como muleta estructural sin transmitirlas: "lo que más
378
+ me sorprendió", "me fascinó descubrir", "lo que me llamó la atención".
379
+
380
+ Arreglo: si algo es genuinamente sorprendente, el lector debe sentirlo desde
381
+ el contenido. Si afirmas la emoción, la prosa alrededor debe ganársela. Si no,
382
+ cortar la declaración y presentar la cosa directamente.
383
+
384
+ ### Estructura de falsa concesión
385
+
386
+ "Aunque X es impresionante, Y sigue siendo un reto" / "Si bien X ha avanzado,
387
+ Y aún está pendiente". IA usa esto para sonar balanceada sin sopesar nada.
388
+ Ambas mitades son vagas. Concretar la concesión o tomar partido.
389
+
390
+ ### Preguntas retóricas como apertura
391
+
392
+ "¿Pero qué significa esto para los desarrolladores?" / "¿Por qué debería
393
+ importarte?" / "¿Qué sigue?" → IA usa preguntas retóricas para demorar el
394
+ punto real. Si sabes la respuesta, darla.
395
+
396
+ ### Hedging entre paréntesis
397
+
398
+ "(y, cada vez más, Z)" / "(o, más precisamente, Y)" / "(y, quizás más
399
+ importante, W)" → IA inserta asides entre paréntesis para sonar con matices
400
+ sin comprometerse. Si el aside importa, oración propia. Si no, cortar.
401
+
402
+ ### Inflación de listas numeradas
403
+
404
+ "Tres conclusiones clave" / "Cinco cosas que saber" / "Aquí las principales
405
+ siete" → IA default a listas numeradas porque son estructuralmente seguras.
406
+ Solo usar cuando hay esa cantidad de items discretos y paralelos.
407
+
408
+ ### Artefactos de cadena de razonamiento
409
+
410
+ "Pensemos paso a paso", "Desglosando esto", "Para abordar esto
411
+ sistemáticamente", "Paso 1:", "Primero, consideremos" → artefactos de
412
+ chain-of-thought filtrándose en prosa publicada. El lector no necesita ver
413
+ el andamiaje. Afirmar la conclusión, luego la evidencia.
414
+
415
+ ### Tono adulador
416
+
417
+ "¡Excelente pregunta!", "¡Excelente punto!", "Tienes toda la razón",
418
+ "¡Qué observación tan perspicaz!" → recompensas conversacionales de
419
+ interfaces de chat. Remover.
420
+
421
+ ### Bucles de reconocimiento
422
+
423
+ "Estás preguntando sobre", "La cuestión de si", "Para responder tu pregunta",
424
+ "Esa es una gran pregunta. La..." → IA reformula el prompt antes de responder.
425
+ En escritura, es puro relleno. El lector sabe qué preguntó. Responder.
426
+
427
+ ### Frases de calibración de confianza
428
+
429
+ "Cabe señalar que", "Interesantemente", "Sorprendentemente", "Importantemente",
430
+ "Notablemente", "Ciertamente", "Sin duda", "Indudablemente" → IA usa estas
431
+ para señalar cómo el lector debe sentirse sobre un hecho en vez de dejar que
432
+ el hecho hable. Un "notablemente" en 2,000 palabras es tolerable. Tres en
433
+ 500 es apilamiento de énfasis al estilo IA.
434
+
435
+ ### Estructura excesiva
436
+
437
+ - Demasiados headers en texto corto: más de 3 headings en <300 palabras casi
438
+ siempre es IA intentando verse organizada.
439
+ - Demasiadas viñetas: 8+ bullets en <200 palabras = el contenido debería ser
440
+ párrafo.
441
+ - Headers formulaicos: "Resumen", "Puntos clave", "Conclusión", "Introducción"
442
+ → scaffolding default de IA. Usar headers que digan algo específico.
443
+
444
+ ### Ritmo y uniformidad
445
+
446
+ Estos no son problemas de palabra individual — son patrones de cómo fluye
447
+ el texto.
448
+
449
+ **La estructura es la señal #1 de detección de IA.** Consistencia en
450
+ construcción de oraciones, pacing uniforme y simetría son más difíciles de
451
+ enmascarar que cambiar palabras marcadas. Si arreglas todo el Tier 1 pero
452
+ dejas el ritmo intacto, el texto sigue leyéndose como IA.
453
+
454
+ - **Uniformidad de longitud de oraciones**: si la mayoría miden 15–25
455
+ palabras, suena robótico. Mezclar oraciones cortas (3–8 palabras) con
456
+ largas (20+). Los fragmentos funcionan.
457
+ - **Uniformidad de párrafos**: si cada párrafo es 3–5 oraciones y mismo
458
+ tamaño, variar deliberadamente. Algunos deben ser una oración; otros
459
+ más largos.
460
+ - **Repetición vs. ciclado**: IA o repite mecánicamente o cicla sinónimos
461
+ conspicuamente. Escritores humanos repiten cuando la palabra es correcta
462
+ y varían cuando es natural — no hay fórmula.
463
+ - **Prueba de lectura en voz alta**: si el texto podría ser leído por TTS
464
+ sin sonar raro, probablemente es demasiado uniforme.
465
+ - **Falta de primera persona (donde aplica)**: donde es apropiado, el escritor
466
+ debe tener opiniones, preferencias, reacciones. IA es relentlessmente neutral.
467
+ En prosa que debe tener voz, la ausencia de "creo que", "en mi experiencia"
468
+ es ella misma una señal de IA.
469
+ - **Sobre-pulido**: editar agresivamente cada irregularidad empuja el texto
470
+ humano *hacia* el perfil estadístico de IA. Disfluencia natural, opciones
471
+ idiosincráticas de palabras y pacing disparejo son lo que mantiene el
472
+ texto fuera de la clasificación "AI-generated". **No pulir hasta eliminar
473
+ toda personalidad.**
474
+
475
+ ### Cuándo reescribir desde cero vs. parchar
476
+
477
+ Si el texto tiene 5+ hits de vocabulario en múltiples categorías, 3+
478
+ categorías de patrón distintas y longitud uniforme de oración/párrafo,
479
+ parchar frases individuales no arreglará — la estructura misma es IA-generada.
480
+ Recomendar reescritura completa: declarar el punto central en una oración,
481
+ reconstruir desde ahí.
482
+
483
+ ---
484
+
485
+ ## Tiers de severidad
486
+
487
+ Al hacer pasada rápida o triage de documento grande, priorizar por tier:
488
+
489
+ ### P0 — Mata credibilidad (arreglar de inmediato)
490
+ - Disclaimers de corte ("Según mi última actualización")
491
+ - Artefactos de chatbot ("¡Espero que esto ayude!", "¡Por supuesto!")
492
+ - Atribuciones vagas sin fuente ("Los expertos creen")
493
+ - Inflación significativa en eventos rutinarios
494
+
495
+ ### P1 — Olor obvio a IA (arreglar antes de publicar)
496
+ - Violaciones de tabla de vocabulario (adentrarse, aprovechar, robusto, etc.)
497
+ - Frases plantilla y construcciones slot-fill
498
+ - Aperturas con "exploremos/veamos"
499
+ - Ciclado de sinónimos dentro de un párrafo
500
+ - Aperturas formulaicas ("En el mundo en constante evolución de...")
501
+ - Sobre-uso de negritas
502
+ - Frecuencia de em dash (arriba de 1 por 1,000 palabras)
503
+
504
+ ### P2 — Pulido estilístico (arreglar si hay tiempo)
505
+ - Conclusiones genéricas ("El futuro es prometedor")
506
+ - Regla de tres compulsiva
507
+ - Uniformidad de párrafo
508
+ - Evitación de cópula (sirve como, cuenta con, ostenta)
509
+ - Transiciones formulaicas (Además, Adicionalmente, Por otra parte)
510
+
511
+ Pasadas rápidas: P0+P1. Auditoría completa: los tres tiers.
512
+
513
+ ---
514
+
515
+ ## Detector automatizado (v1.1.0)
516
+
517
+ El script `scripts/detectar_aiisms.py` automatiza el modo `detect` con
518
+ patrones es-MX alineados a la tabla de reemplazos Tier 1 del propio
519
+ SKILL.md. Cobertura aproximada: 35-40% de los patrones detectables por
520
+ regex (el resto requiere juicio semántico — para eso está el modo
521
+ `rewrite` del skill).
522
+
523
+ **Requisitos:** Python 3.10+, solo stdlib (sin dependencias externas).
524
+
525
+ **Uso:**
526
+
527
+ ```bash
528
+ # Modo detect (default) — lista hallazgos con línea y snippet
529
+ echo "$TEXTO" | python habilidades/estilo-sin-ai-isms/scripts/detectar_aiisms.py
530
+
531
+ # Modo metrics — solo resumen cuantitativo
532
+ echo "$TEXTO" | python scripts/detectar_aiisms.py --modo metrics
533
+
534
+ # Salida JSON estructurada para CI/orquestación
535
+ echo "$TEXTO" | python scripts/detectar_aiisms.py --json
536
+
537
+ # Lectura desde archivo
538
+ python scripts/detectar_aiisms.py --archivo RESUMEN.md
539
+ ```
540
+
541
+ **Exit codes:**
542
+
543
+ - `0` — texto OK (sin P0; P1/P2 tolerables)
544
+ - `1` — al menos un P0 detectado (BLOQUEA publicación)
545
+ - `2` — error de lectura/parsing
546
+
547
+ **Enmascaramiento de citas (intocables):** el detector respeta texto
548
+ entre comillas dobles (`"..."`), bloques de código triple-backtick
549
+ (` ``` `) y code spans (`` ` ``) — los reemplaza por espacios antes de
550
+ buscar patrones. Esto resuelve falsos positivos cuando un documento cita
551
+ normativa, API o ejemplos ilustrativos:
552
+
553
+ ```text
554
+ La regla dice: "es importante señalar que el sistema debe validar".
555
+ ```
556
+
557
+ La frase `"es importante señalar"` NO se marca como P0 porque es cita
558
+ textual, no prosa del autor.
559
+
560
+ **Heurística de probabilidad agregada:**
561
+
562
+ | Condición | probabilidad_generacion_llm |
563
+ |---|---|
564
+ | p0_count ≥ 1 | `muy_alta` |
565
+ | densidad ≥ 2.0 por párrafo | `alta` |
566
+ | densidad ≥ 1.0 o p1_count ≥ 5 | `media` |
567
+ | hallazgos > 0 con densidad baja | `baja` |
568
+ | Sin hallazgos | `muy_baja` |
569
+
570
+ **Contrato JSON estable (`_version_contrato: "1.0"`):**
571
+
572
+ ```json
573
+ {
574
+ "_version_contrato": "1.0",
575
+ "p0_count": 3,
576
+ "p1_count": 7,
577
+ "p2_count": 1,
578
+ "parrafos": 4,
579
+ "palabras": 62,
580
+ "densidad_aiism": 2.75,
581
+ "probabilidad_generacion_llm": "muy_alta",
582
+ "hallazgos": [
583
+ {
584
+ "severidad": "P0",
585
+ "categoria": "preambulo_cortesia",
586
+ "linea": 1,
587
+ "texto": "Claro, con gusto respondo..."
588
+ }
589
+ ]
590
+ }
591
+ ```
592
+
593
+ **Uso en pipelines:**
594
+
595
+ - Pre-commit / CI: bloquear commits de `.md` cuando `exit != 0`.
596
+ - `/swl:release`: validar notas de release antes de publicar.
597
+ - `/swl:aprender`: auditar APRENDIZAJES.md antes de consolidar.
598
+ - `verificar-release.js`: integración opt-in vía variable de entorno.
599
+
600
+ **Limitaciones conocidas:**
601
+
602
+ - No detecta uniformidad rítmica ni sobrepulido (requiere análisis
603
+ semántico fuera de alcance de regex).
604
+ - No aplica Tier 2/3 con lógica de densidad cross-párrafo (solo
605
+ categorías individuales).
606
+ - El modo `rewrite` del skill NO está automatizado — el script solo
607
+ marca; la reescritura requiere LLM.
608
+ - Origen: adaptado selectivamente del detector v2.1 del ecosistema
609
+ EMAIA (OIC-INE); los ejemplos específicos de auditoría gubernamental
610
+ fueron descartados por filtro de dominio SWL.
611
+
612
+ ---
613
+
614
+ ## Escape: auto-referencia
615
+
616
+ Cuando escribas *sobre* AI-isms (como este mismo skill), los ejemplos citados
617
+ son exentos de marcar. Texto entre comillas, bloques de código, o explícitamente
618
+ marcado como ilustrativo ("por ejemplo, IA podría escribir...") no se reescribe.
619
+ Solo marcar patrones en prosa propia del autor, no en ejemplos citados.
620
+
621
+ ---
622
+
623
+ ## Perfiles de contexto
624
+
625
+ Si no se especifica, auto-detectar: código + "commit" = `commit-msg`; docs +
626
+ CLAUDE.md/README = `docs`; discusión técnica = `technical-blog`.
627
+
628
+ ### Definiciones
629
+
630
+ - **`swl-docs`** (default del sistema): documentación interna SWL, ADRs,
631
+ RESUMEN.md, VERIFICACION.md, PLAN.md. Todas las reglas en full strictness.
632
+ Prioridad: precisión técnica + concisión.
633
+ - **`commit-msg`**: mensajes de commit. Extra strict en concisión; permitir
634
+ fragmentos técnicos; saltar reglas de uniformidad (son cortos de por sí).
635
+ - **`adr`**: Architecture Decision Records. Full strictness en todas las
636
+ reglas; extra strict en evitación de cópula y conclusiones genéricas.
637
+ - **`skill-md`**: contenido de SKILL.md nuevo. Full strictness; extra strict
638
+ en estructura excesiva (las skills deben ser densas).
639
+ - **`technical-blog`**: post técnico largo. Términos técnicos pasan; ver
640
+ exceptions abajo.
641
+ - **`casual`**: mensajes internos. Solo P0.
642
+
643
+ ### Matriz de tolerancia
644
+
645
+ | Regla | swl-docs | commit-msg | adr | skill-md | technical-blog | casual |
646
+ |---|---|---|---|---|---|---|
647
+ | Em dashes | strict | strict | strict | strict | strict | skip |
648
+ | Negrita excesiva | strict | skip | strict | strict | strict | skip |
649
+ | Emojis en headers | strict | strict | strict | strict | strict | skip |
650
+ | Viñetas excesivas | strict | skip | strict | strict | relaxed | skip |
651
+ | Hedging | strict | strict | strict | strict | relaxed | skip |
652
+ | Tabla de palabras completa | strict | strict | strict | strict | **parcial** | P0 only |
653
+ | Lenguaje promocional | strict | strict | **extra strict** | strict | strict | skip |
654
+ | Inflación significativa | strict | strict | **extra strict** | strict | strict | skip |
655
+ | Evitación de cópula | strict | skip | **extra strict** | strict | relaxed | skip |
656
+ | Uniformidad de párrafo | strict | skip | strict | strict | strict | skip |
657
+ | Preguntas retóricas | strict | strict | strict | strict | strict | skip |
658
+ | Transiciones | strict | skip | strict | strict | strict | skip |
659
+ | Conclusiones genéricas | strict | skip | **extra strict** | strict | strict | skip |
660
+
661
+ **Excepciones de `technical-blog`**: `robusto`, `integral`, `sin fisuras`,
662
+ `ecosistema`, `aprovechar` (cuando se habla de aprovechar una API real),
663
+ `facilitar`, `sustentar` — permitidos en contexto técnico. Siempre marcar:
664
+ `adentrarse`, `tapiz`, `faro`, `embarcarse`, `revolucionario`, `aprovechar`
665
+ (metafórico).
666
+
667
+ ---
668
+
669
+ ## Formato de salida
670
+
671
+ ### Modo `rewrite` (default)
672
+
673
+ Responder en **cuatro secciones**:
674
+
675
+ **1. Issues encontrados**
676
+ Lista con viñetas de cada AI-ism identificado, citando el texto ofensor.
677
+
678
+ **2. Versión reescrita**
679
+ Contenido completo reescrito. Preservar estructura original, intención y
680
+ todos los detalles técnicos específicos. Solo cambiar lo que las reglas
681
+ requieren.
682
+
683
+ **3. Qué cambió**
684
+ Resumen breve de las ediciones mayores. No cada palabra, solo los cambios
685
+ significativos.
686
+
687
+ **4. Auditoría de segunda pasada**
688
+ Re-leer la reescritura de la sección 2. Identificar cualquier AI-ism
689
+ sobreviviente: transiciones reciclades, inflación que quedó, evitación de
690
+ cópula, frases relleno. Corregir in-line y notar qué cambió en esta pasada.
691
+ Si la reescritura está limpia, decirlo.
692
+
693
+ ### Modo `detect`
694
+
695
+ Responder en **dos secciones**:
696
+
697
+ **1. Issues encontrados**
698
+ Lista con viñetas de cada AI-ism identificado, citando el texto. Agrupar
699
+ por severidad (P0, P1, P2).
700
+
701
+ **2. Evaluación**
702
+ Para cada flag, notar si es problema claro o llamada de juicio. Algunos
703
+ patrones asociados a IA son técnicas efectivas en contexto. Decir cuáles
704
+ definitivamente arreglar vs. cuáles valen segunda mirada pero pueden estar
705
+ bien. Si el texto está limpio, decirlo.
706
+
707
+ ---
708
+
709
+ ## Calibración de tono
710
+
711
+ La meta: escritura que suene a persona escribiendo. Directa. Específica.
712
+ La prosa debe *demostrar* confianza, no afirmarla.
713
+
714
+ Cinco principios para reescrituras que suenan humanas:
715
+
716
+ 1. **Variar longitud de oración** — mezclar corto con largo. Fragmentos ok.
717
+ 2. **Ser concreto** — remplazar claims vagos con números, nombres, fechas, ejemplos.
718
+ 3. **Tener voz** — donde aplique, primera persona, preferencias, reacciones.
719
+ 4. **Cortar la neutralidad** — los humanos tienen opiniones. Si la pieza debe
720
+ tomar postura, tomarla.
721
+ 5. **Ganarse el énfasis** — no decirle al lector que algo es interesante.
722
+ Hacerlo interesante.
723
+
724
+ Si el original ya es fuerte, decirlo y hacer solo los cortes necesarios.
725
+ No sobre-editar por deporte.
726
+
727
+ **La tabla de reemplazos da defaults, no mandatos.** Si una palabra marcada
728
+ es claramente la correcta en contexto, preservarla.
729
+
730
+ ---
731
+
732
+ ## Integración con SWL
733
+
734
+ - **`documentador-swl`**: cargar antes de escribir docs, ADRs, READMEs.
735
+ - **`consolidador-swl`**: cargar antes de resumir fase.
736
+ - **`/swl:aprender`**: pasada obligatoria al final.
737
+ - **`/swl:release`**: auditar notas de release antes de publicar.
738
+ - **`reglas/brevedad-output.md`**: regla general de brevedad; esta skill es
739
+ el mecanismo específico y testable.
740
+
741
+ ---
742
+
743
+ ## Lo que esta skill NO hace
744
+
745
+ - **No reescribe código** — solo prosa.
746
+ - **No traduce** — opera dentro de un mismo idioma (es-MX).
747
+ - **No valida gramática normativa** — asume texto ya está bien escrito;
748
+ detecta patrones de generación por IA, no errores ortográficos.
749
+ - **No sustituye revisión humana** — asiste, no decide.
750
+
751
+ ---
752
+
753
+ ## Origen y licencia
754
+
755
+ Este skill adapta y expande al español de México el skill original
756
+ `avoid-ai-writing` de **Conor Bronsdon** (MIT License), cuyos 36 categorías
757
+ de patrones y estructura de modos/severidad/perfiles son la base intelectual
758
+ de este documento. La tabla de reemplazos en español es trabajo propio —
759
+ los AI-isms del inglés no traducen literal.
760
+
761
+ Repo origen: https://github.com/conorbronsdon/avoid-ai-writing
762
+
763
+ ## Cuándo NO cargar
764
+
765
+ - 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.
766
+ - 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.
767
+ - 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.
768
+ - El objetivo es corregir ortografía, gramática o traducir entre idiomas — este skill asume texto bien escrito y no realiza corrección gramatical.
769
+
770
+ ## Gotchas / Errores comunes no obvios
771
+
772
+ - **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.
773
+ - **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.
774
+ - **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.
775
+ - **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.