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,169 @@
1
+ ---
2
+ nombre: Planning de Equipo Semanal
3
+ descripcion: "Facilitar plannings semanales: revisión de RFCs, priorización WSJF, asignación por responsable/pareja/squad, seguimiento de avance"
4
+ version: 1.0.0
5
+ autor: Don Cheli
6
+ tags: [planning, sprint, rfcs, priorización, equipo, asignación, WSJF, parejas, squads]
7
+ activacion: "planning semanal", "planificar sprint", "revisar RFCs", "asignar tareas", "priorizar backlog"
8
+ ---
9
+
10
+ # Habilidad: Planning de Equipo Semanal
11
+
12
+ **Versión:** 1.0.0
13
+ **Categoría:** Gestión de Equipo
14
+ **Tipo:** Interactivo
15
+
16
+ ## Propósito
17
+
18
+ Orquestar el planning semanal de un equipo de desarrollo de forma estructurada: desde la revisión de RFCs hasta la asignación de tareas con compromisos medibles.
19
+
20
+ ## Capacidades
21
+
22
+ ### 1. Cálculo de capacidad del equipo
23
+ Calcula la capacidad efectiva considerando:
24
+ - Días disponibles por persona (vacaciones, feriados, soporte)
25
+ - Factor de foco (meetings, interrupciones, on-call)
26
+ - Carry-over de la semana anterior
27
+
28
+ **Fórmula:**
29
+ ```
30
+ Capacidad efectiva = Σ(días_disponibles_i) × factor_foco
31
+ ```
32
+
33
+ Factores de foco recomendados:
34
+ | Tipo de equipo | Factor |
35
+ |----------------|--------|
36
+ | Pocas reuniones, sin on-call | 0.8 |
37
+ | Promedio | 0.7 |
38
+ | Mucho soporte/on-call | 0.5-0.6 |
39
+
40
+ ### 2. Evaluación de RFCs
41
+ Cada RFC se evalúa en 5 dimensiones (1-5):
42
+
43
+ | Dimensión | Peso |
44
+ |-----------|------|
45
+ | Impacto de negocio | 1.5x |
46
+ | Urgencia | 1.3x |
47
+ | Reducción de riesgo/deuda | 1.0x |
48
+ | Riesgo técnico (inverso) | 0.8x |
49
+ | Tamaño (inverso) | 0.7x |
50
+
51
+ **Score compuesto:** `(impacto×1.5 + urgencia×1.3 + riesgo×1.0) / (tamaño×0.7 + riesgo_tecnico×0.8)`
52
+
53
+ ### 3. Priorización WSJF
54
+ Weighted Shortest Job First: maximizar valor entregado por unidad de tiempo.
55
+
56
+ ```
57
+ WSJF = (Valor_negocio + Time_criticality + Risk_reduction) / Job_size
58
+ ```
59
+
60
+ Orden de ejecución:
61
+ 1. **Bugs en producción** (siempre primero, sin WSJF)
62
+ 2. **Carry-over** (completar WIP antes de empezar nuevo)
63
+ 3. **WSJF descendente** (mayor score primero)
64
+
65
+ ### 4. Asignación inteligente
66
+ Tres modalidades de asignación:
67
+
68
+ #### Individual
69
+ - Tareas bien definidas con un solo dominio
70
+ - Persona con expertise y disponibilidad
71
+ - Máximo 2 items activos por persona (regla WIP)
72
+
73
+ #### Pareja (Pair Programming)
74
+ - Tareas que cruzan dominios (backend + frontend)
75
+ - Mentoring: senior + junior obligatorio
76
+ - Conocimiento crítico que debe distribuirse (reducir bus factor)
77
+ - **Rotación:** las parejas DEBEN cambiar cada semana
78
+
79
+ #### Squad (3+ personas)
80
+ - Iniciativas que necesitan diseño + implementación + integración
81
+ - Lead designado + daily sync propio
82
+ - Timebox: máximo 1 semana, luego evaluar
83
+
84
+ ### 5. Gestión de RFCs
85
+
86
+ #### Estados de un RFC
87
+ ```
88
+ Draft → En revisión → Aprobado → En progreso → Completado
89
+ ↘ Rechazado
90
+ ↘ Postergado (con fecha de revisión)
91
+ ```
92
+
93
+ #### Plantilla de RFC
94
+ ```markdown
95
+ # RFC-XXX: Título
96
+
97
+ **Autor:** Nombre | **Fecha:** YYYY-MM-DD | **Estado:** Draft
98
+ **Reviewers:** Persona1, Persona2
99
+
100
+ ## Problema
101
+ Qué problema resuelve y por qué es importante ahora.
102
+
103
+ ## Propuesta
104
+ Solución propuesta con suficiente detalle para estimar.
105
+
106
+ ## Alternativas consideradas
107
+ Al menos 1 alternativa y por qué fue descartada.
108
+
109
+ ## Impacto
110
+ - Usuarios afectados: X
111
+ - Sistemas afectados: Y
112
+ - Riesgo de no hacerlo: Z
113
+
114
+ ## Estimado preliminar
115
+ - Tamaño: S/M/L/XL
116
+ - Personas necesarias: N
117
+ - Dependencias: lista
118
+
119
+ ## Decisión
120
+ (se completa después de la revisión en planning)
121
+ ```
122
+
123
+ ### 6. Seguimiento mid-week
124
+ Comparar plan vs realidad:
125
+ - Items completados vs comprometidos
126
+ - Capacidad utilizada vs planificada
127
+ - Bloqueos detectados
128
+ - Ajustes necesarios para el resto de la semana
129
+
130
+ ### 7. Retrospectiva de planning
131
+ Después de 4 plannings acumulados, generar patrones:
132
+ - Precisión de estimaciones (estimado vs real)
133
+ - Items que se arrastran recurrentemente
134
+ - Distribución de carga por persona
135
+ - Parejas que mejor funcionan
136
+ - RFCs que se postergan sin razón clara
137
+
138
+ ## Reglas de la habilidad
139
+
140
+ ### No negociables
141
+ 1. **Nunca 100% de capacidad** — siempre aplicar factor de foco
142
+ 2. **WIP limit: 2** — nadie tiene más de 2 tareas activas
143
+ 3. **Juniors en pareja** — siempre con un senior
144
+ 4. **Carry-over de 3 semanas → decisión** — replantear, escalar, o cancelar
145
+ 5. **Parejas rotan** — ningún par se repite 2 semanas seguidas
146
+
147
+ ### Heurísticas
148
+ - Si un RFC no tiene reviewers asignados, no puede entrar al planning
149
+ - Si la capacidad < 50%, priorizar solo bugs y carry-over
150
+ - Si hay más de 3 items en carry-over, dedicar la primera mitad de la semana solo a cerrar WIP
151
+ - Si un RFC tiene score WSJF > 8 y tamaño > L, dividirlo antes de asignar
152
+
153
+ ## Archivos generados
154
+
155
+ | Archivo | Contenido |
156
+ |---------|-----------|
157
+ | `.especdev/plannings/YYYY-WNN.md` | Planning semanal completo |
158
+ | `.especdev/plannings/_retrospectiva.md` | Patrones entre plannings |
159
+ | `.especdev/rfcs/RFC-XXX.md` | RFC individual |
160
+ | `.especdev/rfcs/_indice.md` | Índice de RFCs con estado |
161
+
162
+ ## Integración
163
+
164
+ | Habilidad | Uso |
165
+ |-----------|-----|
166
+ | `estimacion` | Estimar RFCs antes del planning |
167
+ | `reflexion` | Retrospectiva post-sprint |
168
+ | `trazabilidad` | Vincular RFCs con PRs y specs |
169
+ | `orquestacion-autonoma` | Ejecutar tareas asignadas en bucle |
@@ -0,0 +1,63 @@
1
+ ---
2
+ nombre: Presentaciones Interactivas (HTML Slides)
3
+ descripcion: "Generar presentaciones interactivas HTML autocontenidas desde contenido del proyecto"
4
+ version: 1.0.0
5
+ autor: Don Cheli
6
+ tags: [presentaciones, html, slides, documentacion]
7
+ activacion: "presentación", "slides", "presentar proyecto", "generar HTML"
8
+ ---
9
+
10
+ # Habilidad: Presentaciones Interactivas (HTML Slides)
11
+
12
+ **Versión:** 1.0.0
13
+ **Categoría:** Documentación
14
+ **Tipo:** Flexible
15
+
16
+ > Adaptado de frontend-slides (zarazhangrui/frontend-slides) — Generación de presentaciones HTML sin dependencias.
17
+
18
+ ## Cómo Mejora el Framework
19
+
20
+ Permite generar presentaciones interactivas de proyectos, demos, pitches y documentación técnica como archivos HTML autocontenidos — sin PowerPoint, sin Figma, sin dependencias externas.
21
+
22
+ ## Uso
23
+
24
+ ```
25
+ /especdev:presentar <tema o archivo>
26
+ /especdev:presentar --tema "bold-signal" # Elegir tema visual
27
+ /especdev:presentar --desde pptx input.pptx # Convertir desde PowerPoint
28
+ ```
29
+
30
+ ## Tecnología
31
+
32
+ - HTML5/CSS3/JavaScript puro (sin frameworks)
33
+ - Un solo archivo `.html` autocontenido
34
+ - Navegación por teclado, mouse y touch
35
+ - Animaciones con Intersection Observer
36
+ - Responsive con `clamp()` para todos los tamaños
37
+ - 12 temas de diseño disponibles
38
+
39
+ ## Temas Disponibles
40
+
41
+ | Tema | Estilo | Ideal para |
42
+ |------|--------|-----------|
43
+ | **bold-signal** | Dark, alto contraste, acentos vibrantes | Demos técnicas |
44
+ | **electric-studio** | Dark, profesional, minimalista | Pitches |
45
+ | **neon-cyber** | Dark, futurista, cyan/magenta | Devtools |
46
+ | **terminal-green** | Dark, hacker, monospace | Conferencias dev |
47
+ | **notebook-tabs** | Light, editorial, tabs de color | Workshops |
48
+ | **pastel-geometry** | Light, amigable, redondeado | Onboarding |
49
+ | **swiss-modern** | Bauhaus, geométrico, precisión | Arquitectura |
50
+
51
+ ## Output
52
+
53
+ Archivo HTML autocontenido con:
54
+ - Slides de 100vh (una pantalla por slide)
55
+ - Navegación: flechas, espacio, scroll, swipe
56
+ - Barra de progreso
57
+ - Animaciones de entrada
58
+
59
+ ## Guardrails
60
+
61
+ - Cada slide debe caber en 100vh (sin scroll interno)
62
+ - Imágenes con max-height relativo al viewport
63
+ - Máximo ~15 slides para mantener engagement
@@ -0,0 +1,54 @@
1
+ ---
2
+ nombre: Proyecciones de Costo
3
+ descripcion: Estimar costo restante basándose en consumo real de tokens y slices completados
4
+ version: 1.0.0
5
+ autor: Don Cheli
6
+ tags: [costos, estimacion, tokens, observabilidad]
7
+ ---
8
+
9
+ # Proyecciones de Costo
10
+
11
+ ## Propósito
12
+
13
+ Después de completar 2+ slices o tareas, proyectar el costo total del proyecto basándose en el consumo real observado.
14
+
15
+ ## Fórmula
16
+
17
+ ```
18
+ costo_promedio_por_slice = tokens_consumidos_total / slices_completados
19
+ costo_restante_estimado = costo_promedio_por_slice × slices_pendientes
20
+ costo_total_proyectado = tokens_consumidos_total + costo_restante_estimado
21
+ ```
22
+
23
+ ## Factores de Ajuste
24
+
25
+ | Factor | Multiplicador | Cuándo |
26
+ |--------|---------------|--------|
27
+ | Slices iniciales (setup) | 0.7× | Los primeros 2 slices suelen ser más caros (setup) |
28
+ | Slices finales (polish) | 0.5× | Los últimos slices suelen ser más baratos |
29
+ | Re-work por review | 1.3× | Si el review detectó hallazgos que requieren cambios |
30
+ | Complejidad creciente | 1.2× | Si los slices restantes son de mayor complejidad |
31
+
32
+ ## Dashboard
33
+
34
+ ```
35
+ 💰 Proyección de Costos — demo-sdd
36
+
37
+ Slices completados: 3/5
38
+ Tokens consumidos: 450K
39
+ Costo acumulado: ~$13.50 (@ $0.03/1K tokens)
40
+
41
+ Proyección:
42
+ Optimista (0.7×): + $6.30 → Total $19.80
43
+ Esperado (1.0×): + $9.00 → Total $22.50
44
+ Pesimista (1.3×): + $11.70 → Total $25.20
45
+
46
+ Budget máximo configurado: $30.00
47
+ Estado: ✅ Dentro del budget (75% usado)
48
+ ```
49
+
50
+ ## Integración
51
+
52
+ - Se calcula automáticamente al completar cada slice en `/especdev:implementar`
53
+ - Se incluye en `/especdev:cerrar-sesion`
54
+ - Si el costo proyectado excede el budget configurado, genera un `[checkpoint:decision]`
@@ -0,0 +1,131 @@
1
+ ---
2
+ nombre: Prueba de Trabajo
3
+ descripcion: "Generar evidencia verificable de que el código funciona: tests pasando, screenshots, logs"
4
+ version: 1.0.0
5
+ autor: Don Cheli
6
+ tags: [verificación, evidencia, proof-of-work, ci]
7
+ activacion: "prueba de trabajo", "evidencia", "proof of work", "demostrar que funciona"
8
+ ---
9
+
10
+ # Habilidad: Prueba de Trabajo (Proof of Work)
11
+
12
+ **Versión:** 1.0.0
13
+ **Categoría:** Verificación
14
+ **Tipo:** Rígida
15
+
16
+ > Adaptado de OpenAI Symphony — evidencia verificable de que el trabajo fue completado correctamente.
17
+
18
+ ## Cómo Mejora el Framework
19
+
20
+ Sin prueba de trabajo, el equipo debe revisar TODO el código manualmente para verificar que funciona. Con prueba de trabajo, el agente **demuestra** que su implementación es correcta con evidencia verificable.
21
+
22
+ ## Componentes de la Prueba de Trabajo
23
+
24
+ ### 1. Estado de CI ✅
25
+
26
+ ```markdown
27
+ ## CI Status
28
+ - Lint: ✅ PASS (0.8s)
29
+ - Type Check: ✅ PASS (2.1s)
30
+ - Unit Tests: ✅ PASS (47/47, 3.2s)
31
+ - Integration Tests: ✅ PASS (12/12, 8.5s)
32
+ - Build: ✅ PASS (5.1s)
33
+ - Coverage: 87% (umbral: 85%) ✅
34
+ ```
35
+
36
+ ### 2. Análisis de Complejidad 📊
37
+
38
+ ```markdown
39
+ ## Análisis de Complejidad
40
+ - Archivos modificados: 8
41
+ - Líneas agregadas: 234
42
+ - Líneas eliminadas: 45
43
+ - Complejidad ciclomática promedio: 3.2 (bajo)
44
+ - Archivo más complejo: auth_service.py (cc: 7)
45
+ - Dependencias nuevas: 1 (python-jose)
46
+ - Riesgo de regresión: BAJO
47
+ ```
48
+
49
+ ### 3. Revisión de PR 📋
50
+
51
+ ```markdown
52
+ ## Checklist de PR
53
+ - [x] Specs seguidas: auth-oauth.delta.md
54
+ - [x] Tests unitarios para lógica nueva
55
+ - [x] Tests de integración para endpoints
56
+ - [x] No hay TODO/FIXME sin resolver
57
+ - [x] Documentación actualizada
58
+ - [x] No hay secrets en el código
59
+ - [x] Backward compatible
60
+ ```
61
+
62
+ ### 4. Video Walkthrough 🎥 (Opcional)
63
+
64
+ Grabación del agente ejecutando los tests y mostrando que la funcionalidad opera correctamente. Especialmente útil para cambios de UI.
65
+
66
+ ### 5. Contabilidad de Tokens 💰
67
+
68
+ ```markdown
69
+ ## Consumo de Recursos
70
+ - Tokens input: 45,230
71
+ - Tokens output: 12,890
72
+ - Tokens total: 58,120
73
+ - Sesiones: 2
74
+ - Tiempo total: 7m 23s
75
+ - Reintentos: 0
76
+ - Costo estimado: $0.14
77
+ ```
78
+
79
+ ## Output Completo
80
+
81
+ Cada PR o tarea completada incluye un archivo `prueba-trabajo.md`:
82
+
83
+ ```markdown
84
+ # Prueba de Trabajo: PROJ-42 — Agregar OAuth
85
+
86
+ ## Resumen
87
+ Feature implementada según spec auth-oauth.delta.md.
88
+ 3 endpoints nuevos, 12 tests, 0 bugs.
89
+
90
+ ## CI Status
91
+ ✅ Lint | ✅ Types | ✅ Tests (47/47) | ✅ Build | ✅ Coverage (87%)
92
+
93
+ ## Complejidad
94
+ 8 archivos | +234 -45 líneas | CC promedio: 3.2 | Riesgo: BAJO
95
+
96
+ ## Trazabilidad
97
+ | Escenario Gherkin | Test | Estado |
98
+ |-------------------|------|--------|
99
+ | Login Google exitoso | test_google_login_success | ✅ |
100
+ | Tarjeta rechazada | test_card_declined | ✅ |
101
+ | Vincular OAuth a existente | test_link_oauth | ✅ |
102
+
103
+ ## Tokens
104
+ 58,120 tokens | 2 sesiones | 7m 23s | ~$0.14
105
+
106
+ ## Aprobación
107
+ Estado: LISTO PARA REVISIÓN HUMANA
108
+ Solicitante: Don Cheli Agent
109
+ Fecha: 2026-03-21T16:30:00-05:00
110
+ ```
111
+
112
+ ## Integración con Pipeline
113
+
114
+ ```
115
+ implementar → stop hooks → generar prueba-trabajo.md
116
+ → crear PR con prueba adjunta
117
+ → solicitar revisión humana
118
+ → si aprobada → archivar
119
+ ```
120
+
121
+ ## Configuración
122
+
123
+ ```yaml
124
+ # WORKFLOW.md
125
+ prueba_trabajo:
126
+ ci_status: true # Siempre
127
+ complejidad: true # Siempre
128
+ trazabilidad: true # Siempre
129
+ walkthrough_video: false # Opcional
130
+ tokens: true # Siempre
131
+ ```
@@ -0,0 +1,69 @@
1
+ ---
2
+ nombre: Razonamiento (15 modelos + RLM)
3
+ descripcion: "Aplicar modelos mentales estructurados para resolver problemas complejos de forma sistemática"
4
+ version: 1.0.0
5
+ autor: Don Cheli
6
+ tags: [razonamiento, modelos-mentales, decision, analisis]
7
+ activacion: "razonar", "analizar problema", "modelo mental", "pensar mejor"
8
+ ---
9
+
10
+ # Habilidad: Razonamiento (15 modelos + RLM)
11
+
12
+ **Versión:** 1.0.0
13
+ **Categoría:** Decisiones
14
+ **Tipo:** Flexible
15
+
16
+ ## Modelos Disponibles
17
+
18
+ ### Modelos de Análisis (Entender)
19
+ | # | Modelo | Comando | Uso |
20
+ |---|--------|---------|-----|
21
+ | 1 | Primeros Principios | `/razonar:primeros-principios` | Innovación |
22
+ | 2 | 5 Porqués | `/razonar:5-porques` | Causa raíz |
23
+ | 3 | Mapa vs Territorio | `/razonar:mapa-territorio` | Validar suposiciones |
24
+
25
+ ### Modelos de Decisión (Elegir)
26
+ | # | Modelo | Comando | Uso |
27
+ |---|--------|---------|-----|
28
+ | 4 | Pareto | `/razonar:pareto` | Priorización |
29
+ | 5 | Costo de Oportunidad | `/razonar:costo-oportunidad` | Trade-offs |
30
+ | 6 | Reversibilidad | `/razonar:reversibilidad` | Compromiso |
31
+ | 7 | Minimizar Arrepentimiento | `/razonar:minimizar-arrepentimiento` | Largo plazo |
32
+ | 8 | Probabilístico | `/razonar:probabilistico` | Incertidumbre |
33
+
34
+ ### Modelos de Perspectiva (Pensar)
35
+ | # | Modelo | Comando | Uso |
36
+ |---|--------|---------|-----|
37
+ | 9 | Inversión | `/razonar:inversion` | Pensar al revés |
38
+ | 10 | Segundo Orden | `/razonar:segundo-orden` | Pensar adelante |
39
+ | 11 | Pre-Mortem | `/razonar:pre-mortem` | Pensar fracaso |
40
+ | 12 | Círculo de Competencia | `/razonar:circulo-competencia` | Pensar límites |
41
+
42
+ ### 🧠 Modelos RLM (Modelo de Lenguaje Recursivo — PrimeIntellect)
43
+ | # | Modelo | Comando | Uso |
44
+ |---|--------|---------|-----|
45
+ | 13 | Verificación con Sub-LLMs | `/razonar:rlm-verificacion` | Verificar código contra specs |
46
+ | 14 | Cadena + Context Folding | `/razonar:rlm-cadena-pensamiento` | Razonamiento multi-paso sin context rot |
47
+ | 15 | Descomposición Recursiva | `/razonar:rlm-descomposicion` | Inputs masivos, codebases grandes |
48
+
49
+ ## Árbol de Decisión
50
+
51
+ ```
52
+ ¿Qué tipo de problema tengo?
53
+ ├── No entiendo el problema → Análisis
54
+ │ ├── Suposiciones → primeros-principios
55
+ │ ├── Bug/Error → 5-porques
56
+ │ └── Datos confusos → mapa-territorio
57
+ ├── Necesito elegir → Decisión
58
+ │ ├── Qué priorizar → pareto
59
+ │ ├── Qué compromiso → reversibilidad / probabilístico
60
+ │ └── Largo plazo → minimizar-arrepentimiento
61
+ ├── Necesito perspectiva → Perspectiva
62
+ │ ├── Evitar fracaso → pre-mortem / inversión
63
+ │ ├── Ver más allá → segundo-orden
64
+ │ └── ¿Sé lo suficiente? → circulo-competencia
65
+ └── Necesito manejar contexto largo / input masivo → RLM
66
+ ├── Verificar contra specs → rlm-verificacion
67
+ ├── Razonamiento multi-paso → rlm-cadena-pensamiento
68
+ └── Codebase grande / datos masivos → rlm-descomposicion
69
+ ```
@@ -0,0 +1,27 @@
1
+ ---
2
+ nombre: Recuperación de Sesión
3
+ descripcion: "Recuperar el contexto de una sesión previa leyendo artifacts del disco y generando briefing"
4
+ version: 1.0.0
5
+ autor: Don Cheli
6
+ tags: [fundamental, sesión, contexto, recuperación, memoria]
7
+ activacion: "recuperar sesión", "continuar donde dejé", "qué estaba haciendo"
8
+ ---
9
+
10
+ # Habilidad: Recuperación de Sesión
11
+
12
+ **Versión:** 1.0.0
13
+ **Categoría:** Fundamental
14
+
15
+ ## Propósito
16
+
17
+ Recuperar contexto completo tras reset de sesión usando los archivos persistentes.
18
+
19
+ ## Test de 5 Preguntas
20
+
21
+ | # | Pregunta | Fuente |
22
+ |---|----------|--------|
23
+ | 1 | ¿Dónde estoy? | estado.md |
24
+ | 2 | ¿A dónde voy? | plan.md |
25
+ | 3 | ¿Cuál es la meta? | config.yaml |
26
+ | 4 | ¿Qué he aprendido? | hallazgos.md |
27
+ | 5 | ¿Qué he hecho? | progreso.md |
@@ -0,0 +1,182 @@
1
+ ---
2
+ nombre: Refactorización SOLID
3
+ descripcion: "Guiar refactoring con principios SOLID: checklist de violaciones, métricas, patrones de diseño"
4
+ version: 1.0.0
5
+ autor: Don Cheli
6
+ tags: [calidad, SOLID, refactoring, clean-code, patrones]
7
+ activacion: "refactorizar SOLID", "principios SOLID", "code smells", "refactoring"
8
+ ---
9
+
10
+ # Habilidad: Refactorización SOLID y Clean Code
11
+
12
+ **Versión:** 1.0.0
13
+ **Categoría:** Calidad
14
+ **Tipo:** Flexible
15
+
16
+ ## Cómo Mejora el Framework
17
+
18
+ Don Cheli tiene la Constitución (Art. II: Precisión Quirúrgica, Art. III: Plug-and-Play) que define principios, pero no provee un proceso estructurado para refactorizar código existente aplicando patrones de diseño y principios SOLID.
19
+
20
+ ## Cuándo Activar
21
+
22
+ - Al detectar code smells durante `/especdev:revisar`
23
+ - Cuando un módulo supera umbrales de complejidad
24
+ - Antes de agregar funcionalidad a código legacy
25
+ - Cuando el usuario solicita refactorización explícitamente
26
+
27
+ ## Los 5 Principios SOLID como Checklist
28
+
29
+ ### S — Single Responsibility (Responsabilidad Única)
30
+
31
+ ```
32
+ Verificar: ¿Tiene la clase/módulo una sola razón para cambiar?
33
+
34
+ Smells:
35
+ ❌ Clase con > 200 líneas
36
+ ❌ Más de 3 dependencias inyectadas
37
+ ❌ Nombre genérico (Manager, Helper, Utils, Handler)
38
+ ❌ Múltiples secciones con comentarios "// --- Sección X ---"
39
+
40
+ Fix: Extraer a clases/módulos especializados
41
+ UserService → UserCreator + UserValidator + UserNotifier
42
+ ```
43
+
44
+ ### O — Open/Closed (Abierto/Cerrado)
45
+
46
+ ```
47
+ Verificar: ¿Se puede extender sin modificar código existente?
48
+
49
+ Smells:
50
+ ❌ Cadenas if/else o switch crecientes
51
+ ❌ Modificar clase existente para cada nueva variante
52
+ ❌ Parámetros booleanos que cambian comportamiento
53
+
54
+ Fix: Strategy pattern, Plugin pattern, Registry pattern
55
+ if (type === 'credit') {...} else if (type === 'debit') {...}
56
+ → paymentStrategies[type].process(data)
57
+ ```
58
+
59
+ ### L — Liskov Substitution (Sustitución de Liskov)
60
+
61
+ ```
62
+ Verificar: ¿Las subclases pueden reemplazar a la clase padre sin romper nada?
63
+
64
+ Smells:
65
+ ❌ Subclase que lanza NotImplementedError en método heredado
66
+ ❌ instanceof checks en código que usa la abstracción
67
+ ❌ Override que cambia la semántica del método padre
68
+
69
+ Fix: Rediseñar jerarquía, usar composición sobre herencia
70
+ Square extends Rectangle (rompe Liskov)
71
+ → Shape interface con área() independiente
72
+ ```
73
+
74
+ ### I — Interface Segregation (Segregación de Interfaces)
75
+
76
+ ```
77
+ Verificar: ¿Las interfaces son específicas o fuerzan a implementar métodos innecesarios?
78
+
79
+ Smells:
80
+ ❌ Interfaces con > 5 métodos
81
+ ❌ Implementaciones con métodos vacíos o throw
82
+ ❌ "God interface" que mezcla concerns
83
+
84
+ Fix: Dividir en interfaces específicas
85
+ IUserService (create, read, update, delete, sendEmail, generateReport)
86
+ → IUserCRUD + IUserNotification + IUserReporting
87
+ ```
88
+
89
+ ### D — Dependency Inversion (Inversión de Dependencias)
90
+
91
+ ```
92
+ Verificar: ¿Los módulos de alto nivel dependen de abstracciones, no de implementaciones?
93
+
94
+ Smells:
95
+ ❌ new ConcreteService() dentro de otra clase
96
+ ❌ Import directo de implementación concreta
97
+ ❌ Tests que requieren infraestructura real
98
+
99
+ Fix: Inyección de dependencias
100
+ class AuthService { db = new PostgresDB() }
101
+ → class AuthService { constructor(private db: IDatabase) }
102
+ ```
103
+
104
+ ## Patrones de Diseño — Cuándo Aplicar
105
+
106
+ | Patrón | Cuándo Usar | Ejemplo |
107
+ |--------|------------|---------|
108
+ | **Factory** | Creación de objetos con lógica condicional | `createPaymentProcessor(type)` |
109
+ | **Strategy** | Algoritmos intercambiables | Múltiples métodos de envío |
110
+ | **Observer** | Notificación de cambios sin acoplamiento | Eventos de dominio |
111
+ | **Adapter** | Integrar interfaces incompatibles | Wrapper para API externa |
112
+ | **Repository** | Abstraer acceso a datos | `UserRepository` interface |
113
+ | **Decorator** | Agregar comportamiento sin modificar | Logging, caching, retry |
114
+ | **Builder** | Construir objetos complejos paso a paso | Query builder, config builder |
115
+ | **Facade** | Simplificar subsistema complejo | `PaymentFacade` sobre Stripe+Tax+Invoice |
116
+
117
+ **Regla:** Aplicar un patrón solo cuando el smell existe. Nunca aplicar preventivamente.
118
+
119
+ ## Proceso de Refactorización
120
+
121
+ ```
122
+ 1. IDENTIFICAR — Detectar smells con análisis estático
123
+ └── Complejidad ciclomática, acoplamiento, cohesión
124
+
125
+ 2. PLANIFICAR — Definir qué principio/patrón aplicar
126
+ └── [REGLA 4: Si cambia arquitectura → PARAR Y PREGUNTAR]
127
+
128
+ 3. PROTEGER — Asegurar que hay tests antes de refactorizar
129
+ └── Si no hay tests → escribirlos primero (Ley de Hierro #1)
130
+
131
+ 4. REFACTORIZAR — Aplicar cambio mínimo viable (Art. II Constitución)
132
+ └── Un patrón a la vez, nunca varios simultáneos
133
+
134
+ 5. VERIFICAR — Ejecutar tests, verificar que pasan
135
+ └── Cero cambio de comportamiento (Ley de Hierro #3)
136
+ ```
137
+
138
+ ## Métricas de Código
139
+
140
+ | Métrica | Umbral Aceptable | Umbral Refactorizar |
141
+ |---------|------------------|---------------------|
142
+ | Complejidad ciclomática | ≤ 10 | > 15 |
143
+ | Líneas por función | ≤ 30 | > 50 |
144
+ | Líneas por archivo | ≤ 300 | > 500 |
145
+ | Profundidad de anidamiento | ≤ 3 | > 4 |
146
+ | Parámetros por función | ≤ 3 | > 5 |
147
+ | Dependencias por módulo | ≤ 5 | > 7 |
148
+
149
+ ## Output del Análisis
150
+
151
+ ```markdown
152
+ ## Análisis de Refactorización: src/services/order_service.py
153
+
154
+ ### Smells Detectados
155
+
156
+ | # | Smell | Principio | Severidad | Líneas |
157
+ |---|-------|-----------|-----------|--------|
158
+ | 1 | Clase de 450 líneas con 12 métodos | S (SRP) | ❌ Alto | 1-450 |
159
+ | 2 | Switch de 8 casos para tipo de pago | O (OCP) | ⚠️ Medio | 120-180 |
160
+ | 3 | `new StripeClient()` hardcoded | D (DIP) | ⚠️ Medio | 45 |
161
+
162
+ ### Plan de Refactorización
163
+
164
+ 1. **Extraer** validaciones → `OrderValidator` (SRP)
165
+ 2. **Extraer** cálculos → `OrderCalculator` (SRP)
166
+ 3. **Strategy** para tipos de pago → `PaymentStrategy` interface (OCP)
167
+ 4. **Inyectar** StripeClient via constructor (DIP)
168
+
169
+ ### Impacto Estimado
170
+ - Archivos afectados: 4 (crear 3 nuevos, modificar 1)
171
+ - Tests a actualizar: 6
172
+ - Riesgo: Bajo (cambio de estructura, no de comportamiento)
173
+ ```
174
+
175
+ ## Guardrails
176
+
177
+ - **Nunca** refactorizar sin tests existentes — escribirlos primero
178
+ - **Nunca** aplicar múltiples patrones en un solo PR
179
+ - **Nunca** refactorizar "de paso" junto a una feature (Art. II)
180
+ - **Siempre** verificar cero cambio de comportamiento post-refactor
181
+ - **Siempre** pedir confirmación si afecta > 5 archivos (Regla 4)
182
+ - **Siempre** justificar el patrón elegido vs alternativa más simple