don-cheli-sdd 1.13.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 (351) hide show
  1. package/AGENTS.md +33 -0
  2. package/CHANGELOG.md +108 -0
  3. package/CLAUDE.md +114 -0
  4. package/LICENSE +190 -0
  5. package/README.es.md +611 -0
  6. package/README.md +640 -0
  7. package/README.pt.md +579 -0
  8. package/VERSION +1 -0
  9. package/agentes/README.md +28 -0
  10. package/agentes/prompts/estimador.md +29 -0
  11. package/comandos/bucle-completar.md +13 -0
  12. package/comandos/bucle-estado.md +13 -0
  13. package/comandos/bucle.md +74 -0
  14. package/comandos/especdev/actualizar.md +200 -0
  15. package/comandos/especdev/agente.md +43 -0
  16. package/comandos/especdev/analizar-sesiones.md +158 -0
  17. package/comandos/especdev/aplicar.md +73 -0
  18. package/comandos/especdev/archivar.md +69 -0
  19. package/comandos/especdev/auditar-seguridad.md +234 -0
  20. package/comandos/especdev/auditar.md +15 -0
  21. package/comandos/especdev/avance-rapido.md +64 -0
  22. package/comandos/especdev/cambios.md +14 -0
  23. package/comandos/especdev/capturar.md +61 -0
  24. package/comandos/especdev/cerrar-sesion.md +88 -0
  25. package/comandos/especdev/clarificar.md +98 -0
  26. package/comandos/especdev/comenzar.md +105 -0
  27. package/comandos/especdev/completo.md +49 -0
  28. package/comandos/especdev/continuar.md +59 -0
  29. package/comandos/especdev/contrato-api.md +223 -0
  30. package/comandos/especdev/contrato-ui.md +245 -0
  31. package/comandos/especdev/crear-skill.md +148 -0
  32. package/comandos/especdev/debate.md +119 -0
  33. package/comandos/especdev/desglosar.md +172 -0
  34. package/comandos/especdev/destilar.md +211 -0
  35. package/comandos/especdev/detectar-ambiguedad.md +81 -0
  36. package/comandos/especdev/diagnostico.md +92 -0
  37. package/comandos/especdev/dise/303/261ar.md +74 -0
  38. package/comandos/especdev/doctor.md +78 -0
  39. package/comandos/especdev/donde-estoy.md +32 -0
  40. package/comandos/especdev/especificar.md +189 -0
  41. package/comandos/especdev/estado.md +46 -0
  42. package/comandos/especdev/estimar.md +141 -0
  43. package/comandos/especdev/explorar.md +175 -0
  44. package/comandos/especdev/guardian.md +99 -0
  45. package/comandos/especdev/historial.md +14 -0
  46. package/comandos/especdev/implementar.md +227 -0
  47. package/comandos/especdev/incorporar.md +71 -0
  48. package/comandos/especdev/iniciar.md +82 -0
  49. package/comandos/especdev/limpiar-slop.md +88 -0
  50. package/comandos/especdev/marketplace.md +109 -0
  51. package/comandos/especdev/memorizar.md +31 -0
  52. package/comandos/especdev/mesa-redonda.md +60 -0
  53. package/comandos/especdev/mesa-tecnica.md +144 -0
  54. package/comandos/especdev/migrar.md +237 -0
  55. package/comandos/especdev/minar-referencias.md +214 -0
  56. package/comandos/especdev/planificar-tecnico.md +186 -0
  57. package/comandos/especdev/planning.md +264 -0
  58. package/comandos/especdev/poc.md +302 -0
  59. package/comandos/especdev/presentar.md +75 -0
  60. package/comandos/especdev/proponer.md +69 -0
  61. package/comandos/especdev/pseudocodigo.md +49 -0
  62. package/comandos/especdev/rapido.md +69 -0
  63. package/comandos/especdev/reflexionar.md +53 -0
  64. package/comandos/especdev/retro.md +14 -0
  65. package/comandos/especdev/reversa.md +155 -0
  66. package/comandos/especdev/revisar.md +231 -0
  67. package/comandos/especdev/traspasar.md +76 -0
  68. package/comandos/especdev/traspaso.md +43 -0
  69. package/comandos/especdev/uat.md +84 -0
  70. package/comandos/especdev/validar-spec.md +58 -0
  71. package/comandos/especdev/validar.md +40 -0
  72. package/comandos/historias-generar.md +74 -0
  73. package/comandos/razonar/5-porques.md +42 -0
  74. package/comandos/razonar/circulo-competencia.md +22 -0
  75. package/comandos/razonar/costo-oportunidad.md +21 -0
  76. package/comandos/razonar/inversion.md +40 -0
  77. package/comandos/razonar/mapa-territorio.md +22 -0
  78. package/comandos/razonar/minimizar-arrepentimiento.md +20 -0
  79. package/comandos/razonar/pareto.md +32 -0
  80. package/comandos/razonar/pre-mortem.md +22 -0
  81. package/comandos/razonar/primeros-principios.md +57 -0
  82. package/comandos/razonar/probabilistico.md +21 -0
  83. package/comandos/razonar/reversibilidad.md +27 -0
  84. package/comandos/razonar/rlm-cadena-pensamiento.md +189 -0
  85. package/comandos/razonar/rlm-descomposicion.md +216 -0
  86. package/comandos/razonar/rlm-verificacion.md +169 -0
  87. package/comandos/razonar/segundo-orden.md +35 -0
  88. package/ganchos/parar.md +10 -0
  89. package/ganchos/post-herramienta.md +9 -0
  90. package/ganchos/pre-herramienta.md +19 -0
  91. package/habilidades/arnes-agente/HABILIDAD.md +164 -0
  92. package/habilidades/auto-correccion/HABILIDAD.md +114 -0
  93. package/habilidades/brainstorming/HABILIDAD.md +88 -0
  94. package/habilidades/cambio-carpeta/HABILIDAD.md +100 -0
  95. package/habilidades/code-rag/HABILIDAD.md +306 -0
  96. package/habilidades/contabilidad-tokens/HABILIDAD.md +109 -0
  97. package/habilidades/delta-specs/HABILIDAD.md +102 -0
  98. package/habilidades/desarrollo-subagentes/HABILIDAD.md +51 -0
  99. package/habilidades/deteccion-loops/HABILIDAD.md +168 -0
  100. package/habilidades/deteccion-stubs/HABILIDAD.md +204 -0
  101. package/habilidades/devlog/HABILIDAD.md +84 -0
  102. package/habilidades/documentacion-viva/HABILIDAD.md +231 -0
  103. package/habilidades/estimacion/HABILIDAD.md +48 -0
  104. package/habilidades/extensiones-presets/HABILIDAD.md +133 -0
  105. package/habilidades/generador-specs/HABILIDAD.md +37 -0
  106. package/habilidades/ingenieria-contexto/HABILIDAD.md +34 -0
  107. package/habilidades/integracion-mcp/HABILIDAD.md +59 -0
  108. package/habilidades/leyes-hierro/HABILIDAD.md +45 -0
  109. package/habilidades/mapa-arquitectonico/HABILIDAD.md +93 -0
  110. package/habilidades/memoria-persistente/HABILIDAD.md +97 -0
  111. package/habilidades/obsidian/HABILIDAD.md +93 -0
  112. package/habilidades/optimizacion-tokens/HABILIDAD.md +179 -0
  113. package/habilidades/optimizador-contexto/HABILIDAD.md +106 -0
  114. package/habilidades/orquestacion-autonoma/HABILIDAD.md +133 -0
  115. package/habilidades/permisos-seguridad/HABILIDAD.md +76 -0
  116. package/habilidades/persona/HABILIDAD.md +66 -0
  117. package/habilidades/planning-equipo/HABILIDAD.md +169 -0
  118. package/habilidades/presentaciones/HABILIDAD.md +63 -0
  119. package/habilidades/proyecciones-costo/HABILIDAD.md +54 -0
  120. package/habilidades/prueba-trabajo/HABILIDAD.md +131 -0
  121. package/habilidades/razonamiento/HABILIDAD.md +69 -0
  122. package/habilidades/recuperacion-sesion/HABILIDAD.md +27 -0
  123. package/habilidades/refactorizacion-solid/HABILIDAD.md +182 -0
  124. package/habilidades/reflexion/HABILIDAD.md +37 -0
  125. package/habilidades/rigor-progresivo/HABILIDAD.md +109 -0
  126. package/habilidades/rlm/HABILIDAD.md +85 -0
  127. package/habilidades/routing-modelos/HABILIDAD.md +79 -0
  128. package/habilidades/salud-habilidades/HABILIDAD.md +63 -0
  129. package/habilidades/schemas-dbml/HABILIDAD.md +101 -0
  130. package/habilidades/trazabilidad/HABILIDAD.md +63 -0
  131. package/habilidades/ui-ux-design/HABILIDAD.md +76 -0
  132. package/habilidades/validacion-nyquist/HABILIDAD.md +161 -0
  133. package/habilidades/worktrees/HABILIDAD.md +80 -0
  134. package/locales/en.json +179 -0
  135. package/locales/es.json +179 -0
  136. package/locales/pt.json +179 -0
  137. package/package.json +48 -0
  138. package/plantillas/checklist-requisitos.md +31 -0
  139. package/plantillas/docker/Dockerfile +16 -0
  140. package/plantillas/docker/docker-compose.yml +28 -0
  141. package/plantillas/especdev/WORKFLOW.md +118 -0
  142. package/plantillas/especdev/config.yaml +27 -0
  143. package/plantillas/especdev/en/config.yaml +27 -0
  144. package/plantillas/especdev/en/decisions.md +17 -0
  145. package/plantillas/especdev/en/deferred-work.md +17 -0
  146. package/plantillas/especdev/en/findings.md +7 -0
  147. package/plantillas/especdev/en/knowledge.md +19 -0
  148. package/plantillas/especdev/en/plan.md +35 -0
  149. package/plantillas/especdev/en/progress.md +7 -0
  150. package/plantillas/especdev/en/project-constitution.md +53 -0
  151. package/plantillas/especdev/en/pseudocode.md +35 -0
  152. package/plantillas/especdev/en/runtime.md +26 -0
  153. package/plantillas/especdev/en/status.md +16 -0
  154. package/plantillas/especdev/es/config.yaml +27 -0
  155. package/plantillas/especdev/es/conocimiento.md +19 -0
  156. package/plantillas/especdev/es/constitucion-proyecto.md +53 -0
  157. package/plantillas/especdev/es/decisiones.md +17 -0
  158. package/plantillas/especdev/es/deuda-scope.md +17 -0
  159. package/plantillas/especdev/es/estado.md +16 -0
  160. package/plantillas/especdev/es/hallazgos.md +7 -0
  161. package/plantillas/especdev/es/plan.md +35 -0
  162. package/plantillas/especdev/es/progreso.md +7 -0
  163. package/plantillas/especdev/es/pseudocodigo.md +35 -0
  164. package/plantillas/especdev/es/runtime.md +26 -0
  165. package/plantillas/especdev/estado.md +16 -0
  166. package/plantillas/especdev/hallazgos.md +7 -0
  167. package/plantillas/especdev/isa.yml +152 -0
  168. package/plantillas/especdev/plan.md +35 -0
  169. package/plantillas/especdev/progreso.md +7 -0
  170. package/plantillas/especdev/pt/config.yaml +27 -0
  171. package/plantillas/especdev/pt/conhecimento.md +19 -0
  172. package/plantillas/especdev/pt/constituicao-projeto.md +53 -0
  173. package/plantillas/especdev/pt/decisoes.md +17 -0
  174. package/plantillas/especdev/pt/descobertas.md +7 -0
  175. package/plantillas/especdev/pt/estado.md +16 -0
  176. package/plantillas/especdev/pt/plano.md +35 -0
  177. package/plantillas/especdev/pt/progresso.md +7 -0
  178. package/plantillas/especdev/pt/pseudocodigo.md +35 -0
  179. package/plantillas/especdev/pt/runtime.md +26 -0
  180. package/plantillas/especdev/pt/trabalho-diferido.md +17 -0
  181. package/plantillas/estimado-desarrollo.md +43 -0
  182. package/prompt.md +16 -0
  183. package/reglas/constitucion.md +122 -0
  184. package/reglas/hooks-parar.md +102 -0
  185. package/reglas/i18n.md +47 -0
  186. package/reglas/leyes-hierro.md +18 -0
  187. package/reglas/puertas-calidad.md +87 -0
  188. package/reglas/reglas-desviacion.md +36 -0
  189. package/reglas/reglas-trabajo-globales.md +171 -0
  190. package/reglas/skills-best-practices.md +109 -0
  191. package/scripts/.claude/commands/bucle-completar.md +13 -0
  192. package/scripts/.claude/commands/bucle-estado.md +13 -0
  193. package/scripts/.claude/commands/bucle.md +74 -0
  194. package/scripts/.claude/commands/especdev/actualizar.md +200 -0
  195. package/scripts/.claude/commands/especdev/agente.md +43 -0
  196. package/scripts/.claude/commands/especdev/analizar-sesiones.md +158 -0
  197. package/scripts/.claude/commands/especdev/aplicar.md +73 -0
  198. package/scripts/.claude/commands/especdev/archivar.md +69 -0
  199. package/scripts/.claude/commands/especdev/auditar-seguridad.md +234 -0
  200. package/scripts/.claude/commands/especdev/auditar.md +15 -0
  201. package/scripts/.claude/commands/especdev/avance-rapido.md +64 -0
  202. package/scripts/.claude/commands/especdev/cambios.md +14 -0
  203. package/scripts/.claude/commands/especdev/cerrar-sesion.md +88 -0
  204. package/scripts/.claude/commands/especdev/clarificar.md +98 -0
  205. package/scripts/.claude/commands/especdev/comenzar.md +77 -0
  206. package/scripts/.claude/commands/especdev/completo.md +49 -0
  207. package/scripts/.claude/commands/especdev/continuar.md +59 -0
  208. package/scripts/.claude/commands/especdev/contrato-api.md +223 -0
  209. package/scripts/.claude/commands/especdev/contrato-ui.md +245 -0
  210. package/scripts/.claude/commands/especdev/desglosar.md +172 -0
  211. package/scripts/.claude/commands/especdev/destilar.md +211 -0
  212. package/scripts/.claude/commands/especdev/detectar-ambiguedad.md +81 -0
  213. package/scripts/.claude/commands/especdev/diagnostico.md +92 -0
  214. package/scripts/.claude/commands/especdev/dise/303/261ar.md +74 -0
  215. package/scripts/.claude/commands/especdev/donde-estoy.md +32 -0
  216. package/scripts/.claude/commands/especdev/especificar.md +189 -0
  217. package/scripts/.claude/commands/especdev/estado.md +46 -0
  218. package/scripts/.claude/commands/especdev/estimar.md +141 -0
  219. package/scripts/.claude/commands/especdev/explorar.md +175 -0
  220. package/scripts/.claude/commands/especdev/guardian.md +99 -0
  221. package/scripts/.claude/commands/especdev/historial.md +14 -0
  222. package/scripts/.claude/commands/especdev/implementar.md +227 -0
  223. package/scripts/.claude/commands/especdev/incorporar.md +71 -0
  224. package/scripts/.claude/commands/especdev/iniciar.md +82 -0
  225. package/scripts/.claude/commands/especdev/limpiar-slop.md +88 -0
  226. package/scripts/.claude/commands/especdev/memorizar.md +31 -0
  227. package/scripts/.claude/commands/especdev/mesa-redonda.md +60 -0
  228. package/scripts/.claude/commands/especdev/mesa-tecnica.md +144 -0
  229. package/scripts/.claude/commands/especdev/migrar.md +237 -0
  230. package/scripts/.claude/commands/especdev/minar-referencias.md +214 -0
  231. package/scripts/.claude/commands/especdev/planificar-tecnico.md +186 -0
  232. package/scripts/.claude/commands/especdev/planning.md +264 -0
  233. package/scripts/.claude/commands/especdev/poc.md +302 -0
  234. package/scripts/.claude/commands/especdev/proponer.md +69 -0
  235. package/scripts/.claude/commands/especdev/rapido.md +69 -0
  236. package/scripts/.claude/commands/especdev/reflexionar.md +53 -0
  237. package/scripts/.claude/commands/especdev/retro.md +14 -0
  238. package/scripts/.claude/commands/especdev/reversa.md +155 -0
  239. package/scripts/.claude/commands/especdev/revisar.md +221 -0
  240. package/scripts/.claude/commands/especdev/traspasar.md +76 -0
  241. package/scripts/.claude/commands/especdev/traspaso.md +43 -0
  242. package/scripts/.claude/commands/especdev/validar.md +40 -0
  243. package/scripts/.claude/commands/historias-generar.md +74 -0
  244. package/scripts/.claude/commands/razonar/5-porques.md +42 -0
  245. package/scripts/.claude/commands/razonar/circulo-competencia.md +22 -0
  246. package/scripts/.claude/commands/razonar/costo-oportunidad.md +21 -0
  247. package/scripts/.claude/commands/razonar/inversion.md +40 -0
  248. package/scripts/.claude/commands/razonar/mapa-territorio.md +22 -0
  249. package/scripts/.claude/commands/razonar/minimizar-arrepentimiento.md +20 -0
  250. package/scripts/.claude/commands/razonar/pareto.md +32 -0
  251. package/scripts/.claude/commands/razonar/pre-mortem.md +22 -0
  252. package/scripts/.claude/commands/razonar/primeros-principios.md +57 -0
  253. package/scripts/.claude/commands/razonar/probabilistico.md +21 -0
  254. package/scripts/.claude/commands/razonar/reversibilidad.md +27 -0
  255. package/scripts/.claude/commands/razonar/rlm-cadena-pensamiento.md +189 -0
  256. package/scripts/.claude/commands/razonar/rlm-descomposicion.md +216 -0
  257. package/scripts/.claude/commands/razonar/rlm-verificacion.md +169 -0
  258. package/scripts/.claude/commands/razonar/segundo-orden.md +35 -0
  259. package/scripts/.claude/don-cheli/AGENTS.md +20 -0
  260. package/scripts/.claude/don-cheli/CLAUDE.md +114 -0
  261. package/scripts/.claude/don-cheli/NOTICE +17 -0
  262. package/scripts/.claude/don-cheli/VERSION +1 -0
  263. package/scripts/.claude/don-cheli/agentes/README.md +28 -0
  264. package/scripts/.claude/don-cheli/agentes/prompts/estimador.md +29 -0
  265. package/scripts/.claude/don-cheli/folder-map.json +19 -0
  266. package/scripts/.claude/don-cheli/ganchos/parar.md +10 -0
  267. package/scripts/.claude/don-cheli/ganchos/post-herramienta.md +9 -0
  268. package/scripts/.claude/don-cheli/ganchos/pre-herramienta.md +19 -0
  269. package/scripts/.claude/don-cheli/habilidades/arnes-agente/HABILIDAD.md +155 -0
  270. package/scripts/.claude/don-cheli/habilidades/auto-correccion/HABILIDAD.md +105 -0
  271. package/scripts/.claude/don-cheli/habilidades/brainstorming/HABILIDAD.md +79 -0
  272. package/scripts/.claude/don-cheli/habilidades/cambio-carpeta/HABILIDAD.md +91 -0
  273. package/scripts/.claude/don-cheli/habilidades/code-rag/HABILIDAD.md +297 -0
  274. package/scripts/.claude/don-cheli/habilidades/contabilidad-tokens/HABILIDAD.md +100 -0
  275. package/scripts/.claude/don-cheli/habilidades/delta-specs/HABILIDAD.md +93 -0
  276. package/scripts/.claude/don-cheli/habilidades/desarrollo-subagentes/HABILIDAD.md +42 -0
  277. package/scripts/.claude/don-cheli/habilidades/deteccion-loops/HABILIDAD.md +159 -0
  278. package/scripts/.claude/don-cheli/habilidades/deteccion-stubs/HABILIDAD.md +195 -0
  279. package/scripts/.claude/don-cheli/habilidades/devlog/HABILIDAD.md +75 -0
  280. package/scripts/.claude/don-cheli/habilidades/documentacion-viva/HABILIDAD.md +222 -0
  281. package/scripts/.claude/don-cheli/habilidades/estimacion/HABILIDAD.md +39 -0
  282. package/scripts/.claude/don-cheli/habilidades/extensiones-presets/HABILIDAD.md +124 -0
  283. package/scripts/.claude/don-cheli/habilidades/generador-specs/HABILIDAD.md +28 -0
  284. package/scripts/.claude/don-cheli/habilidades/ingenieria-contexto/HABILIDAD.md +25 -0
  285. package/scripts/.claude/don-cheli/habilidades/integracion-mcp/HABILIDAD.md +50 -0
  286. package/scripts/.claude/don-cheli/habilidades/leyes-hierro/HABILIDAD.md +36 -0
  287. package/scripts/.claude/don-cheli/habilidades/mapa-arquitectonico/HABILIDAD.md +84 -0
  288. package/scripts/.claude/don-cheli/habilidades/memoria-persistente/HABILIDAD.md +88 -0
  289. package/scripts/.claude/don-cheli/habilidades/obsidian/HABILIDAD.md +84 -0
  290. package/scripts/.claude/don-cheli/habilidades/optimizacion-tokens/HABILIDAD.md +170 -0
  291. package/scripts/.claude/don-cheli/habilidades/optimizador-contexto/HABILIDAD.md +97 -0
  292. package/scripts/.claude/don-cheli/habilidades/orquestacion-autonoma/HABILIDAD.md +124 -0
  293. package/scripts/.claude/don-cheli/habilidades/permisos-seguridad/HABILIDAD.md +67 -0
  294. package/scripts/.claude/don-cheli/habilidades/persona/HABILIDAD.md +57 -0
  295. package/scripts/.claude/don-cheli/habilidades/presentaciones/HABILIDAD.md +54 -0
  296. package/scripts/.claude/don-cheli/habilidades/prueba-trabajo/HABILIDAD.md +122 -0
  297. package/scripts/.claude/don-cheli/habilidades/razonamiento/HABILIDAD.md +60 -0
  298. package/scripts/.claude/don-cheli/habilidades/recuperacion-sesion/HABILIDAD.md +18 -0
  299. package/scripts/.claude/don-cheli/habilidades/refactorizacion-solid/HABILIDAD.md +173 -0
  300. package/scripts/.claude/don-cheli/habilidades/reflexion/HABILIDAD.md +15 -0
  301. package/scripts/.claude/don-cheli/habilidades/rigor-progresivo/HABILIDAD.md +100 -0
  302. package/scripts/.claude/don-cheli/habilidades/rlm/HABILIDAD.md +76 -0
  303. package/scripts/.claude/don-cheli/habilidades/schemas-dbml/HABILIDAD.md +92 -0
  304. package/scripts/.claude/don-cheli/habilidades/trazabilidad/HABILIDAD.md +54 -0
  305. package/scripts/.claude/don-cheli/habilidades/ui-ux-design/HABILIDAD.md +67 -0
  306. package/scripts/.claude/don-cheli/habilidades/validacion-nyquist/HABILIDAD.md +152 -0
  307. package/scripts/.claude/don-cheli/habilidades/worktrees/HABILIDAD.md +71 -0
  308. package/scripts/.claude/don-cheli/locale +1 -0
  309. package/scripts/.claude/don-cheli/locales/en.json +179 -0
  310. package/scripts/.claude/don-cheli/locales/es.json +179 -0
  311. package/scripts/.claude/don-cheli/locales/pt.json +179 -0
  312. package/scripts/.claude/don-cheli/plantillas/checklist-requisitos.md +31 -0
  313. package/scripts/.claude/don-cheli/plantillas/docker/Dockerfile +16 -0
  314. package/scripts/.claude/don-cheli/plantillas/docker/docker-compose.yml +28 -0
  315. package/scripts/.claude/don-cheli/plantillas/especdev/WORKFLOW.md +118 -0
  316. package/scripts/.claude/don-cheli/plantillas/especdev/config.yaml +27 -0
  317. package/scripts/.claude/don-cheli/plantillas/especdev/en/config.yaml +27 -0
  318. package/scripts/.claude/don-cheli/plantillas/especdev/en/findings.md +7 -0
  319. package/scripts/.claude/don-cheli/plantillas/especdev/en/plan.md +35 -0
  320. package/scripts/.claude/don-cheli/plantillas/especdev/en/progress.md +7 -0
  321. package/scripts/.claude/don-cheli/plantillas/especdev/en/status.md +16 -0
  322. package/scripts/.claude/don-cheli/plantillas/especdev/es/config.yaml +27 -0
  323. package/scripts/.claude/don-cheli/plantillas/especdev/es/estado.md +16 -0
  324. package/scripts/.claude/don-cheli/plantillas/especdev/es/hallazgos.md +7 -0
  325. package/scripts/.claude/don-cheli/plantillas/especdev/es/plan.md +35 -0
  326. package/scripts/.claude/don-cheli/plantillas/especdev/es/progreso.md +7 -0
  327. package/scripts/.claude/don-cheli/plantillas/especdev/estado.md +16 -0
  328. package/scripts/.claude/don-cheli/plantillas/especdev/hallazgos.md +7 -0
  329. package/scripts/.claude/don-cheli/plantillas/especdev/isa.yml +152 -0
  330. package/scripts/.claude/don-cheli/plantillas/especdev/plan.md +35 -0
  331. package/scripts/.claude/don-cheli/plantillas/especdev/progreso.md +7 -0
  332. package/scripts/.claude/don-cheli/plantillas/especdev/pt/config.yaml +27 -0
  333. package/scripts/.claude/don-cheli/plantillas/especdev/pt/descobertas.md +7 -0
  334. package/scripts/.claude/don-cheli/plantillas/especdev/pt/estado.md +16 -0
  335. package/scripts/.claude/don-cheli/plantillas/especdev/pt/plano.md +35 -0
  336. package/scripts/.claude/don-cheli/plantillas/especdev/pt/progresso.md +7 -0
  337. package/scripts/.claude/don-cheli/plantillas/estimado-desarrollo.md +43 -0
  338. package/scripts/.claude/don-cheli/prompt.md +16 -0
  339. package/scripts/.claude/don-cheli/reglas/constitucion.md +122 -0
  340. package/scripts/.claude/don-cheli/reglas/hooks-parar.md +102 -0
  341. package/scripts/.claude/don-cheli/reglas/i18n.md +47 -0
  342. package/scripts/.claude/don-cheli/reglas/leyes-hierro.md +18 -0
  343. package/scripts/.claude/don-cheli/reglas/puertas-calidad.md +87 -0
  344. package/scripts/.claude/don-cheli/reglas/reglas-desviacion.md +36 -0
  345. package/scripts/.claude/don-cheli/reglas/reglas-trabajo-globales.md +171 -0
  346. package/scripts/.claude/don-cheli/scripts/bucle.sh +103 -0
  347. package/scripts/.claude/don-cheli/scripts/instalar.sh +522 -0
  348. package/scripts/.claude/don-cheli/scripts/validar.sh +70 -0
  349. package/scripts/bucle.sh +103 -0
  350. package/scripts/instalar.sh +587 -0
  351. package/scripts/validar.sh +70 -0
@@ -0,0 +1,69 @@
1
+ ---
2
+ description: Crear propuesta de cambio con intención, alcance y enfoque antes de especificar
3
+ i18n: true
4
+ ---
5
+
6
+ # /especdev:proponer
7
+
8
+ ## Objetivo
9
+
10
+ Crear una propuesta de cambio estructurada ANTES de escribir la especificación Gherkin. Define la intención (WHY), el alcance (WHAT) y el enfoque (HOW) del cambio.
11
+
12
+ > Adaptado de `sdd-propose` de Gentle-AI — fase intermedia entre explorar y especificar.
13
+
14
+ ## Uso
15
+
16
+ ```
17
+ /especdev:proponer <descripción del cambio>
18
+ ```
19
+
20
+ ## Por Qué Existe
21
+
22
+ Sin una propuesta formal, los developers saltan directo a escribir specs sin
23
+ alinear la intención con el stakeholder. La propuesta:
24
+ - Fuerza a pensar en el **POR QUÉ** antes del **QUÉ**
25
+ - Define el alcance explícito (qué SÍ, qué NO)
26
+ - Identifica riesgos antes de invertir tiempo en specs
27
+
28
+ ## Output
29
+
30
+ ```markdown
31
+ # Propuesta: Implementar Autenticación OAuth
32
+
33
+ ## Intención (POR QUÉ)
34
+ Los usuarios piden login social. El 60% abandona el registro manual.
35
+
36
+ ## Alcance (QUÉ)
37
+ ### Incluido
38
+ - Login con Google y GitHub
39
+ - Vinculación de cuenta OAuth a cuenta existente
40
+ - Token refresh automático
41
+
42
+ ### Excluido
43
+ - Login con Facebook (baja demanda)
44
+ - 2FA con OAuth (fase posterior)
45
+
46
+ ## Enfoque (CÓMO)
47
+ - Usar passport.js para providers
48
+ - Almacenar tokens encriptados en BD
49
+ - Flujo: redirect → callback → JWT interno
50
+
51
+ ## Riesgos
52
+ - Dependencia de APIs externas de Google/GitHub
53
+ - Complejidad de vinculación de cuentas existentes
54
+
55
+ ## Estimado Preliminar
56
+ - Complejidad: Nivel 2 (Estándar)
57
+ - Tiempo: 3-5 días
58
+ - Archivos afectados: ~8-12
59
+
60
+ ## Estado: PENDIENTE APROBACIÓN
61
+ ```
62
+
63
+ ## Integración
64
+
65
+ ```
66
+ /especdev:explorar → hallazgos.md
67
+ → /especdev:proponer → propuesta.md (ESTE COMANDO)
68
+ → /especdev:especificar → .feature (solo después de aprobar propuesta)
69
+ ```
@@ -0,0 +1,49 @@
1
+ ---
2
+ description: Generar pseudocódigo agnóstico de tecnología desde las specs antes de planificar
3
+ i18n: true
4
+ ---
5
+
6
+ # /especdev:pseudocodigo
7
+
8
+ ## Objetivo
9
+
10
+ Crear un artefacto de pseudocódigo de alto nivel entre la fase de especificación y la planificación técnica. Fuerza al agente a razonar sobre la LÓGICA del sistema sin comprometer stack, framework o estructura de archivos.
11
+
12
+ Inspirado en la fase "P" (Pseudocode) del framework SPARC.
13
+
14
+ ## Uso
15
+
16
+ ```
17
+ /especdev:pseudocodigo # Desde las specs del sprint actual
18
+ /especdev:pseudocodigo @specs/auth/ # Para un dominio específico
19
+ ```
20
+
21
+ ## Comportamiento
22
+
23
+ 1. **Leer** las specs Gherkin del dominio
24
+ 2. **Extraer** los flujos principales (happy path + sad paths)
25
+ 3. **Generar** pseudocódigo agnóstico:
26
+ - Sin nombres de funciones reales
27
+ - Sin imports ni frameworks
28
+ - Sin tipos de datos específicos del lenguaje
29
+ - Solo lógica: CUANDO/SI/SINO/PARA-CADA/RETORNAR
30
+ 4. **Identificar** invariantes (condiciones siempre verdaderas)
31
+ 5. **Listar** casos límite y dependencias de datos
32
+ 6. **Guardar** en `.especdev/pseudocodigo.md`
33
+
34
+ ## Por qué existe
35
+
36
+ Sin pseudocódigo, el agente salta de "qué hacer" (spec) a "cómo implementar" (plan técnico) sin pasar por "qué lógica necesito". Esto causa:
37
+ - Sobre-ingeniería (resolver problemas que no existen)
38
+ - Under-ingeniería (olvidar edge cases obvios)
39
+ - Acoplamiento temprano a un framework
40
+
41
+ El pseudocódigo es el "boceto" del arquitecto antes de los planos.
42
+
43
+ ## Integración en el Pipeline
44
+
45
+ ```
46
+ especificar → clarificar → PSEUDOCÓDIGO → planificar-tecnico → desglosar → implementar
47
+ ```
48
+
49
+ Es opcional pero recomendado para tareas de complejidad ≥ 2 (Estándar).
@@ -0,0 +1,69 @@
1
+ ---
2
+ description: Modo rápido para tareas pequeñas y bien definidas (Nivel 1)
3
+ i18n: true
4
+ ---
5
+
6
+ # /especdev:rapido
7
+
8
+ ## Objetivo
9
+
10
+ Iniciar modo rápido (Nivel 1 - Micro) para tareas pequeñas y bien definidas.
11
+
12
+ ## Uso
13
+
14
+ ```
15
+ /especdev:rapido <descripción de la tarea>
16
+ ```
17
+
18
+ ## Cuándo Usar
19
+
20
+ - Tarea bien definida (inicio y fin claros)
21
+ - Solución conocida
22
+ - Alcance pequeño (1-3 tareas, < 1 día)
23
+ - Sin decisiones arquitectónicas
24
+ - Fácil de revertir
25
+
26
+ ## Proceso (3 fases)
27
+
28
+ ### Fase 1: Planear (5 min)
29
+
30
+ ```markdown
31
+ ## Tarea Rápida: [título]
32
+
33
+ **Meta:** [una línea]
34
+ **Enfoque:** [2-3 oraciones]
35
+ **Tareas:**
36
+ - [ ] Tarea 1
37
+ - [ ] Tarea 2
38
+ - [ ] Tarea 3
39
+
40
+ **Completado cuando:** [criterio de éxito]
41
+ ```
42
+
43
+ ### Fase 2: Ejecutar (trabajo principal)
44
+
45
+ 1. Ejecutar tareas secuencialmente
46
+ 2. Aplicar Leyes de Hierro (TDD, debugging, verificación)
47
+ 3. Registrar progreso en `.especdev/progreso.md`
48
+
49
+ ### Fase 3: Verificar (5 min)
50
+
51
+ ```markdown
52
+ ## Verificación
53
+ - [ ] Todas las tareas completadas
54
+ - [ ] Tests pasan
55
+ - [ ] Sin regresiones
56
+ - [ ] Código commitado
57
+ ```
58
+
59
+ ## Escalamiento Automático
60
+
61
+ Si se detecta complejidad → auto-escalar a `/especdev:completo`
62
+
63
+ ```
64
+ ¿Puedo resolver esto en < 5 min sin cambiar cómo las cosas trabajan juntas?
65
+ ├── SÍ → Continuar en modo rápido
66
+ └── NO → ¿Necesita una decisión de diseño?
67
+ ├── SÍ → Escalar a modo completo
68
+ └── NO → Registrar y continuar
69
+ ```
@@ -0,0 +1,53 @@
1
+ ---
2
+ description: Reflexionar sobre una tarea para mejorar calidad (+8-21%)
3
+ i18n: true
4
+ ---
5
+
6
+ # /especdev:reflexionar
7
+
8
+ ## Objetivo
9
+
10
+ Aplicar reflexión estructurada sobre una tarea completada para mejorar la calidad del output. La investigación muestra **+8-21% de mejora** en calidad de tareas.
11
+
12
+ ## Uso
13
+
14
+ ```
15
+ /especdev:reflexionar [tema]
16
+ ```
17
+
18
+ ## Las 4 Preguntas
19
+
20
+ 1. **¿Qué funcionó bien?** → Identificar patrones exitosos
21
+ 2. **¿Qué se puede mejorar?** → Encontrar brechas de calidad
22
+ 3. **¿Qué aprendí?** → Extraer insights
23
+ 4. **¿Qué haría diferente?** → Considerar alternativas
24
+
25
+ ## Cuándo Reflexionar
26
+
27
+ | Disparador | Acción |
28
+ |-----------|--------|
29
+ | Tarea compleja completada | Siempre reflexionar |
30
+ | Usuario solicita revisión | Siempre reflexionar |
31
+ | "reflexionar" en el prompt | Auto-activado |
32
+ | Tarea mecánica simple | Omitir (costo > beneficio) |
33
+
34
+ ## Ejemplo
35
+
36
+ ```markdown
37
+ ## Reflexión: Implementación de API
38
+
39
+ ### Qué Funcionó Bien ✅
40
+ - Separación de responsabilidades limpia
41
+ - Buena cobertura de tests (87%)
42
+
43
+ ### Qué Se Puede Mejorar 🔧
44
+ - Tiempo de respuesta en búsqueda (800ms → meta 200ms)
45
+ - Falta documentación de rate limiting
46
+
47
+ ### Qué Aprendí 💡
48
+ - Índices de base de datos tienen 10x impacto en búsquedas
49
+ - Testing de rendimiento temprano previene sorpresas tardías
50
+
51
+ ### Qué Haría Diferente 🔄
52
+ - Agregar benchmarks de rendimiento desde el día 1
53
+ ```
@@ -0,0 +1,14 @@
1
+ ---
2
+ description: Ver detalles de una sesión pasada
3
+ i18n: true
4
+ ---
5
+
6
+ # /especdev:retro
7
+
8
+ ## Uso
9
+
10
+ ```
11
+ /especdev:retro <sesion>
12
+ ```
13
+
14
+ Muestra los detalles de una sesión pasada almacenada en `.especdev/historial/`.
@@ -0,0 +1,155 @@
1
+ ---
2
+ description: Extraer arquitectura de un codebase existente (ingeniería inversa)
3
+ i18n: true
4
+ ---
5
+
6
+ # /especdev:reversa
7
+
8
+ ## Objetivo
9
+
10
+ Analizar un codebase existente y extraer su arquitectura implícita: componentes, conexiones, flujos de datos, tecnologías y propiedad de código. Convierte código desorganizado en un mapa arquitectónico explícito.
11
+
12
+ > Adaptado de DevilDev (lak7/devildev) — Reverse Architecture.
13
+
14
+ ## Uso
15
+
16
+ ```
17
+ /especdev:reversa # Analizar el proyecto actual
18
+ /especdev:reversa @ruta/al/proyecto # Analizar un proyecto específico
19
+ /especdev:reversa --profundidad superficial # Solo estructura de alto nivel
20
+ /especdev:reversa --profundidad profunda # Incluir flujo de datos y dependencias
21
+ ```
22
+
23
+ ## Por Qué Existe
24
+
25
+ El 80% del trabajo de desarrollo es sobre codebases **existentes**, no greenfield. Antes de modificar un sistema, necesitas entender:
26
+ - ¿Cuáles son los componentes principales?
27
+ - ¿Cómo se conectan entre sí?
28
+ - ¿Qué tecnologías usa cada componente?
29
+ - ¿Dónde vive el código de cada componente?
30
+
31
+ Sin esta herramienta, un agente IA empieza a modificar código **sin entender la arquitectura**, generando inconsistencias y duplicación.
32
+
33
+ ## Comportamiento
34
+
35
+ ### Paso 1: Escaneo Estructural
36
+
37
+ ```
38
+ Escaneando proyecto...
39
+ ├── Detectando framework: Next.js 15 + TypeScript
40
+ ├── Identificando dependencias: 24 directas, 8 dev
41
+ ├── Mapeando estructura de directorios
42
+ └── Analizando imports y exports
43
+ ```
44
+
45
+ ### Paso 2: Identificación de Componentes
46
+
47
+ Aplica estas reglas (de DevilDev):
48
+
49
+ 1. **Solo componentes con evidencia** — No inventar lo que no existe
50
+ 2. **Test de valor de negocio** — ¿Un stakeholder no-técnico lo entendería?
51
+ 3. **Test de significancia** — ¿Si falla, requiere una solución técnica diferente?
52
+ 4. **Test de independencia** — ¿Se podría reemplazar con otra tecnología?
53
+
54
+ ### Paso 3: Mapeo de Propiedad de Código
55
+
56
+ Para cada componente:
57
+
58
+ ```json
59
+ {
60
+ "codeOwnership": {
61
+ "primaryImplementation": {
62
+ "directories": ["src/services/auth/"],
63
+ "files": ["src/middleware/jwt.ts"],
64
+ "confidence": 0.9,
65
+ "rationale": "Contiene toda la lógica de autenticación"
66
+ },
67
+ "supportingRelated": {
68
+ "directories": ["src/utils/crypto/"],
69
+ "confidence": 0.6,
70
+ "rationale": "Helpers de encriptación usados por auth"
71
+ },
72
+ "sharedDependencies": {
73
+ "files": ["src/db/prisma.ts"],
74
+ "confidence": 0.3,
75
+ "rationale": "Cliente de BD compartido con otros servicios"
76
+ }
77
+ }
78
+ }
79
+ ```
80
+
81
+ ## Output
82
+
83
+ ```markdown
84
+ # Arquitectura Extraída: mi-proyecto
85
+
86
+ ## Resumen
87
+ E-commerce platform con 6 componentes principales.
88
+ Stack: Next.js 15, PostgreSQL, Stripe, Redis.
89
+
90
+ ## Componentes
91
+
92
+ ### 1. 🛍️ Portal de Cliente
93
+ - **Propósito:** Interfaz de usuario para compras
94
+ - **Tecnologías:** React 19, Next.js App Router, TailwindCSS
95
+ - **Código:** src/app/(store)/, src/components/
96
+ - **Flujo de datos:**
97
+ - Envía: órdenes, búsquedas, preferencias
98
+ - Recibe: productos, precios, estado de pedido
99
+
100
+ ### 2. 🔐 Sistema de Autenticación
101
+ - **Propósito:** Login, registro, sesiones
102
+ - **Tecnologías:** NextAuth.js v5, JWT, bcrypt
103
+ - **Código:** src/app/api/auth/, src/middleware.ts
104
+ - **Flujo de datos:**
105
+ - Envía: tokens JWT, sesiones
106
+ - Recibe: credenciales, tokens OAuth
107
+
108
+ ### 3. 💳 Procesamiento de Pagos
109
+ - **Propósito:** Cobros, reembolsos, suscripciones
110
+ - **Tecnologías:** Stripe API v3, webhooks
111
+ - **Código:** src/services/payment/, src/app/api/webhook/stripe/
112
+ - **Flujo de datos:**
113
+ - Envía: cobros, reembolsos
114
+ - Recibe: confirmaciones, eventos Stripe
115
+
116
+ ### ... (más componentes)
117
+
118
+ ## Mapa de Conexiones
119
+
120
+ ```
121
+ Portal de Cliente ──► Sistema de Auth ──► BD PostgreSQL
122
+ │ ▲
123
+ ▼ │
124
+ Procesamiento de Pagos ─────────────────────────┘
125
+
126
+
127
+ Servicio de Email
128
+ ```
129
+
130
+ ## Métricas
131
+ - Complejidad ciclomática promedio: 4.2
132
+ - Archivos sin tests: 12/48 (25%)
133
+ - Dependencias desactualizadas: 3
134
+ - Código muerto detectado: ~200 líneas
135
+ ```
136
+
137
+ ## Sincronización Automática
138
+
139
+ Cuando hay un `git push`, la arquitectura se puede re-evaluar automáticamente:
140
+
141
+ ```yaml
142
+ # WORKFLOW.md
143
+ reversa:
144
+ auto_sync: true
145
+ trigger: "git push"
146
+ solo_archivos_cambiados: true # Solo re-analiza lo que cambió
147
+ ```
148
+
149
+ ## Niveles de Profundidad
150
+
151
+ | Nivel | Qué Incluye | Tokens Estimados |
152
+ |-------|------------|-----------------|
153
+ | Superficial | Estructura, framework, componentes principales | ~2,000 |
154
+ | Media (default) | + conexiones, tecnologías, propiedad de código | ~5,000 |
155
+ | Profunda | + flujo de datos, métricas, código muerto, tests | ~10,000 |
@@ -0,0 +1,231 @@
1
+ ---
2
+ description: Peer review estricto con análisis de rendimiento, arquitectura, seguridad y cumplimiento
3
+ i18n: true
4
+ ---
5
+
6
+ # /especdev:revisar
7
+
8
+ ## Objetivo
9
+
10
+ Generar un peer review estricto asumiendo el rol de **Arquitecto de Software / Lead Developer**. Evalúa no solo sintaxis y tests, sino rendimiento, cumplimiento de arquitectura, seguridad y eficiencia algorítmica.
11
+
12
+ ## Uso
13
+
14
+ ```
15
+ /especdev:revisar
16
+ /especdev:revisar @specs/features/<dominio>/<Feature>.tasks.md
17
+ /especdev:revisar --rigor alto # Review de arquitecto senior
18
+ /especdev:revisar --rigor estandar # Review estándar (default)
19
+ /especdev:revisar --foco rendimiento # Enfocarse en performance
20
+ /especdev:revisar --foco seguridad # Enfocarse en seguridad
21
+ ```
22
+
23
+ ## Dimensiones del Review
24
+
25
+ ### 1. Corrección Funcional
26
+
27
+ ```
28
+ Verificar:
29
+ - [ ] Todos los escenarios Gherkin P1 implementados
30
+ - [ ] Escenarios P2 implementados
31
+ - [ ] Edge cases cubiertos con tests
32
+ - [ ] Sin stubs detectados (habilidad detección-stubs)
33
+ - [ ] Criterios de éxito de la spec cumplidos
34
+ ```
35
+
36
+ ### 2. Tests y Cobertura
37
+
38
+ ```
39
+ Verificar:
40
+ - [ ] Tests unitarios pasan
41
+ - [ ] Tests de integración pasan
42
+ - [ ] Tests BDD desde Gherkin pasan
43
+ - [ ] Cobertura ≥ 85% sobre código nuevo
44
+ - [ ] Validación Nyquist: 100% P1, 80% P2
45
+ - [ ] Tests verifican comportamiento, no implementación
46
+ - [ ] Sin tests frágiles (no dependen de orden, tiempo, estado global)
47
+ ```
48
+
49
+ ### 3. Rendimiento
50
+
51
+ ```
52
+ Detectar:
53
+ ❌ Consultas N+1 a base de datos
54
+ ❌ Loops innecesarios sobre datasets grandes (O(n²) evitable)
55
+ ❌ Falta de paginación en queries que pueden crecer
56
+ ❌ Objetos grandes en memoria sin liberar
57
+ ❌ Imports pesados que podrían ser lazy
58
+ ❌ Re-renders innecesarios (React) o watchers excesivos (Vue)
59
+ ❌ Falta de índices en queries frecuentes
60
+ ❌ Serialización/deserialización redundante
61
+ ```
62
+
63
+ ### 4. Arquitectura y Diseño
64
+
65
+ ```
66
+ Verificar:
67
+ - [ ] Cumple con constitución (todos los artículos)
68
+ - [ ] Principios SOLID respetados (habilidad refactorizacion-solid)
69
+ - [ ] Contrato UI respetado (si aplica, habilidad contrato-ui)
70
+ - [ ] Sin acoplamiento excesivo entre módulos
71
+ - [ ] Dependencias inyectadas (no hardcoded)
72
+ - [ ] Separación de concerns (controller thin, service con lógica)
73
+ - [ ] Sin código duplicado significativo (>10 líneas)
74
+ ```
75
+
76
+ ### 5. Seguridad
77
+
78
+ ```
79
+ Verificar (subset de auditar-seguridad):
80
+ - [ ] Input validado en puntos de entrada
81
+ - [ ] Queries parametrizadas (no concatenación)
82
+ - [ ] Sin credenciales en código
83
+ - [ ] Auth/authz en endpoints que lo requieren
84
+ - [ ] Output encodado (prevención XSS)
85
+ - [ ] Sin datos sensibles en logs
86
+ ```
87
+
88
+ ### 6. Estilo y Convenciones
89
+
90
+ ```
91
+ Verificar:
92
+ - [ ] Naming consistente con convenciones del proyecto
93
+ - [ ] Sin imports no usados
94
+ - [ ] Sin variables no usadas
95
+ - [ ] Sin console.log/print de debugging
96
+ - [ ] Lint y type-check sin errores
97
+ - [ ] Comentarios que aportan valor (no ruido)
98
+ ```
99
+
100
+ ### 7. Diff Limpio
101
+
102
+ ```
103
+ Verificar:
104
+ - [ ] Solo cambios relacionados a la feature
105
+ - [ ] Sin refactoring "de paso" (Art. II Constitución)
106
+ - [ ] Sin cambios de formato no relacionados
107
+ - [ ] Sin archivos de configuración personal (.vscode, .idea)
108
+ - [ ] Sin archivos binarios innecesarios
109
+ ```
110
+
111
+ ## Output
112
+
113
+ Genera `specs/features/<dominio>/revision.md`:
114
+
115
+ ```markdown
116
+ # Peer Review: CrearUsuario
117
+
118
+ **Revisor:** Don Cheli Peer Review v2.0
119
+ **Fecha:** 2026-03-21
120
+ **Rigor:** Alto (Arquitecto Senior)
121
+ **Archivos revisados:** 8
122
+
123
+ ---
124
+
125
+ ## Veredicto: ⚠️ APROBADO CON OBSERVACIONES
126
+
127
+ ---
128
+
129
+ ## 1. Corrección Funcional ✅
130
+ - P1: 3/3 escenarios implementados
131
+ - P2: 2/2 escenarios implementados
132
+ - Stubs: 0 detectados
133
+
134
+ ## 2. Tests y Cobertura ✅
135
+ - Unitarios: 12/12 ✅
136
+ - Integración: 4/4 ✅
137
+ - BDD: 5/5 ✅
138
+ - Cobertura: 89% (≥ 85% ✅)
139
+ - Nyquist P1: 100% ✅
140
+
141
+ ## 3. Rendimiento ⚠️
142
+
143
+ ### ⚠️ PERF-001: Consulta N+1 potencial
144
+ **Archivo:** src/services/usuario_service.py:67
145
+ **Descripción:** Al listar usuarios con sus roles, se ejecuta 1 query por rol.
146
+ ```python
147
+ # Actual (N+1)
148
+ for user in users:
149
+ user.roles = await role_repo.find_by_user(user.id)
150
+
151
+ # Sugerido (1 query)
152
+ user_ids = [u.id for u in users]
153
+ roles_map = await role_repo.find_by_users(user_ids)
154
+ for user in users:
155
+ user.roles = roles_map.get(user.id, [])
156
+ ```
157
+ **Impacto:** Bajo ahora (pocos usuarios), pero escala linealmente.
158
+ **Acción:** Corregir antes de que la tabla usuarios crezca.
159
+
160
+ ## 4. Arquitectura y Diseño ✅
161
+ - Constitución: todos los artículos ✅
162
+ - SOLID: sin violaciones detectadas
163
+ - Separación de concerns: controller thin ✅
164
+ - DI: todas las dependencias inyectadas ✅
165
+
166
+ ## 5. Seguridad ✅
167
+ - Input validado con Pydantic ✅
168
+ - Queries parametrizadas (SQLAlchemy) ✅
169
+ - Password con argon2id ✅
170
+ - Sin credenciales en código ✅
171
+
172
+ ## 6. Estilo y Convenciones ✅
173
+ - Naming consistente ✅
174
+ - Lint: 0 errores ✅
175
+ - Type-check: 0 errores ✅
176
+ - Sin console.log ✅
177
+
178
+ ## 7. Diff Limpio ✅
179
+ - Solo archivos de la feature ✅
180
+ - Sin cambios de formato ✅
181
+
182
+ ---
183
+
184
+ ## Resumen de Hallazgos
185
+
186
+ | ID | Tipo | Severidad | Estado |
187
+ |----|------|-----------|--------|
188
+ | PERF-001 | Rendimiento | ⚠️ Medio | Pendiente |
189
+
190
+ ## Recomendaciones
191
+ 1. Corregir N+1 en listado de usuarios (PERF-001)
192
+ 2. Considerar agregar índice en `email` si aún no existe
193
+ 3. Agregar rate limiting en POST /usuarios para v2
194
+ ```
195
+
196
+ ## Niveles de Rigor
197
+
198
+ | Rigor | Quién simula | Dimensiones | Cuándo usar |
199
+ |-------|-------------|-------------|-------------|
200
+ | **Básico** | Developer Jr | 1, 2, 6 | Fix rápido, cambio menor |
201
+ | **Estándar** | Senior Dev | 1-4, 6, 7 | Features estándar |
202
+ | **Alto** | Arquitecto Senior | 1-7 (todas) | Features críticas, auth, pagos |
203
+
204
+ ## Integración con Pipeline
205
+
206
+ ```
207
+ /especdev:implementar → código completo
208
+ → /especdev:revisar → reporte de review
209
+ → ¿Aprobado?
210
+ ├── ✅ APROBADO → listo para PR
211
+ ├── ⚠️ CON OBSERVACIONES → corregir hallazgos → re-revisar
212
+ └── ❌ RECHAZADO → cambios significativos necesarios
213
+ ```
214
+
215
+ ## Guardrails
216
+
217
+ - **Nunca** aprobar código con stubs críticos
218
+ - **Nunca** aprobar sin tests (Ley de Hierro #1)
219
+ - **Nunca** ignorar hallazgos de seguridad
220
+ - **Siempre** verificar cumplimiento de constitución
221
+ - **Siempre** documentar hallazgos con archivo + línea + sugerencia
222
+
223
+ ## Regla Adversarial
224
+
225
+ Inspirada en el framework BMAD: el reviewer DEBE encontrar al menos un hallazgo concreto en cada revisión.
226
+
227
+ - Si el review produce **cero hallazgos**, se activa una segunda pasada obligatoria con instrucción explícita: "Re-analizar buscando específicamente: N+1 queries, race conditions, edge cases no testeados, datos sensibles en logs, y naming inconsistencies."
228
+ - Si la segunda pasada también produce cero hallazgos, se debe incluir una justificación explícita de por qué el código es excepcionalmente limpio.
229
+ - **Nunca** aprobar con "todo se ve bien" sin evidencia de análisis profundo.
230
+
231
+ Esto combate la tendencia natural del LLM a aprobar trabajo propio sin challenge suficiente.