@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,160 @@
1
+ ---
2
+ name: verificacion-evidencia
3
+ description: >
4
+ Gate function que impide afirmar éxito sin evidencia verificada. Obliga a ejecutar
5
+ el comando de prueba, leer la salida completa y verificar antes de cualquier
6
+ afirmación positiva. Cargar SIEMPRE al terminar una tarea o slice, antes de
7
+ reportar éxito al usuario o al orquestador.
8
+ herramientasPermitidas: [Read, Write, Edit, Bash, Glob, Grep]
9
+ exclusiones:
10
+ - "No cargar como sustituto de `verificar-trabajo` — este skill es el gate de afirmaciones puntuales, no la verificación end-to-end de un plan completo."
11
+ - "No cargar para generar evidencia de métricas de negocio (conversiones, retención); eso requiere datos de analytics, no comandos de build."
12
+ - "No cargar si el usuario pide solo un resumen del estado del plan — leer ESTADO.md directamente es más eficiente."
13
+ evolvable: true # default para skill estandar
14
+ ---
15
+ # Verificación por Evidencia
16
+
17
+ Ninguna afirmación de éxito es válida sin evidencia fresca obtenida en esta sesión.
18
+ El silencio no es éxito. La ausencia de error visible no es éxito. La confianza en
19
+ el código no es evidencia. Solo el output del comando ejecutado ahora es evidencia.
20
+
21
+ ## Cuándo cargar este skill
22
+
23
+ Invoca `Skill("verificacion-evidencia")` cuando:
24
+
25
+ ## Cuándo NO cargar
26
+
27
+ - Se necesita verificar un plan completo con múltiples artefactos; usar `verificar-trabajo` que aplica los 4 niveles sistemáticamente.
28
+ - El usuario pide reportar el estado del PLAN.md — leer ESTADO.md es suficiente, no se necesita ejecutar comandos de verificación.
29
+ - Se busca validar que el plan tiene buena estructura antes de ejecutarlo; eso es parte de `planear-fase`.
30
+
31
+ - Se va a reportar al usuario que una tarea está terminada
32
+ - Se va a marcar un slice como completado en el PLAN.md
33
+ - Se va a afirmar que los tests pasan, el build compila o el lint está limpio
34
+ - Se detecta el impulso de escribir "debería funcionar" o "se ve correcto"
35
+ - Un agente termina una fase y va a pasarle el control al siguiente
36
+
37
+ ## La Ley de Hierro
38
+
39
+ > **NO AFIRMAR ÉXITO SIN EVIDENCIA FRESCA**
40
+
41
+ Esta ley no tiene excepciones. No importa si:
42
+ - El código "se ve correcto"
43
+ - Funcionó en el último intento hace 10 minutos
44
+ - Es un cambio trivial o de una sola línea
45
+ - El agente tiene alta confianza
46
+
47
+ La evidencia vence a la confianza. Siempre.
48
+
49
+ ## Protocolo de 5 pasos
50
+
51
+ Antes de cualquier afirmación positiva, ejecutar este protocolo completo:
52
+
53
+ ### Paso 1 — IDENTIFICAR
54
+
55
+ Responder: ¿qué comando demuestra que esto funciona?
56
+
57
+ - Tests: `pytest`, `npm test`, `go test ./...`, `cargo test`
58
+ - Build: `npm run build`, `cargo build --release`, `mvn package`
59
+ - Lint: `ruff check .`, `eslint src/`, `golangci-lint run`
60
+ - Type check: `mypy .`, `npx tsc --noEmit`
61
+ - Servidor: verificar que responde con `curl` o en el navegador
62
+
63
+ Si no existe un comando que lo demuestre, la tarea no está terminada.
64
+
65
+ ### Paso 2 — EJECUTAR
66
+
67
+ Correr el comando completo. No:
68
+ - Correr solo un subconjunto de tests
69
+ - Usar resultados cacheados
70
+ - Omitir flags que estuvieron presentes antes (`--coverage`, `--all-features`)
71
+ - Interrumpir el comando antes de que termine
72
+
73
+ ### Paso 3 — LEER
74
+
75
+ Revisar el output completo:
76
+ - Leer hasta el final, no solo las primeras líneas
77
+ - Verificar el exit code (0 = éxito, cualquier otro = fallo)
78
+ - Buscar WARNINGS que indiquen degradación silenciosa
79
+ - Contar: cuántos tests corrieron, cuántos pasaron, cuántos fallaron
80
+
81
+ ### Paso 4 — VERIFICAR
82
+
83
+ ¿El output confirma lo que se va a afirmar?
84
+
85
+ | Afirmación | Evidencia requerida |
86
+ |---|---|
87
+ | "Los tests pasan" | Output con `N passed, 0 failed` y exit code 0 |
88
+ | "El build compila" | Output de compilación exitosa y exit code 0 |
89
+ | "No hay errores de lint" | Output vacío o con solo warnings, exit code 0 |
90
+ | "El endpoint responde" | Respuesta HTTP con status 200 y body esperado |
91
+ | "La migración aplicó" | Output confirmando tablas/columnas creadas |
92
+
93
+ ### Paso 5 — SOLO ENTONCES AFIRMAR
94
+
95
+ Con evidencia en mano, afirmar con precisión:
96
+
97
+ - Mal: "Los tests pasan"
98
+ - Bien: "Los tests pasan: 47 passed, 0 failed, 0 errors (pytest 3.2s)"
99
+ - Mal: "El build está listo"
100
+ - Bien: "Build exitoso: bundle de 234KB en dist/ (npm run build, 8.4s)"
101
+
102
+ Incluir siempre: resultado numérico + comando usado + tiempo si es relevante.
103
+
104
+ ## Red flags que activan este skill
105
+
106
+ Detener y aplicar el protocolo si se detecta cualquiera de estos pensamientos:
107
+
108
+ - "debería funcionar" -> ejecutar para verificar que funciona
109
+ - "se ve correcto" -> ejecutar para confirmar que es correcto
110
+ - "probablemente pasa" -> ejecutar para saber si pasa
111
+ - "es un cambio trivial" -> los cambios triviales también pueden romper cosas
112
+ - "funcionó antes" -> el estado actual puede ser diferente al de antes
113
+ - "no necesito correr los tests para esto" -> sí necesitas
114
+
115
+ ## Anti-patrones
116
+
117
+ ### Verificación parcial
118
+
119
+ Correr solo el test del módulo modificado cuando la afirmación es "los tests pasan".
120
+ Si la afirmación es parcial, hacerla explícita: "los tests del módulo X pasan".
121
+
122
+ ### Leer output incompleto
123
+
124
+ Leer solo las primeras líneas del output. Los errores frecuentemente aparecen al final.
125
+ Siempre leer hasta el final, especialmente la línea de resumen.
126
+
127
+ ### Silencio como éxito
128
+
129
+ Asumir que la ausencia de output de error significa éxito. Algunos comandos fallan
130
+ silenciosamente. Verificar siempre el exit code.
131
+
132
+ ### Build cacheado
133
+
134
+ Asumir que el resultado del build anterior sigue siendo válido. Si hubo cambios
135
+ desde el último build, correr el build de nuevo.
136
+
137
+ ### Confianza en el modelo mental
138
+
139
+ Confiar en que se entiende el código lo suficiente para saber que funciona.
140
+ El modelo mental puede estar incompleto. La ejecución no miente.
141
+
142
+ ## Gotchas / Errores comunes no obvios
143
+
144
+ - **Exit code ignorado en favor del output textual**: el comando devuelve "OK" en stdout pero el exit code es 1 (fallo). El agente lee "OK" y afirma éxito. Causa: el Paso 3 no incluye verificación explícita del exit code. Solución: verificar el exit code siempre (`echo $?` o capturar en el Bash tool) — el exit code es la fuente de verdad, no el texto del output.
145
+ - **Subset de tests citado como "los tests pasan"**: el agente corre `pytest tests/modulo_nuevo/` y afirma que los tests pasan sin verificar si los tests de otros módulos afectados también pasan. Causa: el Paso 2 dice "no correr solo un subconjunto" pero el agente optimiza por velocidad. Solución: si la afirmación es global ("los tests pasan"), el comando debe ser `pytest` sin filtro de módulo; si es parcial, la afirmación debe ser explícitamente parcial.
146
+ - **Output cacheado de build anterior**: en proyectos TypeScript con `tsc`, el compilador puede usar caché y no detectar el error introducido en la sesión actual. Causa: no se pasó `--force` ni se limpió el caché. Solución: para verificación post-cambio usar `npx tsc --noEmit` sin caché, o `rm -rf dist/ && npm run build`.
147
+ - **Warning elevado a evidencia de éxito**: el agente cita el output de ruff como evidencia de limpieza pero el output contiene 3 warnings de `W503`. Causa: se confundió "sin errores" con "sin warnings". Solución: definir el umbral antes de ejecutar — si el criterio es "sin warnings", el exit code de ruff con warnings es 1 en modo strict.
148
+
149
+ ## Checklist de verificación
150
+
151
+ Antes de reportar cualquier éxito:
152
+
153
+ - [ ] Se identificó el comando que demuestra el éxito
154
+ - [ ] El comando se ejecutó completo (no parcial, no cacheado)
155
+ - [ ] Se leyó el output hasta el final
156
+ - [ ] Se verificó el exit code
157
+ - [ ] La afirmación incluye evidencia numérica concreta
158
+
159
+ ---
160
+ *Skill creado con swl:crear-skill el 2026-03-31. Versión 1.0.0.*
@@ -0,0 +1,303 @@
1
+ ---
2
+ name: verificar-trabajo
3
+ description: Verificación goal-backward del trabajo ejecutado en 4 niveles progresivos — EXISTE, SUSTANTIVO, CONECTADO, DATOS_FLUYEN. Detecta stubs, componentes huérfanos, integraciones rotas y flujos incompletos. Produce veredictos estructurados JSON con clasificación de riesgo (Low/Medium/High) y evidencia verificable. Soporta loop de reparación cuando el veredicto es Fail.
4
+ version: "1.1.0"
5
+ herramientasPermitidas: [Read, Write, Edit, Bash, Glob, Grep]
6
+ exclusiones:
7
+ - "No cargar durante la implementación activa de una tarea; la verificación es posterior a la implementación, no concurrente."
8
+ - "No cargar para revisar calidad de código estático (style, naming, SOLID); eso es `checklist-calidad` o el revisor de lenguaje correspondiente."
9
+ - "No cargar para validar que el PLAN.md está bien estructurado antes de ejecutar; eso es parte de `planear-fase`."
10
+ - "No cargar como único mecanismo de QA en producción — es verificación de entregables del plan, no monitoreo de sistemas en vivo."
11
+ evolvable: true # default para skill estandar
12
+ ---
13
+ # Habilidad: Verificar Trabajo Ejecutado
14
+
15
+ ## Propósito
16
+
17
+ El verificador no confía en que el código existe porque el desarrollador lo dice.
18
+ Verifica activamente, nivel por nivel, que cada entregable del plan está presente,
19
+ tiene implementación real (no stub), está conectado al sistema y los datos fluyen
20
+ a través de él de extremo a extremo.
21
+
22
+ ## Cuándo activar
23
+
24
+ - Después de ejecutar una fase completa
25
+ - Antes de marcar una fase como "lista para producción"
26
+ - Cuando el usuario pide revisión o QA de trabajo entregado
27
+ - Como segunda opinión después de auto-reporte del desarrollador
28
+
29
+ ## Cuándo NO cargar
30
+
31
+ - La tarea está en medio de la implementación — la verificación ocurre después de que el ejecutor declara que terminó.
32
+ - Se busca revisión de calidad de código (nombres, estructura, patrones); usar `checklist-calidad` o un skill de lenguaje específico.
33
+ - Se quiere auditar seguridad del código; usar `checklist-seguridad` o `threat-model-lite`.
34
+ - El objetivo es verificar el estado del sistema en producción en tiempo real; este skill verifica artefactos del plan, no métricas de runtime.
35
+
36
+ ---
37
+
38
+ ## Gate Function (verificacion micro)
39
+
40
+ Antes de CUALQUIER afirmacion de exito, aplicar este protocolo de 5 pasos:
41
+
42
+ 1. IDENTIFICAR: que comando prueba esta afirmacion?
43
+ 2. EJECUTAR: correr el comando COMPLETO (no parcial, no cached)
44
+ 3. LEER: revisar output completo Y exit code
45
+ 4. VERIFICAR: el output confirma la afirmacion?
46
+ 5. AFIRMAR: solo entonces, con la evidencia
47
+
48
+ Red flags que activan el gate:
49
+ - "deberia funcionar", "se ve correcto", "probablemente pasa"
50
+ - Afirmaciones sin haber ejecutado verificacion
51
+ - "Los tests pasan" sin output de test runner
52
+
53
+ Este gate aplica en CADA afirmacion, no solo al final de una fase.
54
+ El skill `verificacion-evidencia` tiene el detalle completo de este protocolo.
55
+
56
+ ---
57
+
58
+ ## Los 4 niveles de verificación
59
+
60
+ ### Nivel 1 — EXISTE
61
+
62
+ **Pregunta**: ¿El artefacto prometido existe en el sistema de archivos / codebase?
63
+
64
+ Verificaciones:
65
+ - El archivo existe en la ruta esperada
66
+ - La clase / función / componente declarado está presente
67
+ - La migración de BD está en la carpeta correcta
68
+ - El endpoint está registrado en el router
69
+
70
+ Señal de falla: el archivo no existe, o existe pero está vacío, o existe pero
71
+ tiene solo el esqueleto generado automáticamente sin contenido real.
72
+
73
+ ```bash
74
+ # Verificación de existencia
75
+ ls -la [ruta esperada]
76
+ grep -r "class [NombreEsperado]" .
77
+ grep -r "router\.[get|post|put|delete].*[ruta esperada]" .
78
+ ```
79
+
80
+ ### Nivel 2 — SUSTANTIVO
81
+
82
+ **Pregunta**: ¿La implementación tiene contenido real, no es un stub?
83
+
84
+ Un stub es cualquiera de:
85
+ - Función que solo tiene `pass` / `return null` / `throw new Error("not implemented")`
86
+ - Componente que solo renderiza un placeholder pendiente
87
+ - Service que solo tiene la firma pero no lógica
88
+ - Test que solo tiene `assert True` / `expect(true).toBe(true)`
89
+
90
+ Verificaciones por tipo:
91
+
92
+ | Tipo de artefacto | Señal de stub | Verificación real |
93
+ |------------------|--------------|------------------|
94
+ | Función Python | Solo `pass` o `return None` | Tiene lógica de negocio |
95
+ | Endpoint FastAPI | Solo `return {}` | Llama a un service |
96
+ | Componente Angular | Solo `<div>pendiente</div>` | Tiene template con datos reales |
97
+ | Test | Solo `assert True` | Tiene assert sobre comportamiento real |
98
+ | Migración SQL | Archivo vacío | Tiene operaciones DDL |
99
+
100
+ ### Nivel 3 — CONECTADO
101
+
102
+ **Pregunta**: ¿El artefacto está integrado con los demás componentes del sistema?
103
+
104
+ Verificaciones:
105
+ - El endpoint está importado y registrado en el router principal
106
+ - El service es llamado desde el endpoint (no implementado en paralelo sin uso)
107
+ - El componente Angular está declarado en el módulo o importado en el componente padre
108
+ - La migración está en la secuencia correcta (no rompe la cadena de alembic/flyway)
109
+ - El modelo ORM está importado donde se usa
110
+
111
+ ```bash
112
+ # Verificar que endpoint está registrado
113
+ grep -r "include_router\|app.include" . --include="*.py"
114
+
115
+ # Verificar que service es importado
116
+ grep -r "from.*service import\|import.*Service" . --include="*.py" --include="*.ts"
117
+
118
+ # Verificar cadena de migraciones (Alembic)
119
+ alembic history | head -20
120
+ ```
121
+
122
+ Señal de "orphan": el artefacto existe y tiene contenido, pero nadie lo llama.
123
+ Un componente huérfano es código muerto desde el día uno.
124
+
125
+ ### Nivel 4 — DATOS_FLUYEN
126
+
127
+ **Pregunta**: Si envío datos reales al sistema, llegan al destino correcto?
128
+
129
+ Este es el nivel más importante y el más difícil de falsear. Requiere ejecutar
130
+ el sistema o correr tests de integración.
131
+
132
+ Estrategias de verificación:
133
+
134
+ **Para APIs REST**:
135
+ ```bash
136
+ # Llamada real al endpoint y verificar respuesta
137
+ curl -X POST http://localhost:8000/api/v1/[recurso] \
138
+ -H "Content-Type: application/json" \
139
+ -d '{"campo": "valor"}' | jq .
140
+
141
+ # Verificar que el dato llegó a la BD
142
+ psql -c "SELECT * FROM [tabla] ORDER BY created_at DESC LIMIT 1;"
143
+ ```
144
+
145
+ **Para componentes Angular**:
146
+ - El componente renderiza datos de la API (no mocks hardcodeados)
147
+ - Los formularios envían datos al service correcto
148
+ - Los errores de la API se muestran al usuario
149
+
150
+ **Para jobs y cron**:
151
+ - El job se ejecuta y produce el output esperado
152
+ - Los logs muestran la ejecución correcta
153
+
154
+ ---
155
+
156
+ ## Detección de antipatrones comunes
157
+
158
+ ### Hollow Component
159
+ Un componente Angular que:
160
+ - Tiene template pero no usa señales/variables del componente
161
+ - Tiene métodos declarados pero no llamados desde el template
162
+ - Recibe `@Input()` pero nunca lo renderiza
163
+
164
+ ### Endpoint Stub
165
+ Un endpoint FastAPI que:
166
+ - Devuelve datos hardcodeados sin consultar la BD
167
+ - No valida el body (acepta cualquier cosa)
168
+ - No usa el `db: AsyncSession` declarado en la firma
169
+
170
+ ### Test sin Valor
171
+ Un test que:
172
+ - No tiene ningún `assert` o `expect`
173
+ - Hace assert sobre un valor hardcodeado que siempre es true
174
+ - Prueba el mock en lugar del código real
175
+
176
+ ### Migración Fantasma
177
+ Una migración que:
178
+ - Está en la carpeta pero no en la cadena de Alembic
179
+ - Tiene `upgrade()` vacío
180
+ - No corresponde con los modelos ORM actuales
181
+
182
+ ---
183
+
184
+ ## Veredicto estructurado (JSON)
185
+
186
+ Toda verificación DEBE producir un veredicto en formato JSON estructurado además
187
+ del reporte VERIFICACION.md legible. El veredicto es consumible por el orquestador
188
+ y por hooks de automatización.
189
+
190
+ ### Schema del veredicto
191
+
192
+ ```json
193
+ {
194
+ "verdict": "Pass | Fail",
195
+ "risk": "Low | Medium | High",
196
+ "score": 0.85,
197
+ "evidence": [
198
+ {
199
+ "level": "EXISTE | SUSTANTIVO | CONECTADO | DATOS_FLUYEN",
200
+ "artifact": "src/api/endpoints.py",
201
+ "status": "Pass | Fail",
202
+ "detail": "Endpoint registrado en router principal línea 42"
203
+ }
204
+ ],
205
+ "failures": [
206
+ {
207
+ "artifact": "src/services/pago_service.py",
208
+ "level": "SUSTANTIVO",
209
+ "reason": "Función procesar_pago() solo contiene pass"
210
+ }
211
+ ],
212
+ "nextStep": {
213
+ "action": "Continue | Fix | Escalate",
214
+ "instructions": [
215
+ "Implementar lógica real en procesar_pago()",
216
+ "Agregar test de integración para flujo de pago"
217
+ ]
218
+ }
219
+ }
220
+ ```
221
+
222
+ ### Reglas del veredicto
223
+
224
+ - `verdict`: **Pass** solo si TODOS los artefactos pasan los 4 niveles. Un solo Fail → Fail.
225
+ - `score`: proporción de (artefactos × niveles) que pasaron. Rango 0.0 a 1.0.
226
+ - `evidence`: al menos una entrada por artefacto verificado. Sin evidencia = sin veredicto.
227
+ - `failures`: vacío si verdict es Pass. Obligatorio si es Fail.
228
+ - `nextStep.action`: **Continue** (pasar a siguiente fase), **Fix** (reparar y re-verificar),
229
+ **Escalate** (requiere decisión humana — checkpoint `decision`).
230
+
231
+ ### Loop de reparación
232
+
233
+ Cuando el veredicto es **Fail** con `nextStep.action: "Fix"`:
234
+
235
+ 1. El verificador emite el veredicto con instrucciones concretas en `nextStep.instructions`.
236
+ 2. El ejecutor aplica las correcciones indicadas (NO inventa correcciones adicionales).
237
+ 3. El verificador re-ejecuta la verificación COMPLETA (no solo los items fallidos).
238
+ 4. Si el veredicto sigue siendo Fail tras 2 intentos → escalar a `nextStep.action: "Escalate"`.
239
+
240
+ El ejecutor NUNCA se auto-verifica — el verificador es siempre un agente distinto
241
+ o una segunda invocación independiente.
242
+
243
+ ---
244
+
245
+ ## Clasificación de riesgo del cambio
246
+
247
+ El campo `risk` del veredicto se determina automáticamente según las características
248
+ del cambio verificado:
249
+
250
+ | Señal | Riesgo | Justificación |
251
+ |-------|--------|---------------|
252
+ | Eliminaciones de archivos o renombramientos | **High** | Puede romper imports y referencias |
253
+ | Migraciones de BD (DDL) | **High** | Irreversible en producción |
254
+ | Cambios en ≥12 archivos | **High** | Blast radius amplio |
255
+ | Cambios en ≥6 archivos o toca backend | **Medium** | Impacto moderado |
256
+ | Cambios en archivos de configuración (.env, CI) | **Medium** | Afecta infraestructura |
257
+ | Cambios en <6 archivos solo frontend | **Low** | Impacto contenido |
258
+ | Cambios solo en tests o documentación | **Low** | Sin impacto en producción |
259
+
260
+ ### Verificaciones dinámicas por riesgo
261
+
262
+ El verificador ajusta su profundidad según el riesgo detectado:
263
+
264
+ - **Low**: Niveles 1-3 obligatorios. Nivel 4 recomendado.
265
+ - **Medium**: Los 4 niveles obligatorios. Ejecutar linter y type-checker si existen.
266
+ - **High**: Los 4 niveles obligatorios. Ejecutar tests completos. Verificar que
267
+ `package.json` scripts (test, typecheck, lint) pasan. Revisar diff contra main.
268
+
269
+ Detección automática de scripts disponibles:
270
+ ```bash
271
+ # Detectar qué verificaciones están disponibles
272
+ node -e "const p=require('./package.json');console.log(JSON.stringify(p.scripts||{}))" 2>/dev/null
273
+ # Ejecutar condicionalmente
274
+ npm run typecheck 2>/dev/null && echo "TYPECHECK_OK" || echo "TYPECHECK_FAIL"
275
+ npm test 2>/dev/null && echo "TESTS_OK" || echo "TESTS_FAIL"
276
+ ```
277
+
278
+ ---
279
+
280
+ ## Plantilla de salida: `VERIFICACION.md`
281
+
282
+ Para la plantilla completa con todos los campos incluyendo el bloque de veredicto
283
+ estructurado JSON, ver [recursos/plantilla-verificacion.md](recursos/plantilla-verificacion.md).
284
+
285
+ ---
286
+
287
+ ## Gotchas / Errores comunes no obvios
288
+
289
+ - **Verificación parcial elevada a veredicto Pass**: el agente verifica solo los Niveles 1-2 para un cambio de riesgo High y reporta Pass porque esos dos niveles pasaron. Causa: no se aplicaron las verificaciones dinámicas por riesgo. Solución: para cambios High, los 4 niveles son obligatorios y además se ejecutan los scripts `test`, `typecheck` y `lint` de `package.json`.
290
+ - **Score del veredicto calculado solo sobre artefactos verificados, no sobre todos los prometidos**: si el plan prometía 8 entregables pero solo se verificaron 5, el score 1.0 sobre los 5 no es evidencia de que los 8 están correctos. Causa: el agente omite entregables del plan en la lista de artefactos. Solución: antes de verificar, listar todos los artefactos del PLAN.md y verificar cada uno explícitamente — un artefacto no verificado es un Fail implícito.
291
+ - **Loop de reparación sin re-verificación completa**: tras el fix, el agente re-verifica solo el item que falló en lugar del veredicto completo. Causa: optimización incorrecta para ahorrar tiempo. Solución: el paso 3 del loop de reparación dice explícitamente "re-ejecutar la verificación COMPLETA" — un fix puede resolver un fallo pero introducir otro.
292
+ - **Hollow Component no detectado en Nivel 2**: el componente Angular tiene template pero no usa ninguna señal del componente. El agente verifica que el archivo existe (Nivel 1) y que tiene contenido (Nivel 2), pero no detecta que el contenido es decorativo. Causa: la definición de "stub" en Nivel 2 no se aplicó al caso de templates sin binding. Solución: verificar explícitamente que el template usa al menos una variable/señal del componente.
293
+
294
+ ## Regla de oro del verificador
295
+
296
+ **"Si no puedes mostrar evidencia, no puedes decir que pasa."**
297
+
298
+ Cada nivel PASS debe tener evidencia adjunta en el reporte. Un "creo que funciona"
299
+ o "debería estar conectado" no es evidencia. La evidencia es:
300
+ - Output de un comando
301
+ - Línea de código específica
302
+ - Output de un test
303
+ - Screenshot o log de ejecución
@@ -0,0 +1,60 @@
1
+ # Plantilla: VERIFICACION.md
2
+
3
+ Usar esta plantilla al generar el reporte de verificación de una fase.
4
+
5
+ ```markdown
6
+ # VERIFICACION.md — Fase [N]: [Nombre]
7
+ **Fecha**: [fecha]
8
+ **Verificador**: [agente/persona]
9
+
10
+ ## Resumen ejecutivo
11
+ - Artefactos verificados: N
12
+ - Pasaron los 4 niveles: M
13
+ - Con problemas: K
14
+ - Score general: [M/N * 100]%
15
+
16
+ ## Verificación por artefacto
17
+
18
+ ### [Nombre del artefacto]
19
+ | Nivel | Estado | Evidencia |
20
+ |-------|--------|-----------|
21
+ | EXISTE | PASS / FAIL | [ruta del archivo o grep result] |
22
+ | SUSTANTIVO | PASS / FAIL | [líneas de código relevantes] |
23
+ | CONECTADO | PASS / FAIL | [dónde se importa/registra] |
24
+ | DATOS_FLUYEN | PASS / FAIL | [output del test o curl] |
25
+
26
+ **Problemas encontrados**:
27
+ - [descripción con archivo y línea]
28
+
29
+ **Veredicto**: APROBADO / REQUIERE CORRECCIÓN
30
+
31
+ [Repetir para cada artefacto]
32
+
33
+ ---
34
+
35
+ ## Hallazgos críticos (si los hay)
36
+ 1. [Descripción, archivo, línea, impacto]
37
+
38
+ ## Hallazgos menores
39
+ 1. [Descripción, archivo, línea]
40
+
41
+ ## Decisión final
42
+ [ ] APROBADO — listo para siguiente fase
43
+ [ ] APROBADO CON OBSERVACIONES — continuar pero resolver hallazgos menores
44
+ [ ] RECHAZADO — requiere correcciones antes de avanzar
45
+
46
+ ## Veredicto estructurado
47
+ ```json
48
+ {
49
+ "verdict": "Pass|Fail",
50
+ "risk": "Low|Medium|High",
51
+ "score": 0.0,
52
+ "evidence": [],
53
+ "failures": [],
54
+ "nextStep": { "action": "Continue|Fix|Escalate", "instructions": [] }
55
+ }
56
+ ```
57
+
58
+ ## Acciones requeridas (si hay rechazos)
59
+ - [ ] [Acción concreta con responsable y deadline]
60
+ ```