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,221 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Peer review estricto con análisis de rendimiento, arquitectura, seguridad y cumplimiento
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /especdev:revisar
|
|
7
|
+
|
|
8
|
+
## Objetivo
|
|
9
|
+
|
|
10
|
+
Generar un peer review estricto asumiendo el rol de **Arquitecto de Software / Lead Developer**. Evalúa no solo sintaxis y tests, sino rendimiento, cumplimiento de arquitectura, seguridad y eficiencia algorítmica.
|
|
11
|
+
|
|
12
|
+
## Uso
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/especdev:revisar
|
|
16
|
+
/especdev:revisar @specs/features/<dominio>/<Feature>.tasks.md
|
|
17
|
+
/especdev:revisar --rigor alto # Review de arquitecto senior
|
|
18
|
+
/especdev:revisar --rigor estandar # Review estándar (default)
|
|
19
|
+
/especdev:revisar --foco rendimiento # Enfocarse en performance
|
|
20
|
+
/especdev:revisar --foco seguridad # Enfocarse en seguridad
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Dimensiones del Review
|
|
24
|
+
|
|
25
|
+
### 1. Corrección Funcional
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
Verificar:
|
|
29
|
+
- [ ] Todos los escenarios Gherkin P1 implementados
|
|
30
|
+
- [ ] Escenarios P2 implementados
|
|
31
|
+
- [ ] Edge cases cubiertos con tests
|
|
32
|
+
- [ ] Sin stubs detectados (habilidad detección-stubs)
|
|
33
|
+
- [ ] Criterios de éxito de la spec cumplidos
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 2. Tests y Cobertura
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
Verificar:
|
|
40
|
+
- [ ] Tests unitarios pasan
|
|
41
|
+
- [ ] Tests de integración pasan
|
|
42
|
+
- [ ] Tests BDD desde Gherkin pasan
|
|
43
|
+
- [ ] Cobertura ≥ 85% sobre código nuevo
|
|
44
|
+
- [ ] Validación Nyquist: 100% P1, 80% P2
|
|
45
|
+
- [ ] Tests verifican comportamiento, no implementación
|
|
46
|
+
- [ ] Sin tests frágiles (no dependen de orden, tiempo, estado global)
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### 3. Rendimiento
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
Detectar:
|
|
53
|
+
❌ Consultas N+1 a base de datos
|
|
54
|
+
❌ Loops innecesarios sobre datasets grandes (O(n²) evitable)
|
|
55
|
+
❌ Falta de paginación en queries que pueden crecer
|
|
56
|
+
❌ Objetos grandes en memoria sin liberar
|
|
57
|
+
❌ Imports pesados que podrían ser lazy
|
|
58
|
+
❌ Re-renders innecesarios (React) o watchers excesivos (Vue)
|
|
59
|
+
❌ Falta de índices en queries frecuentes
|
|
60
|
+
❌ Serialización/deserialización redundante
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### 4. Arquitectura y Diseño
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
Verificar:
|
|
67
|
+
- [ ] Cumple con constitución (todos los artículos)
|
|
68
|
+
- [ ] Principios SOLID respetados (habilidad refactorizacion-solid)
|
|
69
|
+
- [ ] Contrato UI respetado (si aplica, habilidad contrato-ui)
|
|
70
|
+
- [ ] Sin acoplamiento excesivo entre módulos
|
|
71
|
+
- [ ] Dependencias inyectadas (no hardcoded)
|
|
72
|
+
- [ ] Separación de concerns (controller thin, service con lógica)
|
|
73
|
+
- [ ] Sin código duplicado significativo (>10 líneas)
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### 5. Seguridad
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
Verificar (subset de auditar-seguridad):
|
|
80
|
+
- [ ] Input validado en puntos de entrada
|
|
81
|
+
- [ ] Queries parametrizadas (no concatenación)
|
|
82
|
+
- [ ] Sin credenciales en código
|
|
83
|
+
- [ ] Auth/authz en endpoints que lo requieren
|
|
84
|
+
- [ ] Output encodado (prevención XSS)
|
|
85
|
+
- [ ] Sin datos sensibles en logs
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### 6. Estilo y Convenciones
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
Verificar:
|
|
92
|
+
- [ ] Naming consistente con convenciones del proyecto
|
|
93
|
+
- [ ] Sin imports no usados
|
|
94
|
+
- [ ] Sin variables no usadas
|
|
95
|
+
- [ ] Sin console.log/print de debugging
|
|
96
|
+
- [ ] Lint y type-check sin errores
|
|
97
|
+
- [ ] Comentarios que aportan valor (no ruido)
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### 7. Diff Limpio
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
Verificar:
|
|
104
|
+
- [ ] Solo cambios relacionados a la feature
|
|
105
|
+
- [ ] Sin refactoring "de paso" (Art. II Constitución)
|
|
106
|
+
- [ ] Sin cambios de formato no relacionados
|
|
107
|
+
- [ ] Sin archivos de configuración personal (.vscode, .idea)
|
|
108
|
+
- [ ] Sin archivos binarios innecesarios
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Output
|
|
112
|
+
|
|
113
|
+
Genera `specs/features/<dominio>/revision.md`:
|
|
114
|
+
|
|
115
|
+
```markdown
|
|
116
|
+
# Peer Review: CrearUsuario
|
|
117
|
+
|
|
118
|
+
**Revisor:** Don Cheli Peer Review v2.0
|
|
119
|
+
**Fecha:** 2026-03-21
|
|
120
|
+
**Rigor:** Alto (Arquitecto Senior)
|
|
121
|
+
**Archivos revisados:** 8
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Veredicto: ⚠️ APROBADO CON OBSERVACIONES
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## 1. Corrección Funcional ✅
|
|
130
|
+
- P1: 3/3 escenarios implementados
|
|
131
|
+
- P2: 2/2 escenarios implementados
|
|
132
|
+
- Stubs: 0 detectados
|
|
133
|
+
|
|
134
|
+
## 2. Tests y Cobertura ✅
|
|
135
|
+
- Unitarios: 12/12 ✅
|
|
136
|
+
- Integración: 4/4 ✅
|
|
137
|
+
- BDD: 5/5 ✅
|
|
138
|
+
- Cobertura: 89% (≥ 85% ✅)
|
|
139
|
+
- Nyquist P1: 100% ✅
|
|
140
|
+
|
|
141
|
+
## 3. Rendimiento ⚠️
|
|
142
|
+
|
|
143
|
+
### ⚠️ PERF-001: Consulta N+1 potencial
|
|
144
|
+
**Archivo:** src/services/usuario_service.py:67
|
|
145
|
+
**Descripción:** Al listar usuarios con sus roles, se ejecuta 1 query por rol.
|
|
146
|
+
```python
|
|
147
|
+
# Actual (N+1)
|
|
148
|
+
for user in users:
|
|
149
|
+
user.roles = await role_repo.find_by_user(user.id)
|
|
150
|
+
|
|
151
|
+
# Sugerido (1 query)
|
|
152
|
+
user_ids = [u.id for u in users]
|
|
153
|
+
roles_map = await role_repo.find_by_users(user_ids)
|
|
154
|
+
for user in users:
|
|
155
|
+
user.roles = roles_map.get(user.id, [])
|
|
156
|
+
```
|
|
157
|
+
**Impacto:** Bajo ahora (pocos usuarios), pero escala linealmente.
|
|
158
|
+
**Acción:** Corregir antes de que la tabla usuarios crezca.
|
|
159
|
+
|
|
160
|
+
## 4. Arquitectura y Diseño ✅
|
|
161
|
+
- Constitución: todos los artículos ✅
|
|
162
|
+
- SOLID: sin violaciones detectadas
|
|
163
|
+
- Separación de concerns: controller thin ✅
|
|
164
|
+
- DI: todas las dependencias inyectadas ✅
|
|
165
|
+
|
|
166
|
+
## 5. Seguridad ✅
|
|
167
|
+
- Input validado con Pydantic ✅
|
|
168
|
+
- Queries parametrizadas (SQLAlchemy) ✅
|
|
169
|
+
- Password con argon2id ✅
|
|
170
|
+
- Sin credenciales en código ✅
|
|
171
|
+
|
|
172
|
+
## 6. Estilo y Convenciones ✅
|
|
173
|
+
- Naming consistente ✅
|
|
174
|
+
- Lint: 0 errores ✅
|
|
175
|
+
- Type-check: 0 errores ✅
|
|
176
|
+
- Sin console.log ✅
|
|
177
|
+
|
|
178
|
+
## 7. Diff Limpio ✅
|
|
179
|
+
- Solo archivos de la feature ✅
|
|
180
|
+
- Sin cambios de formato ✅
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Resumen de Hallazgos
|
|
185
|
+
|
|
186
|
+
| ID | Tipo | Severidad | Estado |
|
|
187
|
+
|----|------|-----------|--------|
|
|
188
|
+
| PERF-001 | Rendimiento | ⚠️ Medio | Pendiente |
|
|
189
|
+
|
|
190
|
+
## Recomendaciones
|
|
191
|
+
1. Corregir N+1 en listado de usuarios (PERF-001)
|
|
192
|
+
2. Considerar agregar índice en `email` si aún no existe
|
|
193
|
+
3. Agregar rate limiting en POST /usuarios para v2
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
## Niveles de Rigor
|
|
197
|
+
|
|
198
|
+
| Rigor | Quién simula | Dimensiones | Cuándo usar |
|
|
199
|
+
|-------|-------------|-------------|-------------|
|
|
200
|
+
| **Básico** | Developer Jr | 1, 2, 6 | Fix rápido, cambio menor |
|
|
201
|
+
| **Estándar** | Senior Dev | 1-4, 6, 7 | Features estándar |
|
|
202
|
+
| **Alto** | Arquitecto Senior | 1-7 (todas) | Features críticas, auth, pagos |
|
|
203
|
+
|
|
204
|
+
## Integración con Pipeline
|
|
205
|
+
|
|
206
|
+
```
|
|
207
|
+
/especdev:implementar → código completo
|
|
208
|
+
→ /especdev:revisar → reporte de review
|
|
209
|
+
→ ¿Aprobado?
|
|
210
|
+
├── ✅ APROBADO → listo para PR
|
|
211
|
+
├── ⚠️ CON OBSERVACIONES → corregir hallazgos → re-revisar
|
|
212
|
+
└── ❌ RECHAZADO → cambios significativos necesarios
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
## Guardrails
|
|
216
|
+
|
|
217
|
+
- **Nunca** aprobar código con stubs críticos
|
|
218
|
+
- **Nunca** aprobar sin tests (Ley de Hierro #1)
|
|
219
|
+
- **Nunca** ignorar hallazgos de seguridad
|
|
220
|
+
- **Siempre** verificar cumplimiento de constitución
|
|
221
|
+
- **Siempre** documentar hallazgos con archivo + línea + sugerencia
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generar documento de traspaso estructurado para retomar en la próxima sesión
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /especdev:traspasar
|
|
7
|
+
|
|
8
|
+
## Objetivo
|
|
9
|
+
|
|
10
|
+
Generar un documento de traspaso estructurado que permite a la **siguiente sesión** (o agente) retomar exactamente donde se dejó. Diferente de `/especdev:cerrar-sesion` que es un checklist para ti — el traspaso es un documento escrito para **el siguiente lector**.
|
|
11
|
+
|
|
12
|
+
> Adaptado de `session-handoff` de Pro-Workflow.
|
|
13
|
+
|
|
14
|
+
## Uso
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
/especdev:traspasar
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Output
|
|
21
|
+
|
|
22
|
+
```markdown
|
|
23
|
+
# Traspaso de Sesión — 2026-03-21 16:45
|
|
24
|
+
|
|
25
|
+
## Estado
|
|
26
|
+
- **Branch:** feature/oauth-login
|
|
27
|
+
- **Commits esta sesión:** 3
|
|
28
|
+
- **Cambios sin commit:** 2 archivos
|
|
29
|
+
- **Tests:** ✅ pasando
|
|
30
|
+
|
|
31
|
+
## ✅ Completado
|
|
32
|
+
- Endpoint POST /api/auth/google
|
|
33
|
+
- Endpoint POST /api/auth/github
|
|
34
|
+
- 12 unit tests para ambos endpoints
|
|
35
|
+
- Middleware de validación de tokens OAuth
|
|
36
|
+
|
|
37
|
+
## 🔄 En Progreso
|
|
38
|
+
- Refresh token (src/services/auth/refresh.ts:23)
|
|
39
|
+
→ Falta implementar rotación de tokens
|
|
40
|
+
→ El test skeleton ya existe en tests/auth/refresh.test.ts
|
|
41
|
+
|
|
42
|
+
## ⬜ Pendiente
|
|
43
|
+
- [ ] Vincular OAuth a cuenta existente por email
|
|
44
|
+
- [ ] Revocar token al logout
|
|
45
|
+
- [ ] BLOQUEADO: Endpoint de callback necesita URL de producción
|
|
46
|
+
|
|
47
|
+
## 🧠 Decisiones Tomadas
|
|
48
|
+
- Elegido Strategy Pattern para providers (Google, GitHub)
|
|
49
|
+
→ Razón: extensible para Apple/Microsoft después
|
|
50
|
+
- Tokens JWT con 15min de vida + refresh de 7 días
|
|
51
|
+
→ Razón: balance seguridad/UX
|
|
52
|
+
|
|
53
|
+
## 📄 Archivos Tocados
|
|
54
|
+
- `src/services/auth/google.ts` — Provider de Google OAuth
|
|
55
|
+
- `src/services/auth/github.ts` — Provider de GitHub OAuth
|
|
56
|
+
- `src/middleware/oauth-validate.ts` — Validación de tokens
|
|
57
|
+
- `tests/auth/google.test.ts` — 6 tests
|
|
58
|
+
- `tests/auth/github.test.ts` — 6 tests
|
|
59
|
+
|
|
60
|
+
## ⚠️ Gotchas
|
|
61
|
+
- NextAuth v5 cambia la API: `getSession()` ahora es async
|
|
62
|
+
- El mock de Google no devuelve `refresh_token` en primer login
|
|
63
|
+
|
|
64
|
+
## ▶️ Comando de Retomar
|
|
65
|
+
|
|
66
|
+
> Continuar en branch `feature/oauth-login`. Implementar refresh token
|
|
67
|
+
> (src/services/auth/refresh.ts). El test skeleton ya está. Siguiente
|
|
68
|
+
> paso: implementar rotación de tokens en el endpoint POST /api/auth/refresh.
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Guardrails
|
|
72
|
+
|
|
73
|
+
- **Escribir para el lector** — No para ti
|
|
74
|
+
- **Incluir paths y líneas** — Ser específico
|
|
75
|
+
- **Comando de retomar copy-pasteable** — 1-2 oraciones de contexto
|
|
76
|
+
- **Solo hechos** — Describir cambios funcionalmente, no inferir motivación
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generar handoff de contexto para transferencia de sesión
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /especdev:traspaso
|
|
7
|
+
|
|
8
|
+
## Objetivo
|
|
9
|
+
|
|
10
|
+
Generar un documento estructurado para transferir contexto entre sesiones o agentes.
|
|
11
|
+
|
|
12
|
+
## Uso
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/especdev:traspaso
|
|
16
|
+
/especdev:traspaso --guardar
|
|
17
|
+
/especdev:traspaso --formato md
|
|
18
|
+
/especdev:traspaso --destino agente
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Output
|
|
22
|
+
|
|
23
|
+
```xml
|
|
24
|
+
<traspaso_contexto>
|
|
25
|
+
<metadatos>
|
|
26
|
+
<proyecto>api-pagos</proyecto>
|
|
27
|
+
<fecha>2026-03-21T15:30:00Z</fecha>
|
|
28
|
+
</metadatos>
|
|
29
|
+
<tarea_original>Implementar API de pagos</tarea_original>
|
|
30
|
+
<trabajo_completado>
|
|
31
|
+
- Spec Gherkin creada
|
|
32
|
+
- Blueprint técnico generado
|
|
33
|
+
</trabajo_completado>
|
|
34
|
+
<trabajo_pendiente>
|
|
35
|
+
- Implementar endpoint de cobro
|
|
36
|
+
- Agregar tests de integración
|
|
37
|
+
</trabajo_pendiente>
|
|
38
|
+
<estado_actual>
|
|
39
|
+
Fase: 4/7
|
|
40
|
+
Progreso: 55%
|
|
41
|
+
</estado_actual>
|
|
42
|
+
</traspaso_contexto>
|
|
43
|
+
```
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Validar la conformidad de archivos .especdev/
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /especdev:validar
|
|
7
|
+
|
|
8
|
+
## Objetivo
|
|
9
|
+
|
|
10
|
+
Verificar que los archivos de `.especdev/` están completos y conformes.
|
|
11
|
+
|
|
12
|
+
## Uso
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/especdev:validar
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Verificaciones
|
|
19
|
+
|
|
20
|
+
| Archivo | Verificación |
|
|
21
|
+
|---------|-------------|
|
|
22
|
+
| `config.yaml` | Campos requeridos presentes |
|
|
23
|
+
| `estado.md` | Fase válida (1-7), progreso 0-100% |
|
|
24
|
+
| `plan.md` | Al menos una fase definida |
|
|
25
|
+
| `hallazgos.md` | Formato correcto |
|
|
26
|
+
| `progreso.md` | Formato correcto |
|
|
27
|
+
|
|
28
|
+
## Output
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
=== Validación Don Cheli ===
|
|
32
|
+
|
|
33
|
+
✅ config.yaml — OK
|
|
34
|
+
✅ estado.md — OK (Fase 3, 40%)
|
|
35
|
+
⚠️ plan.md — Fases 5-7 sin definir
|
|
36
|
+
✅ hallazgos.md — OK (3 entradas)
|
|
37
|
+
✅ progreso.md — OK (4 sesiones)
|
|
38
|
+
|
|
39
|
+
Resultado: 4/5 ✅, 1 advertencia
|
|
40
|
+
```
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generar prd.json desde un PRD markdown para el bucle autónomo
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /historias-generar
|
|
6
|
+
|
|
7
|
+
## Objetivo
|
|
8
|
+
|
|
9
|
+
Convertir un PRD markdown en archivo `prd.json` estructurado para el bucle autónomo.
|
|
10
|
+
|
|
11
|
+
## Uso
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
/historias-generar [archivo-prd.md]
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Si no se especifica archivo, busca en orden:
|
|
18
|
+
1. `.especdev/prd.md`
|
|
19
|
+
2. `docs/prd.md`
|
|
20
|
+
3. `PRD.md`
|
|
21
|
+
|
|
22
|
+
## Formato PRD Markdown Esperado
|
|
23
|
+
|
|
24
|
+
```markdown
|
|
25
|
+
# Nombre del Proyecto
|
|
26
|
+
|
|
27
|
+
Descripción del proyecto o feature.
|
|
28
|
+
|
|
29
|
+
## Historias
|
|
30
|
+
|
|
31
|
+
### HU-001: Título de la historia
|
|
32
|
+
|
|
33
|
+
Como [rol], quiero [acción], para [beneficio].
|
|
34
|
+
|
|
35
|
+
**Criterios de aceptación:**
|
|
36
|
+
- [ ] Criterio 1
|
|
37
|
+
- [ ] Criterio 2
|
|
38
|
+
|
|
39
|
+
**Prioridad:** 1
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Formato prd.json Generado
|
|
43
|
+
|
|
44
|
+
```json
|
|
45
|
+
{
|
|
46
|
+
"proyecto": "Nombre del Proyecto",
|
|
47
|
+
"ramaBase": "[rama-actual]",
|
|
48
|
+
"descripcion": "Descripción...",
|
|
49
|
+
"historiasUsuario": [
|
|
50
|
+
{
|
|
51
|
+
"id": "HU-001",
|
|
52
|
+
"titulo": "Título de la historia",
|
|
53
|
+
"descripcion": "Como...",
|
|
54
|
+
"criteriosAceptacion": ["Criterio 1", "Criterio 2"],
|
|
55
|
+
"prioridad": 1,
|
|
56
|
+
"pasa": false,
|
|
57
|
+
"notas": ""
|
|
58
|
+
}
|
|
59
|
+
]
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Output
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
Historias generadas: 5
|
|
67
|
+
Archivo: .especdev/sesion/prd.json
|
|
68
|
+
|
|
69
|
+
HU-001 [P1] Título historia 1
|
|
70
|
+
HU-002 [P2] Título historia 2
|
|
71
|
+
...
|
|
72
|
+
|
|
73
|
+
Ejecuta /bucle para implementar las historias.
|
|
74
|
+
```
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Análisis de causa raíz preguntando "¿por qué?" repetidamente hasta llegar al origen del problema.
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /razonar:5-porques
|
|
7
|
+
|
|
8
|
+
Análisis de causa raíz preguntando "¿por qué?" repetidamente hasta llegar al origen del problema.
|
|
9
|
+
|
|
10
|
+
## Uso
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/razonar:5-porques [problema]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Proceso
|
|
17
|
+
|
|
18
|
+
1. Plantear el problema
|
|
19
|
+
2. Preguntar "¿Por qué?" → Respuesta 1
|
|
20
|
+
3. Preguntar "¿Por qué?" sobre la respuesta → Respuesta 2
|
|
21
|
+
4. Repetir hasta llegar a la causa raíz (usualmente 5 niveles)
|
|
22
|
+
5. Proponer solución a la causa raíz
|
|
23
|
+
|
|
24
|
+
## Ejemplo
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
/razonar:5-porques "Los tests fallan intermitentemente"
|
|
28
|
+
|
|
29
|
+
¿Por qué? → Condición de carrera
|
|
30
|
+
¿Por qué? → Estado compartido entre tests
|
|
31
|
+
¿Por qué? → Singleton global
|
|
32
|
+
¿Por qué? → Diseño legacy sin revisión
|
|
33
|
+
¿Por qué? → No hay proceso de revisión arquitectónica
|
|
34
|
+
|
|
35
|
+
→ Causa raíz: problema de PROCESO, no solo de código
|
|
36
|
+
→ Solución: Implementar revisión arquitectónica + refactorizar singleton
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Combina bien con
|
|
40
|
+
|
|
41
|
+
- `/razonar:primeros-principios`
|
|
42
|
+
- `/razonar:pre-mortem`
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Conocer tus límites. Distinguir entre lo que conoces profundamente y lo que solo conoces superficialmente.
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /razonar:circulo-competencia
|
|
7
|
+
|
|
8
|
+
Conocer tus límites. Distinguir entre lo que conoces profundamente y lo que solo conoces superficialmente.
|
|
9
|
+
|
|
10
|
+
## Uso
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/razonar:circulo-competencia [área/decisión]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Proceso
|
|
17
|
+
|
|
18
|
+
1. **Definir** el área de decisión
|
|
19
|
+
2. **Evaluar** honestamente: ¿es mi área de competencia?
|
|
20
|
+
3. **Si SÍ**: Decidir con confianza
|
|
21
|
+
4. **Si NO**: Buscar experto o investigar antes de decidir
|
|
22
|
+
5. **Documentar** los límites para futuras decisiones
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Evaluar el costo de NO elegir las alternativas. Cada decisión tiene un costo oculto.
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /razonar:costo-oportunidad
|
|
7
|
+
|
|
8
|
+
Evaluar el costo de NO elegir las alternativas. Cada decisión tiene un costo oculto.
|
|
9
|
+
|
|
10
|
+
## Uso
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/razonar:costo-oportunidad [opciones]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Proceso
|
|
17
|
+
|
|
18
|
+
1. Listar todas las opciones disponibles
|
|
19
|
+
2. Para cada opción: ¿qué GANO y qué PIERDO?
|
|
20
|
+
3. Evaluar el costo de la mejor alternativa NO elegida
|
|
21
|
+
4. Decidir si el beneficio supera el costo de oportunidad
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Resolver un problema pensando al revés: ¿cómo GARANTIZARÍAMOS el fracaso?
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /razonar:inversion
|
|
7
|
+
|
|
8
|
+
Resolver un problema pensando al revés: ¿cómo GARANTIZARÍAMOS el fracaso?
|
|
9
|
+
|
|
10
|
+
## Uso
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/razonar:inversion [objetivo]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Proceso
|
|
17
|
+
|
|
18
|
+
1. **Definir** el objetivo deseado
|
|
19
|
+
2. **Invertir**: ¿Cómo garantizaríamos el fracaso?
|
|
20
|
+
3. **Listar** todas las formas de fallar
|
|
21
|
+
4. **Invertir** cada fallo → acción preventiva
|
|
22
|
+
5. **Priorizar** acciones preventivas
|
|
23
|
+
|
|
24
|
+
## Ejemplo
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
/razonar:inversion "Lanzamiento exitoso de v2.0"
|
|
28
|
+
|
|
29
|
+
¿Cómo GARANTIZAR que el lanzamiento falle?
|
|
30
|
+
- No hacer tests de regresión
|
|
31
|
+
- Desplegar un viernes a las 6pm
|
|
32
|
+
- No tener plan de rollback
|
|
33
|
+
- Ignorar feedback de beta testers
|
|
34
|
+
|
|
35
|
+
→ Inversión = nuestro plan:
|
|
36
|
+
- Tests de regresión obligatorios
|
|
37
|
+
- Desplegar martes a las 10am
|
|
38
|
+
- Plan de rollback documentado
|
|
39
|
+
- Ciclo de beta testing
|
|
40
|
+
```
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Distinguir entre el modelo (mapa) y la realidad (territorio). El mapa NO es el territorio.
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /razonar:mapa-territorio
|
|
7
|
+
|
|
8
|
+
Distinguir entre el modelo (mapa) y la realidad (territorio). El mapa NO es el territorio.
|
|
9
|
+
|
|
10
|
+
## Uso
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/razonar:mapa-territorio [situación]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Proceso
|
|
17
|
+
|
|
18
|
+
1. **Identificar** el modelo/mapa que estás usando
|
|
19
|
+
2. **Preguntar**: ¿Dónde podría diferir de la realidad?
|
|
20
|
+
3. **Buscar** evidencia directa del territorio (datos reales)
|
|
21
|
+
4. **Ajustar** el mapa donde sea necesario
|
|
22
|
+
5. **Recordar**: todo modelo es una simplificación
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Tomar decisiones pensando en lo que minimizará el arrepentimiento a largo plazo.
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /razonar:minimizar-arrepentimiento
|
|
7
|
+
|
|
8
|
+
Tomar decisiones pensando en lo que minimizará el arrepentimiento a largo plazo.
|
|
9
|
+
|
|
10
|
+
## Uso
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/razonar:minimizar-arrepentimiento [decisión]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Proceso
|
|
17
|
+
|
|
18
|
+
1. Imagínate a los 80 años mirando hacia atrás
|
|
19
|
+
2. ¿De cuál opción te arrepentirías más de NO haber tomado?
|
|
20
|
+
3. Elegir la opción que minimiza el arrepentimiento futuro
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Aplicar el principio 80/20: enfocarse en el 20% que produce el 80% de los resultados.
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /razonar:pareto
|
|
7
|
+
|
|
8
|
+
Aplicar el principio 80/20: enfocarse en el 20% que produce el 80% de los resultados.
|
|
9
|
+
|
|
10
|
+
## Uso
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/razonar:pareto [contexto]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Proceso
|
|
17
|
+
|
|
18
|
+
1. **Listar** todos los elementos (features, bugs, tareas)
|
|
19
|
+
2. **Evaluar** el impacto de cada uno
|
|
20
|
+
3. **Ordenar** por impacto descendente
|
|
21
|
+
4. **Identificar** el 20% de mayor impacto
|
|
22
|
+
5. **Enfocar** recursos en ese 20%
|
|
23
|
+
|
|
24
|
+
## Ejemplo
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
/razonar:pareto "20 features solicitadas"
|
|
28
|
+
|
|
29
|
+
→ ¿Cuáles 20% entregarán 80% del valor?
|
|
30
|
+
→ Enfocarse en 4 features de alto impacto
|
|
31
|
+
→ Las 16 restantes pueden esperar
|
|
32
|
+
```
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Anticipar el fracaso ANTES de que ocurra. Imaginar que el proyecto ya falló y analizar por qué.
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /razonar:pre-mortem
|
|
7
|
+
|
|
8
|
+
Anticipar el fracaso ANTES de que ocurra. Imaginar que el proyecto ya falló y analizar por qué.
|
|
9
|
+
|
|
10
|
+
## Uso
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/razonar:pre-mortem [proyecto/decisión]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Proceso
|
|
17
|
+
|
|
18
|
+
1. **Imaginar** que el proyecto ya falló completamente
|
|
19
|
+
2. **Preguntar**: "¿Por qué falló?"
|
|
20
|
+
3. **Listar** todas las causas posibles
|
|
21
|
+
4. **Evaluar** probabilidad e impacto de cada una
|
|
22
|
+
5. **Crear** plan de mitigación para las más probables
|