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,148 @@
1
+ ---
2
+ description: Crear, probar y mejorar habilidades (skills) de forma iterativa
3
+ i18n: true
4
+ ---
5
+
6
+ # /especdev:crear-skill
7
+
8
+ ## Objetivo
9
+
10
+ Meta-skill que permite crear nuevas habilidades para Don Cheli de forma iterativa. Genera el SKILL.md, lo prueba con un prompt de test, evalúa el resultado, y propone mejoras — repitiendo el ciclo hasta lograr calidad óptima.
11
+
12
+ Compatible con el formato oficial de Anthropic Skills y con el formato HABILIDAD.md de Don Cheli.
13
+
14
+ ## Uso
15
+
16
+ ```
17
+ /especdev:crear-skill "Generador de reportes semanales del equipo"
18
+ /especdev:crear-skill --desde-patron # Detectar tarea repetitiva y convertirla en skill
19
+ /especdev:crear-skill --formato anthropic # Generar solo SKILL.md (formato Anthropic)
20
+ /especdev:crear-skill --formato doncheli # Generar HABILIDAD.md (formato Don Cheli, default)
21
+ /especdev:crear-skill --formato dual # Generar ambos formatos
22
+ ```
23
+
24
+ ## Proceso (5 fases iterativas)
25
+
26
+ ### Fase 1: Descubrimiento (1 min)
27
+ Preguntar al usuario:
28
+ 1. **¿Qué tarea quieres automatizar?** — Descripción en lenguaje natural
29
+ 2. **¿Con qué frecuencia la haces?** — Diaria, semanal, por PR, etc.
30
+ 3. **¿Qué inputs necesita?** — Archivos, datos, contexto
31
+ 4. **¿Qué output esperas?** — Formato, estructura, destino
32
+ 5. **¿Qué grado de libertad tiene?** — Alto (texto libre), medio (pseudocódigo), bajo (script exacto)
33
+
34
+ ### Fase 2: Generación del Draft (2 min)
35
+ Generar automáticamente:
36
+ - Metadata YAML (name, description) — **optimizada para matching** (esto es lo más importante)
37
+ - Instrucciones paso a paso en el body
38
+ - Ejemplos concretos con inputs/outputs reales
39
+ - Referencias a archivos adicionales si > 500 líneas
40
+
41
+ **Principio clave:** Solo incluir lo que Claude NO sabe. Omitir conocimiento general, lenguajes, librerías comunes. Enfocarse en reglas específicas del proyecto/empresa.
42
+
43
+ ### Fase 3: Test con Prompt Real (1 min)
44
+ - Ejecutar la skill con un prompt de prueba proporcionado por el usuario
45
+ - Capturar el output completo
46
+ - Medir: tokens consumidos, tiempo de ejecución, calidad del resultado
47
+
48
+ ### Fase 4: Evaluación (1 min)
49
+ Evaluar contra criterios:
50
+ | Criterio | Peso | Cómo se mide |
51
+ |----------|------|-------------|
52
+ | Accuracy | 40% | ¿El output es correcto y completo? |
53
+ | Token efficiency | 20% | ¿Cuántos tokens consumió? ¿Hay contenido innecesario? |
54
+ | Consistency | 20% | ¿Produce resultados consistentes con diferentes inputs? |
55
+ | Metadata match | 20% | ¿Se activa con los prompts correctos? ¿Falsos positivos? |
56
+
57
+ ### Fase 5: Iteración (repetir hasta satisfactorio)
58
+ - Proponer mejoras específicas al SKILL.md
59
+ - Aplicar cambios
60
+ - Re-testear
61
+ - **Máximo 3 iteraciones** — si no converge, pedir feedback del usuario
62
+
63
+ ## Formato de Salida — SKILL.md (Anthropic Compatible)
64
+
65
+ ```yaml
66
+ ---
67
+ name: Weekly Team Report Generator
68
+ description: Generates a structured weekly team report from standup notes and PR activity. Activate when user mentions "weekly report", "team update", or "sprint summary".
69
+ ---
70
+ ```
71
+
72
+ ```markdown
73
+ # Weekly Team Report Generator
74
+
75
+ ## Instructions
76
+ 1. Gather standup notes from the current week
77
+ 2. Pull PR merge activity from git log
78
+ 3. Structure the report in three sections:
79
+ - Accomplishments (from merged PRs + standup highlights)
80
+ - Blockers (from standup blockers + open issues)
81
+ - Next Week (from upcoming sprint items)
82
+ 4. Apply the team's formatting template
83
+
84
+ ## Examples
85
+
86
+ ### Input
87
+ "Generate this week's team report"
88
+
89
+ ### Output
90
+ [Structured report following the template]
91
+
92
+ ## References
93
+ - See `templates/weekly-report.md` for the formatting template
94
+ - See `reference.md` for the team's style guide
95
+ ```
96
+
97
+ ## Formato de Salida — HABILIDAD.md (Don Cheli)
98
+
99
+ ```yaml
100
+ ---
101
+ nombre: Generador de Reportes Semanales
102
+ descripcion: Genera reportes semanales del equipo desde notas de standup y actividad de PRs
103
+ version: 1.0.0
104
+ autor: [usuario]
105
+ tags: [reportes, equipo, productividad]
106
+ activacion: "reporte semanal", "actualización del equipo", "resumen de sprint"
107
+ grado_libertad: medio
108
+ ---
109
+ ```
110
+
111
+ ## Best Practices (del post de Anthropic)
112
+
113
+ ### Progressive Disclosure
114
+ La skill usa 3 capas de información:
115
+ 1. **Metadata (YAML)** — Siempre cargada al inicio (pocos tokens). Define CUÁNDO activar.
116
+ 2. **Body (Markdown)** — Cargada bajo demanda cuando se activa. Define QUÉ hacer.
117
+ 3. **File References** — Cargadas solo si se necesitan. Detalles adicionales.
118
+
119
+ ### Límite de 500 líneas
120
+ Si el SKILL.md supera 500 líneas, separar material de referencia:
121
+ ```
122
+ .claude/skills/
123
+ mi-skill/
124
+ SKILL.md ← Instrucciones principales (< 500 líneas)
125
+ templates/ ← Archivos de plantilla
126
+ reference.md ← Material de referencia detallado
127
+ ```
128
+
129
+ ### Solo incluir lo que Claude no sabe
130
+ - ❌ No explicar cómo funciona JavaScript/Python/etc.
131
+ - ❌ No incluir documentación de librerías comunes
132
+ - ✅ Incluir reglas específicas de la empresa
133
+ - ✅ Incluir formatos y templates propios
134
+ - ✅ Incluir quirks de herramientas internas
135
+ - ✅ Incluir workflow steps específicos del equipo
136
+
137
+ ### Grado de libertad
138
+ | Grado | Cuándo | Formato de instrucciones |
139
+ |-------|--------|-------------------------|
140
+ | **Alto** | Tareas creativas (redacción, diseño) | Texto libre con guidelines |
141
+ | **Medio** | Workflows con variaciones | Pseudocódigo con parámetros |
142
+ | **Bajo** | Procesos críticos sin margen de error | Scripts exactos, pocos parámetros |
143
+
144
+ ## Integración
145
+
146
+ - Las skills creadas se guardan en `.claude/skills/` (formato Anthropic) o en `habilidades/` (formato Don Cheli)
147
+ - Compatible con el marketplace oficial de Anthropic: `https://github.com/anthropics/skills`
148
+ - Se pueden compartir vía `/especdev:archivar` o exportar como ZIP
@@ -0,0 +1,119 @@
1
+ ---
2
+ description: Deliberación multi-rol con tensiones explícitas para decisiones de arquitectura y trade-offs
3
+ i18n: true
4
+ ---
5
+
6
+ # /especdev:debate
7
+
8
+ ## Objetivo
9
+
10
+ Invocar una deliberación entre múltiples perspectivas en conflicto sobre una decisión técnica, de producto o de negocio. Diferente de brainstorming (generar ideas) y de mesa-redonda (explorar opciones): el debate busca TENSIÓN entre roles senior para sacar a la luz riesgos que un solo agente no genera.
11
+
12
+ Inspirado en el "Party Mode" del framework BMAD.
13
+
14
+ ## Uso
15
+
16
+ ```
17
+ /especdev:debate "¿Monolito o microservicios para el MVP?"
18
+ /especdev:debate "¿PostgreSQL o MongoDB para este caso de uso?"
19
+ /especdev:debate --roles "CPO,Arquitecto,UX,Negocio"
20
+ ```
21
+
22
+ ## Comportamiento
23
+
24
+ 1. **Definir** la pregunta y los roles participantes (default: CPO, Arquitecto, UX)
25
+ 2. **Cada rol presenta** su posición con argumentos concretos, datos y experiencia
26
+ 3. **Cada rol critica** las posiciones de los demás (adversarial)
27
+ 4. **Se identifican** los puntos de tensión irresolubles
28
+ 5. **Se documenta** la decisión con trade-offs explícitos
29
+ 6. **Se guarda** en `.especdev/decisiones.md`
30
+
31
+ ## Roles Disponibles
32
+
33
+ ### Roles de Negocio y Producto (Senior)
34
+
35
+ | Rol | Perspectiva | Prioriza |
36
+ |-----|-------------|----------|
37
+ | **CPO** (Chief Product Officer) | Visión de producto, estrategia y mercado | Product-market fit, roadmap, priorización basada en impacto, métricas de adopción |
38
+ | **UX Lead** | Experiencia de usuario y diseño | Usabilidad, accesibilidad (WCAG), research con usuarios, design systems, conversion funnels |
39
+ | **Negocio** (VP/Director) | Viabilidad comercial y estrategia | ROI, unit economics, time to revenue, ventaja competitiva, riesgos regulatorios |
40
+
41
+ ### Roles Técnicos (Senior)
42
+
43
+ | Rol | Perspectiva | Prioriza |
44
+ |-----|-------------|----------|
45
+ | **Arquitecto** | Sistema y escalabilidad | Mantenibilidad, performance, extensibilidad, deuda técnica |
46
+ | **QA Lead** | Calidad y testing | Testability, edge cases, regression, automatización |
47
+ | **Seguridad** (CISO) | Protección y compliance | OWASP, datos sensibles, auth, regulaciones (GDPR, SOC2) |
48
+ | **DevOps** | Operaciones y deploy | Observabilidad, CI/CD, costos infra, SLAs |
49
+ | **DBA** | Datos y persistencia | Consistencia, queries, migraciones, backup/recovery |
50
+
51
+ ### Presets de Roles
52
+
53
+ | Preset | Roles incluidos | Mejor para |
54
+ |--------|----------------|------------|
55
+ | `--preset tech` | Arquitecto, QA Lead, Seguridad, DevOps | Decisiones puramente técnicas |
56
+ | `--preset product` | CPO, UX Lead, Negocio | Decisiones de producto y estrategia |
57
+ | `--preset full` | CPO, UX Lead, Negocio, Arquitecto, QA Lead, Seguridad | Decisiones cross-funcionales |
58
+ | (default) | CPO, Arquitecto, UX Lead | Balance producto-técnico |
59
+
60
+ ## Reglas de Engagement
61
+
62
+ ### Regla Adversarial
63
+ Cada rol DEBE encontrar al menos un problema con cada propuesta de los demás. "No tengo objeciones" no es una respuesta válida — obliga a buscar más profundo.
64
+
65
+ ### Regla de Evidencia
66
+ Cada argumento DEBE estar respaldado por al menos uno de:
67
+ - **Dato concreto**: métrica, benchmark, caso de estudio real
68
+ - **Experiencia**: patrón observado en proyectos similares con resultado conocido
69
+ - **Principio establecido**: ley, heurística o framework reconocido en la industria
70
+
71
+ Opiniones sin respaldo se marcan como `[sin evidencia]` y tienen menor peso en la decisión.
72
+
73
+ ### Regla de Impacto
74
+ Cada rol DEBE cuantificar el impacto de su posición cuando sea posible:
75
+ - Negocio: revenue, costos, timeline
76
+ - Técnico: latencia, throughput, horas de desarrollo
77
+ - UX: tasa de conversión, NPS, task completion rate
78
+ - Producto: adoption rate, churn, time to value
79
+
80
+ ## Output
81
+
82
+ ```markdown
83
+ ## Debate: ¿Monolito o microservicios?
84
+
85
+ ### CPO dice: Monolito
86
+ - Time to market es 2-3x más rápido para MVP (dato: empresas en etapa seed con monolito lanzan en promedio 40% antes — Startup Genome Report)
87
+ - Un solo producto coherente para los primeros 1000 usuarios
88
+ - ⚠️ Riesgo: si product-market fit requiere pivotar rápido, un monolito acoplado frena los cambios
89
+
90
+ ### Arquitecto dice: Monolito modular
91
+ - Shopify procesó $5.1B en Black Friday 2023 con un monolito Ruby — la escala no requiere microservicios
92
+ - Módulos bien definidos permiten extraer servicios después con datos reales de carga
93
+ - ⚠️ Riesgo: sin disciplina en boundaries, los módulos se acoplan y la extracción futura se vuelve rewrite
94
+
95
+ ### UX Lead dice: Monolito
96
+ - UI consistente es más fácil con un solo codebase y design system centralizado
97
+ - Latencia percibida menor sin hops entre servicios (p95 < 200ms vs 400ms+ con microservicios)
98
+ - ⚠️ Riesgo: si el monolito crece, el frontend se acopla al backend y los cambios de UX requieren deploys full
99
+
100
+ ### Negocio dice: Monolito con plan de migración
101
+ - Costo operativo de microservicios para un equipo < 10 personas: +$3-5K/mes en infra + 30% más tiempo en DevOps
102
+ - Inversores en Serie A quieren ver tracción, no arquitectura — priorizar velocidad
103
+ - ⚠️ Riesgo: si se escala sin plan, la deuda técnica se convierte en deuda financiera (caso: Segment revirtió microservicios a monolito en 2018)
104
+
105
+ ### Tensiones irresolubles
106
+ 1. Velocidad ahora (CPO/Negocio) vs Flexibilidad futura (Arquitecto)
107
+ 2. Consistencia de UX (UX Lead) vs Independencia de deploy (Arquitecto)
108
+ 3. Costo operativo (Negocio) vs Escalabilidad técnica (Arquitecto)
109
+
110
+ ### Decisión: Monolito modular con boundaries explícitos
111
+ Monolito con módulos bien separados, contratos internos entre módulos, y métricas de acoplamiento. Revisión de arquitectura al llegar a 10K usuarios o 10 developers.
112
+
113
+ ### Trade-offs aceptados
114
+ - ✅ Time to market agresivo (CPO + Negocio satisfechos)
115
+ - ✅ UX consistente (UX Lead satisfecho)
116
+ - ✅ Testability simple (QA satisfecho)
117
+ - ⚠️ Requiere disciplina de boundaries desde día 1 (Arquitecto advierte)
118
+ - ⚠️ Punto de revisión obligatorio al escalar (Negocio + Arquitecto acuerdan)
119
+ ```
@@ -0,0 +1,172 @@
1
+ ---
2
+ description: Dividir un blueprint técnico en tareas con TDD (RED→GREEN) y marcadores de paralelismo
3
+ i18n: true
4
+ ---
5
+
6
+ # /especdev:desglosar
7
+
8
+ ## Objetivo
9
+
10
+ Convertir un blueprint técnico en una lista de tareas ordenadas con enfoque TDD (RED → GREEN → REFACTOR), marcadores de paralelismo `[P]` y fases de ejecución estandarizadas.
11
+
12
+ > Alineado con spec-kit (github/spec-kit) — formato `[ID] [P?] [Story] Descripción` y 5 fases de ejecución
13
+
14
+ ## Uso
15
+
16
+ ```
17
+ /especdev:desglosar @specs/features/<dominio>/<Feature>.plan.md
18
+ ```
19
+
20
+ ## Formato de Tareas
21
+
22
+ ```
23
+ [TID] [P?] [Historia] Descripción
24
+ ```
25
+
26
+ | Campo | Significado | Ejemplo |
27
+ |-------|-------------|---------|
28
+ | `TID` | ID único de tarea | `T001` |
29
+ | `[P]` | Paralelizable (puede ejecutarse en paralelo con otras `[P]` de la misma fase) | `[P]` o vacío |
30
+ | `[Historia]` | Historia de usuario asociada | `[US1]` |
31
+ | Descripción | Qué hacer | Crear modelo de Usuario |
32
+
33
+ ## Output
34
+
35
+ Genera `specs/features/<dominio>/<Feature>.tasks.md`:
36
+
37
+ ```markdown
38
+ # Tareas: CrearUsuario
39
+
40
+ **Feature:** usuario/CrearUsuario
41
+ **Plan:** specs/features/usuario/CrearUsuario.plan.md
42
+ **Creado:** 2026-03-21
43
+
44
+ ## Formato: [TID] [P?] [Historia] Descripción
45
+
46
+ ---
47
+
48
+ ## Fase 1: Setup (Paralelizable)
49
+
50
+ Inicialización del entorno y estructura del proyecto.
51
+
52
+ - [T001] [P] Setup: Crear estructura de directorios del módulo usuario
53
+ - [T002] [P] Setup: Inicializar configuración de testing
54
+ - [T003] [P] Setup: Configurar Docker compose para tests
55
+
56
+ ---
57
+
58
+ ## Fase 2: Fundación (Secuencial después de Setup)
59
+
60
+ Infraestructura crítica que el resto del código necesita.
61
+
62
+ - [T004] [US1] RED: Escribir test para modelo Usuario
63
+ - [T005] [US1] GREEN: Implementar modelo Usuario con validaciones
64
+ - Archivos: `models/usuario.py`, `tests/unit/test_usuario.py`
65
+
66
+ - [T006] [US1] RED: Escribir test para UsuarioRepository (crear/buscar)
67
+ - [T007] [US1] GREEN: Implementar UsuarioRepository
68
+ - Archivos: `repositories/usuario_repo.py`, `tests/unit/test_usuario_repo.py`
69
+
70
+ ---
71
+
72
+ ## Fase 3: Historias de Usuario (Por prioridad)
73
+
74
+ ### P1: Camino Crítico
75
+
76
+ - [T008] [US1] RED: Test para registro exitoso (happy path)
77
+ - [T009] [US1] RED: Test para email duplicado (sad path)
78
+ - [T010] [US1] GREEN: Implementar UsuarioService.crear()
79
+ - Archivos: `services/usuario_service.py`, `tests/unit/test_usuario_service.py`
80
+ - [T011] [P] [US1] RED: Test de integración para POST /usuarios
81
+ - [T012] [P] [US1] RED: Test BDD desde escenarios Gherkin P1
82
+ - [T013] [US1] GREEN: Implementar UsuarioController
83
+ - Archivos: `controllers/usuario_controller.py`, `tests/integration/test_crear_usuario.py`
84
+
85
+ ### P2: Importante
86
+
87
+ - [T014] [US2] RED: Test para campo obligatorio vacío
88
+ - [T015] [US2] RED: Test para contraseña débil
89
+ - [T016] [US2] GREEN: Implementar validaciones adicionales
90
+ - [T017] [P] [US2] RED: Test BDD desde escenarios Gherkin P2
91
+
92
+ ---
93
+
94
+ ## Fase 4: Polish (Paralelizable)
95
+
96
+ Refinamientos transversales.
97
+
98
+ - [T018] [P] Refactor: Extraer validaciones a módulo compartido (si aplica)
99
+ - [T019] [P] Docs: Actualizar API docs con nuevo endpoint
100
+ - [T020] [P] Lint: Ejecutar linter y corregir warnings
101
+
102
+ ---
103
+
104
+ ## Fase 5: Verificación Final
105
+
106
+ - [T021] Ejecutar suite completa de tests
107
+ - [T022] Verificar coverage ≥ 85% sobre código nuevo
108
+ - [T023] Verificar lint y type-check sin errores
109
+ - [T024] Verificar build exitoso
110
+
111
+ ---
112
+
113
+ ## Orden de Ejecución
114
+
115
+ ```
116
+ Fase 1: T001 ║ T002 ║ T003 (paralelo)
117
+
118
+ Fase 2: T004 → T005 → T006 → T007 (secuencial)
119
+
120
+ Fase 3: T008 → T009 → T010 → T011 ║ T012 → T013 (mixto)
121
+ T014 → T015 → T016 → T017 (secuencial)
122
+
123
+ Fase 4: T018 ║ T019 ║ T020 (paralelo)
124
+
125
+ Fase 5: T021 → T022 → T023 → T024 (secuencial)
126
+ ```
127
+
128
+ **Leyenda:** `→` secuencial | `║` paralelo
129
+ ```
130
+
131
+ ## Las 5 Fases de Ejecución
132
+
133
+ | Fase | Nombre | Tipo | Propósito |
134
+ |------|--------|------|-----------|
135
+ | 1 | **Setup** | Paralelo | Inicialización de entorno y estructura |
136
+ | 2 | **Fundación** | Secuencial | Modelos, repos, infraestructura base |
137
+ | 3 | **Historias de Usuario** | Por prioridad | Features P1 → P2 → P3+ con TDD |
138
+ | 4 | **Polish** | Paralelo | Refactoring, docs, limpieza |
139
+ | 5 | **Verificación Final** | Secuencial | Tests, coverage, lint, build |
140
+
141
+ ## Reglas de Paralelismo
142
+
143
+ - Tareas marcadas con `[P]` pueden ejecutarse en paralelo con otras `[P]` **de la misma fase**
144
+ - Tareas sin `[P]` son secuenciales y dependen de la tarea anterior
145
+ - **Nunca** ejecutar tareas de fases diferentes en paralelo
146
+ - Las fases 1 y 4 son predominantemente paralelas
147
+ - Las fases 2 y 5 son predominantemente secuenciales
148
+ - La fase 3 es mixta: secuencial dentro de cada historia, potencialmente paralelo entre historias independientes
149
+
150
+ ## Ciclo TDD por Tarea
151
+
152
+ ```
153
+ RED: Escribir test que FALLA
154
+ → Ejecutar: verificar que falla por la razón correcta
155
+
156
+ GREEN: Implementar el código MÍNIMO para que el test pase
157
+ → Ejecutar: verificar que PASA
158
+
159
+ REFACTOR: Limpiar sin cambiar comportamiento (solo en Fase 4)
160
+ → Ejecutar: verificar que sigue pasando
161
+ ```
162
+
163
+ ## Puerta de Calidad
164
+
165
+ Este comando implementa la **Puerta 5 (Preparación de Tareas)**:
166
+
167
+ - Todas las tareas tienen IDs únicos (`T###`)
168
+ - Todas las tareas de implementación tienen rutas exactas de archivos
169
+ - Tareas paralelizables marcadas con `[P]`
170
+ - Historias asociadas con `[US#]`
171
+ - Las 5 fases están presentes
172
+ - Orden de ejecución documentado
@@ -0,0 +1,211 @@
1
+ ---
2
+ description: Extraer especificaciones compactas desde código existente (Blueprint Distillation)
3
+ i18n: true
4
+ ---
5
+
6
+ # /especdev:destilar
7
+
8
+ ## Objetivo
9
+
10
+ Analizar un codebase existente y extraer un **blueprint compacto**: especificaciones, contratos, reglas de negocio y decisiones arquitectónicas implícitas en el código. Es ingeniería inversa de specs, no de arquitectura (para eso existe `/especdev:reversa`).
11
+
12
+ > Adaptado de DeepCode (HKUDS/DeepCode) — Blueprint Distillation: "comprimir código fuente para extraer especificaciones esenciales, filtrando ruido y preservando patrones críticos."
13
+
14
+ ## Uso
15
+
16
+ ```
17
+ /especdev:destilar # Destilar el proyecto actual
18
+ /especdev:destilar @ruta/al/modulo # Destilar un módulo específico
19
+ /especdev:destilar --formato gherkin # Output en formato Gherkin
20
+ /especdev:destilar --formato resumen # Output como resumen ejecutivo
21
+ /especdev:destilar --formato contratos # Solo interfaces y contratos
22
+ ```
23
+
24
+ ## Por Qué Existe
25
+
26
+ | Situación | Sin Destilar | Con Destilar |
27
+ |-----------|-------------|--------------|
28
+ | Proyecto heredado sin docs | Leer todo el código | Blueprint de 200 líneas |
29
+ | Migración a nueva versión | Riesgo de perder reglas implícitas | Spec explícita para validar |
30
+ | Onboarding de nuevo dev | Semanas entendiendo el código | Blueprint + mapa en 1 hora |
31
+ | Rewrite parcial | ¿Qué comportamiento preservar? | Contratos explícitos |
32
+
33
+ ## Diferencia con `/especdev:reversa`
34
+
35
+ | Aspecto | `/especdev:reversa` | `/especdev:destilar` |
36
+ |---------|--------------------|--------------------|
37
+ | **Foco** | Arquitectura (componentes, conexiones) | Comportamiento (reglas, contratos) |
38
+ | **Output** | Mapa de componentes | Especificaciones compactas |
39
+ | **Pregunta** | "¿Cómo está construido?" | "¿Qué hace y por qué?" |
40
+ | **Formato** | Diagrama + tabla | Gherkin / contratos / resumen |
41
+
42
+ Se complementan: `reversa` te da el **mapa**, `destilar` te da las **reglas**.
43
+
44
+ ## Comportamiento
45
+
46
+ ### Paso 1: Análisis de Superficie
47
+
48
+ ```
49
+ Escaneando módulo src/services/payment/...
50
+ ├── 8 archivos, 1,247 líneas de código
51
+ ├── 23 funciones exportadas
52
+ ├── 4 interfaces/tipos públicos
53
+ ├── 12 tests encontrados
54
+ └── 3 dependencias externas (Stripe, Redis, Logger)
55
+ ```
56
+
57
+ ### Paso 2: Extracción de Reglas de Negocio
58
+
59
+ El destilador busca reglas implícitas en:
60
+
61
+ | Fuente | Qué Extrae | Ejemplo |
62
+ |--------|-----------|---------|
63
+ | **Validaciones** | Reglas de dominio | "Monto mínimo: $1.00, máximo: $999,999" |
64
+ | **Condicionales** | Lógica de negocio | "Si el usuario es premium, no cobra comisión" |
65
+ | **Error handling** | Casos límite | "Reintentar 3 veces si Stripe devuelve 429" |
66
+ | **Tests** | Comportamiento esperado | "Webhook debe ser idempotente" |
67
+ | **Tipos/Interfaces** | Contratos | "PaymentIntent requiere: amount, currency, customerId" |
68
+ | **Comentarios** | Intención del dev original | "// HACK: Stripe no soporta ARS, convertir a USD" |
69
+
70
+ ### Paso 3: Compresión
71
+
72
+ Eliminar ruido, preservar esencia:
73
+
74
+ ```
75
+ Código original: 1,247 líneas
76
+ ├── Boilerplate eliminado: 400 líneas (imports, exports, logging)
77
+ ├── Implementación interna eliminada: 500 líneas
78
+ ├── Duplicación eliminada: 100 líneas
79
+ └── Blueprint resultante: ~247 líneas (ratio 5:1)
80
+ ```
81
+
82
+ **Regla de compresión:** El blueprint debe ser ≤20% del código original.
83
+
84
+ ### Paso 4: Formato de Output
85
+
86
+ #### Formato Gherkin (default)
87
+
88
+ ```gherkin
89
+ Feature: Procesamiento de Pagos
90
+ El sistema procesa pagos a través de Stripe
91
+ con reintentos automáticos y manejo de moneda.
92
+
93
+ Reglas de Negocio:
94
+ - Monto mínimo: $1.00 USD
95
+ - Monto máximo: $999,999.00 USD
96
+ - Monedas soportadas: USD, EUR, BRL
97
+ - Usuarios premium: sin comisión de procesamiento
98
+ - Comisión estándar: 2.9% + $0.30
99
+
100
+ Escenario: Pago exitoso
101
+ Dado un usuario con customerId válido en Stripe
102
+ Y un monto de $50.00 USD
103
+ Cuando se procesa el pago
104
+ Entonces se crea un PaymentIntent en Stripe
105
+ Y se registra la transacción en la base de datos
106
+ Y se emite el evento "payment.completed"
107
+
108
+ Escenario: Reintento por rate limit
109
+ Dado que Stripe responde con HTTP 429
110
+ Cuando se procesa el pago
111
+ Entonces se reintenta hasta 3 veces con backoff exponencial
112
+ Y si todos fallan, se marca como "payment.failed"
113
+ Y se notifica al equipo de soporte
114
+
115
+ Escenario: Moneda no soportada
116
+ Dado un monto en ARS (peso argentino)
117
+ Cuando se procesa el pago
118
+ Entonces se convierte a USD usando el tipo de cambio del día
119
+ Y se procesa en USD
120
+ Y se registra el tipo de cambio usado
121
+ ```
122
+
123
+ #### Formato Contratos
124
+
125
+ ```typescript
126
+ // Blueprint: Contratos del Módulo de Pagos
127
+ // Extraído de: src/services/payment/ (8 archivos, 1,247 LOC)
128
+ // Fecha: 2026-03-21
129
+
130
+ interface PaymentIntent {
131
+ amount: number; // centavos, min: 100, max: 99999900
132
+ currency: 'USD' | 'EUR' | 'BRL';
133
+ customerId: string; // Stripe customer ID
134
+ metadata?: Record<string, string>;
135
+ }
136
+
137
+ interface PaymentResult {
138
+ id: string;
139
+ status: 'succeeded' | 'failed' | 'pending';
140
+ stripePaymentIntentId: string;
141
+ amount: number;
142
+ fee: number; // 0 para premium, 2.9% + 30 para estándar
143
+ createdAt: Date;
144
+ }
145
+
146
+ // Contratos de servicio
147
+ type ProcessPayment = (intent: PaymentIntent) => Promise<PaymentResult>;
148
+ type RefundPayment = (paymentId: string, amount?: number) => Promise<RefundResult>;
149
+ type GetPaymentStatus = (paymentId: string) => Promise<PaymentResult>;
150
+
151
+ // Invariantes
152
+ // - ProcessPayment es idempotente (mismo intent = mismo resultado)
153
+ // - RefundPayment parcial: amount <= payment.amount
154
+ // - Retry policy: 3 intentos, backoff exponencial (1s, 2s, 4s)
155
+ ```
156
+
157
+ #### Formato Resumen
158
+
159
+ ```markdown
160
+ ## Blueprint: Módulo de Pagos
161
+
162
+ ### Responsabilidad
163
+ Procesar pagos a través de Stripe con reintentos y conversión de moneda.
164
+
165
+ ### Reglas de Negocio
166
+ 1. Montos: $1.00 - $999,999.00 USD
167
+ 2. Monedas: USD, EUR, BRL (ARS se convierte a USD)
168
+ 3. Comisión: 2.9% + $0.30 (premium: 0%)
169
+ 4. Reintentos: 3x con backoff exponencial ante rate limit
170
+ 5. Idempotencia: mismo PaymentIntent = mismo resultado
171
+
172
+ ### Dependencias Externas
173
+ - Stripe API v3 (pagos, reembolsos)
174
+ - Redis (cache de tipos de cambio, idempotency keys)
175
+
176
+ ### Riesgos Identificados
177
+ - Conversión ARS→USD usa hack manual (comentario en código)
178
+ - No hay circuit breaker para Stripe
179
+ - Tests no cubren reembolsos parciales
180
+ ```
181
+
182
+ ## Integración con Pipeline
183
+
184
+ ```
185
+ /especdev:destilar → blueprint
186
+ → /especdev:especificar → .feature (informada por blueprint)
187
+ → /especdev:clarificar → validar contra blueprint
188
+ → /especdev:planificar-tecnico → usar contratos como base
189
+ ```
190
+
191
+ El blueprint alimenta el pipeline de specs, cerrando el ciclo:
192
+ **Código existente → Blueprint → Spec → Nuevo código validado**
193
+
194
+ ## Almacenamiento
195
+
196
+ El blueprint se guarda en:
197
+
198
+ ```
199
+ .especdev/blueprints/
200
+ ├── payment.blueprint.md # Blueprint del módulo de pagos
201
+ ├── auth.blueprint.md # Blueprint del módulo de auth
202
+ └── _index.md # Índice de blueprints
203
+ ```
204
+
205
+ ## Guardrails
206
+
207
+ - **Nunca** incluir credenciales o secretos en el blueprint
208
+ - **Nunca** exceder 20% del tamaño del código original
209
+ - **Siempre** indicar qué archivos se analizaron
210
+ - **Siempre** marcar los "hacks" o workarounds encontrados como riesgos
211
+ - **Siempre** distinguir entre reglas de negocio confirmadas (por tests) y supuestas (por código)