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.
- package/AGENTS.md +33 -0
- package/CHANGELOG.md +108 -0
- package/CLAUDE.md +114 -0
- package/LICENSE +190 -0
- package/README.es.md +611 -0
- package/README.md +640 -0
- package/README.pt.md +579 -0
- package/VERSION +1 -0
- package/agentes/README.md +28 -0
- package/agentes/prompts/estimador.md +29 -0
- package/comandos/bucle-completar.md +13 -0
- package/comandos/bucle-estado.md +13 -0
- package/comandos/bucle.md +74 -0
- package/comandos/especdev/actualizar.md +200 -0
- package/comandos/especdev/agente.md +43 -0
- package/comandos/especdev/analizar-sesiones.md +158 -0
- package/comandos/especdev/aplicar.md +73 -0
- package/comandos/especdev/archivar.md +69 -0
- package/comandos/especdev/auditar-seguridad.md +234 -0
- package/comandos/especdev/auditar.md +15 -0
- package/comandos/especdev/avance-rapido.md +64 -0
- package/comandos/especdev/cambios.md +14 -0
- package/comandos/especdev/capturar.md +61 -0
- package/comandos/especdev/cerrar-sesion.md +88 -0
- package/comandos/especdev/clarificar.md +98 -0
- package/comandos/especdev/comenzar.md +105 -0
- package/comandos/especdev/completo.md +49 -0
- package/comandos/especdev/continuar.md +59 -0
- package/comandos/especdev/contrato-api.md +223 -0
- package/comandos/especdev/contrato-ui.md +245 -0
- package/comandos/especdev/crear-skill.md +148 -0
- package/comandos/especdev/debate.md +119 -0
- package/comandos/especdev/desglosar.md +172 -0
- package/comandos/especdev/destilar.md +211 -0
- package/comandos/especdev/detectar-ambiguedad.md +81 -0
- package/comandos/especdev/diagnostico.md +92 -0
- package/comandos/especdev/dise/303/261ar.md +74 -0
- package/comandos/especdev/doctor.md +78 -0
- package/comandos/especdev/donde-estoy.md +32 -0
- package/comandos/especdev/especificar.md +189 -0
- package/comandos/especdev/estado.md +46 -0
- package/comandos/especdev/estimar.md +141 -0
- package/comandos/especdev/explorar.md +175 -0
- package/comandos/especdev/guardian.md +99 -0
- package/comandos/especdev/historial.md +14 -0
- package/comandos/especdev/implementar.md +227 -0
- package/comandos/especdev/incorporar.md +71 -0
- package/comandos/especdev/iniciar.md +82 -0
- package/comandos/especdev/limpiar-slop.md +88 -0
- package/comandos/especdev/marketplace.md +109 -0
- package/comandos/especdev/memorizar.md +31 -0
- package/comandos/especdev/mesa-redonda.md +60 -0
- package/comandos/especdev/mesa-tecnica.md +144 -0
- package/comandos/especdev/migrar.md +237 -0
- package/comandos/especdev/minar-referencias.md +214 -0
- package/comandos/especdev/planificar-tecnico.md +186 -0
- package/comandos/especdev/planning.md +264 -0
- package/comandos/especdev/poc.md +302 -0
- package/comandos/especdev/presentar.md +75 -0
- package/comandos/especdev/proponer.md +69 -0
- package/comandos/especdev/pseudocodigo.md +49 -0
- package/comandos/especdev/rapido.md +69 -0
- package/comandos/especdev/reflexionar.md +53 -0
- package/comandos/especdev/retro.md +14 -0
- package/comandos/especdev/reversa.md +155 -0
- package/comandos/especdev/revisar.md +231 -0
- package/comandos/especdev/traspasar.md +76 -0
- package/comandos/especdev/traspaso.md +43 -0
- package/comandos/especdev/uat.md +84 -0
- package/comandos/especdev/validar-spec.md +58 -0
- package/comandos/especdev/validar.md +40 -0
- package/comandos/historias-generar.md +74 -0
- package/comandos/razonar/5-porques.md +42 -0
- package/comandos/razonar/circulo-competencia.md +22 -0
- package/comandos/razonar/costo-oportunidad.md +21 -0
- package/comandos/razonar/inversion.md +40 -0
- package/comandos/razonar/mapa-territorio.md +22 -0
- package/comandos/razonar/minimizar-arrepentimiento.md +20 -0
- package/comandos/razonar/pareto.md +32 -0
- package/comandos/razonar/pre-mortem.md +22 -0
- package/comandos/razonar/primeros-principios.md +57 -0
- package/comandos/razonar/probabilistico.md +21 -0
- package/comandos/razonar/reversibilidad.md +27 -0
- package/comandos/razonar/rlm-cadena-pensamiento.md +189 -0
- package/comandos/razonar/rlm-descomposicion.md +216 -0
- package/comandos/razonar/rlm-verificacion.md +169 -0
- package/comandos/razonar/segundo-orden.md +35 -0
- package/ganchos/parar.md +10 -0
- package/ganchos/post-herramienta.md +9 -0
- package/ganchos/pre-herramienta.md +19 -0
- package/habilidades/arnes-agente/HABILIDAD.md +164 -0
- package/habilidades/auto-correccion/HABILIDAD.md +114 -0
- package/habilidades/brainstorming/HABILIDAD.md +88 -0
- package/habilidades/cambio-carpeta/HABILIDAD.md +100 -0
- package/habilidades/code-rag/HABILIDAD.md +306 -0
- package/habilidades/contabilidad-tokens/HABILIDAD.md +109 -0
- package/habilidades/delta-specs/HABILIDAD.md +102 -0
- package/habilidades/desarrollo-subagentes/HABILIDAD.md +51 -0
- package/habilidades/deteccion-loops/HABILIDAD.md +168 -0
- package/habilidades/deteccion-stubs/HABILIDAD.md +204 -0
- package/habilidades/devlog/HABILIDAD.md +84 -0
- package/habilidades/documentacion-viva/HABILIDAD.md +231 -0
- package/habilidades/estimacion/HABILIDAD.md +48 -0
- package/habilidades/extensiones-presets/HABILIDAD.md +133 -0
- package/habilidades/generador-specs/HABILIDAD.md +37 -0
- package/habilidades/ingenieria-contexto/HABILIDAD.md +34 -0
- package/habilidades/integracion-mcp/HABILIDAD.md +59 -0
- package/habilidades/leyes-hierro/HABILIDAD.md +45 -0
- package/habilidades/mapa-arquitectonico/HABILIDAD.md +93 -0
- package/habilidades/memoria-persistente/HABILIDAD.md +97 -0
- package/habilidades/obsidian/HABILIDAD.md +93 -0
- package/habilidades/optimizacion-tokens/HABILIDAD.md +179 -0
- package/habilidades/optimizador-contexto/HABILIDAD.md +106 -0
- package/habilidades/orquestacion-autonoma/HABILIDAD.md +133 -0
- package/habilidades/permisos-seguridad/HABILIDAD.md +76 -0
- package/habilidades/persona/HABILIDAD.md +66 -0
- package/habilidades/planning-equipo/HABILIDAD.md +169 -0
- package/habilidades/presentaciones/HABILIDAD.md +63 -0
- package/habilidades/proyecciones-costo/HABILIDAD.md +54 -0
- package/habilidades/prueba-trabajo/HABILIDAD.md +131 -0
- package/habilidades/razonamiento/HABILIDAD.md +69 -0
- package/habilidades/recuperacion-sesion/HABILIDAD.md +27 -0
- package/habilidades/refactorizacion-solid/HABILIDAD.md +182 -0
- package/habilidades/reflexion/HABILIDAD.md +37 -0
- package/habilidades/rigor-progresivo/HABILIDAD.md +109 -0
- package/habilidades/rlm/HABILIDAD.md +85 -0
- package/habilidades/routing-modelos/HABILIDAD.md +79 -0
- package/habilidades/salud-habilidades/HABILIDAD.md +63 -0
- package/habilidades/schemas-dbml/HABILIDAD.md +101 -0
- package/habilidades/trazabilidad/HABILIDAD.md +63 -0
- package/habilidades/ui-ux-design/HABILIDAD.md +76 -0
- package/habilidades/validacion-nyquist/HABILIDAD.md +161 -0
- package/habilidades/worktrees/HABILIDAD.md +80 -0
- package/locales/en.json +179 -0
- package/locales/es.json +179 -0
- package/locales/pt.json +179 -0
- package/package.json +48 -0
- package/plantillas/checklist-requisitos.md +31 -0
- package/plantillas/docker/Dockerfile +16 -0
- package/plantillas/docker/docker-compose.yml +28 -0
- package/plantillas/especdev/WORKFLOW.md +118 -0
- package/plantillas/especdev/config.yaml +27 -0
- package/plantillas/especdev/en/config.yaml +27 -0
- package/plantillas/especdev/en/decisions.md +17 -0
- package/plantillas/especdev/en/deferred-work.md +17 -0
- package/plantillas/especdev/en/findings.md +7 -0
- package/plantillas/especdev/en/knowledge.md +19 -0
- package/plantillas/especdev/en/plan.md +35 -0
- package/plantillas/especdev/en/progress.md +7 -0
- package/plantillas/especdev/en/project-constitution.md +53 -0
- package/plantillas/especdev/en/pseudocode.md +35 -0
- package/plantillas/especdev/en/runtime.md +26 -0
- package/plantillas/especdev/en/status.md +16 -0
- package/plantillas/especdev/es/config.yaml +27 -0
- package/plantillas/especdev/es/conocimiento.md +19 -0
- package/plantillas/especdev/es/constitucion-proyecto.md +53 -0
- package/plantillas/especdev/es/decisiones.md +17 -0
- package/plantillas/especdev/es/deuda-scope.md +17 -0
- package/plantillas/especdev/es/estado.md +16 -0
- package/plantillas/especdev/es/hallazgos.md +7 -0
- package/plantillas/especdev/es/plan.md +35 -0
- package/plantillas/especdev/es/progreso.md +7 -0
- package/plantillas/especdev/es/pseudocodigo.md +35 -0
- package/plantillas/especdev/es/runtime.md +26 -0
- package/plantillas/especdev/estado.md +16 -0
- package/plantillas/especdev/hallazgos.md +7 -0
- package/plantillas/especdev/isa.yml +152 -0
- package/plantillas/especdev/plan.md +35 -0
- package/plantillas/especdev/progreso.md +7 -0
- package/plantillas/especdev/pt/config.yaml +27 -0
- package/plantillas/especdev/pt/conhecimento.md +19 -0
- package/plantillas/especdev/pt/constituicao-projeto.md +53 -0
- package/plantillas/especdev/pt/decisoes.md +17 -0
- package/plantillas/especdev/pt/descobertas.md +7 -0
- package/plantillas/especdev/pt/estado.md +16 -0
- package/plantillas/especdev/pt/plano.md +35 -0
- package/plantillas/especdev/pt/progresso.md +7 -0
- package/plantillas/especdev/pt/pseudocodigo.md +35 -0
- package/plantillas/especdev/pt/runtime.md +26 -0
- package/plantillas/especdev/pt/trabalho-diferido.md +17 -0
- package/plantillas/estimado-desarrollo.md +43 -0
- package/prompt.md +16 -0
- package/reglas/constitucion.md +122 -0
- package/reglas/hooks-parar.md +102 -0
- package/reglas/i18n.md +47 -0
- package/reglas/leyes-hierro.md +18 -0
- package/reglas/puertas-calidad.md +87 -0
- package/reglas/reglas-desviacion.md +36 -0
- package/reglas/reglas-trabajo-globales.md +171 -0
- package/reglas/skills-best-practices.md +109 -0
- package/scripts/.claude/commands/bucle-completar.md +13 -0
- package/scripts/.claude/commands/bucle-estado.md +13 -0
- package/scripts/.claude/commands/bucle.md +74 -0
- package/scripts/.claude/commands/especdev/actualizar.md +200 -0
- package/scripts/.claude/commands/especdev/agente.md +43 -0
- package/scripts/.claude/commands/especdev/analizar-sesiones.md +158 -0
- package/scripts/.claude/commands/especdev/aplicar.md +73 -0
- package/scripts/.claude/commands/especdev/archivar.md +69 -0
- package/scripts/.claude/commands/especdev/auditar-seguridad.md +234 -0
- package/scripts/.claude/commands/especdev/auditar.md +15 -0
- package/scripts/.claude/commands/especdev/avance-rapido.md +64 -0
- package/scripts/.claude/commands/especdev/cambios.md +14 -0
- package/scripts/.claude/commands/especdev/cerrar-sesion.md +88 -0
- package/scripts/.claude/commands/especdev/clarificar.md +98 -0
- package/scripts/.claude/commands/especdev/comenzar.md +77 -0
- package/scripts/.claude/commands/especdev/completo.md +49 -0
- package/scripts/.claude/commands/especdev/continuar.md +59 -0
- package/scripts/.claude/commands/especdev/contrato-api.md +223 -0
- package/scripts/.claude/commands/especdev/contrato-ui.md +245 -0
- package/scripts/.claude/commands/especdev/desglosar.md +172 -0
- package/scripts/.claude/commands/especdev/destilar.md +211 -0
- package/scripts/.claude/commands/especdev/detectar-ambiguedad.md +81 -0
- package/scripts/.claude/commands/especdev/diagnostico.md +92 -0
- package/scripts/.claude/commands/especdev/dise/303/261ar.md +74 -0
- package/scripts/.claude/commands/especdev/donde-estoy.md +32 -0
- package/scripts/.claude/commands/especdev/especificar.md +189 -0
- package/scripts/.claude/commands/especdev/estado.md +46 -0
- package/scripts/.claude/commands/especdev/estimar.md +141 -0
- package/scripts/.claude/commands/especdev/explorar.md +175 -0
- package/scripts/.claude/commands/especdev/guardian.md +99 -0
- package/scripts/.claude/commands/especdev/historial.md +14 -0
- package/scripts/.claude/commands/especdev/implementar.md +227 -0
- package/scripts/.claude/commands/especdev/incorporar.md +71 -0
- package/scripts/.claude/commands/especdev/iniciar.md +82 -0
- package/scripts/.claude/commands/especdev/limpiar-slop.md +88 -0
- package/scripts/.claude/commands/especdev/memorizar.md +31 -0
- package/scripts/.claude/commands/especdev/mesa-redonda.md +60 -0
- package/scripts/.claude/commands/especdev/mesa-tecnica.md +144 -0
- package/scripts/.claude/commands/especdev/migrar.md +237 -0
- package/scripts/.claude/commands/especdev/minar-referencias.md +214 -0
- package/scripts/.claude/commands/especdev/planificar-tecnico.md +186 -0
- package/scripts/.claude/commands/especdev/planning.md +264 -0
- package/scripts/.claude/commands/especdev/poc.md +302 -0
- package/scripts/.claude/commands/especdev/proponer.md +69 -0
- package/scripts/.claude/commands/especdev/rapido.md +69 -0
- package/scripts/.claude/commands/especdev/reflexionar.md +53 -0
- package/scripts/.claude/commands/especdev/retro.md +14 -0
- package/scripts/.claude/commands/especdev/reversa.md +155 -0
- package/scripts/.claude/commands/especdev/revisar.md +221 -0
- package/scripts/.claude/commands/especdev/traspasar.md +76 -0
- package/scripts/.claude/commands/especdev/traspaso.md +43 -0
- package/scripts/.claude/commands/especdev/validar.md +40 -0
- package/scripts/.claude/commands/historias-generar.md +74 -0
- package/scripts/.claude/commands/razonar/5-porques.md +42 -0
- package/scripts/.claude/commands/razonar/circulo-competencia.md +22 -0
- package/scripts/.claude/commands/razonar/costo-oportunidad.md +21 -0
- package/scripts/.claude/commands/razonar/inversion.md +40 -0
- package/scripts/.claude/commands/razonar/mapa-territorio.md +22 -0
- package/scripts/.claude/commands/razonar/minimizar-arrepentimiento.md +20 -0
- package/scripts/.claude/commands/razonar/pareto.md +32 -0
- package/scripts/.claude/commands/razonar/pre-mortem.md +22 -0
- package/scripts/.claude/commands/razonar/primeros-principios.md +57 -0
- package/scripts/.claude/commands/razonar/probabilistico.md +21 -0
- package/scripts/.claude/commands/razonar/reversibilidad.md +27 -0
- package/scripts/.claude/commands/razonar/rlm-cadena-pensamiento.md +189 -0
- package/scripts/.claude/commands/razonar/rlm-descomposicion.md +216 -0
- package/scripts/.claude/commands/razonar/rlm-verificacion.md +169 -0
- package/scripts/.claude/commands/razonar/segundo-orden.md +35 -0
- package/scripts/.claude/don-cheli/AGENTS.md +20 -0
- package/scripts/.claude/don-cheli/CLAUDE.md +114 -0
- package/scripts/.claude/don-cheli/NOTICE +17 -0
- package/scripts/.claude/don-cheli/VERSION +1 -0
- package/scripts/.claude/don-cheli/agentes/README.md +28 -0
- package/scripts/.claude/don-cheli/agentes/prompts/estimador.md +29 -0
- package/scripts/.claude/don-cheli/folder-map.json +19 -0
- package/scripts/.claude/don-cheli/ganchos/parar.md +10 -0
- package/scripts/.claude/don-cheli/ganchos/post-herramienta.md +9 -0
- package/scripts/.claude/don-cheli/ganchos/pre-herramienta.md +19 -0
- package/scripts/.claude/don-cheli/habilidades/arnes-agente/HABILIDAD.md +155 -0
- package/scripts/.claude/don-cheli/habilidades/auto-correccion/HABILIDAD.md +105 -0
- package/scripts/.claude/don-cheli/habilidades/brainstorming/HABILIDAD.md +79 -0
- package/scripts/.claude/don-cheli/habilidades/cambio-carpeta/HABILIDAD.md +91 -0
- package/scripts/.claude/don-cheli/habilidades/code-rag/HABILIDAD.md +297 -0
- package/scripts/.claude/don-cheli/habilidades/contabilidad-tokens/HABILIDAD.md +100 -0
- package/scripts/.claude/don-cheli/habilidades/delta-specs/HABILIDAD.md +93 -0
- package/scripts/.claude/don-cheli/habilidades/desarrollo-subagentes/HABILIDAD.md +42 -0
- package/scripts/.claude/don-cheli/habilidades/deteccion-loops/HABILIDAD.md +159 -0
- package/scripts/.claude/don-cheli/habilidades/deteccion-stubs/HABILIDAD.md +195 -0
- package/scripts/.claude/don-cheli/habilidades/devlog/HABILIDAD.md +75 -0
- package/scripts/.claude/don-cheli/habilidades/documentacion-viva/HABILIDAD.md +222 -0
- package/scripts/.claude/don-cheli/habilidades/estimacion/HABILIDAD.md +39 -0
- package/scripts/.claude/don-cheli/habilidades/extensiones-presets/HABILIDAD.md +124 -0
- package/scripts/.claude/don-cheli/habilidades/generador-specs/HABILIDAD.md +28 -0
- package/scripts/.claude/don-cheli/habilidades/ingenieria-contexto/HABILIDAD.md +25 -0
- package/scripts/.claude/don-cheli/habilidades/integracion-mcp/HABILIDAD.md +50 -0
- package/scripts/.claude/don-cheli/habilidades/leyes-hierro/HABILIDAD.md +36 -0
- package/scripts/.claude/don-cheli/habilidades/mapa-arquitectonico/HABILIDAD.md +84 -0
- package/scripts/.claude/don-cheli/habilidades/memoria-persistente/HABILIDAD.md +88 -0
- package/scripts/.claude/don-cheli/habilidades/obsidian/HABILIDAD.md +84 -0
- package/scripts/.claude/don-cheli/habilidades/optimizacion-tokens/HABILIDAD.md +170 -0
- package/scripts/.claude/don-cheli/habilidades/optimizador-contexto/HABILIDAD.md +97 -0
- package/scripts/.claude/don-cheli/habilidades/orquestacion-autonoma/HABILIDAD.md +124 -0
- package/scripts/.claude/don-cheli/habilidades/permisos-seguridad/HABILIDAD.md +67 -0
- package/scripts/.claude/don-cheli/habilidades/persona/HABILIDAD.md +57 -0
- package/scripts/.claude/don-cheli/habilidades/presentaciones/HABILIDAD.md +54 -0
- package/scripts/.claude/don-cheli/habilidades/prueba-trabajo/HABILIDAD.md +122 -0
- package/scripts/.claude/don-cheli/habilidades/razonamiento/HABILIDAD.md +60 -0
- package/scripts/.claude/don-cheli/habilidades/recuperacion-sesion/HABILIDAD.md +18 -0
- package/scripts/.claude/don-cheli/habilidades/refactorizacion-solid/HABILIDAD.md +173 -0
- package/scripts/.claude/don-cheli/habilidades/reflexion/HABILIDAD.md +15 -0
- package/scripts/.claude/don-cheli/habilidades/rigor-progresivo/HABILIDAD.md +100 -0
- package/scripts/.claude/don-cheli/habilidades/rlm/HABILIDAD.md +76 -0
- package/scripts/.claude/don-cheli/habilidades/schemas-dbml/HABILIDAD.md +92 -0
- package/scripts/.claude/don-cheli/habilidades/trazabilidad/HABILIDAD.md +54 -0
- package/scripts/.claude/don-cheli/habilidades/ui-ux-design/HABILIDAD.md +67 -0
- package/scripts/.claude/don-cheli/habilidades/validacion-nyquist/HABILIDAD.md +152 -0
- package/scripts/.claude/don-cheli/habilidades/worktrees/HABILIDAD.md +71 -0
- package/scripts/.claude/don-cheli/locale +1 -0
- package/scripts/.claude/don-cheli/locales/en.json +179 -0
- package/scripts/.claude/don-cheli/locales/es.json +179 -0
- package/scripts/.claude/don-cheli/locales/pt.json +179 -0
- package/scripts/.claude/don-cheli/plantillas/checklist-requisitos.md +31 -0
- package/scripts/.claude/don-cheli/plantillas/docker/Dockerfile +16 -0
- package/scripts/.claude/don-cheli/plantillas/docker/docker-compose.yml +28 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/WORKFLOW.md +118 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/config.yaml +27 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/en/config.yaml +27 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/en/findings.md +7 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/en/plan.md +35 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/en/progress.md +7 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/en/status.md +16 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/es/config.yaml +27 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/es/estado.md +16 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/es/hallazgos.md +7 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/es/plan.md +35 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/es/progreso.md +7 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/estado.md +16 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/hallazgos.md +7 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/isa.yml +152 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/plan.md +35 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/progreso.md +7 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/pt/config.yaml +27 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/pt/descobertas.md +7 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/pt/estado.md +16 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/pt/plano.md +35 -0
- package/scripts/.claude/don-cheli/plantillas/especdev/pt/progresso.md +7 -0
- package/scripts/.claude/don-cheli/plantillas/estimado-desarrollo.md +43 -0
- package/scripts/.claude/don-cheli/prompt.md +16 -0
- package/scripts/.claude/don-cheli/reglas/constitucion.md +122 -0
- package/scripts/.claude/don-cheli/reglas/hooks-parar.md +102 -0
- package/scripts/.claude/don-cheli/reglas/i18n.md +47 -0
- package/scripts/.claude/don-cheli/reglas/leyes-hierro.md +18 -0
- package/scripts/.claude/don-cheli/reglas/puertas-calidad.md +87 -0
- package/scripts/.claude/don-cheli/reglas/reglas-desviacion.md +36 -0
- package/scripts/.claude/don-cheli/reglas/reglas-trabajo-globales.md +171 -0
- package/scripts/.claude/don-cheli/scripts/bucle.sh +103 -0
- package/scripts/.claude/don-cheli/scripts/instalar.sh +522 -0
- package/scripts/.claude/don-cheli/scripts/validar.sh +70 -0
- package/scripts/bucle.sh +103 -0
- package/scripts/instalar.sh +587 -0
- 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
|