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,158 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Analizar sesiones de Claude en el equipo para extraer patrones de uso y generar recomendaciones de habilidades, plugins, agentes y reglas
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /especdev:analizar-sesiones
|
|
7
|
+
|
|
8
|
+
## Objetivo
|
|
9
|
+
|
|
10
|
+
Escanear todas las sesiones de Claude en el equipo local, analizar patrones de uso, y generar recomendaciones concretas sobre qué debería convertirse en habilidades reutilizables, plugins, agentes autónomos o instrucciones de proyecto.
|
|
11
|
+
|
|
12
|
+
## Uso
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/especdev:analizar-sesiones
|
|
16
|
+
/especdev:analizar-sesiones --periodo <dias>
|
|
17
|
+
/especdev:analizar-sesiones --formato <resumen|detallado|ejecutivo>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Comportamiento
|
|
21
|
+
|
|
22
|
+
1. **Escanear** todas las sesiones de Claude en el equipo
|
|
23
|
+
- Ubicación típica: `~/.claude/projects/` y sesiones en ficheros JSONL
|
|
24
|
+
- Incluye: prompts del usuario, respuestas del agente, herramientas usadas, archivos editados
|
|
25
|
+
|
|
26
|
+
2. **Clasificar** cada interacción por tipo:
|
|
27
|
+
- Generación de código
|
|
28
|
+
- Debugging / corrección de bugs
|
|
29
|
+
- Refactoring
|
|
30
|
+
- Code review
|
|
31
|
+
- Documentación
|
|
32
|
+
- Pregunta / Q&A
|
|
33
|
+
- Configuración / DevOps
|
|
34
|
+
- Diseño / Arquitectura
|
|
35
|
+
- Testing
|
|
36
|
+
- Scripting / Automatización
|
|
37
|
+
|
|
38
|
+
3. **Analizar** patrones de frecuencia:
|
|
39
|
+
- ¿Qué tipo de tareas se repiten más?
|
|
40
|
+
- ¿Qué archivos se editan con más frecuencia?
|
|
41
|
+
- ¿Qué comandos/herramientas se usan más?
|
|
42
|
+
- ¿Qué patrones de prompt se repiten?
|
|
43
|
+
- ¿Cuántos tokens se consumen por tipo de tarea?
|
|
44
|
+
|
|
45
|
+
4. **Generar** recomendaciones en 5 categorías
|
|
46
|
+
|
|
47
|
+
## Output
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
# Análisis de Sesiones de Claude
|
|
51
|
+
|
|
52
|
+
## 📊 Resumen de Uso
|
|
53
|
+
|
|
54
|
+
| Métrica | Valor |
|
|
55
|
+
|---------|-------|
|
|
56
|
+
| Sesiones analizadas | 47 |
|
|
57
|
+
| Período | Últimos 30 días |
|
|
58
|
+
| Tokens consumidos | ~2.4M |
|
|
59
|
+
| Tipo más frecuente | Generación de código (38%) |
|
|
60
|
+
|
|
61
|
+
## 🔁 Lo que Hago Más Frecuentemente
|
|
62
|
+
|
|
63
|
+
| # | Actividad | Frecuencia | Tokens/Sesión |
|
|
64
|
+
|---|----------|------------|---------------|
|
|
65
|
+
| 1 | Crear componentes React | 23 veces | ~8K |
|
|
66
|
+
| 2 | Corregir tests fallidos | 18 veces | ~5K |
|
|
67
|
+
| 3 | Escribir endpoints API | 15 veces | ~12K |
|
|
68
|
+
| 4 | Refactorizar funciones | 12 veces | ~6K |
|
|
69
|
+
| 5 | Generar documentación | 9 veces | ~3K |
|
|
70
|
+
|
|
71
|
+
## 🧠 Debería Convertirse en HABILIDAD (Skill)
|
|
72
|
+
|
|
73
|
+
Flujos de trabajo reutilizables que repito constantemente:
|
|
74
|
+
|
|
75
|
+
| Skill Propuesta | Basada en | Ahorro Estimado |
|
|
76
|
+
|----------------|-----------|-----------------|
|
|
77
|
+
| `crear-componente-react` | 23 sesiones de creación de componentes | ~40% tokens |
|
|
78
|
+
| `fix-test-pattern` | 18 sesiones de debugging de tests | ~30% tokens |
|
|
79
|
+
| `api-endpoint-scaffold` | 15 sesiones de creación de APIs | ~50% tokens |
|
|
80
|
+
|
|
81
|
+
**Formato de skill:**
|
|
82
|
+
```yaml
|
|
83
|
+
# habilidades/crear-componente-react/HABILIDAD.md
|
|
84
|
+
Patrón detectado: El usuario siempre pide...
|
|
85
|
+
1. Crear componente funcional con TypeScript
|
|
86
|
+
2. Agregar tests unitarios con testing-library
|
|
87
|
+
3. Agregar storybook story
|
|
88
|
+
4. Exportar desde index.ts
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## 🔌 Debería Convertirse en PLUGIN (Herramienta Standalone)
|
|
92
|
+
|
|
93
|
+
Herramientas que uso repetidamente que podrían automatizarse:
|
|
94
|
+
|
|
95
|
+
| Plugin Propuesto | Basado en | Tipo |
|
|
96
|
+
|-----------------|-----------|------|
|
|
97
|
+
| `scaffold-feature` | Creación repetitiva de estructura feature/ | CLI tool |
|
|
98
|
+
| `test-coverage-checker` | Verificación manual de cobertura | Script |
|
|
99
|
+
| `pr-description-gen` | Redacción manual de descripciones de PR | Automatización |
|
|
100
|
+
|
|
101
|
+
## 🤖 Debería Convertirse en AGENTE (Subagente Autónomo)
|
|
102
|
+
|
|
103
|
+
Tareas que delego completas y que podrían ejecutarse autónomamente:
|
|
104
|
+
|
|
105
|
+
| Agente Propuesto | Basado en | Modelo Recomendado |
|
|
106
|
+
|-----------------|-----------|-------------------|
|
|
107
|
+
| `code-reviewer` | Revisiones de código frecuentes | Sonnet |
|
|
108
|
+
| `test-generator` | Generación repetitiva de tests | Haiku |
|
|
109
|
+
| `doc-updater` | Actualización de docs tras cambios | Haiku |
|
|
110
|
+
|
|
111
|
+
## 📋 Debería Ir en CLAUDE.md (Instrucciones de Proyecto)
|
|
112
|
+
|
|
113
|
+
Reglas que repito en cada sesión y deberían ser instrucciones permanentes:
|
|
114
|
+
|
|
115
|
+
| Regla | Veces Repetida |
|
|
116
|
+
|-------|---------------|
|
|
117
|
+
| "Usa TypeScript estricto" | 34 veces |
|
|
118
|
+
| "Tests con testing-library, no enzyme" | 22 veces |
|
|
119
|
+
| "No uses any" | 19 veces |
|
|
120
|
+
| "Imports ordenados: react primero" | 15 veces |
|
|
121
|
+
|
|
122
|
+
**CLAUDE.md sugerido:**
|
|
123
|
+
```markdown
|
|
124
|
+
## Convenciones
|
|
125
|
+
- TypeScript estricto (no `any`)
|
|
126
|
+
- Tests con @testing-library/react
|
|
127
|
+
- Imports: React > libs externas > internos > tipos
|
|
128
|
+
- Componentes funcionales, no clases
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## 💡 Recomendaciones de Optimización
|
|
132
|
+
|
|
133
|
+
1. **Tokenización:** ~40% de tus tokens se gastan en repetir contexto
|
|
134
|
+
→ Crear skills reduciría consumo en ~35%
|
|
135
|
+
2. **Modelo:** Usas Opus para tareas que Haiku podría resolver
|
|
136
|
+
→ Usar la matriz de selección de modelos ahorraría ~60% costo
|
|
137
|
+
3. **Sesiones largas:** El 30% de tus sesiones exceden 50K tokens
|
|
138
|
+
→ Implementar context folding (RLM) mejoraría calidad
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Cómo Mejora el Framework
|
|
142
|
+
|
|
143
|
+
| Aspecto | Sin Análisis | Con Análisis |
|
|
144
|
+
|---------|-------------|-------------|
|
|
145
|
+
| **Skills** | Genéricas, predefinidas | Personalizadas según tu uso real |
|
|
146
|
+
| **Plugins** | No existen | Auto-generados desde patrones |
|
|
147
|
+
| **Agentes** | Configuración manual | Asignación automática por patrón |
|
|
148
|
+
| **CLAUDE.md** | Escribir manualmente | Auto-generado desde repeticiones |
|
|
149
|
+
| **Costos** | Sin control | Optimizado por matriz de modelos |
|
|
150
|
+
|
|
151
|
+
## Integración con Don Cheli
|
|
152
|
+
|
|
153
|
+
Este comando se integra con:
|
|
154
|
+
- `/especdev:iniciar` → Las skills detectadas se sugieren al crear un proyecto nuevo
|
|
155
|
+
- `/especdev:agente` → Los agentes detectados se agregan al sistema de agentes
|
|
156
|
+
- `/especdev:estimar` → Los datos históricos alimentan estimados más precisos
|
|
157
|
+
- **Reglas de Trabajo Globales** → Las reglas detectadas se incorporan automáticamente
|
|
158
|
+
- **Optimización de Tokens** → Los patrones de consumo optimizan uso de modelos
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Aplicar (implementar) tareas de un cambio específico
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /especdev:aplicar
|
|
7
|
+
|
|
8
|
+
## Objetivo
|
|
9
|
+
|
|
10
|
+
Implementar las tareas de un cambio específico, con soporte para cambios paralelos y context switching.
|
|
11
|
+
|
|
12
|
+
> Adaptado de `/opsx:apply` de OpenSpec — implementación fluida con soporte multi-cambio.
|
|
13
|
+
|
|
14
|
+
## Uso
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
/especdev:aplicar # Implementar el cambio activo
|
|
18
|
+
/especdev:aplicar <nombre-cambio> # Implementar un cambio específico
|
|
19
|
+
/especdev:aplicar --continuar # Retomar donde se dejó
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Diferencia con /especdev:implementar
|
|
23
|
+
|
|
24
|
+
| `/especdev:implementar` | `/especdev:aplicar` |
|
|
25
|
+
|------------------------|---------------------|
|
|
26
|
+
| Trabaja con .tasks.md clásico | Trabaja con carpeta de cambio |
|
|
27
|
+
| Un cambio a la vez | Múltiples cambios en paralelo |
|
|
28
|
+
| Pipeline rígido | Flujo flexible |
|
|
29
|
+
| Sin context switching | Con context switching |
|
|
30
|
+
|
|
31
|
+
## Comportamiento
|
|
32
|
+
|
|
33
|
+
1. **Leer** `.especdev/cambios/<nombre>/tareas.md`
|
|
34
|
+
2. **Detectar** progreso previo (si hay tareas ya completadas)
|
|
35
|
+
3. **Ejecutar** tareas pendientes una por una
|
|
36
|
+
4. **Ejecutar** stop hooks después de cada fase
|
|
37
|
+
5. **Marcar** tareas como completadas
|
|
38
|
+
6. **Reportar** progreso
|
|
39
|
+
|
|
40
|
+
## Output
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
=== Aplicando: agregar-dark-mode ===
|
|
44
|
+
|
|
45
|
+
Progreso: retomando desde tarea 3/8
|
|
46
|
+
|
|
47
|
+
✅ 1.1 Crear ThemeContext provider (ya hecho)
|
|
48
|
+
✅ 1.2 Crear hook useTheme (ya hecho)
|
|
49
|
+
✅ 2.1 Agregar CSS custom properties (ya hecho)
|
|
50
|
+
🔄 2.2 Crear componente ThemeToggle ← EN PROGRESO
|
|
51
|
+
→ Escribiendo tests...
|
|
52
|
+
→ Implementando componente...
|
|
53
|
+
→ Tests pasan ✅
|
|
54
|
+
⬜ 3.1 Integrar toggle en header
|
|
55
|
+
⬜ 3.2 Agregar localStorage persistence
|
|
56
|
+
⬜ 4.1 Dark mode para todas las páginas
|
|
57
|
+
⬜ 4.2 Transición suave entre temas
|
|
58
|
+
|
|
59
|
+
Progreso: 4/8 tareas completadas (50%)
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Context Switching
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# Trabajando en dark mode...
|
|
66
|
+
/especdev:aplicar agregar-dark-mode # tarea 4/8
|
|
67
|
+
|
|
68
|
+
# Interrumpido por bug urgente
|
|
69
|
+
/especdev:aplicar corregir-login # empieza desde tarea 1/3
|
|
70
|
+
|
|
71
|
+
# Bug corregido, volver a dark mode
|
|
72
|
+
/especdev:aplicar agregar-dark-mode # retoma en tarea 5/8
|
|
73
|
+
```
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Archivar specs completadas y sincronizar delta specs con specs principales
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /especdev:archivar
|
|
7
|
+
|
|
8
|
+
## Objetivo
|
|
9
|
+
|
|
10
|
+
Sincronizar las specs delta (cambios incrementales) con las specs principales y archivar las features completadas para referencia futura.
|
|
11
|
+
|
|
12
|
+
> Adaptado de `sdd-archive` de Gentle-AI — fase de cierre que Don Cheli no tenía.
|
|
13
|
+
|
|
14
|
+
## Uso
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
/especdev:archivar @specs/features/<dominio>/<Feature>.feature
|
|
18
|
+
/especdev:archivar --todo # Archivar todas las features @implementada
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Comportamiento
|
|
22
|
+
|
|
23
|
+
1. **Verificar** que la feature tiene tag `@implementada` (todos los tests pasan)
|
|
24
|
+
2. **Mover** artefactos completados a `specs/archivo/`
|
|
25
|
+
3. **Actualizar** la spec principal del dominio si existe
|
|
26
|
+
4. **Registrar** en `.especdev/memoria/decisiones.md`
|
|
27
|
+
5. **Limpiar** archivos temporales de la feature
|
|
28
|
+
|
|
29
|
+
## Estructura de Archivo
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
specs/
|
|
33
|
+
├── features/ # Features ACTIVAS
|
|
34
|
+
│ └── usuario/
|
|
35
|
+
│ └── EditarPerfil.feature (en progreso)
|
|
36
|
+
├── archivo/ # Features COMPLETADAS
|
|
37
|
+
│ └── usuario/
|
|
38
|
+
│ └── CrearUsuario/
|
|
39
|
+
│ ├── CrearUsuario.feature
|
|
40
|
+
│ ├── CrearUsuario.plan.md
|
|
41
|
+
│ ├── CrearUsuario.tasks.md
|
|
42
|
+
│ ├── review.md
|
|
43
|
+
│ └── metadata.json # Fechas, métricas, estimado vs real
|
|
44
|
+
└── db_schema/ # Schemas (no se archivan)
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## metadata.json
|
|
48
|
+
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"feature": "CrearUsuario",
|
|
52
|
+
"dominio": "usuario",
|
|
53
|
+
"archivada": "2026-03-21",
|
|
54
|
+
"iniciada": "2026-03-18",
|
|
55
|
+
"duracion_real_dias": 3,
|
|
56
|
+
"estimado_dias": 5,
|
|
57
|
+
"precision_estimado": "60%",
|
|
58
|
+
"escenarios_gherkin": 5,
|
|
59
|
+
"tests_totales": 12,
|
|
60
|
+
"archivos_modificados": 8
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Valor para el Framework
|
|
65
|
+
|
|
66
|
+
Los datos archivados alimentan:
|
|
67
|
+
- `/especdev:estimar` → datos históricos para estimados más precisos
|
|
68
|
+
- `/especdev:analizar-sesiones` → patrones de desarrollo
|
|
69
|
+
- Memoria persistente → decisiones y convenciones aprendidas
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Auditoría de seguridad estática del código (OWASP Top 10, SecDevOps)
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /especdev:auditar-seguridad
|
|
7
|
+
|
|
8
|
+
## Objetivo
|
|
9
|
+
|
|
10
|
+
Realizar una auditoría de seguridad estática del código, identificando vulnerabilidades basadas en OWASP Top 10, exposición de datos sensibles, fallos de autenticación y problemas de configuración.
|
|
11
|
+
|
|
12
|
+
## Uso
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/especdev:auditar-seguridad # Auditar proyecto completo
|
|
16
|
+
/especdev:auditar-seguridad @src/services/auth/ # Auditar módulo específico
|
|
17
|
+
/especdev:auditar-seguridad --foco inyeccion # Enfocarse en un tipo
|
|
18
|
+
/especdev:auditar-seguridad --severidad critica # Solo hallazgos críticos
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Categorías de Auditoría (OWASP Top 10 + extras)
|
|
22
|
+
|
|
23
|
+
### A01: Broken Access Control
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
Buscar:
|
|
27
|
+
❌ Endpoints sin middleware de autenticación
|
|
28
|
+
❌ Rutas admin accesibles sin verificar rol
|
|
29
|
+
❌ IDOR (acceso a recursos de otros usuarios via ID)
|
|
30
|
+
❌ Falta de rate limiting en endpoints sensibles
|
|
31
|
+
❌ CORS configurado como "*" en producción
|
|
32
|
+
|
|
33
|
+
Verificar:
|
|
34
|
+
- Cada ruta tiene middleware de auth
|
|
35
|
+
- IDs de usuario se validan contra sesión
|
|
36
|
+
- Rate limiting en login, registro, reset-password
|
|
37
|
+
- CORS whitelist explícita
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### A02: Cryptographic Failures
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
Buscar:
|
|
44
|
+
❌ Passwords en plaintext o con hash débil (MD5, SHA1)
|
|
45
|
+
❌ Tokens/secretos hardcoded en código
|
|
46
|
+
❌ HTTP en vez de HTTPS para datos sensibles
|
|
47
|
+
❌ JWT sin expiración o con secret débil
|
|
48
|
+
❌ Datos sensibles en logs (passwords, tokens, PII)
|
|
49
|
+
|
|
50
|
+
Verificar:
|
|
51
|
+
- Passwords con bcrypt/argon2id (cost factor ≥ 10)
|
|
52
|
+
- Secretos en variables de entorno o secret manager
|
|
53
|
+
- JWT con expiración razonable (≤ 1h access, ≤ 7d refresh)
|
|
54
|
+
- Logs sanitizados (sin PII)
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### A03: Injection
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
Buscar:
|
|
61
|
+
❌ SQL sin parametrizar (string concatenation)
|
|
62
|
+
❌ NoSQL injection (operadores en queries)
|
|
63
|
+
❌ Command injection (exec, spawn sin sanitizar)
|
|
64
|
+
❌ XSS (innerHTML, dangerouslySetInnerHTML sin sanitizar)
|
|
65
|
+
❌ Path traversal (../../../etc/passwd)
|
|
66
|
+
❌ LDAP injection, XML injection
|
|
67
|
+
|
|
68
|
+
Verificar:
|
|
69
|
+
- Queries parametrizadas o ORM
|
|
70
|
+
- Input sanitizado antes de exec/spawn
|
|
71
|
+
- Output encodado en templates
|
|
72
|
+
- Paths validados contra whitelist
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### A04: Insecure Design
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
Buscar:
|
|
79
|
+
❌ Falta de validación en puntos de entrada
|
|
80
|
+
❌ Business logic bypassable
|
|
81
|
+
❌ Sin límites en operaciones costosas
|
|
82
|
+
❌ Datos sensibles en URL (query params)
|
|
83
|
+
|
|
84
|
+
Verificar:
|
|
85
|
+
- Validación con Pydantic/Zod en cada endpoint
|
|
86
|
+
- Reglas de negocio en service layer (no en controller)
|
|
87
|
+
- Paginación y límites en queries
|
|
88
|
+
- Datos sensibles solo en body/headers
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### A05-A10: Otras Categorías
|
|
92
|
+
|
|
93
|
+
| Categoría | Qué Buscar |
|
|
94
|
+
|-----------|-----------|
|
|
95
|
+
| **A05: Security Misconfiguration** | Debug mode en prod, headers faltantes, default credentials |
|
|
96
|
+
| **A06: Vulnerable Components** | Dependencias con CVEs conocidos |
|
|
97
|
+
| **A07: Auth Failures** | Login sin brute-force protection, session fixation |
|
|
98
|
+
| **A08: Data Integrity** | Deserialización insegura, falta de checksums |
|
|
99
|
+
| **A09: Logging Failures** | Sin audit log para operaciones sensibles |
|
|
100
|
+
| **A10: SSRF** | Requests a URLs proporcionadas por usuario sin validar |
|
|
101
|
+
|
|
102
|
+
### Extra: Secretos y Configuración
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
Buscar:
|
|
106
|
+
❌ .env commitado en git
|
|
107
|
+
❌ API keys en código fuente
|
|
108
|
+
❌ Credenciales en docker-compose.yml
|
|
109
|
+
❌ Private keys en el repositorio
|
|
110
|
+
❌ Tokens en comentarios o TODOs
|
|
111
|
+
|
|
112
|
+
Verificar:
|
|
113
|
+
- .env en .gitignore
|
|
114
|
+
- .env.example sin valores reales
|
|
115
|
+
- Secrets en variable de entorno o secret manager
|
|
116
|
+
- git history limpio de secretos (git-secrets, truffleHog)
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Proceso de Auditoría
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
1. ESCANEAR — Análisis estático del código
|
|
123
|
+
├── Patrones de vulnerabilidad por categoría
|
|
124
|
+
├── Dependencias con vulnerabilidades conocidas
|
|
125
|
+
└── Configuración de seguridad
|
|
126
|
+
|
|
127
|
+
2. CLASIFICAR — Severidad de cada hallazgo
|
|
128
|
+
├── 🔴 Crítico: Explotable remotamente, impacto alto
|
|
129
|
+
├── 🟠 Alto: Explotable con condiciones, impacto medio-alto
|
|
130
|
+
├── 🟡 Medio: Requiere acceso o condiciones específicas
|
|
131
|
+
└── 🔵 Bajo: Mejora de seguridad, sin riesgo inmediato
|
|
132
|
+
|
|
133
|
+
3. REPORTAR — Generar reporte estructurado
|
|
134
|
+
|
|
135
|
+
4. PRIORIZAR — Recomendar orden de remediación
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## Output
|
|
139
|
+
|
|
140
|
+
```markdown
|
|
141
|
+
## Auditoría de Seguridad: mi-proyecto
|
|
142
|
+
|
|
143
|
+
**Fecha:** 2026-03-21
|
|
144
|
+
**Alcance:** src/ (42 archivos, 3,200 LOC)
|
|
145
|
+
**Auditor:** Don Cheli Security Audit v1.0
|
|
146
|
+
|
|
147
|
+
### Resumen
|
|
148
|
+
|
|
149
|
+
| Severidad | Cantidad |
|
|
150
|
+
|-----------|----------|
|
|
151
|
+
| 🔴 Crítico | 1 |
|
|
152
|
+
| 🟠 Alto | 3 |
|
|
153
|
+
| 🟡 Medio | 2 |
|
|
154
|
+
| 🔵 Bajo | 4 |
|
|
155
|
+
|
|
156
|
+
### Hallazgos
|
|
157
|
+
|
|
158
|
+
#### 🔴 SEC-001: SQL Injection en búsqueda de productos
|
|
159
|
+
**Archivo:** src/services/product_service.py:45
|
|
160
|
+
**Categoría:** A03 (Injection)
|
|
161
|
+
**Descripción:** Query construida con f-string sin parametrizar.
|
|
162
|
+
```python
|
|
163
|
+
# Vulnerable
|
|
164
|
+
query = f"SELECT * FROM products WHERE name LIKE '%{search_term}%'"
|
|
165
|
+
|
|
166
|
+
# Fix recomendado
|
|
167
|
+
query = "SELECT * FROM products WHERE name LIKE %s"
|
|
168
|
+
cursor.execute(query, (f"%{search_term}%",))
|
|
169
|
+
```
|
|
170
|
+
**Impacto:** Acceso total a la base de datos.
|
|
171
|
+
**Remediación:** Usar query parametrizada o ORM.
|
|
172
|
+
**Esfuerzo:** 15 min
|
|
173
|
+
|
|
174
|
+
#### 🟠 SEC-002: JWT sin expiración
|
|
175
|
+
**Archivo:** src/utils/jwt.py:12
|
|
176
|
+
**Categoría:** A02 (Cryptographic Failures)
|
|
177
|
+
**Descripción:** Token se genera sin campo `exp`.
|
|
178
|
+
**Impacto:** Token válido indefinidamente si se filtra.
|
|
179
|
+
**Remediación:** Agregar `exp: now() + 1h` para access token.
|
|
180
|
+
**Esfuerzo:** 10 min
|
|
181
|
+
|
|
182
|
+
#### ... (más hallazgos)
|
|
183
|
+
|
|
184
|
+
### Verificaciones Pasadas ✅
|
|
185
|
+
- Passwords hasheados con bcrypt (cost 12) ✅
|
|
186
|
+
- CORS configurado con whitelist ✅
|
|
187
|
+
- .env en .gitignore ✅
|
|
188
|
+
- HTTPS enforced en producción ✅
|
|
189
|
+
- Rate limiting en /login ✅
|
|
190
|
+
|
|
191
|
+
### Recomendaciones de Remediación (por prioridad)
|
|
192
|
+
1. SEC-001: SQL Injection → INMEDIATO
|
|
193
|
+
2. SEC-002: JWT sin expiración → ANTES DE RELEASE
|
|
194
|
+
3. SEC-003: ... → PRÓXIMO SPRINT
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
## Almacenamiento
|
|
198
|
+
|
|
199
|
+
```
|
|
200
|
+
.especdev/seguridad/
|
|
201
|
+
├── auditoria-2026-03-21.md # Reporte de auditoría
|
|
202
|
+
└── _remediaciones.md # Tracking de fixes
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
## Integración con Pipeline
|
|
206
|
+
|
|
207
|
+
```
|
|
208
|
+
/especdev:auditar-seguridad → reporte
|
|
209
|
+
→ /especdev:desglosar → tareas de remediación
|
|
210
|
+
→ /especdev:implementar → fixes con TDD
|
|
211
|
+
→ /especdev:auditar-seguridad → verificar fixes
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
Se recomienda ejecutar **antes de cada PR** que toque:
|
|
215
|
+
- Autenticación/autorización
|
|
216
|
+
- Manejo de datos de usuario
|
|
217
|
+
- Endpoints públicos
|
|
218
|
+
- Configuración de infraestructura
|
|
219
|
+
|
|
220
|
+
## Modelo Recomendado
|
|
221
|
+
|
|
222
|
+
| Paso | Modelo | Razón |
|
|
223
|
+
|------|--------|-------|
|
|
224
|
+
| Escaneo de patrones | Sonnet | Comprensión de código |
|
|
225
|
+
| Clasificación de severidad | Sonnet | Juicio técnico |
|
|
226
|
+
| Recomendaciones de fix | Sonnet | Código seguro |
|
|
227
|
+
|
|
228
|
+
## Guardrails
|
|
229
|
+
|
|
230
|
+
- **Nunca** exponer hallazgos de seguridad en documentación pública
|
|
231
|
+
- **Nunca** incluir exploits funcionales en el reporte (solo describir)
|
|
232
|
+
- **Siempre** priorizar hallazgos críticos para remediación inmediata
|
|
233
|
+
- **Siempre** verificar fixes con tests específicos de seguridad
|
|
234
|
+
- **Siempre** re-auditar después de remediar
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Auditar componentes del framework
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /especdev:auditar
|
|
7
|
+
|
|
8
|
+
## Uso
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
/especdev:auditar [componente]
|
|
12
|
+
/especdev:auditar todo
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Audita la integridad de comandos, habilidades y configuración del framework.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Crear todos los artefactos de planificación de un golpe (fast-forward)
|
|
3
|
+
i18n: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /especdev:avance-rapido
|
|
7
|
+
|
|
8
|
+
## Objetivo
|
|
9
|
+
|
|
10
|
+
Crear TODOS los artefactos de planificación de una vez cuando el alcance es claro. En vez de ir paso a paso (proponer → especificar → diseñar → desglosar), este comando genera todo de un golpe.
|
|
11
|
+
|
|
12
|
+
> Adaptado de `/opsx:ff` (fast-forward) de OpenSpec.
|
|
13
|
+
|
|
14
|
+
## Uso
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
/especdev:avance-rapido <nombre-del-cambio>
|
|
18
|
+
/especdev:avance-rapido agregar-dark-mode
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Cuándo Usar
|
|
22
|
+
|
|
23
|
+
| Situación | Comando |
|
|
24
|
+
|-----------|---------|
|
|
25
|
+
| Sabes exactamente qué quieres | `/especdev:avance-rapido` ← ESTE |
|
|
26
|
+
| Requisitos poco claros, necesitas investigar | `/especdev:explorar` primero |
|
|
27
|
+
| Quieres ir paso a paso revisando | `/especdev:proponer` + `/especdev:continuar` |
|
|
28
|
+
|
|
29
|
+
## Comportamiento
|
|
30
|
+
|
|
31
|
+
1. **Crear** carpeta de cambio en `.especdev/cambios/<nombre>/`
|
|
32
|
+
2. **Generar** propuesta.md (intención, alcance, enfoque)
|
|
33
|
+
3. **Generar** specs/ (delta specs con requisitos y escenarios)
|
|
34
|
+
4. **Generar** diseño.md (decisiones de arquitectura)
|
|
35
|
+
5. **Generar** tareas.md (desglose TDD)
|
|
36
|
+
6. **Reportar** resumen
|
|
37
|
+
|
|
38
|
+
## Output
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
=== Avance Rápido: agregar-dark-mode ===
|
|
42
|
+
|
|
43
|
+
📁 Carpeta: .especdev/cambios/agregar-dark-mode/
|
|
44
|
+
|
|
45
|
+
✅ propuesta.md — Intención y alcance definidos
|
|
46
|
+
✅ specs/ui-tema.delta.md — 3 requisitos, 7 escenarios
|
|
47
|
+
✅ diseño.md — 2 decisiones de arquitectura
|
|
48
|
+
✅ tareas.md — 4 fases, 8 tareas
|
|
49
|
+
|
|
50
|
+
¡Listo para implementar!
|
|
51
|
+
→ /especdev:aplicar agregar-dark-mode
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Pipeline Rápido vs Completo
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
RÁPIDO (scope claro):
|
|
58
|
+
/especdev:avance-rapido → /especdev:aplicar → /especdev:archivar
|
|
59
|
+
|
|
60
|
+
COMPLETO (scope incierto):
|
|
61
|
+
/especdev:explorar → /especdev:proponer → /especdev:especificar
|
|
62
|
+
→ /especdev:clarificar → /especdev:diseñar → /especdev:desglosar
|
|
63
|
+
→ /especdev:implementar → /especdev:revisar → /especdev:archivar
|
|
64
|
+
```
|