@saulwade/swl-ses 1.0.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/CLAUDE.md +238 -0
- package/README.md +560 -0
- package/_userland/agentes/.gitkeep +0 -0
- package/_userland/habilidades/.gitkeep +0 -0
- package/agentes/.evolved.json +9 -0
- package/agentes/accesibilidad-wcag-swl.md +692 -0
- package/agentes/arquitecto-swl.md +238 -0
- package/agentes/auto-evolucion-swl.md +854 -0
- package/agentes/backend-api-swl.md +470 -0
- package/agentes/backend-csharp-swl.md +418 -0
- package/agentes/backend-go-swl.md +388 -0
- package/agentes/backend-java-swl.md +279 -0
- package/agentes/backend-node-swl.md +477 -0
- package/agentes/backend-python-swl.md +608 -0
- package/agentes/backend-rust-swl.md +362 -0
- package/agentes/backend-workers-swl.md +480 -0
- package/agentes/cloud-infra-swl.md +485 -0
- package/agentes/consolidador-swl.md +539 -0
- package/agentes/datos-swl.md +584 -0
- package/agentes/depurador-swl.md +349 -0
- package/agentes/devops-ci-swl.md +374 -0
- package/agentes/disenador-ui-swl.md +558 -0
- package/agentes/documentador-swl.md +343 -0
- package/agentes/evals/arquitecto-swl.evals.json +56 -0
- package/agentes/evals/auto-evolucion-swl.evals.json +68 -0
- package/agentes/evals/implementador-swl.evals.json +56 -0
- package/agentes/evals/orquestador-swl.evals.json +60 -0
- package/agentes/evals/perfilador-usuario-swl.evals.json +60 -0
- package/agentes/evals/red-team-swl.evals.json +59 -0
- package/agentes/evals/revisor-codigo-swl.evals.json +59 -0
- package/agentes/frontend-angular-swl.md +627 -0
- package/agentes/frontend-css-swl.md +720 -0
- package/agentes/frontend-react-swl.md +696 -0
- package/agentes/frontend-swl.md +500 -0
- package/agentes/frontend-tailwind-swl.md +830 -0
- package/agentes/implementador-swl.md +328 -0
- package/agentes/investigador-swl.md +430 -0
- package/agentes/investigador-ux-swl.md +500 -0
- package/agentes/llm-apps-swl.md +276 -0
- package/agentes/migrador-swl.md +417 -0
- package/agentes/mobile-android-swl.md +509 -0
- package/agentes/mobile-cross-swl.md +539 -0
- package/agentes/mobile-ios-swl.md +500 -0
- package/agentes/mobile-testing-swl.md +300 -0
- package/agentes/notificador-swl.md +916 -0
- package/agentes/observabilidad-swl.md +436 -0
- package/agentes/orquestador-swl.md +884 -0
- package/agentes/pagos-swl.md +283 -0
- package/agentes/perfilador-usuario-swl.md +306 -0
- package/agentes/planificador-swl.md +402 -0
- package/agentes/producto-prd-swl.md +587 -0
- package/agentes/red-team-swl.md +216 -0
- package/agentes/release-manager-swl.md +568 -0
- package/agentes/rendimiento-swl.md +714 -0
- package/agentes/resolutor-build-swl.md +243 -0
- package/agentes/revisor-angular-swl.md +276 -0
- package/agentes/revisor-codigo-swl.md +348 -0
- package/agentes/revisor-csharp-swl.md +262 -0
- package/agentes/revisor-go-swl.md +257 -0
- package/agentes/revisor-java-swl.md +255 -0
- package/agentes/revisor-kotlin-swl.md +271 -0
- package/agentes/revisor-nextjs-swl.md +279 -0
- package/agentes/revisor-php-swl.md +269 -0
- package/agentes/revisor-react-swl.md +276 -0
- package/agentes/revisor-rust-swl.md +344 -0
- package/agentes/revisor-seguridad-swl.md +390 -0
- package/agentes/revisor-swift-swl.md +266 -0
- package/agentes/revisor-typescript-swl.md +344 -0
- package/agentes/sre-swl.md +265 -0
- package/agentes/tdd-qa-swl.md +354 -0
- package/agentes/ux-disenador-swl.md +501 -0
- package/bin/lib/bot-comandos.js +1030 -0
- package/bin/lib/bot-discovery.js +182 -0
- package/bin/lib/bot-git.js +142 -0
- package/bin/swl-ses.js +325 -0
- package/bin/swl-telegram-bot.js +442 -0
- package/bin/swl-telegram-bot.plist +21 -0
- package/bin/swl-telegram-bot.service +14 -0
- package/comandos/swl/.evolved.json +23 -0
- package/comandos/swl/actualizar.md +174 -0
- package/comandos/swl/adoptar-proyecto.md +207 -0
- package/comandos/swl/aprender.md +701 -0
- package/comandos/swl/auditar-deps.md +134 -0
- package/comandos/swl/autoresearch.md +170 -0
- package/comandos/swl/ayuda.md +224 -0
- package/comandos/swl/brainstorm.md +50 -0
- package/comandos/swl/checkpoint.md +330 -0
- package/comandos/swl/compactar.md +283 -0
- package/comandos/swl/configurar-ci.md +227 -0
- package/comandos/swl/contexto.md +112 -0
- package/comandos/swl/contribuir.md +233 -0
- package/comandos/swl/crear-skill.md +292 -0
- package/comandos/swl/cron.md +196 -0
- package/comandos/swl/dashboard.md +146 -0
- package/comandos/swl/discutir-fase.md +230 -0
- package/comandos/swl/ejecutar-fase.md +135 -0
- package/comandos/swl/evaluar-skill.md +487 -0
- package/comandos/swl/evolucion-estado.md +142 -0
- package/comandos/swl/evolucionar.md +259 -0
- package/comandos/swl/exportar-vault.md +189 -0
- package/comandos/swl/gateway.md +158 -0
- package/comandos/swl/inbox.md +116 -0
- package/comandos/swl/instalar.md +220 -0
- package/comandos/swl/instintos.md +86 -0
- package/comandos/swl/mapear-codebase.md +312 -0
- package/comandos/swl/mcp-status.md +175 -0
- package/comandos/swl/metricas.md +270 -0
- package/comandos/swl/modelo.md +102 -0
- package/comandos/swl/notificaciones.md +396 -0
- package/comandos/swl/nuevo-proyecto.md +154 -0
- package/comandos/swl/planear-fase.md +221 -0
- package/comandos/swl/plugins.md +256 -0
- package/comandos/swl/reflect-skills.md +125 -0
- package/comandos/swl/release.md +217 -0
- package/comandos/swl/revisar-impacto.md +206 -0
- package/comandos/swl/revisar.md +330 -0
- package/comandos/swl/salud.md +363 -0
- package/comandos/swl/sesiones.md +200 -0
- package/comandos/swl/skill-search.md +113 -0
- package/comandos/swl/verificar.md +585 -0
- package/comandos/swl/wiki.md +620 -0
- package/contextos/dev.md +32 -0
- package/contextos/research.md +30 -0
- package/contextos/review.md +31 -0
- package/habilidades/accesibilidad-a11y/SKILL.md +201 -0
- package/habilidades/accesibilidad-a11y/evals/evals.json +56 -0
- package/habilidades/accesibilidad-a11y/recursos/ejemplos-y-checklist-completo.md +441 -0
- package/habilidades/agent-browser/SKILL.md +218 -0
- package/habilidades/agentes-como-servicio/SKILL.md +218 -0
- package/habilidades/ai-runtime-security/SKILL.md +273 -0
- package/habilidades/angular-avanzado/SKILL.md +164 -0
- package/habilidades/angular-avanzado/recursos/ejemplos-avanzados.md +219 -0
- package/habilidades/angular-moderno/SKILL.md +186 -0
- package/habilidades/angular-moderno/evals/evals.json +45 -0
- package/habilidades/angular-moderno/recursos/ejemplos-avanzados.md +106 -0
- package/habilidades/api-rest-diseno/SKILL.md +191 -0
- package/habilidades/api-rest-diseno/recursos/openapi-template.yaml +506 -0
- package/habilidades/api-rest-diseno/recursos/referencia-api.md +140 -0
- package/habilidades/aprendizaje-continuo/SKILL.md +151 -0
- package/habilidades/aprendizaje-continuo/evals/evals.json +53 -0
- package/habilidades/aprendizaje-continuo/recursos/referencia-instintos.md +290 -0
- package/habilidades/async-python/SKILL.md +149 -0
- package/habilidades/async-python/evals/evals.json +47 -0
- package/habilidades/async-python/recursos/patrones-y-ejemplos-completos.md +292 -0
- package/habilidades/auth-patrones/.evolved.json +9 -0
- package/habilidades/auth-patrones/SKILL.md +413 -0
- package/habilidades/auth-patrones/recursos/implementaciones-completas.md +229 -0
- package/habilidades/auto-evolucion-protocolo/SKILL.md +276 -0
- package/habilidades/auto-evolucion-protocolo/evals/evals.json +55 -0
- package/habilidades/auto-evolucion-protocolo/recursos/referencia-completa.md +145 -0
- package/habilidades/autoresearch/SKILL.md +268 -0
- package/habilidades/autoresearch/evals/evals.json +41 -0
- package/habilidades/autoresearch/recursos/checklist-template.md +191 -0
- package/habilidades/autoresearch/scripts/calcular-score.js +88 -0
- package/habilidades/azure-cloud/SKILL.md +308 -0
- package/habilidades/azure-cloud/recursos/aks.md +327 -0
- package/habilidades/backend-mcp-servidor/SKILL.md +270 -0
- package/habilidades/backend-production-resilience/SKILL.md +288 -0
- package/habilidades/brainstorming/SKILL.md +295 -0
- package/habilidades/brainstorming/recursos/componentes-html.md +247 -0
- package/habilidades/build-errors-cpp/SKILL.md +270 -0
- package/habilidades/build-errors-csharp/SKILL.md +265 -0
- package/habilidades/build-errors-go/SKILL.md +306 -0
- package/habilidades/build-errors-java/SKILL.md +278 -0
- package/habilidades/build-errors-kotlin/SKILL.md +303 -0
- package/habilidades/build-errors-nextjs/SKILL.md +312 -0
- package/habilidades/build-errors-php/SKILL.md +270 -0
- package/habilidades/build-errors-python/SKILL.md +292 -0
- package/habilidades/build-errors-rust/SKILL.md +284 -0
- package/habilidades/build-errors-swift/SKILL.md +272 -0
- package/habilidades/build-errors-typescript/SKILL.md +369 -0
- package/habilidades/checklist-calidad/SKILL.md +271 -0
- package/habilidades/checklist-calidad/recursos/quality-report-template.md +148 -0
- package/habilidades/checklist-seguridad/SKILL.md +285 -0
- package/habilidades/checkpoints-verificacion/SKILL.md +298 -0
- package/habilidades/checkpoints-verificacion/recursos/checkpoint-templates.md +360 -0
- package/habilidades/ci-cd-pipelines/SKILL.md +157 -0
- package/habilidades/ci-cd-pipelines/recursos/github-actions-template.yaml +403 -0
- package/habilidades/ci-cd-pipelines/recursos/pipelines-completos.md +487 -0
- package/habilidades/cloud-aws/SKILL.md +142 -0
- package/habilidades/cloud-aws/recursos/servicios-aws-referencia.md +321 -0
- package/habilidades/compactacion-contexto/SKILL.md +247 -0
- package/habilidades/contenedores-docker/SKILL.md +137 -0
- package/habilidades/contenedores-docker/recursos/dockerfile-template.dockerfile +160 -0
- package/habilidades/contenedores-docker/recursos/ejemplos-y-configuraciones.md +327 -0
- package/habilidades/context-builder/SKILL.md +170 -0
- package/habilidades/control-profundidad/SKILL.md +128 -0
- package/habilidades/csharp-experto/SKILL.md +322 -0
- package/habilidades/csharp-patrones/SKILL.md +316 -0
- package/habilidades/csharp-testing/SKILL.md +286 -0
- package/habilidades/css-moderno/SKILL.md +166 -0
- package/habilidades/css-moderno/evals/evals.json +43 -0
- package/habilidades/css-moderno/recursos/ejemplos-y-patrones-completos.md +337 -0
- package/habilidades/datos-etl/SKILL.md +129 -0
- package/habilidades/datos-etl/recursos/implementaciones-completas.md +322 -0
- package/habilidades/dbml-experto/SKILL.md +339 -0
- package/habilidades/dbml-experto/evals/evals.json +56 -0
- package/habilidades/dependencias-auditoria/SKILL.md +320 -0
- package/habilidades/deprecacion-migracion/SKILL.md +169 -0
- package/habilidades/deprecacion-migracion/recursos/implementaciones-completas.md +220 -0
- package/habilidades/design-tokens/SKILL.md +158 -0
- package/habilidades/design-tokens/recursos/tokens-y-configuracion.md +363 -0
- package/habilidades/devsecops-pipeline-security/SKILL.md +309 -0
- package/habilidades/diagrama-arquitectura/SKILL.md +165 -0
- package/habilidades/diagrama-arquitectura/assets/template.html +276 -0
- package/habilidades/discutir-fase/SKILL.md +188 -0
- package/habilidades/diseno-herramientas-agente/SKILL.md +199 -0
- package/habilidades/diseno-responsivo/SKILL.md +186 -0
- package/habilidades/diseno-responsivo/recursos/ejemplos-layouts.md +156 -0
- package/habilidades/django-experto/SKILL.md +205 -0
- package/habilidades/django-experto/recursos/async-django.md +390 -0
- package/habilidades/django-experto/recursos/drf-patrones.md +438 -0
- package/habilidades/django-experto/recursos/orm-avanzado.md +382 -0
- package/habilidades/django-experto/recursos/referencia-completa.md +188 -0
- package/habilidades/django-experto/recursos/testing-django.md +415 -0
- package/habilidades/doc-sync/SKILL.md +280 -0
- package/habilidades/drift-detection/SKILL.md +179 -0
- package/habilidades/ejecutar-fase/SKILL.md +468 -0
- package/habilidades/estilo-sin-ai-isms/SKILL.md +775 -0
- package/habilidades/estilo-sin-ai-isms/evals/evals.json +63 -0
- package/habilidades/estilo-sin-ai-isms/scripts/detectar_aiisms.py +500 -0
- package/habilidades/estructura-proyecto-claude/SKILL.md +215 -0
- package/habilidades/estructura-proyecto-claude/recursos/claude-md-template.md +261 -0
- package/habilidades/estructura-proyecto-claude/recursos/configuracion-y-extensiones.md +176 -0
- package/habilidades/estructura-proyecto-claude/recursos/frontmatter-y-hooks-referencia.md +289 -0
- package/habilidades/estructura-proyecto-claude/recursos/mcp-json-template.json +77 -0
- package/habilidades/estructura-proyecto-claude/recursos/variantes-por-stack.md +177 -0
- package/habilidades/evaluacion-agentes/SKILL.md +314 -0
- package/habilidades/event-driven/SKILL.md +153 -0
- package/habilidades/event-driven/recursos/implementaciones-completas.md +423 -0
- package/habilidades/extraccion-documentos/SKILL.md +221 -0
- package/habilidades/extractor-de-aprendizajes/.evolved.json +9 -0
- package/habilidades/extractor-de-aprendizajes/SKILL.md +311 -0
- package/habilidades/extractor-de-aprendizajes/evals/evals.json +55 -0
- package/habilidades/fastapi-experto/SKILL.md +221 -0
- package/habilidades/fastapi-experto/recursos/async-patterns.md +438 -0
- package/habilidades/fastapi-experto/recursos/dependency-injection.md +330 -0
- package/habilidades/fastapi-experto/recursos/referencia-completa.md +79 -0
- package/habilidades/fastapi-experto/recursos/testing-httpx.md +420 -0
- package/habilidades/filament-admin/SKILL.md +290 -0
- package/habilidades/frontend-avanzado/SKILL.md +257 -0
- package/habilidades/frontend-avanzado/recursos/apis-nativas-ejemplos.md +341 -0
- package/habilidades/gcp-cloud/SKILL.md +260 -0
- package/habilidades/gcp-cloud/recursos/gke.md +234 -0
- package/habilidades/gcp-cloud/recursos/terraform-gcp.md +307 -0
- package/habilidades/generacion-mermaid/SKILL.md +229 -0
- package/habilidades/git-worktrees-paralelo/SKILL.md +270 -0
- package/habilidades/go-experto/SKILL.md +305 -0
- package/habilidades/go-patrones/SKILL.md +299 -0
- package/habilidades/go-testing/SKILL.md +291 -0
- package/habilidades/graphql-experto/SKILL.md +323 -0
- package/habilidades/guardrail-semantico/SKILL.md +282 -0
- package/habilidades/harness-claude-code/SKILL.md +299 -0
- package/habilidades/iam-secretos/SKILL.md +265 -0
- package/habilidades/iam-secretos/recursos/implementaciones-completas.md +356 -0
- package/habilidades/infra-github-actions/SKILL.md +166 -0
- package/habilidades/instalar-sistema/.evolved.json +9 -0
- package/habilidades/instalar-sistema/SKILL.md +221 -0
- package/habilidades/java-experto/SKILL.md +290 -0
- package/habilidades/java-patrones/SKILL.md +275 -0
- package/habilidades/java-testing/SKILL.md +288 -0
- package/habilidades/kotlin-compose/SKILL.md +278 -0
- package/habilidades/kotlin-compose/recursos/animaciones-performance.md +93 -0
- package/habilidades/kotlin-experto/SKILL.md +318 -0
- package/habilidades/kotlin-testing/SKILL.md +267 -0
- package/habilidades/kotlin-testing/recursos/testing-avanzado.md +74 -0
- package/habilidades/kubernetes-orquestacion/SKILL.md +152 -0
- package/habilidades/kubernetes-orquestacion/recursos/manifiestos-completos.md +452 -0
- package/habilidades/langchain-langraph/SKILL.md +386 -0
- package/habilidades/langchain-langraph/recursos/evaluacion-rag.md +321 -0
- package/habilidades/langchain-langraph/recursos/rag-maturity-model.md +225 -0
- package/habilidades/langchain-langraph/recursos/vectorstores.md +306 -0
- package/habilidades/legacy-code-rescue/SKILL.md +267 -0
- package/habilidades/likec4-experto/SKILL.md +412 -0
- package/habilidades/likec4-experto/evals/evals.json +69 -0
- package/habilidades/manejo-errores/.evolved.json +9 -0
- package/habilidades/manejo-errores/SKILL.md +407 -0
- package/habilidades/manejo-errores/recursos/implementaciones-completas.md +248 -0
- package/habilidades/mapear-codebase/SKILL.md +275 -0
- package/habilidades/memoria-busqueda/SKILL.md +194 -0
- package/habilidades/memoria-busqueda/evals/evals.json +44 -0
- package/habilidades/meta-skills-estandar/SKILL.md +298 -0
- package/habilidades/meta-skills-estandar/recursos/anti-patrones-y-leyes.md +205 -0
- package/habilidades/meta-skills-estandar/recursos/frameworks-seguridad.md +107 -0
- package/habilidades/meta-skills-estandar/recursos/idiomas-framework.md +60 -0
- package/habilidades/meta-skills-estandar/recursos/skills-as-agents.md +163 -0
- package/habilidades/microservicios/SKILL.md +155 -0
- package/habilidades/microservicios/recursos/patrones-y-ejemplos-completos.md +325 -0
- package/habilidades/mobile-flutter/SKILL.md +199 -0
- package/habilidades/mobile-flutter/recursos/ejemplos-completos.md +319 -0
- package/habilidades/mobile-react-native/SKILL.md +176 -0
- package/habilidades/mobile-react-native/recursos/ejemplos-completos.md +216 -0
- package/habilidades/mongodb-experto/SKILL.md +302 -0
- package/habilidades/monitoring-alertas/SKILL.md +201 -0
- package/habilidades/monitoring-alertas/recursos/instrumentacion-y-alertas.md +301 -0
- package/habilidades/nestjs-experto/SKILL.md +307 -0
- package/habilidades/nestjs-experto/recursos/guards-interceptors.md +339 -0
- package/habilidades/nestjs-experto/recursos/modulos-di.md +287 -0
- package/habilidades/nestjs-experto/recursos/testing-nestjs.md +354 -0
- package/habilidades/nextjs-experto/SKILL.md +335 -0
- package/habilidades/nextjs-patrones/SKILL.md +303 -0
- package/habilidades/nextjs-testing/SKILL.md +331 -0
- package/habilidades/node-experto/.evolved.json +9 -0
- package/habilidades/node-experto/SKILL.md +266 -0
- package/habilidades/node-experto/recursos/patrones-completos.md +283 -0
- package/habilidades/notificaciones-multicanal/SKILL.md +159 -0
- package/habilidades/notificaciones-multicanal/recursos/config-template.json +115 -0
- package/habilidades/notificaciones-multicanal/recursos/configuracion-y-templates.md +303 -0
- package/habilidades/nuevo-proyecto/SKILL.md +204 -0
- package/habilidades/orquestacion-async/SKILL.md +303 -0
- package/habilidades/paid-media-tracking/SKILL.md +269 -0
- package/habilidades/paid-media-tracking/recursos/auditoria-tracking.md +220 -0
- package/habilidades/paid-media-tracking/recursos/google-ads-api.md +215 -0
- package/habilidades/patrones-python/SKILL.md +228 -0
- package/habilidades/patrones-python/evals/evals.json +56 -0
- package/habilidades/patrones-python/recursos/patrones-avanzados.md +469 -0
- package/habilidades/patrones-python/recursos/referencia-completa.md +202 -0
- package/habilidades/perfil-usuario/SKILL.md +200 -0
- package/habilidades/perfil-usuario/evals/evals.json +55 -0
- package/habilidades/performance-baseline/SKILL.md +297 -0
- package/habilidades/php-experto/SKILL.md +291 -0
- package/habilidades/php-patrones/SKILL.md +306 -0
- package/habilidades/php-testing/SKILL.md +280 -0
- package/habilidades/planear-fase/SKILL.md +269 -0
- package/habilidades/postgresql-experto/SKILL.md +151 -0
- package/habilidades/postgresql-experto/evals/evals.json +53 -0
- package/habilidades/postgresql-experto/recursos/referencia-completa.md +215 -0
- package/habilidades/prevencion-racionalizacion/SKILL.md +175 -0
- package/habilidades/prevencion-sobreingenieria/SKILL.md +323 -0
- package/habilidades/privacy-memoria/SKILL.md +141 -0
- package/habilidades/privacy-memoria/evals/evals.json +43 -0
- package/habilidades/prompt-engineering/SKILL.md +518 -0
- package/habilidades/prompt-engineering/recursos/patrones-avanzados.md +467 -0
- package/habilidades/rag-arquitectura/SKILL.md +338 -0
- package/habilidades/rails-experto/SKILL.md +237 -0
- package/habilidades/rails-experto/recursos/active-record.md +260 -0
- package/habilidades/rails-experto/recursos/hotwire-turbo.md +293 -0
- package/habilidades/rails-experto/recursos/testing-rspec.md +362 -0
- package/habilidades/react-experto/SKILL.md +209 -0
- package/habilidades/react-experto/evals/evals.json +55 -0
- package/habilidades/react-experto/recursos/patrones-y-ejemplos-completos.md +240 -0
- package/habilidades/react-optimizacion/SKILL.md +174 -0
- package/habilidades/react-optimizacion/recursos/patrones-avanzados.md +138 -0
- package/habilidades/redis-experto/SKILL.md +305 -0
- package/habilidades/release-semver/.evolved.json +9 -0
- package/habilidades/release-semver/SKILL.md +248 -0
- package/habilidades/release-semver/scripts/generar-changelog.sh +238 -0
- package/habilidades/rust-experto/SKILL.md +400 -0
- package/habilidades/rust-patrones/SKILL.md +296 -0
- package/habilidades/rust-testing/SKILL.md +311 -0
- package/habilidades/seguridad-skills-ia/SKILL.md +262 -0
- package/habilidades/sql-optimizacion/SKILL.md +200 -0
- package/habilidades/sql-optimizacion/evals/evals.json +54 -0
- package/habilidades/sql-optimizacion/recursos/patrones-sql-avanzados.md +131 -0
- package/habilidades/sre-patrones/SKILL.md +333 -0
- package/habilidades/sre-patrones/recursos/chaos-engineering.md +241 -0
- package/habilidades/sre-patrones/recursos/oncall-design.md +236 -0
- package/habilidades/stripe-pagos/SKILL.md +550 -0
- package/habilidades/stripe-pagos/recursos/errores-reintentos.md +390 -0
- package/habilidades/stripe-pagos/recursos/stripe-connect.md +290 -0
- package/habilidades/structured-outputs/SKILL.md +343 -0
- package/habilidades/swift-experto/SKILL.md +320 -0
- package/habilidades/swift-experto/recursos/keychain-y-wrappers.md +110 -0
- package/habilidades/swift-patrones/SKILL.md +313 -0
- package/habilidades/swift-patrones/recursos/tca-ejemplo-completo.md +113 -0
- package/habilidades/swift-testing/SKILL.md +254 -0
- package/habilidades/swift-testing/recursos/xcuitest-planes.md +143 -0
- package/habilidades/swl-dashboard/SKILL.md +370 -0
- package/habilidades/swl-markitdown/SKILL.md +285 -0
- package/habilidades/swl-markitdown/evals/evals.json +52 -0
- package/habilidades/swl-revisar-impacto/SKILL.md +233 -0
- package/habilidades/tailwind-experto/SKILL.md +240 -0
- package/habilidades/tailwind-experto/recursos/referencia-completa.md +184 -0
- package/habilidades/tdd-workflow/SKILL.md +293 -0
- package/habilidades/terraform-experto/SKILL.md +321 -0
- package/habilidades/testing-python/SKILL.md +340 -0
- package/habilidades/testing-python/recursos/ejemplos-completos.md +167 -0
- package/habilidades/threat-model-lite/SKILL.md +246 -0
- package/habilidades/tracing-processor/SKILL.md +212 -0
- package/habilidades/tracking-measurement/SKILL.md +239 -0
- package/habilidades/tracking-measurement/recursos/consent-mode.md +231 -0
- package/habilidades/tracking-measurement/recursos/gtm-datalayer.md +216 -0
- package/habilidades/tracking-measurement/recursos/meta-capi.md +262 -0
- package/habilidades/typescript-avanzado/SKILL.md +144 -0
- package/habilidades/typescript-avanzado/evals/evals.json +55 -0
- package/habilidades/typescript-avanzado/recursos/patrones-y-ejemplos-completos.md +298 -0
- package/habilidades/typescript-diagnosticos/SKILL.md +513 -0
- package/habilidades/ux-diseno/SKILL.md +116 -0
- package/habilidades/ux-diseno/evals/evals.json +43 -0
- package/habilidades/ux-diseno/recursos/patrones-ux-referencia.md +214 -0
- package/habilidades/validacion-ci-sistema/SKILL.md +136 -0
- package/habilidades/validacion-ci-sistema/recursos/validadores-completos.md +369 -0
- package/habilidades/validacion-ci-sistema/scripts/validar-sistema.sh +286 -0
- package/habilidades/verificacion-evidencia/SKILL.md +160 -0
- package/habilidades/verificar-trabajo/SKILL.md +303 -0
- package/habilidades/verificar-trabajo/recursos/plantilla-verificacion.md +60 -0
- package/habilidades/wiki-conocimiento/SKILL.md +276 -0
- package/habilidades/wireframes-flujos/SKILL.md +212 -0
- package/habilidades/wireframes-flujos/recursos/referencia-completa.md +192 -0
- package/habilidades/workflow-claude-code/SKILL.md +260 -0
- package/habilidades/workflow-claude-code/recursos/referencia-completa.md +109 -0
- package/hooks/_run-hook.sh +57 -0
- package/hooks/actualizar-perfil-usuario.js +364 -0
- package/hooks/agente-lifecycle.js +71 -0
- package/hooks/aiisms-detector.js +173 -0
- package/hooks/audit-trail.js +204 -0
- package/hooks/auto-background.js +97 -0
- package/hooks/auto-consolidacion.js +178 -0
- package/hooks/auto-evolucion.js +666 -0
- package/hooks/auto-restaurar-settings.js +360 -0
- package/hooks/calidad-pre-commit.js +929 -0
- package/hooks/calidad-typescript.js +511 -0
- package/hooks/captura-feedback-usuario.js +148 -0
- package/hooks/check-update.js +211 -0
- package/hooks/clasificador-mensajes.js +271 -0
- package/hooks/degradacion-instintos.js +272 -0
- package/hooks/escaneo-secretos.js +389 -0
- package/hooks/extraccion-aprendizajes.js +763 -0
- package/hooks/grafo-contexto.js +129 -0
- package/hooks/graph-update.js +67 -0
- package/hooks/guardrail-modelo.js +247 -0
- package/hooks/inbox-aviso.js +75 -0
- package/hooks/inyeccion-contexto.js +246 -0
- package/hooks/lib/abort-registry.js +214 -0
- package/hooks/lib/agent-backend.js +210 -0
- package/hooks/lib/agent-comms.js +263 -0
- package/hooks/lib/agent-issue-codes.js +284 -0
- package/hooks/lib/agent-matcher.js +189 -0
- package/hooks/lib/async-hook-registry.js +252 -0
- package/hooks/lib/atomic-write.js +130 -0
- package/hooks/lib/auto-consolidator.js +335 -0
- package/hooks/lib/canary-skills.js +187 -0
- package/hooks/lib/consolidation-lock.js +291 -0
- package/hooks/lib/context-builder.js +430 -0
- package/hooks/lib/context-compressor.js +657 -0
- package/hooks/lib/convergence-detector.js +105 -0
- package/hooks/lib/delegation-tracker.js +198 -0
- package/hooks/lib/detectar-package-manager.js +423 -0
- package/hooks/lib/edit-accumulator.js +171 -0
- package/hooks/lib/error-classifier.js +308 -0
- package/hooks/lib/event-bus.js +112 -0
- package/hooks/lib/evolution-tracker.js +442 -0
- package/hooks/lib/execution-state.js +316 -0
- package/hooks/lib/fingerprint-id.js +135 -0
- package/hooks/lib/gateway-notify.js +116 -0
- package/hooks/lib/graph-security.js +75 -0
- package/hooks/lib/guardrail-metrics.js +202 -0
- package/hooks/lib/hook-circuit-breaker.js +206 -0
- package/hooks/lib/loop-detector.js +267 -0
- package/hooks/lib/mcp-health.js +184 -0
- package/hooks/lib/mcp-pool.js +436 -0
- package/hooks/lib/memory-search.js +506 -0
- package/hooks/lib/merkle-audit.js +96 -0
- package/hooks/lib/model-router.js +222 -0
- package/hooks/lib/normalize-error.js +324 -0
- package/hooks/lib/normalize-input.js +65 -0
- package/hooks/lib/nudge-tracker.js +306 -0
- package/hooks/lib/otlp-exporter.js +365 -0
- package/hooks/lib/performance-marks.js +239 -0
- package/hooks/lib/privacy-filter.js +128 -0
- package/hooks/lib/prompt-injection-scanner.js +209 -0
- package/hooks/lib/provenance-tracker.js +183 -0
- package/hooks/lib/rate-limit-tracker.js +253 -0
- package/hooks/lib/reflect-classifier.js +164 -0
- package/hooks/lib/resource-quota.js +122 -0
- package/hooks/lib/retry-jitter.js +165 -0
- package/hooks/lib/risk-engine.js +368 -0
- package/hooks/lib/run-log.js +408 -0
- package/hooks/lib/session-fts.js +379 -0
- package/hooks/lib/session-store.js +293 -0
- package/hooks/lib/singleton-guard.js +159 -0
- package/hooks/lib/skill-auditor.js +588 -0
- package/hooks/lib/sync-status.js +228 -0
- package/hooks/lib/taint-tracker.js +107 -0
- package/hooks/lib/task-service.js +295 -0
- package/hooks/lib/tech-skills-map.js +146 -0
- package/hooks/lib/telegram-cliente.js +159 -0
- package/hooks/lib/telegram-config.js +170 -0
- package/hooks/lib/token-budget.js +156 -0
- package/hooks/lib/token-estimator.js +420 -0
- package/hooks/lib/toon-compressor.js +245 -0
- package/hooks/lib/usage-model.js +183 -0
- package/hooks/lib/variable-resolver.js +230 -0
- package/hooks/linea-estado.js +324 -0
- package/hooks/metricas-evolucion.js +209 -0
- package/hooks/monitor-contexto.js +325 -0
- package/hooks/notificacion-sesion-stop.js +198 -0
- package/hooks/notificacion-telegram-notification.js +4 -0
- package/hooks/notificacion-telegram-subagent.js +4 -0
- package/hooks/notificacion-telegram.js +267 -0
- package/hooks/preservar-estado-pre-compact.js +150 -0
- package/hooks/proteccion-rutas.js +366 -0
- package/hooks/registro-turnos.js +209 -0
- package/hooks/resumen-sesion.js +249 -0
- package/hooks/risk-scoring.js +323 -0
- package/hooks/rotar-audit-auto.js +122 -0
- package/hooks/sugerir-regenerar-inventario.js +170 -0
- package/hooks/telemetria-agentes.js +167 -0
- package/hooks/tracking-costos.js +688 -0
- package/instintos/global.yaml +8 -0
- package/instintos/perfil-usuario.yaml +53 -0
- package/instintos/prompt-appendices.yaml +57 -0
- package/instintos/proyecto.yaml +372 -0
- package/manifiestos/gateway-config.json +77 -0
- package/manifiestos/handoff-context.json +223 -0
- package/manifiestos/hook-profiles.json +44 -0
- package/manifiestos/hooks-config.json +360 -0
- package/manifiestos/modulos.json +1173 -0
- package/manifiestos/perfiles.json +404 -0
- package/package.json +86 -0
- package/plantillas/ESTADO.md +109 -0
- package/plantillas/HOJA-RUTA.md +143 -0
- package/plantillas/PROYECTO.md +122 -0
- package/plantillas/REQUISITOS.md +132 -0
- package/plantillas/auditor-veto-template.md +105 -0
- package/plantillas/github-workflows/README.md +47 -0
- package/plantillas/github-workflows/release-please.yml +44 -0
- package/plantillas/github-workflows/swl-ci.yml +107 -0
- package/plantillas/github-workflows/swl-security.yml +51 -0
- package/plantillas/mcp-mineru.json +13 -0
- package/plantillas/research/ARQUITECTURA.md +220 -0
- package/plantillas/research/FUNCIONALIDADES.md +175 -0
- package/plantillas/research/RESUMEN.md +165 -0
- package/plantillas/research/STACK.md +233 -0
- package/plantillas/research/TRAMPAS.md +299 -0
- package/plantillas/skill-evals-template.json +44 -0
- package/plugin.json +343 -0
- package/reglas/accesibilidad.md +269 -0
- package/reglas/api-diseno.md +400 -0
- package/reglas/arquitectura.md +352 -0
- package/reglas/brevedad-output.md +124 -0
- package/reglas/cloud-infra.md +247 -0
- package/reglas/docs.md +245 -0
- package/reglas/estilo-codigo.md +201 -0
- package/reglas/git-workflow.md +245 -0
- package/reglas/gobernanza.md +271 -0
- package/reglas/harness-claude-code.md +213 -0
- package/reglas/hooks.md +186 -0
- package/reglas/lenguajes/csharp/estilo-codigo.md +231 -0
- package/reglas/lenguajes/csharp/hooks.md +281 -0
- package/reglas/lenguajes/csharp/patrones.md +226 -0
- package/reglas/lenguajes/csharp/seguridad.md +258 -0
- package/reglas/lenguajes/csharp/testing.md +176 -0
- package/reglas/lenguajes/go/estilo-codigo.md +195 -0
- package/reglas/lenguajes/go/hooks.md +249 -0
- package/reglas/lenguajes/go/patrones.md +249 -0
- package/reglas/lenguajes/go/seguridad.md +225 -0
- package/reglas/lenguajes/go/testing.md +272 -0
- package/reglas/lenguajes/java/estilo-codigo.md +217 -0
- package/reglas/lenguajes/java/hooks.md +251 -0
- package/reglas/lenguajes/java/patrones.md +226 -0
- package/reglas/lenguajes/java/seguridad.md +233 -0
- package/reglas/lenguajes/java/testing.md +238 -0
- package/reglas/lenguajes/kotlin/estilo-codigo.md +208 -0
- package/reglas/lenguajes/kotlin/hooks.md +245 -0
- package/reglas/lenguajes/kotlin/patrones.md +201 -0
- package/reglas/lenguajes/kotlin/seguridad.md +202 -0
- package/reglas/lenguajes/kotlin/testing.md +236 -0
- package/reglas/lenguajes/nextjs/estilo-codigo.md +175 -0
- package/reglas/lenguajes/nextjs/hooks.md +186 -0
- package/reglas/lenguajes/nextjs/patrones.md +225 -0
- package/reglas/lenguajes/nextjs/seguridad.md +216 -0
- package/reglas/lenguajes/nextjs/testing.md +193 -0
- package/reglas/lenguajes/php/estilo-codigo.md +228 -0
- package/reglas/lenguajes/php/hooks.md +165 -0
- package/reglas/lenguajes/php/patrones.md +233 -0
- package/reglas/lenguajes/php/seguridad.md +186 -0
- package/reglas/lenguajes/php/testing.md +205 -0
- package/reglas/lenguajes/rust/estilo-codigo.md +207 -0
- package/reglas/lenguajes/rust/hooks.md +240 -0
- package/reglas/lenguajes/rust/patrones.md +250 -0
- package/reglas/lenguajes/rust/seguridad.md +221 -0
- package/reglas/lenguajes/rust/testing.md +194 -0
- package/reglas/lenguajes/swift/estilo-codigo.md +238 -0
- package/reglas/lenguajes/swift/hooks.md +257 -0
- package/reglas/lenguajes/swift/patrones.md +235 -0
- package/reglas/lenguajes/swift/seguridad.md +248 -0
- package/reglas/lenguajes/swift/testing.md +242 -0
- package/reglas/markitdown.md +60 -0
- package/reglas/memoria-consolidada.md +209 -0
- package/reglas/patrones.md +225 -0
- package/reglas/performance.md +195 -0
- package/reglas/pruebas.md +159 -0
- package/reglas/seguridad-agentes.md +351 -0
- package/reglas/seguridad.md +151 -0
- package/reglas/skills-estandar.md +373 -0
- package/reglas/testing.md +193 -0
- package/schemas/agent-contract.json +176 -0
- package/schemas/agent-frontmatter.schema.json +149 -0
- package/schemas/agent-message.schema.json +53 -0
- package/schemas/agent-output-implementacion.schema.json +85 -0
- package/schemas/agent-output-planificacion.schema.json +113 -0
- package/schemas/agent-output-review.schema.json +78 -0
- package/schemas/diary-entry.schema.json +80 -0
- package/schemas/hook-profiles.schema.json +39 -0
- package/schemas/hooks-config.schema.json +74 -0
- package/schemas/instinct.schema.json +115 -0
- package/schemas/modulos.schema.json +29 -0
- package/schemas/perfiles.schema.json +28 -0
- package/schemas/plugin.schema.json +64 -0
- package/schemas/skill-evals.schema.json +95 -0
- package/schemas/skill-frontmatter.schema.json +170 -0
- package/scripts/actualizar.js +145 -0
- package/scripts/audit-skills.sh +78 -0
- package/scripts/auditar-agentes-gaps.js +149 -0
- package/scripts/auditar-cobertura-frameworks.js +241 -0
- package/scripts/auditar-skills-gaps.js +206 -0
- package/scripts/bootstrap-instintos.js +259 -0
- package/scripts/check-update.js +109 -0
- package/scripts/comandos/agents.js +105 -0
- package/scripts/comandos/info.js +108 -0
- package/scripts/comandos/install-asistido.js +186 -0
- package/scripts/comandos/skills.js +211 -0
- package/scripts/configurar-branch-protection.js +418 -0
- package/scripts/daemon-swl.py +388 -0
- package/scripts/desinstalar.js +130 -0
- package/scripts/doctor.js +559 -0
- package/scripts/field-report.js +199 -0
- package/scripts/generar-inventario.js +317 -0
- package/scripts/inbox-tmux-inject.js +161 -0
- package/scripts/inferir-herramientas-permitidas.js +586 -0
- package/scripts/inicializar.js +133 -0
- package/scripts/instalador.js +1031 -0
- package/scripts/instalar-git-hook.js +122 -0
- package/scripts/lib/agp-frontmatter.js +222 -0
- package/scripts/lib/append-con-marcadores.js +199 -0
- package/scripts/lib/artefactos-python.js +43 -0
- package/scripts/lib/audit-query.js +221 -0
- package/scripts/lib/autostart-linux.js +347 -0
- package/scripts/lib/autostart-macos.js +360 -0
- package/scripts/lib/autostart-windows.js +307 -0
- package/scripts/lib/budget-enforcer.js +252 -0
- package/scripts/lib/claude-sessions.js +285 -0
- package/scripts/lib/configurar-ci.js +380 -0
- package/scripts/lib/console-span-exporter.js +92 -0
- package/scripts/lib/contadores-inventario.js +217 -0
- package/scripts/lib/dashboard-widgets.js +290 -0
- package/scripts/lib/detectar-runtime.js +279 -0
- package/scripts/lib/detectar-stack.js +187 -0
- package/scripts/lib/diary-entry.js +234 -0
- package/scripts/lib/drift-detector.js +545 -0
- package/scripts/lib/estado.js +124 -0
- package/scripts/lib/gestor-componentes.js +243 -0
- package/scripts/lib/gitignore-manifest.js +305 -0
- package/scripts/lib/graph-analyze.py +556 -0
- package/scripts/lib/graph-builder.py +485 -0
- package/scripts/lib/graph-cluster.py +259 -0
- package/scripts/lib/health-row.js +168 -0
- package/scripts/lib/hooks-settings.js +789 -0
- package/scripts/lib/manifiestos.js +138 -0
- package/scripts/lib/mc-client.js +137 -0
- package/scripts/lib/notificaciones-telegram.js +1107 -0
- package/scripts/lib/npm-version.js +261 -0
- package/scripts/lib/paquetes-conocidos.js +50 -0
- package/scripts/lib/preservar-usuario.js +586 -0
- package/scripts/lib/prompt-builder.js +264 -0
- package/scripts/lib/resolver-externo.js +332 -0
- package/scripts/lib/schedule-parser.js +305 -0
- package/scripts/lib/scoring-instintos.js +240 -0
- package/scripts/lib/seguridad.js +160 -0
- package/scripts/lib/selector-interactivo.js +152 -0
- package/scripts/lib/semantic-search.js +242 -0
- package/scripts/lib/skill-discovery.js +234 -0
- package/scripts/lib/skill-metrics.js +246 -0
- package/scripts/lib/skill-normalizer.js +112 -0
- package/scripts/lib/skills-hub.js +340 -0
- package/scripts/lib/span-schema.js +134 -0
- package/scripts/lib/tool-cost-analyzer.js +255 -0
- package/scripts/lib/tracing-processor-interface.js +286 -0
- package/scripts/lib/transformadores/base.js +80 -0
- package/scripts/lib/transformadores/claude.js +124 -0
- package/scripts/lib/transformadores/codex.js +115 -0
- package/scripts/lib/transformadores/copilot.js +106 -0
- package/scripts/lib/transformadores/gemini.js +74 -0
- package/scripts/lib/transformadores/index.js +35 -0
- package/scripts/lib/transformadores/opencode.js +75 -0
- package/scripts/lib/ui.js +259 -0
- package/scripts/limpiar-artefactos-python.js +131 -0
- package/scripts/mcp-orchestrator.py +386 -0
- package/scripts/mcp-pool-manager.py +352 -0
- package/scripts/mcp-telemetry.py +378 -0
- package/scripts/poblar-evolvable.js +226 -0
- package/scripts/publicar.js +287 -0
- package/scripts/reflect-skills.js +403 -0
- package/scripts/rotar-audit-logs.js +185 -0
- package/scripts/run-skill-evals.js +242 -0
- package/scripts/smoke-test.js +374 -0
- package/scripts/token-analysis.py +471 -0
- package/scripts/validar-manifest.js +195 -0
- package/scripts/validar-memoria.js +321 -0
- package/scripts/validar-tests-aislamiento.js +184 -0
- package/scripts/validar-tokens-test.js +208 -0
- package/scripts/validar.js +147 -0
- package/scripts/validate-markdown.py +339 -0
- package/scripts/validate-skills.py +385 -0
- package/scripts/vendor/claude-usage/README.md +116 -0
- package/scripts/vendor/claude-usage/cli.py +334 -0
- package/scripts/vendor/claude-usage/dashboard.py +795 -0
- package/scripts/vendor/claude-usage/scanner.py +467 -0
- package/scripts/vendor/markitdown/cli.py +194 -0
- package/scripts/verificar-evolucion.js +289 -0
- package/scripts/verificar-release.js +494 -0
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: swl:metricas
|
|
3
|
+
description: Muestra métricas acumuladas de la sesión de trabajo actual: tokens consumidos, costo estimado en USD, tool calls y distribución por herramienta. Cargar cuando el usuario quiera ver el consumo de la sesión, verificar el presupuesto o entender qué herramientas dominan el costo.
|
|
4
|
+
allowed_tools: ["Read", "Write", "Bash", "Glob", "Grep"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /swl:metricas — Métricas de la sesión actual
|
|
8
|
+
|
|
9
|
+
Muestra las métricas acumuladas de la sesión de trabajo actual: tokens,
|
|
10
|
+
costo estimado, herramientas más usadas y estado del presupuesto configurado.
|
|
11
|
+
|
|
12
|
+
## Cuándo usar
|
|
13
|
+
|
|
14
|
+
- Para saber cuánto se ha consumido en la sesión antes de continuar
|
|
15
|
+
- Para identificar qué operaciones generan más costo
|
|
16
|
+
- Para verificar si se está cerca del límite de presupuesto
|
|
17
|
+
- Al final de una sesión para registrar el consumo real
|
|
18
|
+
|
|
19
|
+
## Subcomandos
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
/swl:metricas — Resumen de métricas de la sesión
|
|
23
|
+
/swl:metricas detalle — Desglose completo por herramienta y timeline
|
|
24
|
+
/swl:metricas historico — Abre el dashboard histórico multi-sesión (alias de /swl:dashboard)
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Paso 1 — Leer fuentes de datos disponibles
|
|
30
|
+
|
|
31
|
+
### Fuente 1: archivo de métricas de sesión
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# Bridge de tracking generado por el hook de costos
|
|
35
|
+
ls /tmp/swl-costs-*.json 2>/dev/null | sort -t- -k3 -n | tail -1
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Si existe, leerlo. Contiene el acumulado de tool calls, tokens y costos de la sesión.
|
|
39
|
+
|
|
40
|
+
### Fuente 2: métricas persistidas del proyecto
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
cat .planning/METRICAS.md 2>/dev/null || echo "(sin métricas previas guardadas)"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Fuente 3: configuración de presupuesto
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
cat manifiestos/hooks-config.json | python3 -c "
|
|
50
|
+
import json, sys
|
|
51
|
+
cfg = json.load(sys.stdin)
|
|
52
|
+
budget = cfg.get('costBudget', {})
|
|
53
|
+
print('maxUsd:', budget.get('maxUsd', 'no configurado'))
|
|
54
|
+
print('maxTokens:', budget.get('maxTokens', 'no configurado'))
|
|
55
|
+
print('alertAt:', budget.get('alertAt', 'no configurado'))
|
|
56
|
+
" 2>/dev/null || echo "(sin presupuesto configurado)"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Paso 2 — Calcular y mostrar resumen
|
|
62
|
+
|
|
63
|
+
Construir el resumen con los datos disponibles. Si no hay bridge activo,
|
|
64
|
+
usar estimaciones basadas en el historial de `.planning/METRICAS.md`.
|
|
65
|
+
|
|
66
|
+
### Formato de resumen
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
╔══════════════════════════════════════════════════════╗
|
|
70
|
+
║ SWL — Métricas de Sesión ║
|
|
71
|
+
╚══════════════════════════════════════════════════════╝
|
|
72
|
+
|
|
73
|
+
Sesión actual
|
|
74
|
+
─────────────────────────────────────────────────────
|
|
75
|
+
Tool calls totales: NNN
|
|
76
|
+
Tokens consumidos: ~NNN,NNN (entrada + salida)
|
|
77
|
+
Costo estimado: ~$N.NNNN USD
|
|
78
|
+
Modelo predominante: claude-sonnet / claude-opus
|
|
79
|
+
Duración estimada: ~N minutos
|
|
80
|
+
|
|
81
|
+
Presupuesto
|
|
82
|
+
─────────────────────────────────────────────────────
|
|
83
|
+
Límite configurado: $N.NN USD / NNN,NNN tokens
|
|
84
|
+
Consumido: NN% [████████░░] N.NN USD
|
|
85
|
+
Estado: OK / ALERTA / EXCEDIDO
|
|
86
|
+
|
|
87
|
+
Top 5 herramientas por costo
|
|
88
|
+
─────────────────────────────────────────────────────
|
|
89
|
+
1. Bash NNN calls ~$N.NNNN
|
|
90
|
+
2. Read NNN calls ~$N.NNNN
|
|
91
|
+
3. Write NNN calls ~$N.NNNN
|
|
92
|
+
4. Grep NNN calls ~$N.NNNN
|
|
93
|
+
5. Edit NNN calls ~$N.NNNN
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Si el estado es ALERTA (>= `alertAt` del presupuesto):
|
|
97
|
+
indicar con mensaje visible y sugerir `/swl:compactar` para reducir contexto.
|
|
98
|
+
|
|
99
|
+
Si el estado es EXCEDIDO:
|
|
100
|
+
indicar claramente y recomendar revisar la configuración en `manifiestos/hooks-config.json`.
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Paso 3 (detalle) — Desglose completo
|
|
105
|
+
|
|
106
|
+
Solo si se invocó `/swl:metricas detalle`:
|
|
107
|
+
|
|
108
|
+
### Tabla completa por herramienta
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
Herramienta Calls Tokens entrada Tokens salida Costo USD
|
|
112
|
+
─────────────────────────────────────────────────────────────────────
|
|
113
|
+
Bash NNN NNN,NNN NNN,NNN $N.NNNN
|
|
114
|
+
Read NNN NNN,NNN NNN,NNN $N.NNNN
|
|
115
|
+
Write NNN NNN,NNN NNN,NNN $N.NNNN
|
|
116
|
+
Edit NNN NNN,NNN NNN,NNN $N.NNNN
|
|
117
|
+
Grep NNN NNN,NNN NNN,NNN $N.NNNN
|
|
118
|
+
Glob NNN NNN,NNN NNN,NNN $N.NNNN
|
|
119
|
+
Agent NNN NNN,NNN NNN,NNN $N.NNNN
|
|
120
|
+
Skill NNN NNN,NNN NNN,NNN $N.NNNN
|
|
121
|
+
─────────────────────────────────────────────────────────────────────
|
|
122
|
+
TOTAL NNN NNN,NNN NNN,NNN $N.NNNN
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Comparativa histórica (si existe usage.db)
|
|
126
|
+
|
|
127
|
+
Ejecutar el siguiente script Python para comparar la sesión actual contra el promedio
|
|
128
|
+
histórico de los últimos 30 días almacenado en `~/.claude/usage.db`:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
python3 - << 'EOF'
|
|
132
|
+
import sqlite3, json, os
|
|
133
|
+
from pathlib import Path
|
|
134
|
+
from datetime import datetime, timedelta, timezone
|
|
135
|
+
|
|
136
|
+
db = Path.home() / ".claude" / "usage.db"
|
|
137
|
+
if not db.exists():
|
|
138
|
+
print("(sin base de datos histórica — ejecuta /swl:dashboard primero para generarla)")
|
|
139
|
+
else:
|
|
140
|
+
conn = sqlite3.connect(db)
|
|
141
|
+
conn.row_factory = sqlite3.Row
|
|
142
|
+
ahora = datetime.now(timezone.utc)
|
|
143
|
+
hace30 = (ahora - timedelta(days=30)).isoformat()
|
|
144
|
+
hoy = ahora.strftime("%Y-%m-%d")
|
|
145
|
+
|
|
146
|
+
# Promedio de los últimos 30 días por sesión
|
|
147
|
+
res = conn.execute("""
|
|
148
|
+
SELECT COUNT(DISTINCT session_id) as sesiones,
|
|
149
|
+
ROUND(AVG(input_tokens + output_tokens), 0) as avg_tokens_por_turno,
|
|
150
|
+
SUM(input_tokens + output_tokens) as total_tokens
|
|
151
|
+
FROM turns WHERE timestamp >= ?
|
|
152
|
+
""", (hace30,)).fetchone()
|
|
153
|
+
|
|
154
|
+
# Top 5 agentes SWL históricos
|
|
155
|
+
try:
|
|
156
|
+
agentes = conn.execute("""
|
|
157
|
+
SELECT agent_name, COUNT(*) as n
|
|
158
|
+
FROM turns
|
|
159
|
+
WHERE agent_name IS NOT NULL AND timestamp >= ?
|
|
160
|
+
GROUP BY agent_name ORDER BY n DESC LIMIT 5
|
|
161
|
+
""", (hace30,)).fetchall()
|
|
162
|
+
top_agentes = ", ".join(f"{r['agent_name']}({r['n']})" for r in agentes) or "(sin datos)"
|
|
163
|
+
except Exception:
|
|
164
|
+
top_agentes = "(columna agent_name no disponible — requiere nuevo scan)"
|
|
165
|
+
|
|
166
|
+
# Top 5 skills SWL históricos
|
|
167
|
+
try:
|
|
168
|
+
skills = conn.execute("""
|
|
169
|
+
SELECT skill_name, COUNT(*) as n
|
|
170
|
+
FROM turns
|
|
171
|
+
WHERE skill_name IS NOT NULL AND timestamp >= ?
|
|
172
|
+
GROUP BY skill_name ORDER BY n DESC LIMIT 5
|
|
173
|
+
""", (hace30,)).fetchall()
|
|
174
|
+
top_skills = ", ".join(f"{r['skill_name']}({r['n']})" for r in skills) or "(sin datos)"
|
|
175
|
+
except Exception:
|
|
176
|
+
top_skills = "(columna skill_name no disponible — requiere nuevo scan)"
|
|
177
|
+
|
|
178
|
+
conn.close()
|
|
179
|
+
print(f"\nComparativa histórica (últimos 30 días)")
|
|
180
|
+
print(f"{'─'*52}")
|
|
181
|
+
print(f" Sesiones registradas: {res['sesiones'] or 0}")
|
|
182
|
+
print(f" Total tokens: {(res['total_tokens'] or 0):,}")
|
|
183
|
+
print(f" Avg tokens/turno: {int(res['avg_tokens_por_turno'] or 0):,}")
|
|
184
|
+
print(f" Top agentes SWL: {top_agentes}")
|
|
185
|
+
print(f" Top skills SWL: {top_skills}")
|
|
186
|
+
print(f"\n Para ver gráficas completas: /swl:dashboard")
|
|
187
|
+
EOF
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### Desglose por agente SWL (sesión actual)
|
|
191
|
+
|
|
192
|
+
Leer el bridge `/tmp/swl-costs-*.json` activo y extraer `costePorAgente`:
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
python3 - << 'EOF'
|
|
196
|
+
import json, glob, os
|
|
197
|
+
bridges = sorted(glob.glob(os.path.join(os.environ.get('TMPDIR', '/tmp'), 'swl-costs-*.json')))
|
|
198
|
+
if not bridges:
|
|
199
|
+
print("(sin datos de agentes en esta sesión)")
|
|
200
|
+
else:
|
|
201
|
+
data = json.load(open(bridges[-1]))
|
|
202
|
+
agentes = data.get('costePorAgente', {})
|
|
203
|
+
if not agentes:
|
|
204
|
+
print("(no se invocaron agentes SWL en esta sesión)")
|
|
205
|
+
else:
|
|
206
|
+
total_costo = data.get('costoTotal', 0)
|
|
207
|
+
print(f"\nAgentes SWL — sesión actual")
|
|
208
|
+
print("─" * 68)
|
|
209
|
+
print(f" {'Agente':<35} {'Calls':>6} {'Tokens':>9} {'Costo':>8} {'%':>5}")
|
|
210
|
+
print("─" * 68)
|
|
211
|
+
for nombre, d in sorted(agentes.items(), key=lambda x: -x[1].get('costo', 0)):
|
|
212
|
+
pct = f"{d['costo']/total_costo*100:.1f}%" if total_costo > 0 else "—"
|
|
213
|
+
nombre_c = nombre[:35]
|
|
214
|
+
print(f" {nombre_c:<35} {d.get('llamadas',0):>6} {d.get('tokens',0):>9,} ${d.get('costo',0):>7.4f} {pct:>5}")
|
|
215
|
+
print("─" * 68)
|
|
216
|
+
EOF
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### Timeline de actividad
|
|
220
|
+
|
|
221
|
+
Agrupar las tool calls por bloque de tiempo (5 minutos) y mostrar la distribución
|
|
222
|
+
de actividad a lo largo de la sesión. Útil para identificar picos de consumo
|
|
223
|
+
asociados a tareas específicas.
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## Paso 4 — Persistir en METRICAS.md (opcional)
|
|
228
|
+
|
|
229
|
+
Si el usuario lo solicita o si se detecta fin de sesión (via checkpoint):
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
cat >> .planning/METRICAS.md << 'EOF'
|
|
233
|
+
|
|
234
|
+
## Sesión YYYY-MM-DD HH:MM
|
|
235
|
+
|
|
236
|
+
- Tool calls: NNN
|
|
237
|
+
- Tokens: ~NNN,NNN
|
|
238
|
+
- Costo estimado: ~$N.NNNN USD
|
|
239
|
+
- Modelo: claude-sonnet
|
|
240
|
+
- Duración: ~N min
|
|
241
|
+
- Comando que más consumió: Bash (NN%)
|
|
242
|
+
EOF
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## Subcomando: `historico`
|
|
250
|
+
|
|
251
|
+
Si el usuario invoca `/swl:metricas historico`, redirigir inmediatamente a:
|
|
252
|
+
|
|
253
|
+
```
|
|
254
|
+
Invocar Skill("swl-dashboard") con subcomando "dashboard".
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
Muestra el historial completo multi-sesión con gráficas interactivas en
|
|
258
|
+
http://localhost:8080. Ver `/swl:dashboard` para más detalles.
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## Notas de precisión
|
|
263
|
+
|
|
264
|
+
Los costos son estimaciones basadas en los precios publicados de la API de Anthropic.
|
|
265
|
+
El costo real puede variar según:
|
|
266
|
+
- Modelo efectivamente usado (fallback a haiku en contextos de bajo riesgo)
|
|
267
|
+
- Caché de prompt (reduce costo de tokens de entrada repetidos)
|
|
268
|
+
- Variaciones de precio por región o plan
|
|
269
|
+
|
|
270
|
+
Para costos exactos, consultar el dashboard de Anthropic Console.
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: swl:modelo
|
|
3
|
+
description: Sugiere o consulta el modelo óptimo (haiku/sonnet/opus) para la tarea actual según complejidad detectada. Muestra costo relativo y justificación. Útil antes de delegar a un subagente o antes de iniciar una tarea larga.
|
|
4
|
+
allowed_tools: ["Read", "Bash"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /swl:modelo — Sugerencia de modelo por complejidad de tarea
|
|
8
|
+
|
|
9
|
+
Analiza la descripción de una tarea y sugiere el modelo Claude óptimo según
|
|
10
|
+
su complejidad. No fuerza el modelo — Claude Code lo decide — pero proporciona
|
|
11
|
+
una recomendación fundamentada con costo relativo para que el usuario elija
|
|
12
|
+
conscientemente.
|
|
13
|
+
|
|
14
|
+
## Cuándo usar
|
|
15
|
+
|
|
16
|
+
- Antes de iniciar una tarea larga o costosa para optimizar el uso de tokens
|
|
17
|
+
- Antes de delegar a un subagente y querer indicar qué modelo usar
|
|
18
|
+
- Cuando se tiene duda entre sonnet y opus para una tarea ambigua
|
|
19
|
+
- Como parte del flujo del orquestador al asignar trabajo a agentes especializados
|
|
20
|
+
|
|
21
|
+
## Uso
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
/swl:modelo — Muestra modelo sugerido para el contexto actual
|
|
25
|
+
/swl:modelo "descripción" — Sugiere modelo para la tarea descrita
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Paso 1 — Obtener descripción
|
|
29
|
+
|
|
30
|
+
Si el usuario invocó el comando sin argumentos, inferir la tarea del contexto
|
|
31
|
+
de la conversación activa: último mensaje del usuario, archivos abiertos, o
|
|
32
|
+
el plan activo en `.planning/ESTADO.md`.
|
|
33
|
+
|
|
34
|
+
Si el usuario pasó una descripción entre comillas, usar esa descripción directamente.
|
|
35
|
+
|
|
36
|
+
## Paso 2 — Evaluar complejidad
|
|
37
|
+
|
|
38
|
+
Cargar la lógica de evaluación usando el módulo `hooks/lib/model-router.js`.
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
node -e "
|
|
42
|
+
const { sugerirModelo } = require('./hooks/lib/model-router.js');
|
|
43
|
+
const desc = process.argv[1] || '';
|
|
44
|
+
const result = sugerirModelo(desc);
|
|
45
|
+
console.log(JSON.stringify(result, null, 2));
|
|
46
|
+
" "DESCRIPCIÓN_DE_LA_TAREA"
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Si el script falla (el módulo no existe o hay error de Node), aplicar la
|
|
50
|
+
tabla de routing manualmente (ver Paso 3).
|
|
51
|
+
|
|
52
|
+
## Paso 3 — Tabla de routing manual (fallback)
|
|
53
|
+
|
|
54
|
+
Aplicar este criterio si el script no está disponible:
|
|
55
|
+
|
|
56
|
+
| Condición | Modelo | Complejidad |
|
|
57
|
+
|-----------|--------|-------------|
|
|
58
|
+
| > 20 archivos afectados o > 2 lenguajes | opus | compleja |
|
|
59
|
+
| Descripción contiene: arquitectura, migración, seguridad, performance, diseñar, planificar, debugging profundo, sistema completo | opus | compleja |
|
|
60
|
+
| Descripción contiene: formateo, typo, renombrar, import, lint fix, comment — Y <= 3 archivos | haiku | trivial |
|
|
61
|
+
| Cualquier otro caso | sonnet | estándar |
|
|
62
|
+
|
|
63
|
+
## Paso 4 — Presentar resultado
|
|
64
|
+
|
|
65
|
+
Presentar la sugerencia con este formato exacto:
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
Modelo sugerido: [MODELO] ([costo relativo])
|
|
69
|
+
|
|
70
|
+
Complejidad detectada: [trivial | estándar | compleja]
|
|
71
|
+
Razón: [justificación de una oración]
|
|
72
|
+
|
|
73
|
+
Tabla de routing:
|
|
74
|
+
Trivial → haiku ($) Formateo, typos, lint fixes, imports
|
|
75
|
+
Estándar → sonnet ($$) Implementación, tests, reviews, refactors
|
|
76
|
+
Compleja → opus ($$$) Arquitectura, migraciones, seguridad, sistemas
|
|
77
|
+
|
|
78
|
+
Nota: Esta es una sugerencia. Claude Code usa el modelo configurado en la sesión.
|
|
79
|
+
Para tareas complejas, considera iniciar una sesión nueva con opus activo.
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Tabla de routing completa
|
|
83
|
+
|
|
84
|
+
| Complejidad | Modelo | Costo | Indicadores de detección |
|
|
85
|
+
|-------------|--------|-------|--------------------------|
|
|
86
|
+
| Trivial | haiku | $ | formateo, typo, renombrar, import, lint fix, comment |
|
|
87
|
+
| Estándar | sonnet | $$ | implementar, test, review, refactor, endpoint, componente, fix bug |
|
|
88
|
+
| Compleja | opus | $$$ | arquitectura, migración, seguridad, performance, diseñar, planificar, debugging profundo, sistema completo |
|
|
89
|
+
|
|
90
|
+
**Escalado automático por contexto**:
|
|
91
|
+
- > 20 archivos afectados → opus independiente de los indicadores de texto
|
|
92
|
+
- > 2 lenguajes involucrados → opus independiente de los indicadores de texto
|
|
93
|
+
|
|
94
|
+
## Reglas de comportamiento
|
|
95
|
+
|
|
96
|
+
- NUNCA modificar archivos como parte de este comando — es de solo lectura.
|
|
97
|
+
- Si no hay descripción ni contexto inferable, pedir al usuario una descripción
|
|
98
|
+
de 1 oración antes de evaluar.
|
|
99
|
+
- La sugerencia es informativa. No bloquear ni generar error si el usuario elige
|
|
100
|
+
un modelo distinto al sugerido.
|
|
101
|
+
- Si el usuario pide explicación de la fórmula, explicar pass@k no aplica aquí —
|
|
102
|
+
ese concepto está en `evaluacion-agentes`. Este comando usa heurísticas de texto.
|