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,214 @@
1
+ ---
2
+ description: Buscar repos open-source relevantes como referencia antes de implementar
3
+ i18n: true
4
+ ---
5
+
6
+ # /especdev:minar-referencias
7
+
8
+ ## Objetivo
9
+
10
+ Buscar y evaluar repositorios open-source, snippets y patrones de referencia relevantes para la tarea actual. Reduce el "empezar de cero" proporcionando implementaciones probadas como guía.
11
+
12
+ > Adaptado de DeepCode (HKUDS/DeepCode) — Code Reference Mining Agent: "descubrir repositorios relevantes y construir knowledge graphs para informar la generación de código."
13
+
14
+ ## Uso
15
+
16
+ ```
17
+ /especdev:minar-referencias "webhook handler con verificación de firma"
18
+ /especdev:minar-referencias "rate limiter con sliding window"
19
+ /especdev:minar-referencias --stack node,typescript "auth con JWT refresh"
20
+ /especdev:minar-referencias --max 5 "graphql subscriptions"
21
+ ```
22
+
23
+ ## Por Qué Existe
24
+
25
+ | Sin Minar | Con Minar |
26
+ |-----------|-----------|
27
+ | Implementar desde cero | Partir de patrones probados |
28
+ | Descubrir anti-patrones tarde | Conocer pitfalls de antemano |
29
+ | Reinventar soluciones comunes | Reutilizar lo que funciona |
30
+ | Estimaciones imprecisas | Complejidad real visible |
31
+
32
+ ## Comportamiento
33
+
34
+ ### Paso 1: Análisis de la Query
35
+
36
+ ```
37
+ Query: "webhook handler con verificación de firma"
38
+ ├── Conceptos clave: webhook, handler, signature verification
39
+ ├── Stack detectado: Node.js + TypeScript (de config.yaml)
40
+ ├── Dominio: API integration, security
41
+ └── Complejidad estimada: Media
42
+ ```
43
+
44
+ ### Paso 2: Búsqueda Multi-Fuente
45
+
46
+ El comando busca en múltiples fuentes (según disponibilidad):
47
+
48
+ | Fuente | Método | Qué Busca |
49
+ |--------|--------|-----------|
50
+ | **GitHub** | API search / web search | Repos con implementaciones similares |
51
+ | **Proyecto actual** | Grep local | Código existente reutilizable |
52
+ | **CodeRAG** | Índice local | Patrones ya indexados |
53
+ | **Memoria** | Engram | Decisiones previas sobre el tema |
54
+
55
+ ### Paso 3: Evaluación de Relevancia
56
+
57
+ Cada resultado se evalúa en 4 dimensiones:
58
+
59
+ | Dimensión | Peso | Criterio |
60
+ |-----------|------|----------|
61
+ | **Relevancia** | 40% | ¿Resuelve el mismo problema? |
62
+ | **Calidad** | 25% | Stars, mantenimiento, tests, docs |
63
+ | **Compatibilidad** | 20% | ¿Mismo stack/framework? |
64
+ | **Simplicidad** | 15% | ¿Es adoptable sin refactor mayor? |
65
+
66
+ Score = suma ponderada (0.0 - 1.0)
67
+
68
+ ### Paso 4: Extracción de Patrones
69
+
70
+ De los top resultados, se extraen:
71
+
72
+ ```
73
+ 1. Patrón arquitectónico usado
74
+ 2. Dependencias clave
75
+ 3. Manejo de errores
76
+ 4. Edge cases cubiertos
77
+ 5. Snippet representativo (≤ 30 líneas)
78
+ ```
79
+
80
+ ## Output
81
+
82
+ ```markdown
83
+ ## Referencias Minadas: "webhook handler con verificación de firma"
84
+
85
+ Fecha: 2026-03-21 | Stack: Node.js + TypeScript | Resultados: 3
86
+
87
+ ---
88
+
89
+ ### 1. stripe/stripe-node — Webhook Verification (score: 0.91)
90
+ **Repo:** github.com/stripe/stripe-node
91
+ **Archivo:** src/Webhooks.ts
92
+ **Por qué es relevante:** Implementación de referencia de Stripe para verificar firmas HMAC-SHA256.
93
+
94
+ **Patrón:**
95
+ - Verificar firma antes de procesar
96
+ - Tolerancia de timestamp (5 min por defecto)
97
+ - Comparación timing-safe para prevenir timing attacks
98
+
99
+ **Snippet:**
100
+ ```typescript
101
+ function verifySignature(payload: string, header: string, secret: string): boolean {
102
+ const timestamp = extractTimestamp(header);
103
+ const signature = extractSignature(header);
104
+
105
+ if (Date.now() / 1000 - timestamp > TOLERANCE) {
106
+ throw new WebhookSignatureError('Timestamp too old');
107
+ }
108
+
109
+ const expected = crypto
110
+ .createHmac('sha256', secret)
111
+ .update(`${timestamp}.${payload}`)
112
+ .digest('hex');
113
+
114
+ return crypto.timingSafeEqual(
115
+ Buffer.from(signature),
116
+ Buffer.from(expected)
117
+ );
118
+ }
119
+ ```
120
+
121
+ **Lecciones:**
122
+ - Usar `timingSafeEqual` (no `===`) para comparar firmas
123
+ - Validar timestamp para prevenir replay attacks
124
+ - Lanzar error específico (no genérico)
125
+
126
+ ---
127
+
128
+ ### 2. svix/svix-webhooks — Webhook Handler Pattern (score: 0.84)
129
+ **Repo:** github.com/svix/svix-webhooks
130
+ **Por qué es relevante:** SDK de webhooks con patrón de handler idempotente.
131
+
132
+ **Patrón:**
133
+ - Idempotency key en header
134
+ - Queue para procesamiento async
135
+ - Retry automático con backoff
136
+
137
+ **Lecciones:**
138
+ - Separar verificación de procesamiento
139
+ - Idempotencia es obligatoria para webhooks
140
+ - Responder 200 antes de procesar (async)
141
+
142
+ ---
143
+
144
+ ### 3. [Proyecto actual] src/utils/crypto.ts (score: 0.72)
145
+ **Archivo:** src/utils/crypto.ts:15-30
146
+ **Por qué es relevante:** Ya existe un helper de HMAC en el proyecto.
147
+
148
+ **Nota:** Reutilizar `createHmacSignature()` existente en vez de reimplementar.
149
+
150
+ ---
151
+
152
+ ## Resumen de Decisiones
153
+
154
+ | Decisión | Recomendación | Fuente |
155
+ |----------|--------------|--------|
156
+ | Verificación de firma | HMAC-SHA256 + timestamp | stripe/stripe-node |
157
+ | Comparación de firma | `timingSafeEqual` | stripe/stripe-node |
158
+ | Procesamiento | Async (queue) + responder 200 | svix/svix-webhooks |
159
+ | Helper de HMAC | Reutilizar existente | Proyecto actual |
160
+ | Idempotencia | Idempotency key en header | svix/svix-webhooks |
161
+
162
+ ## Próximo Paso
163
+ → `/especdev:especificar` usando estas referencias como base
164
+ → O `/especdev:planificar-tecnico` para incorporar los patrones al blueprint
165
+ ```
166
+
167
+ ## Integración con Pipeline
168
+
169
+ ```
170
+ /especdev:minar-referencias → referencias
171
+ → /especdev:especificar → specs informadas
172
+ → /especdev:planificar-tecnico → plan con patrones reales
173
+ → CodeRAG → indexar patrones útiles para futuro
174
+
175
+ /especdev:minar-referencias → referencias
176
+ → /especdev:estimar → estimados más precisos (complejidad real)
177
+ ```
178
+
179
+ ## Integración con CodeRAG
180
+
181
+ Los patrones encontrados se pueden indexar automáticamente:
182
+
183
+ ```
184
+ ¿Indexar los patrones encontrados en CodeRAG? (s/n)
185
+ > s
186
+ Indexados 3 patrones en .especdev/code-rag/patterns.json
187
+ ```
188
+
189
+ ## Almacenamiento
190
+
191
+ ```
192
+ .especdev/referencias/
193
+ ├── webhook-handler-2026-03-21.md # Resultado de esta búsqueda
194
+ ├── rate-limiter-2026-03-15.md # Búsqueda anterior
195
+ └── _index.md # Índice de búsquedas
196
+ ```
197
+
198
+ ## Modelo Recomendado
199
+
200
+ | Paso | Modelo | Razón |
201
+ |------|--------|-------|
202
+ | Búsqueda | Haiku | Solo buscar y filtrar |
203
+ | Evaluación de relevancia | Haiku | Scoring simple |
204
+ | Extracción de patrones | Sonnet | Requiere comprensión de código |
205
+ | Resumen de decisiones | Haiku | Formateo |
206
+
207
+ ## Guardrails
208
+
209
+ - **Nunca** copiar código con licencias incompatibles sin verificar
210
+ - **Nunca** incluir credenciales o tokens de repos de referencia
211
+ - **Siempre** priorizar código existente en el proyecto sobre externo
212
+ - **Siempre** indicar la fuente y licencia de cada referencia
213
+ - **Siempre** limitar snippets a ≤30 líneas (respetar fair use)
214
+ - **Máximo** 5 referencias por búsqueda (evitar analysis paralysis)
@@ -0,0 +1,186 @@
1
+ ---
2
+ description: Generar blueprint técnico desde una especificación Gherkin
3
+ i18n: true
4
+ ---
5
+
6
+ # /especdev:planificar-tecnico
7
+
8
+ ## Objetivo
9
+
10
+ Generar un blueprint técnico (contratos API, modelos, arquitectura de servicios) desde una especificación Gherkin, incluyendo verificación de constitución y contexto técnico estructurado.
11
+
12
+ > Alineado con spec-kit (github/spec-kit) — Constitution Check, Technical Context y Complexity Tracking
13
+
14
+ ## Uso
15
+
16
+ ```
17
+ /especdev:planificar-tecnico @specs/features/<dominio>/<Feature>.feature
18
+ ```
19
+
20
+ ## Comportamiento
21
+
22
+ 1. **Verificar Puerta 2** — El `.feature` debe tener tag `@lista` (pasó `/especdev:clarificar`)
23
+ 2. **Verificar** que no hay marcadores `[NECESITA CLARIFICACIÓN]` pendientes
24
+ 3. **Ejecutar Chequeo de Constitución** — Validar contra los principios de `reglas/constitucion.md`
25
+ 4. **Documentar Contexto Técnico** — Stack, dependencias, restricciones
26
+ 5. **Ratificar DBML** — Convertir campos `@provisional` a ratificados
27
+ 6. **Generar** contratos API, modelos, arquitectura de servicios
28
+ 7. **Registrar Complejidad** — Justificar desviaciones de simplicidad
29
+ 8. **Crear** archivo `.plan.md` en `specs/features/<dominio>/`
30
+
31
+ ## Output
32
+
33
+ Genera `specs/features/<dominio>/<Feature>.plan.md`:
34
+
35
+ ```markdown
36
+ # Blueprint Técnico: CrearUsuario
37
+
38
+ **Rama:** feature/crear-usuario
39
+ **Spec:** specs/features/usuario/CrearUsuario.feature
40
+ **Fecha:** 2026-03-21
41
+ **Estado:** Borrador
42
+
43
+ ---
44
+
45
+ ## Resumen
46
+
47
+ Implementar registro de usuarios con email/contraseña, incluyendo
48
+ validación, hashing de contraseña y generación de JWT.
49
+ Enfoque técnico: API REST con patrón Controller → Service → Repository.
50
+
51
+ ---
52
+
53
+ ## Chequeo de Constitución
54
+
55
+ Verificación obligatoria contra `reglas/constitucion.md`:
56
+
57
+ | Artículo | Principio | Estado | Notas |
58
+ |----------|-----------|--------|-------|
59
+ | I | Gherkin es Rey | ✅ | Spec @lista aprobada |
60
+ | I-B | Schema como Verdad Viva | ✅ | DBML ratificado |
61
+ | II | Precisión Quirúrgica | ✅ | Cambio mínimo, 1 feature |
62
+ | III | Arquitectura Plug-and-Play | ✅ | Nuevo módulo, no infla existentes |
63
+ | IV | Regla Las Vegas | ✅ | Tests herméticos planificados |
64
+ | IV-B | Punto de Entrada | ✅ | Validación en Controller |
65
+ | V | Estándares Modernos | ✅ | Type hints + Pydantic/Zod |
66
+ | VI | Adaptabilidad | ✅ | Stack detectado: FastAPI |
67
+ | VII | Codificación Defensiva | ✅ | Excepciones custom planificadas |
68
+
69
+ **Resultado: ✅ PASA** — El plan es compatible con la constitución.
70
+
71
+ ---
72
+
73
+ ## Contexto Técnico
74
+
75
+ | Aspecto | Valor |
76
+ |---------|-------|
77
+ | **Lenguaje** | Python 3.12 / TypeScript 5.x |
78
+ | **Framework** | FastAPI 0.115 / Next.js 15 |
79
+ | **Dependencias** | bcryptjs, python-jose, pydantic |
80
+ | **Almacenamiento** | PostgreSQL 16 + Prisma/SQLAlchemy |
81
+ | **Testing** | pytest + pytest-asyncio / vitest |
82
+ | **Plataforma** | Docker + Linux |
83
+ | **Rendimiento** | < 500ms p95 (de criterios de éxito) |
84
+ | **Escala** | ~1,000 registros/día (estimado) |
85
+ | **Restricciones** | Sin OAuth en v1 (definido en clarificación) |
86
+
87
+ ---
88
+
89
+ ## Contrato API
90
+
91
+ POST /api/v1/usuarios
92
+ Content-Type: application/json
93
+
94
+ Request:
95
+ {
96
+ "email": "string (required, email format)",
97
+ "password": "string (required, min 8 chars)",
98
+ "nombre": "string (required, max 100 chars)"
99
+ }
100
+
101
+ Response 201:
102
+ {
103
+ "id": "uuid",
104
+ "email": "string",
105
+ "nombre": "string",
106
+ "token": "jwt-string",
107
+ "createdAt": "datetime"
108
+ }
109
+
110
+ Response 400:
111
+ {
112
+ "error": "string",
113
+ "field": "string (optional)"
114
+ }
115
+
116
+ Response 409:
117
+ {
118
+ "error": "El email ya está registrado"
119
+ }
120
+
121
+ ---
122
+
123
+ ## Modelo de Datos
124
+
125
+ Usuario (ratificado desde DBML):
126
+ - id: UUID (PK, auto-gen)
127
+ - email: String (unique, indexed, NOT NULL)
128
+ - password_hash: String (NOT NULL)
129
+ - nombre: String (max 100, NOT NULL)
130
+ - created_at: DateTime (default: now())
131
+
132
+ ---
133
+
134
+ ## Arquitectura de Servicios
135
+
136
+ Controller → Service → Repository → Database
137
+
138
+ EmailService (async)
139
+
140
+ ---
141
+
142
+ ## Dependencias
143
+
144
+ - bcryptjs (hash de contraseña)
145
+ - python-jose / jsonwebtoken (generación JWT)
146
+ - pydantic / zod (validación de DTOs)
147
+
148
+ ---
149
+
150
+ ## Tracking de Complejidad
151
+
152
+ Justificar cualquier decisión que añade complejidad por encima de la alternativa más simple:
153
+
154
+ | Decisión | Alternativa Simple | Por Qué Se Rechazó |
155
+ |----------|--------------------|---------------------|
156
+ | JWT con refresh token | Solo JWT simple | Requerimiento de seguridad: tokens de corta duración |
157
+ | Email async con cola | Email síncrono | Bloquea respuesta al usuario, riesgo de timeout |
158
+ | Repository pattern | Queries directas | Testabilidad: inyección de dependencias para mocks |
159
+
160
+ Si la tabla está vacía, no hay desviaciones de simplicidad.
161
+ ```
162
+
163
+ ## Secciones Obligatorias del Plan
164
+
165
+ | Sección | Propósito | Falla si falta |
166
+ |---------|-----------|----------------|
167
+ | **Resumen** | Qué y cómo en 2-3 líneas | Sí |
168
+ | **Chequeo de Constitución** | Validar contra principios | Sí |
169
+ | **Contexto Técnico** | Stack y restricciones | Sí |
170
+ | **Contrato API** | Interfaces públicas | Sí (si hay API) |
171
+ | **Modelo de Datos** | Entidades y relaciones | Sí (si hay datos) |
172
+ | **Arquitectura** | Componentes y flujo | Sí |
173
+ | **Dependencias** | Librerías externas | Sí |
174
+ | **Tracking de Complejidad** | Justificar desviaciones | Sí (puede estar vacía) |
175
+
176
+ ## Puerta de Calidad
177
+
178
+ Este comando implementa la **Puerta 4 (Aprobación de Plan)**:
179
+
180
+ - Chequeo de constitución pasa (todos ✅)
181
+ - Sin `[NECESITA CLARIFICACIÓN]` pendiente
182
+ - Contexto técnico completo
183
+ - DBML ratificado (sin campos `@provisional`)
184
+ - Tracking de complejidad documentado
185
+
186
+ Si algún artículo de la constitución no pasa → **NO-AVANZAR** hasta resolver.
@@ -0,0 +1,264 @@
1
+ ---
2
+ description: Planning semanal de equipo con revisión de RFCs, priorización, asignación por responsable/pareja/squad y seguimiento
3
+ i18n: true
4
+ ---
5
+
6
+ # /especdev:planning
7
+
8
+ ## Objetivo
9
+
10
+ Facilitar el planning semanal de un equipo de desarrollo: revisar RFCs pendientes, priorizar trabajo, asignar tareas a responsables individuales, parejas o squads, y generar un plan accionable con compromisos claros.
11
+
12
+ A diferencia de `/especdev:estimar` (esfuerzo por tarea) o `/especdev:debate` (decisiones técnicas), el planning opera a **nivel de equipo y sprint**: qué se hace, quién lo hace, en qué orden, y qué se deja fuera.
13
+
14
+ ## Uso
15
+
16
+ ```
17
+ /especdev:planning # Planning completo (interactivo)
18
+ /especdev:planning --semana "2026-03-24" # Planning para semana específica
19
+ /especdev:planning --equipo "Ana,Carlos,Luis,María" # Definir equipo
20
+ /especdev:planning --capacidad "Ana:4d,Carlos:3d" # Capacidad por persona (días disponibles)
21
+ /especdev:planning --rfcs "RFC-012,RFC-015,RFC-018" # RFCs a revisar
22
+ /especdev:planning --modo revision # Solo revisión de RFCs (sin asignación)
23
+ /especdev:planning --modo asignacion # Solo asignación (RFCs ya priorizados)
24
+ /especdev:planning --modo seguimiento # Revisar avance del planning anterior
25
+ ```
26
+
27
+ ## Proceso (4 Fases)
28
+
29
+ ### Fase 1: Contexto del equipo
30
+
31
+ Recopilar información del equipo antes de planificar:
32
+
33
+ ```markdown
34
+ ## Contexto del equipo
35
+
36
+ ### Miembros y disponibilidad
37
+ | Miembro | Rol | Disponibilidad | Notas |
38
+ |---------|-----|----------------|-------|
39
+ | Ana | Sr. Backend | 4/5 días | Lunes feriado |
40
+ | Carlos | Sr. Frontend | 5/5 días | — |
41
+ | Luis | Fullstack | 3/5 días | 2 días en soporte rotativo |
42
+ | María | Sr. Backend | 5/5 días | — |
43
+ | Diego | Jr. Frontend | 5/5 días | Necesita mentoring |
44
+
45
+ ### Capacidad total del equipo
46
+ - Días disponibles: 22/25 (88%)
47
+ - Factor de foco (reuniones, interrupciones): 0.7
48
+ - **Capacidad efectiva: 15.4 días-persona**
49
+
50
+ ### Arrastre de la semana anterior
51
+ - [ ] RFC-010: Migración de auth — 60% completado (María, bloqueo en revisión de seguridad)
52
+ - [x] RFC-011: Endpoint de reportes — completado
53
+ - [ ] BUG-234: Memory leak en worker — pendiente (Luis no tuvo disponibilidad)
54
+ ```
55
+
56
+ ### Fase 2: Revisión de RFCs
57
+
58
+ Evaluar cada RFC pendiente con criterios estructurados:
59
+
60
+ ```markdown
61
+ ## Revisión de RFCs
62
+
63
+ ### RFC-012: Cache distribuido con Redis
64
+ - **Autor:** María | **Estado:** Aprobado | **Tamaño:** L
65
+ - **Dependencias:** Infra debe provisionar Redis cluster
66
+ - **Riesgo técnico:** Medio (equipo no tiene experiencia con Redis Cluster)
67
+ - **Impacto de negocio:** Alto (reduce latencia de catálogo de 800ms a 200ms)
68
+ - **Deuda técnica:** Baja (solución limpia, bien diseñada)
69
+ - **Veredicto:** ✅ Priorizar esta semana
70
+
71
+ ### RFC-015: Migración de Styled Components a Tailwind
72
+ - **Autor:** Carlos | **Estado:** En discusión | **Tamaño:** XL
73
+ - **Dependencias:** Ninguna técnica, pero necesita buy-in del equipo de diseño
74
+ - **Riesgo técnico:** Bajo (migración incremental posible)
75
+ - **Impacto de negocio:** Bajo (mejora DX, no impacta usuario final)
76
+ - **Deuda técnica:** Media (reduce deuda futura pero introduce churn ahora)
77
+ - **Veredicto:** ⏸️ Postergar — no justifica el costo de oportunidad esta semana
78
+
79
+ ### RFC-018: API de notificaciones push
80
+ - **Autor:** Ana | **Estado:** Aprobado | **Tamaño:** M
81
+ - **Dependencias:** RFC-012 (necesita Redis para pub/sub)
82
+ - **Riesgo técnico:** Bajo
83
+ - **Impacto de negocio:** Alto (feature pedido por 3 clientes enterprise)
84
+ - **Veredicto:** ✅ Priorizar después de RFC-012
85
+ ```
86
+
87
+ ### Fase 3: Priorización y asignación
88
+
89
+ Usar matriz de priorización y asignar por modalidad:
90
+
91
+ ```markdown
92
+ ## Priorización (Eisenhower + WSJF)
93
+
94
+ | # | Item | Urgente | Importante | WSJF Score | Decisión |
95
+ |---|------|---------|------------|------------|----------|
96
+ | 1 | BUG-234: Memory leak | ✅ | ✅ | — | **Primero** (producción) |
97
+ | 2 | RFC-010: Auth (arrastre) | ✅ | ✅ | 8.5 | **Completar** (WIP) |
98
+ | 3 | RFC-012: Redis cache | ❌ | ✅ | 7.2 | **Esta semana** |
99
+ | 4 | RFC-018: Push notifications | ❌ | ✅ | 6.8 | **Iniciar si hay capacidad** |
100
+ | 5 | RFC-015: Tailwind migration | ❌ | ❌ | 3.1 | **Backlog** |
101
+
102
+ ### WSJF (Weighted Shortest Job First)
103
+ Score = (Valor de negocio + Urgencia + Reducción de riesgo) / Tamaño del trabajo
104
+ - Valor: 1-5 | Urgencia: 1-5 | Riesgo: 1-5 | Tamaño: 1-5 (Fibonacci: 1,2,3,5,8)
105
+
106
+ ## Asignación
107
+
108
+ ### Modalidad: Individual
109
+ Para tareas bien definidas donde una persona puede avanzar sola.
110
+
111
+ | Tarea | Responsable | Estimado | Entregable | Deadline |
112
+ |-------|-------------|----------|------------|----------|
113
+ | BUG-234: Memory leak | Luis | 1d | Fix + test + post-mortem | Lunes |
114
+ | RFC-010: Auth (completar) | María | 2d | PR listo para merge | Miércoles |
115
+
116
+ ### Modalidad: Pareja (Pair Programming)
117
+ Para tareas que requieren conocimiento cruzado o mentoring.
118
+
119
+ | Tarea | Pareja | Razón | Estimado | Entregable |
120
+ |-------|--------|-------|----------|------------|
121
+ | RFC-012: Redis cache (setup) | María + Luis | María diseñó el RFC, Luis aprende Redis | 2d | Infra + tests de integración |
122
+ | RFC-012: Redis cache (frontend) | Carlos + Diego | Diego aprende patterns de caching en frontend, Carlos mentora | 1.5d | Cache invalidation UI + tests |
123
+
124
+ ### Modalidad: Squad
125
+ Para iniciativas que necesitan esfuerzo coordinado multi-disciplina.
126
+
127
+ | Iniciativa | Squad | Roles | Estimado | Sync |
128
+ |------------|-------|-------|----------|------|
129
+ | RFC-018: Push notifications | Ana (lead) + Carlos + María | Ana: API, Carlos: UI, María: pub/sub | 3d | Daily 15min a las 10:00 |
130
+ ```
131
+
132
+ ### Fase 4: Plan semanal consolidado
133
+
134
+ ```markdown
135
+ ## Plan Semanal: 2026-03-24 → 2026-03-28
136
+
137
+ ### Compromisos (lo que prometemos entregar)
138
+ 1. ✅ BUG-234 resuelto en producción (Lunes)
139
+ 2. ✅ RFC-010: Auth migración completada y mergeada (Miércoles)
140
+ 3. ✅ RFC-012: Redis cache funcional en staging (Viernes)
141
+
142
+ ### Stretch goals (si hay capacidad)
143
+ 4. 🎯 RFC-018: Push notifications — diseño de API + spike de pub/sub
144
+
145
+ ### Lo que NO hacemos esta semana (y por qué)
146
+ - RFC-015: Tailwind migration — WSJF bajo, sin urgencia de negocio
147
+ - TECH-089: Upgrade Node 22 — esperamos que el equipo de plataforma publique guía
148
+
149
+ ### Riesgos y mitigaciones
150
+ | Riesgo | Probabilidad | Impacto | Mitigación |
151
+ |--------|-------------|---------|------------|
152
+ | Redis provisioning se demora | Media | Alto | María hace spike con Docker local primero |
153
+ | Luis no termina BUG-234 el lunes | Baja | Alto | Ana como backup (conoce el worker) |
154
+ | Revisión de seguridad de auth bloquea a María | Alta | Medio | Escalar a Tech Lead el martes si no hay review |
155
+
156
+ ### Ceremonias
157
+ | Ceremonia | Día | Hora | Duración | Quién |
158
+ |-----------|-----|------|----------|-------|
159
+ | Planning (este documento) | Lunes | 09:00 | 45min | Todo el equipo |
160
+ | Daily standup | L-V | 09:30 | 15min | Todo el equipo |
161
+ | RFC-018 sync | M-J | 10:00 | 15min | Squad de push |
162
+ | Demo/Review | Viernes | 16:00 | 30min | Todo el equipo + PM |
163
+
164
+ ### Métricas de la semana
165
+ - Capacidad utilizada: 15.4 / 15.4 días-persona (100%)
166
+ - Items comprometidos: 3
167
+ - Stretch: 1
168
+ - Carry-over anterior: 2 (BUG-234, RFC-010)
169
+ ```
170
+
171
+ ## Criterios de evaluación de RFCs
172
+
173
+ Al revisar un RFC, evaluar cada dimensión con 1-5:
174
+
175
+ | Dimensión | 1 (Bajo) | 5 (Alto) |
176
+ |-----------|----------|----------|
177
+ | **Impacto de negocio** | Nice-to-have interno | Bloquea revenue o cliente enterprise |
178
+ | **Riesgo técnico** | Tecnología conocida, patrón probado | Stack nuevo, sin experiencia en el equipo |
179
+ | **Tamaño** | < 1 día, 1-2 archivos | > 1 semana, cross-cutting |
180
+ | **Urgencia** | Sin deadline, puede esperar | SLA comprometido o dependencia bloqueante |
181
+ | **Deuda técnica** | Solución limpia | Workaround que acumula deuda |
182
+
183
+ ## Reglas del Planning
184
+
185
+ ### Regla de capacidad
186
+ **NUNCA planificar al 100% de capacidad.** Factor de foco:
187
+ - Equipo maduro con pocos meetings: **0.8**
188
+ - Equipo promedio: **0.7**
189
+ - Equipo con mucho soporte/on-call: **0.5-0.6**
190
+
191
+ ### Regla de WIP
192
+ Máximo **2 items en progreso por persona**. Si alguien tiene 2 tareas activas, no se le asigna una tercera hasta que cierre una.
193
+
194
+ ### Regla de arrastre
195
+ Si un item se arrastra **3 semanas consecutivas**, se debe tomar una decisión:
196
+ 1. **Replantear**: dividir en partes más pequeñas
197
+ 2. **Escalar**: pedir ayuda o más recursos
198
+ 3. **Cancelar**: admitir que no es prioridad y sacarlo del backlog
199
+
200
+ ### Regla de parejas
201
+ Las parejas DEBEN rotar cada semana. Objetivo: ningún conocimiento queda en una sola persona.
202
+
203
+ ### Regla de juniors
204
+ Todo junior DEBE estar asignado en pareja con un senior. Nunca asignar tareas críticas a un junior solo.
205
+
206
+ ## Almacenamiento
207
+
208
+ ```
209
+ .especdev/
210
+ ├── plannings/
211
+ │ ├── 2026-W13.md # Planning semana 13
212
+ │ ├── 2026-W14.md # Planning semana 14
213
+ │ └── _retrospectiva.md # Patrones observados entre plannings
214
+ └── rfcs/
215
+ ├── RFC-012.md # RFC individual
216
+ ├── RFC-015.md
217
+ └── _indice.md # Índice de todos los RFCs con estado
218
+ ```
219
+
220
+ ## Modos especiales
221
+
222
+ ### `--modo revision`
223
+ Solo ejecuta Fases 1 y 2 (contexto + revisión de RFCs). Útil para sesiones de refinamiento mid-week.
224
+
225
+ ### `--modo asignacion`
226
+ Solo ejecuta Fases 3 y 4 (priorización + plan). Asume que los RFCs ya fueron revisados.
227
+
228
+ ### `--modo seguimiento`
229
+ Lee el planning de la semana actual (`.especdev/plannings/`) y genera reporte de avance:
230
+ ```markdown
231
+ ## Seguimiento: Semana 2026-W13 (Jueves)
232
+
233
+ ### Avance
234
+ | Item | Estado | Progreso | Notas |
235
+ |------|--------|----------|-------|
236
+ | BUG-234 | ✅ Completado | 100% | Mergeado lunes, post-mortem hecho |
237
+ | RFC-010: Auth | 🟡 En progreso | 80% | Review de seguridad pendiente |
238
+ | RFC-012: Redis | 🟢 En progreso | 40% | Setup OK, tests de integración en progreso |
239
+ | RFC-018: Push | ⬜ No iniciado | 0% | Depende de RFC-012, se inicia viernes si hay tiempo |
240
+
241
+ ### Alerta
242
+ - RFC-010 lleva 2 semanas de carry-over. Si no se completa esta semana → regla de arrastre.
243
+ - Capacidad real utilizada: 12/15.4 días (78%) — 2 días perdidos en incidente no planificado.
244
+ ```
245
+
246
+ ## Integración con otros comandos
247
+
248
+ | Comando | Cuándo usarlo junto con planning |
249
+ |---------|----------------------------------|
250
+ | `/especdev:estimar` | Para estimar RFCs grandes antes del planning |
251
+ | `/especdev:debate` | Para resolver desacuerdos técnicos sobre un RFC |
252
+ | `/especdev:mesa-tecnica` | Para profundizar en la implementación de un RFC priorizado |
253
+ | `/especdev:desglosar` | Para dividir un RFC priorizado en tareas TDD |
254
+ | `/especdev:contrato-api` | Para definir interfaces antes de asignar a parejas/squads |
255
+
256
+ ## Modelo recomendado
257
+
258
+ | Paso | Modelo | Razón |
259
+ |------|--------|-------|
260
+ | Contexto y capacidad | Haiku | Cálculos y formateo |
261
+ | Revisión de RFCs | Sonnet | Juicio técnico para evaluar riesgo/impacto |
262
+ | Priorización WSJF | Sonnet | Razonamiento sobre trade-offs |
263
+ | Asignación | Haiku | Matcheo persona-tarea según datos |
264
+ | Plan consolidado | Haiku | Formateo y consolidación |