theus-cli-darwin-x64 0.2.84
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/LICENSE +42 -0
- package/README.md +295 -0
- package/RELEASE.json +18 -0
- package/assets/brand-official/v1.0/logo/theus-lockup-negative-official.png +0 -0
- package/assets/brand-official/v1.0/logo/theus-lockup-primary-dark-official.png +0 -0
- package/assets/fonts/satoshi/satoshi-300.woff2 +0 -0
- package/assets/fonts/satoshi/satoshi-400.woff2 +0 -0
- package/assets/fonts/satoshi/satoshi-500.woff2 +0 -0
- package/assets/fonts/satoshi/satoshi-700.woff2 +0 -0
- package/assets/fonts/satoshi/satoshi-900.woff2 +0 -0
- package/assets/windows-store/Square150x150Logo.png +0 -0
- package/assets/windows-store/Square44x44Logo.png +0 -0
- package/assets/windows-store/StoreLogo.png +0 -0
- package/assets/windows-store/theus-store-icon-master.png +0 -0
- package/bin/theus +0 -0
- package/package.json +18 -0
- package/vendor/theus-arsenal/.arsenal-nombres-ola2.json +6 -0
- package/vendor/theus-arsenal/.arsenal-nombres-ola3.json +72 -0
- package/vendor/theus-arsenal/.mailmap +2 -0
- package/vendor/theus-arsenal/.theus-plugin/marketplace.json +25 -0
- package/vendor/theus-arsenal/.theus-plugin/plugin.json +20 -0
- package/vendor/theus-arsenal/AUTHORS.md +8 -0
- package/vendor/theus-arsenal/CLEANROOM_REPLACEMENT_PLAN.md +11 -0
- package/vendor/theus-arsenal/LICENSE +26 -0
- package/vendor/theus-arsenal/PROVENANCE.md +9 -0
- package/vendor/theus-arsenal/README.md +41 -0
- package/vendor/theus-arsenal/THIRD_PARTY.md +80 -0
- package/vendor/theus-arsenal/agents/actualizador-docs.md +123 -0
- package/vendor/theus-arsenal/agents/analista-comentarios.md +53 -0
- package/vendor/theus-arsenal/agents/analista-conversaciones.md +60 -0
- package/vendor/theus-arsenal/agents/analista-tests-pr.md +53 -0
- package/vendor/theus-arsenal/agents/analista-tipos.md +49 -0
- package/vendor/theus-arsenal/agents/arquitecto-accesibilidad.md +148 -0
- package/vendor/theus-arsenal/agents/arquitecto-codigo.md +79 -0
- package/vendor/theus-arsenal/agents/arquitecto-homelab.md +90 -0
- package/vendor/theus-arsenal/agents/arquitecto-redes.md +116 -0
- package/vendor/theus-arsenal/agents/arquitecto-sistemas.md +219 -0
- package/vendor/theus-arsenal/agents/bifurcador-opensource.md +206 -0
- package/vendor/theus-arsenal/agents/cazador-fallos-silenciosos.md +58 -0
- package/vendor/theus-arsenal/agents/consultor-documentacion.md +76 -0
- package/vendor/theus-arsenal/agents/diagnosticador-redes.md +135 -0
- package/vendor/theus-arsenal/agents/ejecutor-e2e.md +96 -0
- package/vendor/theus-arsenal/agents/empaquetador-opensource.md +257 -0
- package/vendor/theus-arsenal/agents/escaner-secretos.md +196 -0
- package/vendor/theus-arsenal/agents/especialista-seo.md +70 -0
- package/vendor/theus-arsenal/agents/estratega-marketing.md +158 -0
- package/vendor/theus-arsenal/agents/evaluador-agentes.md +214 -0
- package/vendor/theus-arsenal/agents/evaluador-harness.md +217 -0
- package/vendor/theus-arsenal/agents/explorador-codigo.md +79 -0
- package/vendor/theus-arsenal/agents/extractor-specs.md +214 -0
- package/vendor/theus-arsenal/agents/generador-harness.md +139 -0
- package/vendor/theus-arsenal/agents/guia-tdd.md +99 -0
- package/vendor/theus-arsenal/agents/jefe-de-gabinete.md +162 -0
- package/vendor/theus-arsenal/agents/limpiador-refactors.md +93 -0
- package/vendor/theus-arsenal/agents/optimizador-rendimiento.md +454 -0
- package/vendor/theus-arsenal/agents/planificador-harness.md +107 -0
- package/vendor/theus-arsenal/agents/planificador.md +221 -0
- package/vendor/theus-arsenal/agents/resolutor-apps-harmonyos.md +181 -0
- package/vendor/theus-arsenal/agents/resolutor-builds-cpp.md +98 -0
- package/vendor/theus-arsenal/agents/resolutor-builds-dart.md +209 -0
- package/vendor/theus-arsenal/agents/resolutor-builds-django.md +253 -0
- package/vendor/theus-arsenal/agents/resolutor-builds-go.md +102 -0
- package/vendor/theus-arsenal/agents/resolutor-builds-java.md +274 -0
- package/vendor/theus-arsenal/agents/resolutor-builds-kotlin.md +128 -0
- package/vendor/theus-arsenal/agents/resolutor-builds-pytorch.md +128 -0
- package/vendor/theus-arsenal/agents/resolutor-builds-react.md +214 -0
- package/vendor/theus-arsenal/agents/resolutor-builds-rust.md +156 -0
- package/vendor/theus-arsenal/agents/resolutor-builds-swift.md +169 -0
- package/vendor/theus-arsenal/agents/resolutor-builds.md +122 -0
- package/vendor/theus-arsenal/agents/revisor-bd.md +97 -0
- package/vendor/theus-arsenal/agents/revisor-codigo.md +291 -0
- package/vendor/theus-arsenal/agents/revisor-config-red.md +116 -0
- package/vendor/theus-arsenal/agents/revisor-cpp.md +80 -0
- package/vendor/theus-arsenal/agents/revisor-csharp.md +109 -0
- package/vendor/theus-arsenal/agents/revisor-django.md +168 -0
- package/vendor/theus-arsenal/agents/revisor-fastapi.md +82 -0
- package/vendor/theus-arsenal/agents/revisor-flutter.md +251 -0
- package/vendor/theus-arsenal/agents/revisor-go.md +84 -0
- package/vendor/theus-arsenal/agents/revisor-java.md +192 -0
- package/vendor/theus-arsenal/agents/revisor-kotlin.md +171 -0
- package/vendor/theus-arsenal/agents/revisor-ml.md +159 -0
- package/vendor/theus-arsenal/agents/revisor-php.md +108 -0
- package/vendor/theus-arsenal/agents/revisor-python.md +106 -0
- package/vendor/theus-arsenal/agents/revisor-react.md +166 -0
- package/vendor/theus-arsenal/agents/revisor-rust.md +102 -0
- package/vendor/theus-arsenal/agents/revisor-seguridad.md +116 -0
- package/vendor/theus-arsenal/agents/revisor-software-clinico.md +95 -0
- package/vendor/theus-arsenal/agents/revisor-swift.md +115 -0
- package/vendor/theus-arsenal/agents/revisor-typescript.md +123 -0
- package/vendor/theus-arsenal/agents/revisor-vue.md +205 -0
- package/vendor/theus-arsenal/agents/simplificador-codigo.md +55 -0
- package/vendor/theus-arsenal/commands/actualizar-docs.md +88 -0
- package/vendor/theus-arsenal/commands/actualizar-mapas-codigo.md +78 -0
- package/vendor/theus-arsenal/commands/aprender-evaluar.md +109 -0
- package/vendor/theus-arsenal/commands/aprender.md +74 -0
- package/vendor/theus-arsenal/commands/arreglar-build.md +66 -0
- package/vendor/theus-arsenal/commands/bucle-multiperspectiva.md +153 -0
- package/vendor/theus-arsenal/commands/build-cpp.md +173 -0
- package/vendor/theus-arsenal/commands/build-flutter.md +164 -0
- package/vendor/theus-arsenal/commands/build-go.md +183 -0
- package/vendor/theus-arsenal/commands/build-gradle.md +75 -0
- package/vendor/theus-arsenal/commands/build-kotlin.md +176 -0
- package/vendor/theus-arsenal/commands/build-react.md +187 -0
- package/vendor/theus-arsenal/commands/build-rust.md +187 -0
- package/vendor/theus-arsenal/commands/campana-marketing.md +125 -0
- package/vendor/theus-arsenal/commands/checkpoint.md +78 -0
- package/vendor/theus-arsenal/commands/cobertura-tests.md +73 -0
- package/vendor/theus-arsenal/commands/configurar-gestor-paquetes.md +86 -0
- package/vendor/theus-arsenal/commands/consulta.md +164 -0
- package/vendor/theus-arsenal/commands/control-calidad.md +50 -0
- package/vendor/theus-arsenal/commands/crear-skill.md +77 -0
- package/vendor/theus-arsenal/commands/enrutar-modelo.md +30 -0
- package/vendor/theus-arsenal/commands/epica-desbloquear.md +17 -0
- package/vendor/theus-arsenal/commands/epica-descomponer.md +22 -0
- package/vendor/theus-arsenal/commands/epica-publicar.md +21 -0
- package/vendor/theus-arsenal/commands/epica-reclamar.md +25 -0
- package/vendor/theus-arsenal/commands/epica-revisar.md +22 -0
- package/vendor/theus-arsenal/commands/epica-sincronizar.md +21 -0
- package/vendor/theus-arsenal/commands/epica-validar.md +21 -0
- package/vendor/theus-arsenal/commands/evolucionar.md +176 -0
- package/vendor/theus-arsenal/commands/funcionalidad.md +49 -0
- package/vendor/theus-arsenal/commands/guardar-sesion.md +278 -0
- package/vendor/theus-arsenal/commands/harness-build.md +111 -0
- package/vendor/theus-arsenal/commands/harness-diseno.md +46 -0
- package/vendor/theus-arsenal/commands/informe-costos.md +90 -0
- package/vendor/theus-arsenal/commands/iniciar-bucle.md +36 -0
- package/vendor/theus-arsenal/commands/instintos-estado.md +53 -0
- package/vendor/theus-arsenal/commands/instintos-exportar.md +69 -0
- package/vendor/theus-arsenal/commands/instintos-importar.md +120 -0
- package/vendor/theus-arsenal/commands/lienzo-planes.md +48 -0
- package/vendor/theus-arsenal/commands/limpiar-refactor.md +84 -0
- package/vendor/theus-arsenal/commands/modo-seguro.md +96 -0
- package/vendor/theus-arsenal/commands/orq-agregar-funcionalidad.md +36 -0
- package/vendor/theus-arsenal/commands/orq-cambiar-funcionalidad.md +38 -0
- package/vendor/theus-arsenal/commands/orq-construir-mvp.md +36 -0
- package/vendor/theus-arsenal/commands/orq-corregir-defecto.md +40 -0
- package/vendor/theus-arsenal/commands/orq-refinar-codigo.md +44 -0
- package/vendor/theus-arsenal/commands/orq-revisar.md +135 -0
- package/vendor/theus-arsenal/commands/plan-prd.md +160 -0
- package/vendor/theus-arsenal/commands/plan.md +198 -0
- package/vendor/theus-arsenal/commands/podar.md +31 -0
- package/vendor/theus-arsenal/commands/pr.md +181 -0
- package/vendor/theus-arsenal/commands/promover.md +41 -0
- package/vendor/theus-arsenal/commands/proyectos.md +33 -0
- package/vendor/theus-arsenal/commands/prp-commit.md +112 -0
- package/vendor/theus-arsenal/commands/prp-implementar.md +385 -0
- package/vendor/theus-arsenal/commands/prp-planificar.md +501 -0
- package/vendor/theus-arsenal/commands/reanudar-sesion.md +160 -0
- package/vendor/theus-arsenal/commands/revisar-codigo.md +289 -0
- package/vendor/theus-arsenal/commands/revisar-cpp.md +132 -0
- package/vendor/theus-arsenal/commands/revisar-fastapi.md +39 -0
- package/vendor/theus-arsenal/commands/revisar-flutter.md +115 -0
- package/vendor/theus-arsenal/commands/revisar-go.md +148 -0
- package/vendor/theus-arsenal/commands/revisar-kotlin.md +140 -0
- package/vendor/theus-arsenal/commands/revisar-pr.md +37 -0
- package/vendor/theus-arsenal/commands/revisar-python.md +297 -0
- package/vendor/theus-arsenal/commands/revisar-react.md +170 -0
- package/vendor/theus-arsenal/commands/revisar-rust.md +142 -0
- package/vendor/theus-arsenal/commands/revisar-vue.md +174 -0
- package/vendor/theus-arsenal/commands/salud-skills.md +52 -0
- package/vendor/theus-arsenal/commands/sesiones.md +345 -0
- package/vendor/theus-arsenal/commands/test-cpp.md +252 -0
- package/vendor/theus-arsenal/commands/test-flutter.md +143 -0
- package/vendor/theus-arsenal/commands/test-go.md +268 -0
- package/vendor/theus-arsenal/commands/test-kotlin.md +312 -0
- package/vendor/theus-arsenal/commands/test-react.md +265 -0
- package/vendor/theus-arsenal/commands/test-rust.md +309 -0
- package/vendor/theus-arsenal/commands/vigilancia-canary.md +43 -0
- package/vendor/theus-arsenal/hooks/hooks.json +274 -0
- package/vendor/theus-arsenal/package.json +6 -0
- package/vendor/theus-arsenal/rules/angular/coding-style.md +182 -0
- package/vendor/theus-arsenal/rules/angular/hooks.md +25 -0
- package/vendor/theus-arsenal/rules/angular/patterns.md +249 -0
- package/vendor/theus-arsenal/rules/angular/security.md +87 -0
- package/vendor/theus-arsenal/rules/angular/testing.md +164 -0
- package/vendor/theus-arsenal/rules/arkts/coding-style.md +153 -0
- package/vendor/theus-arsenal/rules/arkts/hooks.md +80 -0
- package/vendor/theus-arsenal/rules/arkts/patterns.md +236 -0
- package/vendor/theus-arsenal/rules/arkts/security.md +141 -0
- package/vendor/theus-arsenal/rules/arkts/testing.md +126 -0
- package/vendor/theus-arsenal/rules/common/agents.md +49 -0
- package/vendor/theus-arsenal/rules/common/code-review.md +123 -0
- package/vendor/theus-arsenal/rules/common/coding-style.md +90 -0
- package/vendor/theus-arsenal/rules/common/development-workflow.md +44 -0
- package/vendor/theus-arsenal/rules/common/git-workflow.md +24 -0
- package/vendor/theus-arsenal/rules/common/hooks.md +32 -0
- package/vendor/theus-arsenal/rules/common/patterns.md +31 -0
- package/vendor/theus-arsenal/rules/common/performance.md +53 -0
- package/vendor/theus-arsenal/rules/common/security.md +29 -0
- package/vendor/theus-arsenal/rules/common/testing.md +57 -0
- package/vendor/theus-arsenal/rules/cpp/coding-style.md +44 -0
- package/vendor/theus-arsenal/rules/cpp/hooks.md +39 -0
- package/vendor/theus-arsenal/rules/cpp/patterns.md +51 -0
- package/vendor/theus-arsenal/rules/cpp/security.md +51 -0
- package/vendor/theus-arsenal/rules/cpp/testing.md +44 -0
- package/vendor/theus-arsenal/rules/csharp/coding-style.md +72 -0
- package/vendor/theus-arsenal/rules/csharp/hooks.md +25 -0
- package/vendor/theus-arsenal/rules/csharp/patterns.md +50 -0
- package/vendor/theus-arsenal/rules/csharp/security.md +58 -0
- package/vendor/theus-arsenal/rules/csharp/testing.md +50 -0
- package/vendor/theus-arsenal/rules/dart/coding-style.md +159 -0
- package/vendor/theus-arsenal/rules/dart/hooks.md +68 -0
- package/vendor/theus-arsenal/rules/dart/patterns.md +261 -0
- package/vendor/theus-arsenal/rules/dart/security.md +135 -0
- package/vendor/theus-arsenal/rules/dart/testing.md +215 -0
- package/vendor/theus-arsenal/rules/fsharp/coding-style.md +112 -0
- package/vendor/theus-arsenal/rules/fsharp/hooks.md +26 -0
- package/vendor/theus-arsenal/rules/fsharp/patterns.md +111 -0
- package/vendor/theus-arsenal/rules/fsharp/security.md +76 -0
- package/vendor/theus-arsenal/rules/fsharp/testing.md +62 -0
- package/vendor/theus-arsenal/rules/golang/coding-style.md +32 -0
- package/vendor/theus-arsenal/rules/golang/hooks.md +17 -0
- package/vendor/theus-arsenal/rules/golang/patterns.md +45 -0
- package/vendor/theus-arsenal/rules/golang/security.md +34 -0
- package/vendor/theus-arsenal/rules/golang/testing.md +31 -0
- package/vendor/theus-arsenal/rules/java/coding-style.md +114 -0
- package/vendor/theus-arsenal/rules/java/hooks.md +18 -0
- package/vendor/theus-arsenal/rules/java/patterns.md +147 -0
- package/vendor/theus-arsenal/rules/java/security.md +101 -0
- package/vendor/theus-arsenal/rules/java/testing.md +133 -0
- package/vendor/theus-arsenal/rules/kotlin/coding-style.md +86 -0
- package/vendor/theus-arsenal/rules/kotlin/hooks.md +17 -0
- package/vendor/theus-arsenal/rules/kotlin/patterns.md +146 -0
- package/vendor/theus-arsenal/rules/kotlin/security.md +82 -0
- package/vendor/theus-arsenal/rules/kotlin/testing.md +128 -0
- package/vendor/theus-arsenal/rules/nuxt/coding-style.md +47 -0
- package/vendor/theus-arsenal/rules/nuxt/hooks.md +39 -0
- package/vendor/theus-arsenal/rules/nuxt/patterns.md +54 -0
- package/vendor/theus-arsenal/rules/nuxt/security.md +48 -0
- package/vendor/theus-arsenal/rules/nuxt/testing.md +49 -0
- package/vendor/theus-arsenal/rules/php/coding-style.md +40 -0
- package/vendor/theus-arsenal/rules/php/hooks.md +24 -0
- package/vendor/theus-arsenal/rules/php/patterns.md +33 -0
- package/vendor/theus-arsenal/rules/php/security.md +37 -0
- package/vendor/theus-arsenal/rules/php/testing.md +38 -0
- package/vendor/theus-arsenal/rules/python/coding-style.md +42 -0
- package/vendor/theus-arsenal/rules/python/fastapi.md +58 -0
- package/vendor/theus-arsenal/rules/python/hooks.md +19 -0
- package/vendor/theus-arsenal/rules/python/patterns.md +39 -0
- package/vendor/theus-arsenal/rules/python/security.md +30 -0
- package/vendor/theus-arsenal/rules/python/testing.md +38 -0
- package/vendor/theus-arsenal/rules/react/coding-style.md +109 -0
- package/vendor/theus-arsenal/rules/react/hooks.md +187 -0
- package/vendor/theus-arsenal/rules/react/patterns.md +194 -0
- package/vendor/theus-arsenal/rules/react/security.md +180 -0
- package/vendor/theus-arsenal/rules/react/testing.md +208 -0
- package/vendor/theus-arsenal/rules/react-native/accessibility.md +55 -0
- package/vendor/theus-arsenal/rules/react-native/coding-style.md +71 -0
- package/vendor/theus-arsenal/rules/react-native/hooks.md +28 -0
- package/vendor/theus-arsenal/rules/react-native/patterns.md +88 -0
- package/vendor/theus-arsenal/rules/react-native/performance.md +45 -0
- package/vendor/theus-arsenal/rules/react-native/production-readiness.md +51 -0
- package/vendor/theus-arsenal/rules/react-native/security.md +43 -0
- package/vendor/theus-arsenal/rules/react-native/testing.md +52 -0
- package/vendor/theus-arsenal/rules/ruby/coding-style.md +46 -0
- package/vendor/theus-arsenal/rules/ruby/hooks.md +37 -0
- package/vendor/theus-arsenal/rules/ruby/patterns.md +44 -0
- package/vendor/theus-arsenal/rules/ruby/security.md +51 -0
- package/vendor/theus-arsenal/rules/ruby/testing.md +51 -0
- package/vendor/theus-arsenal/rules/rust/coding-style.md +151 -0
- package/vendor/theus-arsenal/rules/rust/hooks.md +16 -0
- package/vendor/theus-arsenal/rules/rust/patterns.md +168 -0
- package/vendor/theus-arsenal/rules/rust/security.md +141 -0
- package/vendor/theus-arsenal/rules/rust/testing.md +154 -0
- package/vendor/theus-arsenal/rules/swift/coding-style.md +47 -0
- package/vendor/theus-arsenal/rules/swift/hooks.md +20 -0
- package/vendor/theus-arsenal/rules/swift/patterns.md +66 -0
- package/vendor/theus-arsenal/rules/swift/security.md +33 -0
- package/vendor/theus-arsenal/rules/swift/testing.md +45 -0
- package/vendor/theus-arsenal/rules/typescript/coding-style.md +199 -0
- package/vendor/theus-arsenal/rules/typescript/hooks.md +22 -0
- package/vendor/theus-arsenal/rules/typescript/patterns.md +52 -0
- package/vendor/theus-arsenal/rules/typescript/security.md +28 -0
- package/vendor/theus-arsenal/rules/typescript/testing.md +18 -0
- package/vendor/theus-arsenal/rules/vue/coding-style.md +54 -0
- package/vendor/theus-arsenal/rules/vue/hooks.md +45 -0
- package/vendor/theus-arsenal/rules/vue/patterns.md +56 -0
- package/vendor/theus-arsenal/rules/vue/security.md +46 -0
- package/vendor/theus-arsenal/rules/vue/testing.md +53 -0
- package/vendor/theus-arsenal/rules/web/coding-style.md +108 -0
- package/vendor/theus-arsenal/rules/web/design-quality.md +75 -0
- package/vendor/theus-arsenal/rules/web/hooks.md +141 -0
- package/vendor/theus-arsenal/rules/web/patterns.md +91 -0
- package/vendor/theus-arsenal/rules/web/performance.md +76 -0
- package/vendor/theus-arsenal/rules/web/security.md +69 -0
- package/vendor/theus-arsenal/rules/web/testing.md +67 -0
- package/vendor/theus-arsenal/scripts/hooks/bash-hook-dispatcher.js +192 -0
- package/vendor/theus-arsenal/scripts/hooks/block-no-verify.js +556 -0
- package/vendor/theus-arsenal/scripts/hooks/check-console-log.js +92 -0
- package/vendor/theus-arsenal/scripts/hooks/check-hook-enabled.js +16 -0
- package/vendor/theus-arsenal/scripts/hooks/config-protection.js +171 -0
- package/vendor/theus-arsenal/scripts/hooks/design-quality-check.js +132 -0
- package/vendor/theus-arsenal/scripts/hooks/doc-file-warning.js +110 -0
- package/vendor/theus-arsenal/scripts/hooks/modo-seguro.js +158 -0
- package/vendor/theus-arsenal/scripts/hooks/notificacion-escritorio.js +208 -0
- package/vendor/theus-arsenal/scripts/hooks/plugin-hook-bootstrap.js +280 -0
- package/vendor/theus-arsenal/scripts/hooks/post-bash-command-log.js +87 -0
- package/vendor/theus-arsenal/scripts/hooks/post-bash-dispatcher.js +24 -0
- package/vendor/theus-arsenal/scripts/hooks/post-bash-pr-created.js +60 -0
- package/vendor/theus-arsenal/scripts/hooks/post-edit-accumulator.js +94 -0
- package/vendor/theus-arsenal/scripts/hooks/post-edit-console-warn.js +54 -0
- package/vendor/theus-arsenal/scripts/hooks/post-edit-format.js +110 -0
- package/vendor/theus-arsenal/scripts/hooks/post-edit-typecheck.js +98 -0
- package/vendor/theus-arsenal/scripts/hooks/pre-bash-commit-quality.js +447 -0
- package/vendor/theus-arsenal/scripts/hooks/pre-bash-dev-server-block.js +232 -0
- package/vendor/theus-arsenal/scripts/hooks/pre-bash-dispatcher.js +27 -0
- package/vendor/theus-arsenal/scripts/hooks/pre-compact.js +101 -0
- package/vendor/theus-arsenal/scripts/hooks/pretooluse-visible-output.js +49 -0
- package/vendor/theus-arsenal/scripts/hooks/quality-gate.js +168 -0
- package/vendor/theus-arsenal/scripts/hooks/run-with-flags.js +271 -0
- package/vendor/theus-arsenal/scripts/hooks/salud-mcp.js +749 -0
- package/vendor/theus-arsenal/scripts/hooks/seguimiento-costos.js +161 -0
- package/vendor/theus-arsenal/scripts/hooks/session-end.js +340 -0
- package/vendor/theus-arsenal/scripts/hooks/session-start.js +906 -0
- package/vendor/theus-arsenal/scripts/hooks/stop-format-typecheck.js +263 -0
- package/vendor/theus-arsenal/scripts/hooks/suggest-compact.js +286 -0
- package/vendor/theus-arsenal/scripts/hooks/theus-context-monitor.js +289 -0
- package/vendor/theus-arsenal/scripts/hooks/verificacion-factual.js +1278 -0
- package/vendor/theus-arsenal/scripts/lib/agent-data-home.js +96 -0
- package/vendor/theus-arsenal/scripts/lib/cost-estimate.js +66 -0
- package/vendor/theus-arsenal/scripts/lib/hook-flags.js +79 -0
- package/vendor/theus-arsenal/scripts/lib/llm-summary.js +185 -0
- package/vendor/theus-arsenal/scripts/lib/loopback-guard.js +54 -0
- package/vendor/theus-arsenal/scripts/lib/observer-sessions.js +237 -0
- package/vendor/theus-arsenal/scripts/lib/package-manager.d.ts +120 -0
- package/vendor/theus-arsenal/scripts/lib/package-manager.js +434 -0
- package/vendor/theus-arsenal/scripts/lib/path-safety.js +86 -0
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/markdown.js +285 -0
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/sdk.js +238 -0
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/server.js +534 -0
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/sessions.js +274 -0
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/ui.js +546 -0
- package/vendor/theus-arsenal/scripts/lib/project-detect.js +451 -0
- package/vendor/theus-arsenal/scripts/lib/resolve-formatter.js +193 -0
- package/vendor/theus-arsenal/scripts/lib/resolve-theus-root.js +101 -0
- package/vendor/theus-arsenal/scripts/lib/session-aliases.d.ts +138 -0
- package/vendor/theus-arsenal/scripts/lib/session-aliases.js +483 -0
- package/vendor/theus-arsenal/scripts/lib/session-bridge.js +155 -0
- package/vendor/theus-arsenal/scripts/lib/session-manager.d.ts +137 -0
- package/vendor/theus-arsenal/scripts/lib/session-manager.js +555 -0
- package/vendor/theus-arsenal/scripts/lib/shell-split.js +86 -0
- package/vendor/theus-arsenal/scripts/lib/shell-substitution.js +501 -0
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/dashboard.js +414 -0
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/health.js +285 -0
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/index.js +22 -0
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/provenance.js +200 -0
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/tracker.js +157 -0
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/versioning.js +246 -0
- package/vendor/theus-arsenal/scripts/lib/transcript-context.js +232 -0
- package/vendor/theus-arsenal/scripts/lib/utils.d.ts +205 -0
- package/vendor/theus-arsenal/scripts/lib/utils.js +658 -0
- package/vendor/theus-arsenal/scripts/plan-canvas.js +341 -0
- package/vendor/theus-arsenal/scripts/setup-package-manager.js +46 -0
- package/vendor/theus-arsenal/scripts/skills-health.js +143 -0
- package/vendor/theus-arsenal/skills/a11y-frontend/SKILL.md +444 -0
- package/vendor/theus-arsenal/skills/accesibilidad/SKILL.md +144 -0
- package/vendor/theus-arsenal/skills/acelerador-throughput-datos/SKILL.md +72 -0
- package/vendor/theus-arsenal/skills/agente-scraper-datos/SKILL.md +771 -0
- package/vendor/theus-arsenal/skills/analisis-plataformas-competencia/SKILL.md +137 -0
- package/vendor/theus-arsenal/skills/api-x/SKILL.md +233 -0
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/SKILL.md +335 -0
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/observer-loop.sh +374 -0
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/observer.md +188 -0
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/session-guardian.sh +153 -0
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/start-observer.sh +253 -0
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/config.json +8 -0
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/hooks/observe.sh +594 -0
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/detect-project.sh +325 -0
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/instinct-cli.py +1918 -0
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/lib/arsenal-dir.sh +23 -0
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/test_parse_instinct.py +1420 -0
- package/vendor/theus-arsenal/skills/arquitectura-hexagonal/SKILL.md +275 -0
- package/vendor/theus-arsenal/skills/arquitectura-limpia-android/SKILL.md +340 -0
- package/vendor/theus-arsenal/skills/arquitectura-pipelines-recomendacion/SKILL.md +112 -0
- package/vendor/theus-arsenal/skills/atlas-datos-prediccion/SKILL.md +53 -0
- package/vendor/theus-arsenal/skills/auditoria-arquitectura-agentes/SKILL.md +257 -0
- package/vendor/theus-arsenal/skills/auditoria-produccion/SKILL.md +180 -0
- package/vendor/theus-arsenal/skills/auditoria-rutas-clic/SKILL.md +243 -0
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/SKILL.md +180 -0
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/examples/high-score-example.md +89 -0
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/examples/low-score-example.md +87 -0
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/references/evaluation-criteria.md +71 -0
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/references/hook-integration.md +90 -0
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/scripts/evaluate.py +409 -0
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/templates/evaluation-report.md +86 -0
- package/vendor/theus-arsenal/skills/automatizacion-ssh-netmiko/SKILL.md +176 -0
- package/vendor/theus-arsenal/skills/base-datos-pubmed/SKILL.md +174 -0
- package/vendor/theus-arsenal/skills/base-datos-uspto/SKILL.md +173 -0
- package/vendor/theus-arsenal/skills/benchmark/SKILL.md +92 -0
- package/vendor/theus-arsenal/skills/bitacora-crecimiento/SKILL.md +120 -0
- package/vendor/theus-arsenal/skills/bucle-verificacion/SKILL.md +125 -0
- package/vendor/theus-arsenal/skills/buscar-primero/SKILL.md +184 -0
- package/vendor/theus-arsenal/skills/busqueda-exa/SKILL.md +111 -0
- package/vendor/theus-arsenal/skills/cache-por-hash/SKILL.md +160 -0
- package/vendor/theus-arsenal/skills/campana-marketing/SKILL.md +118 -0
- package/vendor/theus-arsenal/skills/capacidad-producto/SKILL.md +138 -0
- package/vendor/theus-arsenal/skills/cazador-vulnerabilidades/SKILL.md +104 -0
- package/vendor/theus-arsenal/skills/compactacion-estrategica/SKILL.md +115 -0
- package/vendor/theus-arsenal/skills/comparador-baskets-prediccion/SKILL.md +69 -0
- package/vendor/theus-arsenal/skills/compras-energia/SKILL.md +206 -0
- package/vendor/theus-arsenal/skills/concurrencia-swift-6-2/SKILL.md +224 -0
- package/vendor/theus-arsenal/skills/consejo/SKILL.md +201 -0
- package/vendor/theus-arsenal/skills/construccion-harness-agentes/SKILL.md +78 -0
- package/vendor/theus-arsenal/skills/constructor-conectores/SKILL.md +119 -0
- package/vendor/theus-arsenal/skills/constructor-equipos/SKILL.md +169 -0
- package/vendor/theus-arsenal/skills/consulta-documentacion/SKILL.md +92 -0
- package/vendor/theus-arsenal/skills/consultas-genomicas-gget/SKILL.md +170 -0
- package/vendor/theus-arsenal/skills/contacto-inversores/SKILL.md +95 -0
- package/vendor/theus-arsenal/skills/corrutinas-flows-kotlin/SKILL.md +284 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/SKILL.md +46 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/3d.md +86 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/animations.md +29 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets/charts-bar-chart.tsx +173 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets/text-animations-typewriter.tsx +100 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets.md +78 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/audio.md +172 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/calculate-metadata.md +104 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/can-decode.md +75 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/charts.md +58 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/compositions.md +146 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/display-captions.md +126 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/extract-frames.md +229 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/fonts.md +152 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/get-audio-duration.md +58 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/get-video-dimensions.md +68 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/get-video-duration.md +58 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/gifs.md +138 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/images.md +130 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/import-srt-captions.md +67 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/lottie.md +67 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/measuring-dom-nodes.md +34 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/measuring-text.md +143 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/sequencing.md +106 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/tailwind.md +11 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/text-animations.md +20 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/timing.md +179 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/transcribe-captions.md +19 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/transitions.md +122 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/trimming.md +52 -0
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/videos.md +171 -0
- package/vendor/theus-arsenal/skills/cumplimiento-aduanero/SKILL.md +270 -0
- package/vendor/theus-arsenal/skills/cumplimiento-hipaa/SKILL.md +78 -0
- package/vendor/theus-arsenal/skills/datos-sensibles-salud/SKILL.md +149 -0
- package/vendor/theus-arsenal/skills/decimales-tokens-evm/SKILL.md +128 -0
- package/vendor/theus-arsenal/skills/decisiones-arquitectura/SKILL.md +206 -0
- package/vendor/theus-arsenal/skills/demos-ui/SKILL.md +469 -0
- package/vendor/theus-arsenal/skills/desarrollo-por-intencion/SKILL.md +369 -0
- package/vendor/theus-arsenal/skills/descubrimiento-marca/SKILL.md +149 -0
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/10_proposito-porque.md +42 -0
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/20_posicionamiento.md +47 -0
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/30_audiencia-nicho.md +53 -0
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/40_personalidad-arquetipo.md +61 -0
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/50_voz-tono.md +62 -0
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/60_narrativa-historia.md +54 -0
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/70_tension-fundador.md +50 -0
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/90_SINTESIS.md +133 -0
- package/vendor/theus-arsenal/skills/descubrimiento-plugins-laravel/SKILL.md +230 -0
- package/vendor/theus-arsenal/skills/destilado-reglas/SKILL.md +263 -0
- package/vendor/theus-arsenal/skills/destilado-reglas/scripts/scan-rules.sh +58 -0
- package/vendor/theus-arsenal/skills/destilado-reglas/scripts/scan-skills.sh +129 -0
- package/vendor/theus-arsenal/skills/diagnostico-bgp/SKILL.md +170 -0
- package/vendor/theus-arsenal/skills/direccion-estetica/SKILL.md +220 -0
- package/vendor/theus-arsenal/skills/direccion-estetica/references/taxonomia-generos.md +89 -0
- package/vendor/theus-arsenal/skills/diseno-api/SKILL.md +522 -0
- package/vendor/theus-arsenal/skills/diseno-liquid-glass/SKILL.md +282 -0
- package/vendor/theus-arsenal/skills/e2e-escritorio-windows/SKILL.md +879 -0
- package/vendor/theus-arsenal/skills/edicion-video/SKILL.md +289 -0
- package/vendor/theus-arsenal/skills/enfoque-producto/SKILL.md +91 -0
- package/vendor/theus-arsenal/skills/entornos-flox/SKILL.md +493 -0
- package/vendor/theus-arsenal/skills/estandares-codigo/SKILL.md +548 -0
- package/vendor/theus-arsenal/skills/estandares-cpp/SKILL.md +727 -0
- package/vendor/theus-arsenal/skills/estandares-java/SKILL.md +389 -0
- package/vendor/theus-arsenal/skills/estilo-legado/SKILL.md +149 -0
- package/vendor/theus-arsenal/skills/estructura-informes-competencia/SKILL.md +95 -0
- package/vendor/theus-arsenal/skills/evaluacion-academica/SKILL.md +165 -0
- package/vendor/theus-arsenal/skills/explorador-skills/SKILL.md +129 -0
- package/vendor/theus-arsenal/skills/flujo-git/SKILL.md +714 -0
- package/vendor/theus-arsenal/skills/flujo-ingenieria-ml/SKILL.md +343 -0
- package/vendor/theus-arsenal/skills/flujo-tdd/SKILL.md +584 -0
- package/vendor/theus-arsenal/skills/forja-personas/SKILL.md +298 -0
- package/vendor/theus-arsenal/skills/forja-personas/gacha.py +224 -0
- package/vendor/theus-arsenal/skills/forja-personas/gacha.sh +5 -0
- package/vendor/theus-arsenal/skills/forja-personas/references/avatar-style.md +123 -0
- package/vendor/theus-arsenal/skills/forja-personas/references/boundary-rules.md +53 -0
- package/vendor/theus-arsenal/skills/forja-personas/references/error-handling.md +53 -0
- package/vendor/theus-arsenal/skills/forja-personas/references/identity-tension.md +48 -0
- package/vendor/theus-arsenal/skills/forja-personas/references/naming-system.md +39 -0
- package/vendor/theus-arsenal/skills/forja-personas/references/output-template.md +166 -0
- package/vendor/theus-arsenal/skills/fundamentos-animacion/SKILL.md +296 -0
- package/vendor/theus-arsenal/skills/generacion-iconos-ios/SKILL.md +156 -0
- package/vendor/theus-arsenal/skills/generacion-iconos-ios/scripts/generate_icons.swift +258 -0
- package/vendor/theus-arsenal/skills/generacion-iconos-ios/scripts/iconify_gen.sh +235 -0
- package/vendor/theus-arsenal/skills/gestion-excepciones-logisticas/SKILL.md +208 -0
- package/vendor/theus-arsenal/skills/gestion-transportistas/SKILL.md +204 -0
- package/vendor/theus-arsenal/skills/guia-adopcion-ml/SKILL.md +64 -0
- package/vendor/theus-arsenal/skills/harness-agente-autonomo/SKILL.md +252 -0
- package/vendor/theus-arsenal/skills/harness-eval-clinico/SKILL.md +212 -0
- package/vendor/theus-arsenal/skills/harness-evaluacion/SKILL.md +296 -0
- package/vendor/theus-arsenal/skills/harness-generador-evaluador/SKILL.md +254 -0
- package/vendor/theus-arsenal/skills/homelab-diseno-red/SKILL.md +120 -0
- package/vendor/theus-arsenal/skills/homelab-dns-pihole/SKILL.md +264 -0
- package/vendor/theus-arsenal/skills/homelab-preparacion-red/SKILL.md +144 -0
- package/vendor/theus-arsenal/skills/homelab-segmentacion-vlan/SKILL.md +307 -0
- package/vendor/theus-arsenal/skills/homelab-vpn-wireguard/SKILL.md +299 -0
- package/vendor/theus-arsenal/skills/ingenieria-agentica/SKILL.md +96 -0
- package/vendor/theus-arsenal/skills/inspeccion-animaciones-blender/SKILL.md +164 -0
- package/vendor/theus-arsenal/skills/instaladores-python/SKILL.md +820 -0
- package/vendor/theus-arsenal/skills/integracion-jira/SKILL.md +307 -0
- package/vendor/theus-arsenal/skills/inteligencia-leads/SKILL.md +312 -0
- package/vendor/theus-arsenal/skills/inteligencia-leads/agents/agente-enriquecimiento.md +87 -0
- package/vendor/theus-arsenal/skills/inteligencia-leads/agents/mapeador-mutuos.md +76 -0
- package/vendor/theus-arsenal/skills/inteligencia-leads/agents/puntuador-senales.md +60 -0
- package/vendor/theus-arsenal/skills/inteligencia-leads/agents/redactor-outreach.md +102 -0
- package/vendor/theus-arsenal/skills/inteligencia-mercados-prediccion/SKILL.md +53 -0
- package/vendor/theus-arsenal/skills/introspeccion-agente/SKILL.md +150 -0
- package/vendor/theus-arsenal/skills/inventario-skills/SKILL.md +194 -0
- package/vendor/theus-arsenal/skills/inventario-skills/scripts/quick-diff.sh +87 -0
- package/vendor/theus-arsenal/skills/inventario-skills/scripts/save-results.sh +57 -0
- package/vendor/theus-arsenal/skills/inventario-skills/scripts/scan.sh +170 -0
- package/vendor/theus-arsenal/skills/investigacion-mercado/SKILL.md +87 -0
- package/vendor/theus-arsenal/skills/investigacion-oraculos-prediccion/SKILL.md +59 -0
- package/vendor/theus-arsenal/skills/investigacion-profunda/SKILL.md +161 -0
- package/vendor/theus-arsenal/skills/keccak256-nodejs/SKILL.md +100 -0
- package/vendor/theus-arsenal/skills/libro-decisiones-recursivo/SKILL.md +82 -0
- package/vendor/theus-arsenal/skills/lienzo-planes/SKILL.md +111 -0
- package/vendor/theus-arsenal/skills/limpieza-configuracion/SKILL.md +116 -0
- package/vendor/theus-arsenal/skills/logistica-inversa-devoluciones/SKILL.md +241 -0
- package/vendor/theus-arsenal/skills/manejo-errores/SKILL.md +375 -0
- package/vendor/theus-arsenal/skills/materiales-inversores/SKILL.md +101 -0
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/SKILL.md +170 -0
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/forget.mjs +44 -0
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/info.mjs +24 -0
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/init.mjs +152 -0
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/list.mjs +40 -0
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/migrate.mjs +214 -0
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/resume.mjs +36 -0
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/save.mjs +210 -0
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/shared.mjs +402 -0
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/hooks/session-start.mjs +238 -0
- package/vendor/theus-arsenal/skills/metodologia-benchmarks/SKILL.md +131 -0
- package/vendor/theus-arsenal/skills/migraciones-bd/SKILL.md +430 -0
- package/vendor/theus-arsenal/skills/modelos-fundacionales-en-dispositivo/SKILL.md +244 -0
- package/vendor/theus-arsenal/skills/modo-seguro/SKILL.md +86 -0
- package/vendor/theus-arsenal/skills/motion-avanzado/SKILL.md +592 -0
- package/vendor/theus-arsenal/skills/motor-de-contenido/SKILL.md +136 -0
- package/vendor/theus-arsenal/skills/no-conformidades-calidad/SKILL.md +249 -0
- package/vendor/theus-arsenal/skills/onboarding-codigo/SKILL.md +244 -0
- package/vendor/theus-arsenal/skills/operaciones-agentes-empresariales/SKILL.md +51 -0
- package/vendor/theus-arsenal/skills/operaciones-conocimiento/SKILL.md +159 -0
- package/vendor/theus-arsenal/skills/operaciones-correo/SKILL.md +123 -0
- package/vendor/theus-arsenal/skills/operaciones-facturacion/SKILL.md +142 -0
- package/vendor/theus-arsenal/skills/operaciones-flujo-proyectos/SKILL.md +110 -0
- package/vendor/theus-arsenal/skills/operaciones-github/SKILL.md +143 -0
- package/vendor/theus-arsenal/skills/operaciones-google-workspace/SKILL.md +100 -0
- package/vendor/theus-arsenal/skills/operaciones-investigacion/SKILL.md +124 -0
- package/vendor/theus-arsenal/skills/operaciones-mensajes/SKILL.md +103 -0
- package/vendor/theus-arsenal/skills/operaciones-terminal/SKILL.md +110 -0
- package/vendor/theus-arsenal/skills/optimizacion-benchmark/SKILL.md +70 -0
- package/vendor/theus-arsenal/skills/optimizacion-costos-llm/SKILL.md +182 -0
- package/vendor/theus-arsenal/skills/optimizador-conexiones/SKILL.md +191 -0
- package/vendor/theus-arsenal/skills/optimizador-paralelismo/SKILL.md +75 -0
- package/vendor/theus-arsenal/skills/optimizador-prompts/SKILL.md +374 -0
- package/vendor/theus-arsenal/skills/orq-agregar-funcionalidad/SKILL.md +37 -0
- package/vendor/theus-arsenal/skills/orq-cambiar-funcionalidad/SKILL.md +36 -0
- package/vendor/theus-arsenal/skills/orq-construir-mvp/SKILL.md +38 -0
- package/vendor/theus-arsenal/skills/orq-corregir-defecto/SKILL.md +36 -0
- package/vendor/theus-arsenal/skills/orq-pipeline/SKILL.md +134 -0
- package/vendor/theus-arsenal/skills/orq-refinar-codigo/SKILL.md +49 -0
- package/vendor/theus-arsenal/skills/orquestacion-equipos-agentes/SKILL.md +117 -0
- package/vendor/theus-arsenal/skills/pagos-agentes-x402/SKILL.md +237 -0
- package/vendor/theus-arsenal/skills/patrones-angular/SKILL.md +153 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/angular-animations.md +160 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/angular-aria.md +410 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/cli.md +86 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/component-harnesses.md +59 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/component-styling.md +91 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/components.md +117 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/creating-services.md +97 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/data-resolvers.md +69 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/define-routes.md +67 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/defining-providers.md +72 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/di-fundamentals.md +120 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/e2e-testing.md +56 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/effects.md +83 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/hierarchical-injectors.md +43 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/host-elements.md +80 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/injection-context.md +63 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/inputs.md +101 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/linked-signal.md +59 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/loading-strategies.md +61 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/mcp.md +67 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/navigate-to-routes.md +69 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/outputs.md +86 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/reactive-forms.md +122 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/rendering-strategies.md +44 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/resource.md +77 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/route-animations.md +56 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/route-guards.md +52 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/router-lifecycle.md +45 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/router-testing.md +87 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/show-routes-with-outlets.md +68 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/signal-forms.md +795 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/signals-overview.md +94 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/tailwind-css.md +69 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/template-driven-forms.md +114 -0
- package/vendor/theus-arsenal/skills/patrones-angular/references/testing-fundamentals.md +65 -0
- package/vendor/theus-arsenal/skills/patrones-animacion/SKILL.md +432 -0
- package/vendor/theus-arsenal/skills/patrones-backend/SKILL.md +560 -0
- package/vendor/theus-arsenal/skills/patrones-cdss-clinico/SKILL.md +249 -0
- package/vendor/theus-arsenal/skills/patrones-cisco-ios/SKILL.md +148 -0
- package/vendor/theus-arsenal/skills/patrones-clickhouse/SKILL.md +443 -0
- package/vendor/theus-arsenal/skills/patrones-compose-multiplatform/SKILL.md +298 -0
- package/vendor/theus-arsenal/skills/patrones-dart-flutter/SKILL.md +566 -0
- package/vendor/theus-arsenal/skills/patrones-despliegue/SKILL.md +426 -0
- package/vendor/theus-arsenal/skills/patrones-django/SKILL.md +739 -0
- package/vendor/theus-arsenal/skills/patrones-django-celery/SKILL.md +456 -0
- package/vendor/theus-arsenal/skills/patrones-docker/SKILL.md +363 -0
- package/vendor/theus-arsenal/skills/patrones-dotnet/SKILL.md +321 -0
- package/vendor/theus-arsenal/skills/patrones-emr-clinico/SKILL.md +168 -0
- package/vendor/theus-arsenal/skills/patrones-fastapi/SKILL.md +513 -0
- package/vendor/theus-arsenal/skills/patrones-frontend/SKILL.md +655 -0
- package/vendor/theus-arsenal/skills/patrones-go/SKILL.md +674 -0
- package/vendor/theus-arsenal/skills/patrones-jpa/SKILL.md +156 -0
- package/vendor/theus-arsenal/skills/patrones-kotlin/SKILL.md +717 -0
- package/vendor/theus-arsenal/skills/patrones-kotlin-exposed/SKILL.md +724 -0
- package/vendor/theus-arsenal/skills/patrones-kotlin-ktor/SKILL.md +694 -0
- package/vendor/theus-arsenal/skills/patrones-kubernetes/SKILL.md +754 -0
- package/vendor/theus-arsenal/skills/patrones-laravel/SKILL.md +414 -0
- package/vendor/theus-arsenal/skills/patrones-mcp/SKILL.md +66 -0
- package/vendor/theus-arsenal/skills/patrones-mysql/SKILL.md +420 -0
- package/vendor/theus-arsenal/skills/patrones-nestjs/SKILL.md +229 -0
- package/vendor/theus-arsenal/skills/patrones-nextjs/SKILL.md +56 -0
- package/vendor/theus-arsenal/skills/patrones-nuxt4/SKILL.md +99 -0
- package/vendor/theus-arsenal/skills/patrones-perl/SKILL.md +508 -0
- package/vendor/theus-arsenal/skills/patrones-postgres/SKILL.md +141 -0
- package/vendor/theus-arsenal/skills/patrones-prisma/SKILL.md +399 -0
- package/vendor/theus-arsenal/skills/patrones-python/SKILL.md +750 -0
- package/vendor/theus-arsenal/skills/patrones-pytorch/SKILL.md +400 -0
- package/vendor/theus-arsenal/skills/patrones-quarkus/SKILL.md +729 -0
- package/vendor/theus-arsenal/skills/patrones-react/SKILL.md +339 -0
- package/vendor/theus-arsenal/skills/patrones-react-native/SKILL.md +325 -0
- package/vendor/theus-arsenal/skills/patrones-redis/SKILL.md +401 -0
- package/vendor/theus-arsenal/skills/patrones-rust/SKILL.md +504 -0
- package/vendor/theus-arsenal/skills/patrones-springboot/SKILL.md +314 -0
- package/vendor/theus-arsenal/skills/patrones-swiftui/SKILL.md +261 -0
- package/vendor/theus-arsenal/skills/patrones-tinystruct/SKILL.md +281 -0
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/architecture.md +90 -0
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/data-handling.md +60 -0
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/database.md +99 -0
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/routing.md +64 -0
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/system-usage.md +97 -0
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/testing.md +72 -0
- package/vendor/theus-arsenal/skills/patrones-vite/SKILL.md +449 -0
- package/vendor/theus-arsenal/skills/patrones-vue/SKILL.md +469 -0
- package/vendor/theus-arsenal/skills/persistencia-actores-swift/SKILL.md +148 -0
- package/vendor/theus-arsenal/skills/pipeline-opensource/SKILL.md +254 -0
- package/vendor/theus-arsenal/skills/planificacion-demanda-inventario/SKILL.md +236 -0
- package/vendor/theus-arsenal/skills/planificador-trades-prediccion/SKILL.md +60 -0
- package/vendor/theus-arsenal/skills/plano-tecnico/SKILL.md +102 -0
- package/vendor/theus-arsenal/skills/presentaciones-html/SKILL.md +189 -0
- package/vendor/theus-arsenal/skills/presentaciones-html/STYLE_PRESETS.md +330 -0
- package/vendor/theus-arsenal/skills/presentaciones-html/animation-patterns.md +122 -0
- package/vendor/theus-arsenal/skills/presentaciones-html/html-template.md +419 -0
- package/vendor/theus-arsenal/skills/presentaciones-html/scripts/export-pdf.sh +418 -0
- package/vendor/theus-arsenal/skills/presentaciones-html/scripts/extract-pptx.py +96 -0
- package/vendor/theus-arsenal/skills/presentaciones-html/viewport-base.css +153 -0
- package/vendor/theus-arsenal/skills/presupuesto-contexto/SKILL.md +263 -0
- package/vendor/theus-arsenal/skills/procesamiento-documentos-nutrient/SKILL.md +168 -0
- package/vendor/theus-arsenal/skills/programacion-produccion/SKILL.md +220 -0
- package/vendor/theus-arsenal/skills/publicacion-cruzada/SKILL.md +117 -0
- package/vendor/theus-arsenal/skills/publicador-social/SKILL.md +121 -0
- package/vendor/theus-arsenal/skills/puerta-de-entrega/SKILL.md +164 -0
- package/vendor/theus-arsenal/skills/puerta-de-entrega/hooks/puerta-entrega.py +242 -0
- package/vendor/theus-arsenal/skills/pulir-interfaces/SKILL.md +126 -0
- package/vendor/theus-arsenal/skills/qa-navegador/SKILL.md +103 -0
- package/vendor/theus-arsenal/skills/ranking-grafo-social/SKILL.md +153 -0
- package/vendor/theus-arsenal/skills/recuperacion-iterativa/SKILL.md +236 -0
- package/vendor/theus-arsenal/skills/redaccion-articulos/SKILL.md +81 -0
- package/vendor/theus-arsenal/skills/regex-vs-llm/SKILL.md +221 -0
- package/vendor/theus-arsenal/skills/regresion-codigo-ia/SKILL.md +388 -0
- package/vendor/theus-arsenal/skills/rendimiento-react/SKILL.md +567 -0
- package/vendor/theus-arsenal/skills/revision-codigo-flutter-dart/SKILL.md +442 -0
- package/vendor/theus-arsenal/skills/revision-literatura-cientifica/SKILL.md +191 -0
- package/vendor/theus-arsenal/skills/revision-multiperspectiva/SKILL.md +302 -0
- package/vendor/theus-arsenal/skills/revision-riesgo-prediccion/SKILL.md +56 -0
- package/vendor/theus-arsenal/skills/revision-seguridad/SKILL.md +505 -0
- package/vendor/theus-arsenal/skills/revision-seguridad/cloud-infrastructure-security.md +361 -0
- package/vendor/theus-arsenal/skills/runtime-bun/SKILL.md +83 -0
- package/vendor/theus-arsenal/skills/salud-codigo-codescene/SKILL.md +163 -0
- package/vendor/theus-arsenal/skills/salud-interfaces-red/SKILL.md +143 -0
- package/vendor/theus-arsenal/skills/seguimiento-costos/SKILL.md +122 -0
- package/vendor/theus-arsenal/skills/seguridad-agentes-trading/SKILL.md +145 -0
- package/vendor/theus-arsenal/skills/seguridad-amm-defi/SKILL.md +166 -0
- package/vendor/theus-arsenal/skills/seguridad-django/SKILL.md +648 -0
- package/vendor/theus-arsenal/skills/seguridad-laravel/SKILL.md +945 -0
- package/vendor/theus-arsenal/skills/seguridad-perl/SKILL.md +507 -0
- package/vendor/theus-arsenal/skills/seguridad-quarkus/SKILL.md +474 -0
- package/vendor/theus-arsenal/skills/seguridad-springboot/SKILL.md +279 -0
- package/vendor/theus-arsenal/skills/seo/SKILL.md +166 -0
- package/vendor/theus-arsenal/skills/sistema-diseno/SKILL.md +81 -0
- package/vendor/theus-arsenal/skills/sistema-operativo-agentico/SKILL.md +375 -0
- package/vendor/theus-arsenal/skills/sistemas-latencia-critica/SKILL.md +65 -0
- package/vendor/theus-arsenal/skills/tdd-django/SKILL.md +735 -0
- package/vendor/theus-arsenal/skills/tdd-laravel/SKILL.md +673 -0
- package/vendor/theus-arsenal/skills/tdd-quarkus/SKILL.md +817 -0
- package/vendor/theus-arsenal/skills/tdd-springboot/SKILL.md +165 -0
- package/vendor/theus-arsenal/skills/testing-cpp/SKILL.md +328 -0
- package/vendor/theus-arsenal/skills/testing-csharp/SKILL.md +321 -0
- package/vendor/theus-arsenal/skills/testing-e2e/SKILL.md +325 -0
- package/vendor/theus-arsenal/skills/testing-go/SKILL.md +719 -0
- package/vendor/theus-arsenal/skills/testing-kotlin/SKILL.md +829 -0
- package/vendor/theus-arsenal/skills/testing-perl/SKILL.md +479 -0
- package/vendor/theus-arsenal/skills/testing-protocolos-di-swift/SKILL.md +196 -0
- package/vendor/theus-arsenal/skills/testing-python/SKILL.md +815 -0
- package/vendor/theus-arsenal/skills/testing-react/SKILL.md +421 -0
- package/vendor/theus-arsenal/skills/testing-rust/SKILL.md +506 -0
- package/vendor/theus-arsenal/skills/tours-de-codigo/SKILL.md +252 -0
- package/vendor/theus-arsenal/skills/traduccion-documentos-visado/SKILL.md +121 -0
- package/vendor/theus-arsenal/skills/ui-a-vue/SKILL.md +141 -0
- package/vendor/theus-arsenal/skills/validacion-config-red/SKILL.md +211 -0
- package/vendor/theus-arsenal/skills/verificacion-django/SKILL.md +470 -0
- package/vendor/theus-arsenal/skills/verificacion-factual/SKILL.md +142 -0
- package/vendor/theus-arsenal/skills/verificacion-laravel/SKILL.md +184 -0
- package/vendor/theus-arsenal/skills/verificacion-quarkus/SKILL.md +485 -0
- package/vendor/theus-arsenal/skills/verificacion-springboot/SKILL.md +237 -0
- package/vendor/theus-arsenal/skills/videodb/SKILL.md +374 -0
- package/vendor/theus-arsenal/skills/videodb/reference/api-reference.md +550 -0
- package/vendor/theus-arsenal/skills/videodb/reference/capture-reference.md +407 -0
- package/vendor/theus-arsenal/skills/videodb/reference/capture.md +101 -0
- package/vendor/theus-arsenal/skills/videodb/reference/editor.md +443 -0
- package/vendor/theus-arsenal/skills/videodb/reference/generative.md +331 -0
- package/vendor/theus-arsenal/skills/videodb/reference/rtstream-reference.md +564 -0
- package/vendor/theus-arsenal/skills/videodb/reference/rtstream.md +65 -0
- package/vendor/theus-arsenal/skills/videodb/reference/search.md +230 -0
- package/vendor/theus-arsenal/skills/videodb/reference/streaming.md +406 -0
- package/vendor/theus-arsenal/skills/videodb/reference/use-cases.md +118 -0
- package/vendor/theus-arsenal/skills/videodb/scripts/ws_listener.py +279 -0
- package/vendor/theus-arsenal/skills/videos-manim/SKILL.md +91 -0
- package/vendor/theus-arsenal/skills/videos-manim/assets/network_graph_scene.py +52 -0
- package/vendor/theus-arsenal/skills/vigilancia-canary/SKILL.md +108 -0
- package/vendor/theus-arsenal/skills/voz-de-marca/SKILL.md +106 -0
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Hook de Stop: puerta de entrega (quality gate mecánica).
|
|
4
|
+
Detecta trabajo incompleto, bibliotecas de aprendizaje sin actualizar y
|
|
5
|
+
poco espacio en disco. Impide que el agente finalice cuando una tarea
|
|
6
|
+
compleja terminó sin captura de aprendizaje.
|
|
7
|
+
|
|
8
|
+
Instalación: copia este archivo a ~/.theus/scripts/puerta-entrega.py
|
|
9
|
+
Configuración: regístralo en el evento Stop de tu configuración de hooks
|
|
10
|
+
(ver SKILL.md de `puerta-de-entrega`).
|
|
11
|
+
"""
|
|
12
|
+
from __future__ import annotations
|
|
13
|
+
|
|
14
|
+
import sys
|
|
15
|
+
import os
|
|
16
|
+
import re
|
|
17
|
+
import json
|
|
18
|
+
import datetime
|
|
19
|
+
import shutil
|
|
20
|
+
import logging
|
|
21
|
+
from typing import Optional
|
|
22
|
+
|
|
23
|
+
# ---- Configuración ----
|
|
24
|
+
# Patrones de racionalización (el agente conversa en español o inglés,
|
|
25
|
+
# así que se cubren ambos idiomas).
|
|
26
|
+
RATIONALIZE = [
|
|
27
|
+
r'(?:this|that)\s+is\s+a\s+pre[- ]existing\s+(?:issue|bug)\b(?!\s+(?:that|which|and))',
|
|
28
|
+
r'skipping\s+(?:tests?|lint|coverage|type[- ]check)\s+for\s+now',
|
|
29
|
+
r'(?:tests?|coverage)\s+(?:are|is)\s+(?:failing|broken)\s+but\s+(?:I|we)\s+(?:\'ll|can|will)\s+(?:fix|address|resolve|handle)',
|
|
30
|
+
r'(?:not\s+addressing|won\'t\s+fix|leaving)\s+the\s+(?:failing|broken)\s+(?:tests?|builds?|integration\s+tests?)',
|
|
31
|
+
r'es\s+un\s+(?:problema|bug|error)\s+pre[- ]?existente\b(?!\s+(?:que|y))',
|
|
32
|
+
r'(?:omito|salto|saltando|omitiendo)\s+(?:las?\s+)?(?:pruebas?|tests?|lint|cobertura)\s+por\s+ahora',
|
|
33
|
+
r'(?:las?\s+)?(?:pruebas?|tests?)\s+(?:fallan|est[aá]n?\s+rotas?)\s+pero\s+(?:lo|las?)\s+(?:arreglar|resolver|atender)',
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
# Bibliotecas de aprendizaje a vigilar (rutas relativas al directorio de
|
|
37
|
+
# memoria del proyecto). Personalízalas a tu propia estructura.
|
|
38
|
+
LIBS = {
|
|
39
|
+
'ratings-tracker': 'ratings-tracker.md',
|
|
40
|
+
'decisions-log': 'decisions/log.md',
|
|
41
|
+
'growth-log': 'growth-log/',
|
|
42
|
+
'output-index': 'output-index.md',
|
|
43
|
+
'tooling-capabilities': 'tooling_capabilities.md',
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
MIN_CHARS = 40
|
|
47
|
+
COMPLEX_THRESHOLD = 3
|
|
48
|
+
DISK_REMIND_GB = 50
|
|
49
|
+
DISK_WARN_GB = 30
|
|
50
|
+
DISK_CRIT_GB = 15
|
|
51
|
+
# ---- Fin de la configuración ----
|
|
52
|
+
|
|
53
|
+
logging.basicConfig(
|
|
54
|
+
stream=sys.stderr,
|
|
55
|
+
format='%(levelname)s: %(message)s',
|
|
56
|
+
level=logging.INFO,
|
|
57
|
+
)
|
|
58
|
+
log = logging.getLogger('puerta-entrega')
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def get_agent_data_home() -> str:
|
|
62
|
+
"""Raíz de datos del agente: THEUS_AGENT_DATA_HOME o ~/.theus/arsenal.
|
|
63
|
+
|
|
64
|
+
Replica la cadena de resolución de scripts/lib/agent-data-home.js
|
|
65
|
+
del arsenal para que el estado viva en un solo lugar."""
|
|
66
|
+
override = os.environ.get('THEUS_AGENT_DATA_HOME', '').strip()
|
|
67
|
+
if override:
|
|
68
|
+
return os.path.expanduser(override)
|
|
69
|
+
return os.path.expanduser(os.path.join('~', '.theus', 'arsenal'))
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
def get_project_memory_dir() -> Optional[str]:
|
|
73
|
+
"""Encuentra el directorio de memoria del proyecto actual.
|
|
74
|
+
|
|
75
|
+
Devuelve None si no existe directorio de memoria para este proyecto.
|
|
76
|
+
NO cae a otros proyectos (frontera de privacidad)."""
|
|
77
|
+
cwd = os.environ.get('THEUS_PROJECT_DIR', os.getcwd())
|
|
78
|
+
safe = cwd.replace(':', '-').replace('\\', '-').replace('/', '-')
|
|
79
|
+
mem = os.path.join(get_agent_data_home(), 'projects', safe, 'memory')
|
|
80
|
+
log.info('Buscando directorio de memoria: cwd=%s -> %s', cwd, mem)
|
|
81
|
+
if os.path.isdir(mem):
|
|
82
|
+
return mem
|
|
83
|
+
return None
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
def check_disk() -> Optional[int]:
|
|
87
|
+
"""Espacio libre en el disco que contiene el directorio home.
|
|
88
|
+
|
|
89
|
+
Multiplataforma: macOS, Linux, Windows.
|
|
90
|
+
Devuelve GB libres, o None si el home no está disponible."""
|
|
91
|
+
try:
|
|
92
|
+
home = os.path.expanduser('~')
|
|
93
|
+
free_gb = shutil.disk_usage(home).free // (2**30)
|
|
94
|
+
return free_gb
|
|
95
|
+
except (FileNotFoundError, PermissionError, OSError):
|
|
96
|
+
log.warning('no se puede verificar el espacio en disco (home inaccesible)')
|
|
97
|
+
return None
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
def check_stale_libs(mem_dir: str) -> list[str]:
|
|
101
|
+
"""Devuelve los nombres de bibliotecas no actualizadas hoy.
|
|
102
|
+
|
|
103
|
+
Manejo de OSError por archivo: los archivos ilegibles individuales se
|
|
104
|
+
omiten, pero el escaneo continúa con las bibliotecas restantes."""
|
|
105
|
+
today = datetime.date.today()
|
|
106
|
+
stale: list[str] = []
|
|
107
|
+
for name, path in LIBS.items():
|
|
108
|
+
full = os.path.join(mem_dir, path)
|
|
109
|
+
try:
|
|
110
|
+
if os.path.isdir(full):
|
|
111
|
+
has_today = False
|
|
112
|
+
for dirpath, _dirnames, filenames in os.walk(full):
|
|
113
|
+
for f in filenames:
|
|
114
|
+
fp = os.path.join(dirpath, f)
|
|
115
|
+
try:
|
|
116
|
+
mt = datetime.datetime.fromtimestamp(os.path.getmtime(fp)).date()
|
|
117
|
+
if mt == today:
|
|
118
|
+
has_today = True
|
|
119
|
+
break
|
|
120
|
+
except OSError:
|
|
121
|
+
continue
|
|
122
|
+
if has_today:
|
|
123
|
+
break
|
|
124
|
+
if not has_today:
|
|
125
|
+
stale.append(name)
|
|
126
|
+
elif os.path.exists(full):
|
|
127
|
+
try:
|
|
128
|
+
mt = datetime.datetime.fromtimestamp(os.path.getmtime(full)).date()
|
|
129
|
+
if mt != today:
|
|
130
|
+
stale.append(name)
|
|
131
|
+
except OSError:
|
|
132
|
+
stale.append(name)
|
|
133
|
+
else:
|
|
134
|
+
stale.append(name)
|
|
135
|
+
except OSError as e:
|
|
136
|
+
log.warning('no se puede acceder a la biblioteca %s: %s', name, e)
|
|
137
|
+
stale.append(name)
|
|
138
|
+
return stale
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
def count_edits(text: str) -> int:
|
|
142
|
+
"""Cuenta invocaciones de las herramientas Edit/Write en el transcript.
|
|
143
|
+
|
|
144
|
+
Empareja patrones JSON estructurados de llamadas a herramientas para
|
|
145
|
+
evitar falsos positivos con prosa normal. Escanea todo el transcript."""
|
|
146
|
+
return len(re.findall(r'"name":\s*"(?:Edit|Write)"', text))
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
def main() -> None:
|
|
150
|
+
raw = sys.stdin.read()
|
|
151
|
+
# Los hooks de Stop escriben su retroalimentación en stderr, no stdout.
|
|
152
|
+
# El motor lee stderr como mensaje de respuesta del hook.
|
|
153
|
+
# NO reenviar el JSON crudo a stdout — pisaría el motivo del bloqueo.
|
|
154
|
+
|
|
155
|
+
# Resolver el transcript: el evento Stop entrega por stdin un JSON con
|
|
156
|
+
# transcript_path (contrato de hooks de Theus); se acepta también texto
|
|
157
|
+
# crudo como degradación.
|
|
158
|
+
transcript = raw
|
|
159
|
+
try:
|
|
160
|
+
payload = json.loads(raw)
|
|
161
|
+
if isinstance(payload, dict) and 'transcript_path' in payload:
|
|
162
|
+
tp = os.path.expanduser(payload['transcript_path'])
|
|
163
|
+
if os.path.exists(tp):
|
|
164
|
+
with open(tp, 'r', encoding='utf-8') as f:
|
|
165
|
+
transcript = f.read()
|
|
166
|
+
else:
|
|
167
|
+
log.warning('transcript_path %s no encontrado, se usa stdin crudo', tp)
|
|
168
|
+
except (json.JSONDecodeError, TypeError, OSError):
|
|
169
|
+
pass
|
|
170
|
+
|
|
171
|
+
# 1. Verificación de disco — tres niveles: recordatorio / aviso / bloqueo
|
|
172
|
+
disk_free = check_disk()
|
|
173
|
+
if disk_free is not None:
|
|
174
|
+
if disk_free < DISK_CRIT_GB:
|
|
175
|
+
log.warning('Bloqueado: espacio en disco en %dGB (<%dGB). Libera espacio antes de continuar.',
|
|
176
|
+
disk_free, DISK_CRIT_GB)
|
|
177
|
+
sys.exit(2)
|
|
178
|
+
if disk_free < DISK_WARN_GB:
|
|
179
|
+
log.warning('AVISO: espacio en disco en %dGB (<%dGB)', disk_free, DISK_WARN_GB)
|
|
180
|
+
elif disk_free < DISK_REMIND_GB:
|
|
181
|
+
log.info('Recordatorio: espacio en disco en %dGB (<%dGB)', disk_free, DISK_REMIND_GB)
|
|
182
|
+
|
|
183
|
+
# 2. Sesión corta — omitir el resto de verificaciones
|
|
184
|
+
if len(transcript) < MIN_CHARS:
|
|
185
|
+
sys.exit(0)
|
|
186
|
+
|
|
187
|
+
tail = transcript[-8000:]
|
|
188
|
+
|
|
189
|
+
# 3. Detección de patrones de racionalización
|
|
190
|
+
hits = []
|
|
191
|
+
for p in RATIONALIZE:
|
|
192
|
+
m = re.search(p, tail, re.IGNORECASE)
|
|
193
|
+
if m:
|
|
194
|
+
hits.append(m.group(0)[:80])
|
|
195
|
+
if hits:
|
|
196
|
+
log.warning('puerta-entrega: racionalización detectada — %s', hits)
|
|
197
|
+
|
|
198
|
+
# 4. Verificación de captura de aprendizaje
|
|
199
|
+
mem_dir = get_project_memory_dir()
|
|
200
|
+
edit_count = count_edits(transcript)
|
|
201
|
+
is_complex = edit_count >= COMPLEX_THRESHOLD
|
|
202
|
+
|
|
203
|
+
if mem_dir:
|
|
204
|
+
stale = check_stale_libs(mem_dir)
|
|
205
|
+
else:
|
|
206
|
+
# Sin directorio de memoria — instalación incompleta.
|
|
207
|
+
# Avisar pero NO bloquear: bloquear aquí atasca a usuarios nuevos
|
|
208
|
+
# que aún no crearon el directorio de memoria.
|
|
209
|
+
if is_complex:
|
|
210
|
+
log.warning('No hay directorio de memoria del proyecto — no se puede verificar la captura de aprendizaje.')
|
|
211
|
+
log.warning('Crea memory/ según el SKILL.md de puerta-de-entrega para activar la puerta.')
|
|
212
|
+
stale = []
|
|
213
|
+
|
|
214
|
+
parts = []
|
|
215
|
+
if is_complex:
|
|
216
|
+
status_icons = ['X' if s in stale else 'O' for s in LIBS]
|
|
217
|
+
parts.append(
|
|
218
|
+
f'\n Tarea compleja ({edit_count} ediciones). '
|
|
219
|
+
f'Estado: [{"][".join(f"{k}:{v}" for k, v in zip(LIBS.keys(), status_icons))}]'
|
|
220
|
+
)
|
|
221
|
+
if stale:
|
|
222
|
+
parts.append(f' Sin actualizar ({len(stale)}): {", ".join(stale)}')
|
|
223
|
+
|
|
224
|
+
if parts:
|
|
225
|
+
log.warning('\n'.join(parts))
|
|
226
|
+
|
|
227
|
+
# 5. Bloquear si una tarea compleja terminó sin captura de aprendizaje
|
|
228
|
+
if is_complex:
|
|
229
|
+
if len(stale) >= 3:
|
|
230
|
+
log.warning('Bloqueado: tarea compleja con >=3 bibliotecas de aprendizaje sin actualizar.')
|
|
231
|
+
log.warning(f'Sin actualizar: {", ".join(stale)}. Actualízalas antes de finalizar.')
|
|
232
|
+
sys.exit(2)
|
|
233
|
+
if 'growth-log' in stale:
|
|
234
|
+
log.warning('Bloqueado: hubo cambios de código pero sin actualizar growth-log.')
|
|
235
|
+
log.warning('Escribe en growth-log antes de finalizar (aunque sea "sin aprendizajes nuevos").')
|
|
236
|
+
sys.exit(2)
|
|
237
|
+
|
|
238
|
+
sys.exit(0)
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
if __name__ == '__main__':
|
|
242
|
+
main()
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pulir-interfaces
|
|
3
|
+
description: Aplica detalles concretos de ingeniería de diseño que hacen que las interfaces se sientan pulidas. Úsala al revisar o mejorar espaciado, tipografía, bordes, sombras, movimiento, áreas de toque, iconos, ajuste de texto y estados de interacción en la UI.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Pulir interfaces
|
|
7
|
+
|
|
8
|
+
Usa esta skill para los pequeños detalles de ingeniería de diseño que, acumulados, producen una interfaz más pulida.
|
|
9
|
+
|
|
10
|
+
## Cuándo usarla
|
|
11
|
+
|
|
12
|
+
- El usuario dice que la UI se siente rara, plana, genérica, apretada, saltarina o sin terminar.
|
|
13
|
+
- Estás construyendo controles, tarjetas, listas, dashboards, navegación, formularios o barras de herramientas.
|
|
14
|
+
- Un componente necesita estados de hover, active, focus, entrada, salida, carga o vacío.
|
|
15
|
+
- Una revisión de frontend necesita recomendaciones concretas de antes/después.
|
|
16
|
+
|
|
17
|
+
## Principios fundamentales
|
|
18
|
+
|
|
19
|
+
### Radio concéntrico
|
|
20
|
+
|
|
21
|
+
Para superficies redondeadas anidadas y cercanas:
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
radio exterior = radio interior + padding
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Si el padding es grande, trata las capas como superficies separadas en lugar de forzar la fórmula. Lo que importa es la coherencia óptica, no la adoración de la fórmula.
|
|
28
|
+
|
|
29
|
+
### Alineación óptica
|
|
30
|
+
|
|
31
|
+
El centrado geométrico no siempre es el centrado visual. Los botones de icono, los triángulos de reproducción, las flechas, las estrellas y los iconos asimétricos suelen necesitar un pequeño desplazamiento. Corrige el SVG cuando sea posible; si no, ajusta con un cambio de margen o padding a nivel de píxel.
|
|
32
|
+
|
|
33
|
+
### Sombras y bordes
|
|
34
|
+
|
|
35
|
+
Usa bordes para la separación y los anillos de focus. Usa sombras en capas cuando una tarjeta, un botón, un dropdown o un popover necesite profundidad. Las sombras deben ser transparentes y lo bastante sutiles para funcionar sobre distintos fondos.
|
|
36
|
+
|
|
37
|
+
### Ajuste de texto
|
|
38
|
+
|
|
39
|
+
- Usa `text-wrap: balance` en encabezados y títulos cortos.
|
|
40
|
+
- Usa `text-wrap: pretty` en texto de cuerpo corto a mediano, leyendas, descripciones y elementos de lista.
|
|
41
|
+
- Evita ambos en prosa larga, código y contenido preformateado.
|
|
42
|
+
- Usa `font-variant-numeric: tabular-nums` para contadores, temporizadores, precios, tablas y otros números que se actualizan.
|
|
43
|
+
|
|
44
|
+
### Suavizado de fuentes
|
|
45
|
+
|
|
46
|
+
En macOS, aplica suavizado antialiased en el layout raíz cuando el proyecto no lo haga ya:
|
|
47
|
+
|
|
48
|
+
```css
|
|
49
|
+
html {
|
|
50
|
+
-webkit-font-smoothing: antialiased;
|
|
51
|
+
-moz-osx-font-smoothing: grayscale;
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Contornos de imágenes
|
|
56
|
+
|
|
57
|
+
Las imágenes suelen necesitar un contorno interior sutil para que sus bordes no se difuminen con la superficie.
|
|
58
|
+
|
|
59
|
+
```css
|
|
60
|
+
img {
|
|
61
|
+
outline: 1px solid rgba(0, 0, 0, 0.1);
|
|
62
|
+
outline-offset: -1px;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
@media (prefers-color-scheme: dark) {
|
|
66
|
+
img {
|
|
67
|
+
outline-color: rgba(255, 255, 255, 0.1);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Usa contornos con alfa en negro o blanco neutro. No tiñas los contornos de imágenes con la paleta de la marca.
|
|
73
|
+
|
|
74
|
+
### Movimiento
|
|
75
|
+
|
|
76
|
+
Usa transiciones CSS para los cambios de estado interactivos, porque pueden reencaminarse cuando el usuario cambia de intención a mitad del movimiento. Reserva los keyframes para entradas escalonadas de un solo disparo o secuencias de carga.
|
|
77
|
+
|
|
78
|
+
Buenos valores por defecto para el movimiento:
|
|
79
|
+
|
|
80
|
+
- Entrada: combina opacidad, un `translateY` pequeño y, opcionalmente, blur.
|
|
81
|
+
- Salida: más corta y discreta que la entrada, normalmente 150 ms.
|
|
82
|
+
- Pulsación: `scale(0.96)` para botones táctiles, con una forma de desactivarlo cuando el movimiento distrae.
|
|
83
|
+
- Cambio de iconos: fundido cruzado con opacidad, escala y blur en lugar de alternar la visibilidad de forma instantánea.
|
|
84
|
+
|
|
85
|
+
### Alcance de las transiciones
|
|
86
|
+
|
|
87
|
+
Nunca uses `transition: all`. Especifica las propiedades que cambian:
|
|
88
|
+
|
|
89
|
+
```css
|
|
90
|
+
.button {
|
|
91
|
+
transition-property: transform, background-color, box-shadow;
|
|
92
|
+
transition-duration: 150ms;
|
|
93
|
+
transition-timing-function: ease-out;
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Usa `will-change` solo para tartamudeos en el primer frame sobre propiedades amigables con el compositor como `transform`, `opacity` y `filter`. Nunca uses `will-change: all`.
|
|
98
|
+
|
|
99
|
+
### Áreas de toque
|
|
100
|
+
|
|
101
|
+
Los controles interactivos deben tener un área de toque de al menos 40x40 px, idealmente 44x44 px cuando el layout lo permite. Amplíala con un pseudoelemento cuando el icono visible sea más pequeño, pero no dejes que las áreas ampliadas se solapen.
|
|
102
|
+
|
|
103
|
+
## Salida de la revisión
|
|
104
|
+
|
|
105
|
+
Al revisar una pasada de pulido de UI, reporta los cambios concretos en filas de antes/después:
|
|
106
|
+
|
|
107
|
+
| Principio | Antes | Después |
|
|
108
|
+
| --- | --- | --- |
|
|
109
|
+
| Radio concéntrico | Mismo radio en padre e hijo | El radio del padre tiene en cuenta el padding |
|
|
110
|
+
| Números tabulares | El contador se desplaza al cambiar los dígitos | El contador usa `tabular-nums` |
|
|
111
|
+
| Alcance de transición | `transition: all` | Propiedades de transición explícitas |
|
|
112
|
+
|
|
113
|
+
Incluye rutas de archivos y propiedades cuando no sean obvias a partir de los fragmentos. Omite los principios que revisaste pero no cambiaste.
|
|
114
|
+
|
|
115
|
+
## Checklist
|
|
116
|
+
|
|
117
|
+
- Los elementos redondeados anidados son ópticamente coherentes.
|
|
118
|
+
- Los iconos están centrados visualmente.
|
|
119
|
+
- Botones, tarjetas y popovers usan bordes o sombras por la razón correcta.
|
|
120
|
+
- Los encabezados y textos cortos evitan cortes de línea incómodos.
|
|
121
|
+
- Los números dinámicos usan numerales tabulares.
|
|
122
|
+
- Las imágenes tienen contornos neutros donde hace falta.
|
|
123
|
+
- Las animaciones de entrada y salida están separadas, son sutiles e interrumpibles cuando corresponde.
|
|
124
|
+
- Los botones tienen estados activos táctiles sin movimiento exagerado.
|
|
125
|
+
- No existen `transition: all` ni `will-change: all`.
|
|
126
|
+
- Los controles pequeños conservan áreas de toque usables.
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qa-navegador
|
|
3
|
+
description: Usa esta skill para automatizar pruebas visuales y verificación de interacciones de UI mediante automatización de navegador después de desplegar funcionalidades.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# QA de navegador — Pruebas visuales e interacción automatizadas
|
|
7
|
+
|
|
8
|
+
## Cuándo usarla
|
|
9
|
+
|
|
10
|
+
- Después de desplegar una funcionalidad a staging/preview
|
|
11
|
+
- Cuando necesitas verificar el comportamiento de la UI en varias páginas
|
|
12
|
+
- Antes de lanzar — confirmar que layouts, formularios e interacciones realmente funcionan
|
|
13
|
+
- Al revisar PR que tocan código de frontend
|
|
14
|
+
- Auditorías de accesibilidad y pruebas responsivas
|
|
15
|
+
|
|
16
|
+
## Cómo funciona
|
|
17
|
+
|
|
18
|
+
Usa el MCP de automatización de navegador (el navegador integrado de Theus, Playwright o Puppeteer) para interactuar con páginas en vivo como un usuario real.
|
|
19
|
+
|
|
20
|
+
### Seguridad primero — radio de impacto (por defecto, solo lectura)
|
|
21
|
+
|
|
22
|
+
El QA de navegador ejecuta autenticación real y recorridos reales de usuario, así que trata el radio de impacto de forma explícita.
|
|
23
|
+
Por defecto opera en **solo lectura**: nunca ejecutes un recorrido **mutante** (checkout, pago, borrado,
|
|
24
|
+
actualización masiva) contra una URL de producción — exige un opt-in explícito **y** una URL de
|
|
25
|
+
staging/preview. Usa **credenciales de prueba** sembradas, nunca inicios de sesión reales de producción, y **redacta**
|
|
26
|
+
credenciales/tokens/PII antes de guardar cualquier captura de pantalla.
|
|
27
|
+
|
|
28
|
+
### Fase 1: Smoke test
|
|
29
|
+
```
|
|
30
|
+
1. Navegar a la URL objetivo
|
|
31
|
+
2. Revisar errores de consola (filtrar ruido: analítica, terceros)
|
|
32
|
+
3. Verificar que no haya 4xx/5xx en las peticiones de red
|
|
33
|
+
4. Captura de pantalla del contenido sobre el pliegue en viewport de escritorio + móvil
|
|
34
|
+
5. Revisar Core Web Vitals: LCP < 2.5s, CLS < 0.1, INP < 200ms
|
|
35
|
+
(INP reemplazó a FID en marzo de 2024; umbrales según web.dev)
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Fase 2: Prueba de interacción
|
|
39
|
+
```
|
|
40
|
+
1. Hacer clic en cada enlace de navegación — verificar que no haya enlaces muertos
|
|
41
|
+
2. Enviar formularios con datos válidos — verificar el estado de éxito
|
|
42
|
+
3. Enviar formularios con datos inválidos — verificar el estado de error
|
|
43
|
+
4. Probar el flujo de autenticación: login → página protegida → logout (solo credenciales de prueba, nunca producción)
|
|
44
|
+
5. Probar los recorridos críticos de usuario (checkout, onboarding, búsqueda)
|
|
45
|
+
— solo lectura por defecto; ejercita recorridos mutantes solo contra staging
|
|
46
|
+
con opt-in explícito (ver "Seguridad primero" arriba)
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Fase 3: Regresión visual
|
|
50
|
+
```
|
|
51
|
+
1. Capturar las páginas clave en 3 breakpoints (375px, 768px, 1440px)
|
|
52
|
+
2. Comparar contra las capturas base versionadas
|
|
53
|
+
— sin línea base ⇒ reportar NO CONCLUYENTE, nunca un PASS silencioso
|
|
54
|
+
3. Marcar desplazamientos de layout > 5px, elementos faltantes, desbordes
|
|
55
|
+
4. Revisar el modo oscuro si aplica
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Fase 4: Accesibilidad
|
|
59
|
+
```
|
|
60
|
+
1. Ejecutar axe-core o equivalente en cada página
|
|
61
|
+
2. Marcar violaciones de WCAG 2.2 AA (contraste, etiquetas, orden de foco)
|
|
62
|
+
3. Verificar que la navegación por teclado funcione de extremo a extremo
|
|
63
|
+
4. Revisar los landmarks para lectores de pantalla
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
> Nota: axe-core cubre automáticamente entre el 30 y el 40 % de WCAG. Una ejecución limpia es **necesaria,
|
|
67
|
+
> no suficiente** — la navegación por teclado, el orden de foco y una pasada con lector de pantalla siguen requiriendo
|
|
68
|
+
> revisión manual. No reportes "accesible" solo a partir de una pasada automatizada.
|
|
69
|
+
|
|
70
|
+
## Formato de salida
|
|
71
|
+
|
|
72
|
+
```markdown
|
|
73
|
+
## Reporte de QA — [URL] — [timestamp]
|
|
74
|
+
|
|
75
|
+
### Smoke test
|
|
76
|
+
- Errores de consola: 0 críticos, 2 advertencias (ruido de analítica)
|
|
77
|
+
- Red: todo 200/304, sin fallos
|
|
78
|
+
- Core Web Vitals: LCP 1.2s ✓, CLS 0.02 ✓, INP 89ms ✓
|
|
79
|
+
|
|
80
|
+
### Interacciones
|
|
81
|
+
- [✓] Enlaces de navegación: 12/12 funcionando
|
|
82
|
+
- [✗] Formulario de contacto: falta el estado de error para email inválido
|
|
83
|
+
- [✓] Flujo de autenticación: login/logout funcionando
|
|
84
|
+
|
|
85
|
+
### Visual
|
|
86
|
+
- [✗] La sección hero se desborda en viewport de 375px
|
|
87
|
+
- [✓] Modo oscuro: todas las páginas consistentes
|
|
88
|
+
|
|
89
|
+
### Accesibilidad
|
|
90
|
+
- 2 violaciones AA: falta texto alternativo en la imagen del hero, contraste bajo en los enlaces del footer
|
|
91
|
+
|
|
92
|
+
### Veredicto: LANZAR CON CORRECCIONES (2 incidencias, 0 bloqueantes)
|
|
93
|
+
# veredicto ∈ LANZAR / LANZAR CON CORRECCIONES / NO LANZAR; usa NO CONCLUYENTE si no hay línea base visual
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Integración
|
|
97
|
+
|
|
98
|
+
Funciona con cualquier MCP de navegador:
|
|
99
|
+
- Las herramientas MCP de navegador de Theus (preferidas — usan tu navegador real)
|
|
100
|
+
- Playwright vía `mcp__browserbase__*`
|
|
101
|
+
- Scripts directos de Puppeteer
|
|
102
|
+
|
|
103
|
+
Combínala con la skill `vigilancia-canary` para monitoreo posdespliegue.
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ranking-grafo-social
|
|
3
|
+
description: Ranking ponderado de grafo social para descubrir intros cálidas, puntuar puentes y detectar brechas de red en X y LinkedIn. Úsala cuando el usuario quiera el motor de ranking de grafo en sí, no el flujo completo de outreach o mantenimiento de red construido encima.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Ranking de grafo social
|
|
7
|
+
|
|
8
|
+
Capa canónica de ranking ponderado de grafo para outreach consciente de la red.
|
|
9
|
+
|
|
10
|
+
Úsala cuando el usuario necesite:
|
|
11
|
+
|
|
12
|
+
- rankear mutuals o conexiones existentes por valor de introducción
|
|
13
|
+
- mapear rutas cálidas hacia una lista de objetivos
|
|
14
|
+
- medir el valor de puente en conexiones de primer y segundo orden
|
|
15
|
+
- decidir qué objetivos merecen una intro cálida frente a outreach directo en frío
|
|
16
|
+
- entender la matemática del grafo por separado de `inteligencia-leads` u `optimizador-conexiones`
|
|
17
|
+
|
|
18
|
+
## Cuándo usarla de forma independiente
|
|
19
|
+
|
|
20
|
+
Elige esta skill cuando el usuario quiera principalmente el motor de ranking:
|
|
21
|
+
|
|
22
|
+
- "¿quién en mi red está mejor posicionado para presentarme?"
|
|
23
|
+
- "rankea mis mutuals según quién puede llevarme a estas personas"
|
|
24
|
+
- "mapea mi grafo contra este ICP"
|
|
25
|
+
- "muéstrame la matemática de los puentes"
|
|
26
|
+
|
|
27
|
+
No la uses sola cuando el usuario en realidad quiera:
|
|
28
|
+
|
|
29
|
+
- generación completa de leads y secuencias de outbound -> usa `inteligencia-leads`
|
|
30
|
+
- podar, rebalancear y hacer crecer la red -> usa `optimizador-conexiones`
|
|
31
|
+
|
|
32
|
+
## Entradas
|
|
33
|
+
|
|
34
|
+
Recopila o infiere:
|
|
35
|
+
|
|
36
|
+
- personas objetivo, empresas o definición de ICP
|
|
37
|
+
- el grafo actual del usuario en X, LinkedIn o ambos
|
|
38
|
+
- prioridades de ponderación como rol, industria, geografía y capacidad de respuesta
|
|
39
|
+
- profundidad de recorrido y tolerancia al decaimiento
|
|
40
|
+
|
|
41
|
+
## Modelo central
|
|
42
|
+
|
|
43
|
+
Dado:
|
|
44
|
+
|
|
45
|
+
- `T` = conjunto ponderado de objetivos
|
|
46
|
+
- `M` = tus mutuals / conexiones directas actuales
|
|
47
|
+
- `d(m, t)` = distancia mínima en saltos del mutual `m` al objetivo `t`
|
|
48
|
+
- `w(t)` = peso del objetivo según la puntuación de señales
|
|
49
|
+
|
|
50
|
+
Puntuación base de puente:
|
|
51
|
+
|
|
52
|
+
```text
|
|
53
|
+
B(m) = Σ_{t ∈ T} w(t) · λ^(d(m,t) - 1)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Donde:
|
|
57
|
+
|
|
58
|
+
- `λ` es el factor de decaimiento, normalmente `0.5`
|
|
59
|
+
- una ruta directa aporta el valor completo
|
|
60
|
+
- cada salto extra reduce la contribución a la mitad
|
|
61
|
+
|
|
62
|
+
Expansión de segundo orden:
|
|
63
|
+
|
|
64
|
+
```text
|
|
65
|
+
B_ext(m) = B(m) + α · Σ_{m' ∈ N(m) \\ M} Σ_{t ∈ T} w(t) · λ^(d(m',t))
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Donde:
|
|
69
|
+
|
|
70
|
+
- `N(m) \\ M` es el conjunto de personas que el mutual conoce y tú no
|
|
71
|
+
- `α` descuenta el alcance de segundo orden, normalmente `0.3`
|
|
72
|
+
|
|
73
|
+
Ranking final ajustado por respuesta:
|
|
74
|
+
|
|
75
|
+
```text
|
|
76
|
+
R(m) = B_ext(m) · (1 + β · engagement(m))
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Donde:
|
|
80
|
+
|
|
81
|
+
- `engagement(m)` es la capacidad de respuesta normalizada o la fuerza de la relación
|
|
82
|
+
- `β` es el bono de engagement, normalmente `0.2`
|
|
83
|
+
|
|
84
|
+
Interpretación:
|
|
85
|
+
|
|
86
|
+
- Nivel 1: `R(m)` alto y rutas de puente directas -> pedir intros cálidas
|
|
87
|
+
- Nivel 2: `R(m)` medio y rutas de puente de un salto -> pedir intros condicionales
|
|
88
|
+
- Nivel 3: `R(m)` bajo o sin puente viable -> outreach directo o llenar la brecha de red
|
|
89
|
+
|
|
90
|
+
## Señales de puntuación
|
|
91
|
+
|
|
92
|
+
Pondera los objetivos antes del recorrido del grafo con lo que importe para el conjunto de prioridades actual:
|
|
93
|
+
|
|
94
|
+
- alineación de rol o título
|
|
95
|
+
- encaje de empresa o industria
|
|
96
|
+
- actividad actual y recencia
|
|
97
|
+
- relevancia geográfica
|
|
98
|
+
- influencia o alcance
|
|
99
|
+
- probabilidad de respuesta
|
|
100
|
+
|
|
101
|
+
Pondera los mutuals después del recorrido con:
|
|
102
|
+
|
|
103
|
+
- número de rutas ponderadas hacia el conjunto de objetivos
|
|
104
|
+
- qué tan directas son esas rutas
|
|
105
|
+
- capacidad de respuesta o historial de interacción previo
|
|
106
|
+
- encaje contextual para hacer la introducción
|
|
107
|
+
|
|
108
|
+
## Flujo de trabajo
|
|
109
|
+
|
|
110
|
+
1. Construye el conjunto ponderado de objetivos.
|
|
111
|
+
2. Extrae el grafo del usuario de X, LinkedIn o ambos.
|
|
112
|
+
3. Calcula las puntuaciones de puente directas.
|
|
113
|
+
4. Expande candidatos de segundo orden para los mutuals de mayor valor.
|
|
114
|
+
5. Rankea por `R(m)`.
|
|
115
|
+
6. Devuelve:
|
|
116
|
+
- las mejores solicitudes de intro cálida
|
|
117
|
+
- rutas de puente condicionales
|
|
118
|
+
- brechas del grafo donde no existe ruta cálida
|
|
119
|
+
|
|
120
|
+
## Forma de la salida
|
|
121
|
+
|
|
122
|
+
```text
|
|
123
|
+
RANKING DE GRAFO SOCIAL
|
|
124
|
+
=======================
|
|
125
|
+
|
|
126
|
+
Conjunto de prioridades:
|
|
127
|
+
Plataformas:
|
|
128
|
+
Modelo de decaimiento:
|
|
129
|
+
|
|
130
|
+
Mejores puentes
|
|
131
|
+
- mutual / conexión
|
|
132
|
+
puntuación_base:
|
|
133
|
+
puntuación_extendida:
|
|
134
|
+
mejores_objetivos:
|
|
135
|
+
resumen_de_ruta:
|
|
136
|
+
acción_recomendada:
|
|
137
|
+
|
|
138
|
+
Rutas condicionales
|
|
139
|
+
- mutual / conexión
|
|
140
|
+
motivo:
|
|
141
|
+
costo del salto extra:
|
|
142
|
+
|
|
143
|
+
Sin ruta cálida
|
|
144
|
+
- objetivo
|
|
145
|
+
recomendación: outreach directo / llenar brecha del grafo
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Skills relacionadas
|
|
149
|
+
|
|
150
|
+
- `inteligencia-leads` usa este modelo de ranking dentro del pipeline más amplio de descubrimiento de objetivos y outreach
|
|
151
|
+
- `optimizador-conexiones` usa la misma lógica de puentes al decidir a quién mantener, podar o agregar
|
|
152
|
+
- `voz-de-marca` debe ejecutarse antes de redactar cualquier solicitud de intro u outreach directo
|
|
153
|
+
- `api-x` provee acceso al grafo de X y rutas de ejecución opcionales
|