@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,312 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: swl:mapear-codebase
|
|
3
|
+
description: Analiza el codebase actual en profundidad. Produce un reporte arquitectónico completo en .planning/research/ARQUITECTURA.md con árbol de directorios, tecnologías detectadas, puntos de entrada, dependencias y deuda técnica observable.
|
|
4
|
+
allowed_tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /swl:mapear-codebase — Análisis arquitectónico del codebase
|
|
8
|
+
|
|
9
|
+
Eres un arquitecto de software senior con visión sistémica. Tu tarea es analizar el codebase existente de forma exhaustiva, sin suponer nada, leyendo el código real. El resultado debe ser un documento que permita a cualquier ingeniero entrar al proyecto sin conocerlo previamente.
|
|
10
|
+
|
|
11
|
+
## Paso 0 — Carga de habilidades
|
|
12
|
+
|
|
13
|
+
Carga la habilidad de análisis antes de comenzar:
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
Skill("mapear-codebase")
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Si no existe en el proyecto, busca alternativas como `Skill("codebase-mapper")` o `Skill("systematic-debugging")`. Documenta qué habilidad cargaste.
|
|
20
|
+
|
|
21
|
+
## Paso 1 — Verificación del entorno
|
|
22
|
+
|
|
23
|
+
1. Confirma el directorio de trabajo actual con `pwd` o equivalente.
|
|
24
|
+
2. Verifica si existe `.planning/` — si no existe, créalo junto con `.planning/research/`.
|
|
25
|
+
3. Lee `CLAUDE.md` si existe — contiene convenciones importantes del proyecto.
|
|
26
|
+
4. Lee `README.md` o `README.rst` si existe — da contexto rápido del proyecto.
|
|
27
|
+
5. Lee `package.json`, `pyproject.toml`, `Cargo.toml`, `go.mod`, `pom.xml`, o cualquier manifiesto de dependencias en la raíz.
|
|
28
|
+
|
|
29
|
+
## Paso 2 — Árbol de directorios
|
|
30
|
+
|
|
31
|
+
Genera el árbol de directorios del proyecto excluyendo:
|
|
32
|
+
- `node_modules/`, `.venv/`, `venv/`, `__pycache__/`, `.git/`
|
|
33
|
+
- `dist/`, `build/`, `target/`, `*.egg-info/`
|
|
34
|
+
- Archivos binarios y de media
|
|
35
|
+
|
|
36
|
+
Usa este comando como base y adapta según el sistema operativo detectado:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
find . -type f -not -path '*/node_modules/*' -not -path '*/.git/*' \
|
|
40
|
+
-not -path '*/__pycache__/*' -not -path '*/.venv/*' \
|
|
41
|
+
| sort | head -300
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Si el proyecto tiene más de 300 archivos, muestra solo directorios hasta 3 niveles de profundidad y lista archivos clave por directorio.
|
|
45
|
+
|
|
46
|
+
## Paso 3 — Detección de tecnologías
|
|
47
|
+
|
|
48
|
+
Detecta y documenta:
|
|
49
|
+
|
|
50
|
+
### Lenguajes de programación
|
|
51
|
+
- Identifica los lenguajes presentes contando extensiones de archivo
|
|
52
|
+
- Determina el lenguaje principal (el que tiene más archivos de código fuente)
|
|
53
|
+
- Detecta versiones especificadas en manifiestos de configuración
|
|
54
|
+
|
|
55
|
+
### Frameworks y librerías principales
|
|
56
|
+
- Backend: FastAPI, Django, Flask, Express, NestJS, Spring, etc.
|
|
57
|
+
- Frontend: Angular, React, Vue, Svelte, etc.
|
|
58
|
+
- ORM/Base de datos: SQLAlchemy, Prisma, TypeORM, Django ORM, etc.
|
|
59
|
+
- Testing: pytest, Jest, Cypress, etc.
|
|
60
|
+
|
|
61
|
+
### Infraestructura y configuración
|
|
62
|
+
- Archivos Docker/docker-compose
|
|
63
|
+
- Archivos de CI/CD (.github/workflows/, .gitlab-ci.yml, etc.)
|
|
64
|
+
- Variables de entorno (.env.example, .env.template)
|
|
65
|
+
- Archivos de configuración de despliegue
|
|
66
|
+
|
|
67
|
+
### Base de datos
|
|
68
|
+
- Tipo de BD (PostgreSQL, MySQL, SQLite, MongoDB, etc.)
|
|
69
|
+
- Archivos de migración (alembic/, migrations/, etc.)
|
|
70
|
+
- Esquemas o modelos existentes
|
|
71
|
+
|
|
72
|
+
### Verificación de tipos de archivo con Magika (opcional)
|
|
73
|
+
|
|
74
|
+
Si `magika` está disponible (`magika --version 2>/dev/null`), ejecutar análisis
|
|
75
|
+
de tipos de archivo para detectar inconsistencias:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# Detectar archivos con extensión incorrecta o sin extensión
|
|
79
|
+
magika -r . --json 2>/dev/null | python3 -c "
|
|
80
|
+
import json, sys
|
|
81
|
+
for line in sys.stdin:
|
|
82
|
+
r = json.loads(line)
|
|
83
|
+
path, label = r.get('path',''), r.get('output',{}).get('label','')
|
|
84
|
+
ext = path.rsplit('.',1)[-1] if '.' in path else ''
|
|
85
|
+
# Reportar discrepancias significativas
|
|
86
|
+
if label == 'python' and ext not in ('py','pyw','pyi'):
|
|
87
|
+
print(f' DISCREPANCIA: {path} → detectado como Python (extensión: .{ext})')
|
|
88
|
+
elif label == 'javascript' and ext not in ('js','mjs','cjs'):
|
|
89
|
+
print(f' DISCREPANCIA: {path} → detectado como JavaScript (extensión: .{ext})')
|
|
90
|
+
" 2>/dev/null || true
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Si Magika no está instalada, omitir este paso silenciosamente y documentar
|
|
94
|
+
en el reporte: "Magika no disponible — detección por extensión solamente."
|
|
95
|
+
|
|
96
|
+
Instalar con: `pip install magika` para habilitar detección avanzada.
|
|
97
|
+
|
|
98
|
+
## Paso 4 — Puntos de entrada
|
|
99
|
+
|
|
100
|
+
Identifica y documenta TODOS los puntos de entrada al sistema:
|
|
101
|
+
|
|
102
|
+
1. **Punto de entrada principal**: el archivo que arranca la aplicación (main.py, index.ts, app.py, server.js, Program.cs, etc.)
|
|
103
|
+
2. **Puntos de entrada de API**: archivos de rutas/routers (búscalos con Grep en patrones como `@router`, `app.get`, `@Controller`, `Route::`, etc.)
|
|
104
|
+
3. **Puntos de entrada de workers/crons**: scripts de tareas programadas
|
|
105
|
+
4. **Puntos de entrada de CLI**: comandos disponibles si hay interfaz de línea de comandos
|
|
106
|
+
5. **Puntos de entrada de tests**: cómo se ejecutan los tests (comando, directorio)
|
|
107
|
+
|
|
108
|
+
Para cada punto de entrada, documenta:
|
|
109
|
+
- Ruta del archivo
|
|
110
|
+
- Propósito
|
|
111
|
+
- Comando para ejecutarlo (si aplica)
|
|
112
|
+
|
|
113
|
+
## Paso 5 — Análisis de módulos y capas
|
|
114
|
+
|
|
115
|
+
Identifica la arquitectura de capas del sistema. Detecta patrones como:
|
|
116
|
+
|
|
117
|
+
- **MVC / MTV**: modelos, vistas, controladores o templates
|
|
118
|
+
- **Hexagonal / Clean Architecture**: dominio, aplicación, infraestructura, interfaz
|
|
119
|
+
- **Feature-based**: módulos agrupados por funcionalidad
|
|
120
|
+
- **Monolito vs microservicios**: si hay múltiples servicios, documentar cómo se comunican
|
|
121
|
+
|
|
122
|
+
Para cada módulo o carpeta de primer nivel relevante:
|
|
123
|
+
- Nombre y propósito
|
|
124
|
+
- Archivos principales que contiene
|
|
125
|
+
- Dependencias con otros módulos (usa Grep para importaciones cruzadas)
|
|
126
|
+
|
|
127
|
+
## Paso 6 — Inventario de dependencias externas
|
|
128
|
+
|
|
129
|
+
Extrae y clasifica las dependencias del manifiesto:
|
|
130
|
+
|
|
131
|
+
| Dependencia | Versión | Categoría | Propósito detectado |
|
|
132
|
+
|-------------|---------|-----------|---------------------|
|
|
133
|
+
| ... | ... | producción/desarrollo/peer | ... |
|
|
134
|
+
|
|
135
|
+
Clasifica en:
|
|
136
|
+
- **Críticas**: sin estas el sistema no arranca
|
|
137
|
+
- **Importantes**: funcionalidades principales
|
|
138
|
+
- **Utilitarias**: helpers, formatters, loggers
|
|
139
|
+
- **Desarrollo**: solo para tests y tooling
|
|
140
|
+
|
|
141
|
+
## Paso 7 — Deuda técnica observable
|
|
142
|
+
|
|
143
|
+
Sin leer cada archivo en detalle, busca señales de deuda técnica usando Grep:
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
# Buscar TODOs y FIXMEs
|
|
147
|
+
Grep(pattern="TODO|FIXME|HACK|XXX|DEPRECATED", output_mode="content")
|
|
148
|
+
|
|
149
|
+
# Buscar dependencias con versión fija pero potencialmente desactualizada
|
|
150
|
+
# Buscar comentarios que sugieren workarounds
|
|
151
|
+
Grep(pattern="workaround|hotfix|temporal|parche", output_mode="content", -i=true)
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
Documenta:
|
|
155
|
+
- Número de TODOs/FIXMEs encontrados
|
|
156
|
+
- Archivos con mayor concentración de deuda
|
|
157
|
+
- Patrones problemáticos observados (sin profundizar)
|
|
158
|
+
|
|
159
|
+
## Paso 8 — Riesgos arquitectónicos rápidos
|
|
160
|
+
|
|
161
|
+
Basándote en lo observado, identifica:
|
|
162
|
+
|
|
163
|
+
1. **Acoplamiento alto**: módulos que importan de muchos otros módulos
|
|
164
|
+
2. **God files**: archivos de más de 500 líneas (usa `find` + `wc -l`)
|
|
165
|
+
3. **Ausencia de tests**: directorios sin archivos de test
|
|
166
|
+
4. **Configuración hardcodeada**: IPs, URLs, credenciales en código fuente
|
|
167
|
+
5. **Dependencias sin lockfile**: package-lock.json, poetry.lock, Pipfile.lock
|
|
168
|
+
|
|
169
|
+
Para detectar archivos grandes:
|
|
170
|
+
```bash
|
|
171
|
+
find . -name "*.py" -o -name "*.ts" -o -name "*.js" | \
|
|
172
|
+
xargs wc -l 2>/dev/null | sort -rn | head -20
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## Paso 9 — Generación del reporte ARQUITECTURA.md
|
|
176
|
+
|
|
177
|
+
Crea o sobreescribe `.planning/research/ARQUITECTURA.md` con la siguiente estructura:
|
|
178
|
+
|
|
179
|
+
```markdown
|
|
180
|
+
# Arquitectura del codebase — [Nombre del proyecto]
|
|
181
|
+
|
|
182
|
+
**Fecha de análisis**: [fecha actual]
|
|
183
|
+
**Analizado por**: swl:mapear-codebase
|
|
184
|
+
**Directorio analizado**: [ruta absoluta]
|
|
185
|
+
|
|
186
|
+
## Resumen ejecutivo
|
|
187
|
+
[3-5 oraciones describiendo el sistema: qué hace, qué tecnologías usa, qué tamaño tiene]
|
|
188
|
+
|
|
189
|
+
## Árbol de directorios
|
|
190
|
+
[árbol generado en Paso 2]
|
|
191
|
+
|
|
192
|
+
## Stack tecnológico
|
|
193
|
+
[tabla de tecnologías detectadas en Paso 3]
|
|
194
|
+
|
|
195
|
+
## Puntos de entrada
|
|
196
|
+
[lista del Paso 4]
|
|
197
|
+
|
|
198
|
+
## Arquitectura de módulos
|
|
199
|
+
[análisis del Paso 5]
|
|
200
|
+
|
|
201
|
+
## Dependencias externas
|
|
202
|
+
[tabla del Paso 6]
|
|
203
|
+
|
|
204
|
+
## Deuda técnica observable
|
|
205
|
+
[hallazgos del Paso 7]
|
|
206
|
+
|
|
207
|
+
## Riesgos arquitectónicos
|
|
208
|
+
[hallazgos del Paso 8]
|
|
209
|
+
|
|
210
|
+
## Recomendaciones inmediatas
|
|
211
|
+
[máximo 5 acciones concretas, ordenadas por impacto]
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
## Paso 10 — Generación de STACK.md
|
|
215
|
+
|
|
216
|
+
Crea o sobreescribe `.planning/research/STACK.md` con la evaluación del stack detectado:
|
|
217
|
+
|
|
218
|
+
```markdown
|
|
219
|
+
# Stack tecnológico — [Nombre del proyecto]
|
|
220
|
+
|
|
221
|
+
**Fecha de análisis**: [fecha actual]
|
|
222
|
+
**Analizado por**: swl:mapear-codebase
|
|
223
|
+
|
|
224
|
+
## Stack detectado
|
|
225
|
+
|
|
226
|
+
| Capa | Tecnología | Versión | Fuente de detección |
|
|
227
|
+
|------|-----------|---------|---------------------|
|
|
228
|
+
| Lenguaje principal | [detectado] | [versión] | [manifiesto] |
|
|
229
|
+
| Framework backend | [detectado] | [versión] | [manifiesto] |
|
|
230
|
+
| Framework frontend | [detectado] | [versión] | [manifiesto] |
|
|
231
|
+
| Base de datos | [detectado] | [versión] | [config/migraciones] |
|
|
232
|
+
| ORM | [detectado] | [versión] | [manifiesto] |
|
|
233
|
+
| Testing | [detectado] | [versión] | [manifiesto] |
|
|
234
|
+
| CI/CD | [detectado] | — | [archivos de config] |
|
|
235
|
+
| Contenedores | [detectado] | — | [Dockerfile/compose] |
|
|
236
|
+
|
|
237
|
+
## Dependencias de producción
|
|
238
|
+
|
|
239
|
+
[Tabla del Paso 6 filtrada a dependencias de producción, ordenadas por criticidad]
|
|
240
|
+
|
|
241
|
+
## Dependencias de desarrollo
|
|
242
|
+
|
|
243
|
+
[Tabla del Paso 6 filtrada a dependencias dev/test]
|
|
244
|
+
|
|
245
|
+
## Observaciones
|
|
246
|
+
|
|
247
|
+
[Notas sobre versiones desactualizadas, incompatibilidades potenciales, o dependencias sin lockfile]
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
## Paso 11 — Generación de TRAMPAS.md
|
|
251
|
+
|
|
252
|
+
Crea o sobreescribe `.planning/research/TRAMPAS.md` con la deuda técnica y anti-patrones encontrados:
|
|
253
|
+
|
|
254
|
+
```markdown
|
|
255
|
+
# Trampas y deuda técnica — [Nombre del proyecto]
|
|
256
|
+
|
|
257
|
+
**Fecha de análisis**: [fecha actual]
|
|
258
|
+
**Analizado por**: swl:mapear-codebase
|
|
259
|
+
|
|
260
|
+
## TODOs y FIXMEs
|
|
261
|
+
|
|
262
|
+
| Archivo | Línea | Tipo | Contenido |
|
|
263
|
+
|---------|-------|------|-----------|
|
|
264
|
+
[Resultados del Paso 7, hasta 50 entradas más relevantes]
|
|
265
|
+
|
|
266
|
+
**Total**: [N] TODOs, [N] FIXMEs, [N] HACKs
|
|
267
|
+
|
|
268
|
+
## Archivos grandes (>500 líneas)
|
|
269
|
+
|
|
270
|
+
| Archivo | Líneas | Riesgo |
|
|
271
|
+
|---------|--------|--------|
|
|
272
|
+
[Resultados del Paso 8, archivos que exceden 500 líneas]
|
|
273
|
+
|
|
274
|
+
## Anti-patrones detectados
|
|
275
|
+
|
|
276
|
+
[Hallazgos del análisis: N+1 queries, eval/exec, credenciales hardcodeadas, imports circulares, etc.]
|
|
277
|
+
|
|
278
|
+
## Dependencias con vulnerabilidades conocidas
|
|
279
|
+
|
|
280
|
+
[Si pip-audit o npm audit están disponibles, ejecutar y reportar. Si no, indicar: "Ejecutar `/swl:auditar-deps` para un análisis completo."]
|
|
281
|
+
|
|
282
|
+
## Recomendaciones priorizadas
|
|
283
|
+
|
|
284
|
+
1. [Acción más urgente — seguridad o estabilidad]
|
|
285
|
+
2. [Segunda acción — deuda técnica de alto impacto]
|
|
286
|
+
3. [Tercera acción — mejoras de mantenibilidad]
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
## Paso 12 — Reporte al usuario
|
|
290
|
+
|
|
291
|
+
Al terminar, reporta en la conversación:
|
|
292
|
+
|
|
293
|
+
1. Archivos generados con rutas absolutas:
|
|
294
|
+
- `.planning/research/ARQUITECTURA.md`
|
|
295
|
+
- `.planning/research/STACK.md`
|
|
296
|
+
- `.planning/research/TRAMPAS.md`
|
|
297
|
+
2. Resumen de 5 puntos clave encontrados
|
|
298
|
+
3. El riesgo más crítico detectado (si hay alguno)
|
|
299
|
+
4. Tiempo estimado de lectura total: "Los reportes suman X líneas — ~Y minutos de lectura"
|
|
300
|
+
5. Próximo paso recomendado:
|
|
301
|
+
- Si el proyecto no tiene `.planning/PROYECTO.md` con datos reales → sugerir `/swl:adoptar-proyecto`
|
|
302
|
+
- Si ya tiene `.planning/` completo → sugerir `/swl:discutir-fase 1`
|
|
303
|
+
|
|
304
|
+
## Reglas de comportamiento
|
|
305
|
+
|
|
306
|
+
- NUNCA modifiques archivos de código fuente durante el análisis — solo lectura.
|
|
307
|
+
- Si un directorio es muy grande (>1000 archivos), muestra estructura y muestreo, no lista completa.
|
|
308
|
+
- Si encuentras credenciales hardcodeadas, documéntalas en el reporte como riesgo CRÍTICO sin mostrar los valores en la conversación.
|
|
309
|
+
- Los reportes deben ser útiles para alguien que nunca vio el proyecto.
|
|
310
|
+
- Si el codebase está vacío o tiene menos de 5 archivos, documenta eso claramente y sugiere `/swl:nuevo-proyecto`.
|
|
311
|
+
- Todos los archivos generados van en `.planning/research/` para no contaminar el código fuente.
|
|
312
|
+
- Si `.planning/research/` no existe, crearlo antes de escribir.
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: swl:mcp-status
|
|
3
|
+
description: >
|
|
4
|
+
Health check de servidores MCP, descubrimiento dinamico de herramientas y
|
|
5
|
+
gestion de conexiones MCP configuradas en swl-ses.
|
|
6
|
+
version: 1.0.0
|
|
7
|
+
tipo: comando
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# /swl:mcp-status — Estado y descubrimiento MCP
|
|
11
|
+
|
|
12
|
+
Reporta el estado de todos los servidores MCP configurados en `.claude/settings.json`,
|
|
13
|
+
lista sus herramientas disponibles y guarda un snapshot para referencia futura.
|
|
14
|
+
|
|
15
|
+
## Subcomandos disponibles
|
|
16
|
+
|
|
17
|
+
### Status (health check)
|
|
18
|
+
|
|
19
|
+
Muestra si cada servidor responde correctamente y cuantas herramientas expone:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
python scripts/mcp-orchestrator.py status
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Salida esperada:
|
|
26
|
+
```
|
|
27
|
+
Estado de servidores MCP:
|
|
28
|
+
--------------------------------------------------------------------
|
|
29
|
+
code-review-graph OK 5 tools 1203ms [stdio]
|
|
30
|
+
|
|
31
|
+
Total: 1 servidores, 1 activos, 5 herramientas disponibles
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Con traza registrada en `.planning/traces/`:
|
|
35
|
+
```bash
|
|
36
|
+
python scripts/mcp-orchestrator.py status --trace
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Discover (inventario completo)
|
|
40
|
+
|
|
41
|
+
Lista todas las herramientas de todos los servidores con sus descripciones:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
python scripts/mcp-orchestrator.py discover
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Para un servidor especifico (via pool-manager):
|
|
48
|
+
```bash
|
|
49
|
+
python scripts/mcp-pool-manager.py list-tools code-review-graph
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Find-tool (busqueda de herramientas)
|
|
53
|
+
|
|
54
|
+
Busca herramientas por nombre o descripcion en todos los servidores activos:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
python scripts/mcp-orchestrator.py find-tool "review"
|
|
58
|
+
python scripts/mcp-orchestrator.py find-tool "blast radius"
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Summary (ultimo snapshot sin reconectar)
|
|
62
|
+
|
|
63
|
+
Muestra el ultimo estado guardado sin iniciar conexiones nuevas:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
python scripts/mcp-orchestrator.py summary
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Util en contextos donde no se quiere esperar la reconexion.
|
|
70
|
+
|
|
71
|
+
### Ping
|
|
72
|
+
|
|
73
|
+
Verifica conectividad y tiempo de respuesta de un servidor especifico:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
python scripts/mcp-pool-manager.py ping
|
|
77
|
+
python scripts/mcp-pool-manager.py ping code-review-graph
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Call-tool (llamada directa a herramienta)
|
|
81
|
+
|
|
82
|
+
Llama una herramienta MCP directamente desde CLI para pruebas:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
python scripts/mcp-pool-manager.py call-tool code-review-graph <herramienta> '{"arg": "valor"}'
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Salida JSON
|
|
89
|
+
|
|
90
|
+
Todos los subcomandos aceptan `--json` para salida estructurada:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
python scripts/mcp-orchestrator.py status --json
|
|
94
|
+
python scripts/mcp-orchestrator.py discover --json | python -m json.tool
|
|
95
|
+
python scripts/mcp-pool-manager.py list-tools --json
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## Trazabilidad
|
|
99
|
+
|
|
100
|
+
Las llamadas MCP pueden instrumentarse con `mcp-telemetry.py`:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# Ver trazas de hoy
|
|
104
|
+
python scripts/mcp-telemetry.py report
|
|
105
|
+
|
|
106
|
+
# Estadisticas de los ultimos 7 dias por servidor/herramienta
|
|
107
|
+
python scripts/mcp-telemetry.py stats --days 7
|
|
108
|
+
|
|
109
|
+
# Salida JSON para procesamiento
|
|
110
|
+
python scripts/mcp-telemetry.py stats --json
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Las trazas se guardan en formato OTLP-lite en `.planning/traces/mcp-YYYY-MM-DD.jsonl`,
|
|
114
|
+
compatible con el sistema de trazabilidad de `telemetria-agentes.js`.
|
|
115
|
+
|
|
116
|
+
## Uso desde otro script (importacion)
|
|
117
|
+
|
|
118
|
+
`mcp-telemetry.py` expone `MCPTelemetrySession` para instrumentar sesiones MCP
|
|
119
|
+
desde otros scripts de swl-ses:
|
|
120
|
+
|
|
121
|
+
```python
|
|
122
|
+
import sys
|
|
123
|
+
sys.path.insert(0, 'scripts')
|
|
124
|
+
from mcp_telemetry import MCPTelemetrySession
|
|
125
|
+
from pathlib import Path
|
|
126
|
+
|
|
127
|
+
cwd = Path('.')
|
|
128
|
+
server_cfg = {'command': 'python', 'args': ['-m', 'mi_server']}
|
|
129
|
+
|
|
130
|
+
async def ejemplo():
|
|
131
|
+
async with MCPTelemetrySession(cwd, 'mi-server', server_cfg) as sess:
|
|
132
|
+
tools = await sess.list_tools()
|
|
133
|
+
result = await sess.call_tool('mi_herramienta', {'arg': 'valor'})
|
|
134
|
+
# La traza se registra automaticamente en .planning/traces/
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Archivos del modulo mcp-swl
|
|
138
|
+
|
|
139
|
+
| Archivo | Proposito |
|
|
140
|
+
|---------|-----------|
|
|
141
|
+
| `scripts/mcp-pool-manager.py` | Gestor de conexiones — CLI para list-servers, list-tools, ping, call-tool |
|
|
142
|
+
| `scripts/mcp-telemetry.py` | Trazabilidad OTLP-lite — registra y reporta llamadas MCP |
|
|
143
|
+
| `scripts/mcp-orchestrator.py` | Orquestador multi-servidor — status, discover, find-tool, summary |
|
|
144
|
+
| `comandos/swl/mcp-status.md` | Esta documentacion |
|
|
145
|
+
|
|
146
|
+
## Configuracion de servidores MCP
|
|
147
|
+
|
|
148
|
+
Los servidores se leen de la clave `mcpServers` en:
|
|
149
|
+
1. `.claude/settings.local.json` (maxima prioridad, no versionado)
|
|
150
|
+
2. `.claude/settings.json` (proyecto, versionado)
|
|
151
|
+
3. `mcp-servers.json` (alternativa independiente)
|
|
152
|
+
|
|
153
|
+
Formato de configuracion:
|
|
154
|
+
```json
|
|
155
|
+
{
|
|
156
|
+
"mcpServers": {
|
|
157
|
+
"mi-server": {
|
|
158
|
+
"command": "npx",
|
|
159
|
+
"args": ["-y", "@mcp/mi-server"],
|
|
160
|
+
"env": { "MI_VAR": "valor" }
|
|
161
|
+
},
|
|
162
|
+
"server-http": {
|
|
163
|
+
"url": "http://localhost:8931/sse"
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## Cuando usar este comando
|
|
170
|
+
|
|
171
|
+
- Al iniciar una sesion de trabajo: verificar que los servers MCP esten activos
|
|
172
|
+
- Antes de `/swl:revisar-impacto`: validar que `code-review-graph` responde
|
|
173
|
+
- Al agregar un nuevo MCP server: descubrir sus herramientas con `discover`
|
|
174
|
+
- En debugging: llamar herramientas directamente con `call-tool`
|
|
175
|
+
- En reporting: generar snapshots para documentacion o metricas
|