@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,116 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: swl:inbox
|
|
3
|
+
description: Lee y procesa comandos entrantes del gateway multi-plataforma (Telegram, Discord, Webhook). Muestra mensajes pendientes encolados por el CommandRelay y permite ejecutarlos, descartarlos o diferirlos. Es el consumer del relay bidireccional que conecta canales externos con Claude Code.
|
|
4
|
+
allowed_tools: ["Read", "Write", "Edit", "Bash", "Grep", "Glob"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /swl:inbox — Consumo de comandos entrantes del gateway
|
|
8
|
+
|
|
9
|
+
Cuando el gateway SWL está configurado con `relay.enabled: true` (ver `/swl:gateway`), los mensajes que envías al bot de Telegram (o cualquier otro adaptador con relay habilitado) se encolan en `.planning/inbox/cmd-*.json`. Este comando es el consumer: lee la cola, te muestra los mensajes pendientes y te pregunta qué hacer con cada uno.
|
|
10
|
+
|
|
11
|
+
## Cuándo usar este comando
|
|
12
|
+
|
|
13
|
+
- Al inicio de una sesión, si esperas instrucciones enviadas desde tu móvil
|
|
14
|
+
- Cuando el hook `notificacion-sesion-stop` te envió una notificación desde otro sitio y respondiste desde el celular
|
|
15
|
+
- En lugar de pedirle a alguien que controle tu máquina para avanzar una tarea mientras estás fuera
|
|
16
|
+
|
|
17
|
+
## Cuándo NO usar
|
|
18
|
+
|
|
19
|
+
- Para notificaciones de salida (SWL → Telegram) → eso lo hace automáticamente `notificacion-sesion-stop.js`
|
|
20
|
+
- Para automatizar respuestas en tmux (Linux/macOS) → usar `scripts/inbox-tmux-inject.js` como daemon opt-in
|
|
21
|
+
- Para buscar en el historial de mensajes recibidos → revisar `.planning/inbox/audit.jsonl` directamente
|
|
22
|
+
|
|
23
|
+
## Flujo
|
|
24
|
+
|
|
25
|
+
### Paso 1 — Listar pendientes
|
|
26
|
+
|
|
27
|
+
Ejecutar en Bash:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
node -e "const R = require('./gateway/command-relay'); const fs = require('fs'); const cfg = JSON.parse(fs.readFileSync('manifiestos/gateway-config.json','utf8')); const r = new R(process.cwd(), cfg); const items = r.listarPendientes({ limit: 20 }); console.log(JSON.stringify(items, null, 2));"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
O directamente leer el directorio:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
ls -la .planning/inbox/cmd-*.json 2>/dev/null
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Paso 2 — Clasificar cada comando pendiente
|
|
40
|
+
|
|
41
|
+
Por cada comando en la cola, decidir:
|
|
42
|
+
|
|
43
|
+
| Tipo de contenido | Acción |
|
|
44
|
+
|-------------------|--------|
|
|
45
|
+
| Instrucción de trabajo clara ("arregla el bug X", "ejecuta pruebas") | Procesar como prompt del usuario. Ejecutar la tarea siguiendo el flujo normal SWL. |
|
|
46
|
+
| Slash command (`/swl:salud`, `/swl:metricas`, etc.) | Invocar ese comando directamente. |
|
|
47
|
+
| Pregunta/consulta ("¿cómo va X?", "estado del release") | Responder con la información solicitada. Enviar respuesta al gateway si aplica. |
|
|
48
|
+
| Feedback/corrección ("no uses Y", "prefiero Z") | Escribir a `.planning/evolucion/feedback-queue.jsonl` con tipo correspondiente y marcar como procesado. |
|
|
49
|
+
| Contenido ambiguo o sospechoso | Marcar como descartado con razón registrada. |
|
|
50
|
+
|
|
51
|
+
### Paso 3 — Procesar y marcar
|
|
52
|
+
|
|
53
|
+
Para cada comando procesado, marcarlo como `processed` escribiendo el resultado:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
node -e "const R = require('./gateway/command-relay'); const fs = require('fs'); const cfg = JSON.parse(fs.readFileSync('manifiestos/gateway-config.json','utf8')); const r = new R(process.cwd(), cfg); r.marcarProcesado('<cmd-id>', { accion: 'ejecutado', resumen: '<breve resumen>' });"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Paso 4 — Notificar de vuelta al usuario (opcional)
|
|
60
|
+
|
|
61
|
+
Si el comando merece respuesta al canal origen (Telegram, Discord), encolar un `gateway_notification`:
|
|
62
|
+
|
|
63
|
+
```javascript
|
|
64
|
+
const { notificarGateway } = require('./hooks/lib/gateway-notify');
|
|
65
|
+
notificarGateway({
|
|
66
|
+
tipo: 'custom',
|
|
67
|
+
texto: '✅ Comando procesado: <resumen>',
|
|
68
|
+
to: 'telegram', // o el adaptador de donde vino
|
|
69
|
+
payload: { replyTo: '<chatId>' }
|
|
70
|
+
});
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Paso 5 — Auditar
|
|
74
|
+
|
|
75
|
+
Todas las acciones del relay quedan en `.planning/inbox/audit.jsonl`. Si hay actividad inesperada (rechazos por rate limit, usuarios no autorizados), revisar el audit log para detectar abuso o misconfiguraciones.
|
|
76
|
+
|
|
77
|
+
## Seguridad
|
|
78
|
+
|
|
79
|
+
- El relay NUNCA ejecuta comandos automáticamente. Todo pasa por este comando con juicio humano.
|
|
80
|
+
- Solo usuarios listados en `platforms.<nombre>.allowedUsers` pueden enviar comandos.
|
|
81
|
+
- Textos > 4000 chars se rechazan.
|
|
82
|
+
- Patrones de payload injection (`<script>`, `.env`, `id_rsa`) se rechazan silenciosamente.
|
|
83
|
+
- Rate limit: 10 msg/min por usuario por defecto (configurable en `relay.rateLimit.maxPerMinute`).
|
|
84
|
+
- Dedup por hash en ventana de 30s.
|
|
85
|
+
|
|
86
|
+
## Modo avanzado: inyección directa a tmux (Linux/macOS)
|
|
87
|
+
|
|
88
|
+
Si tu sesión de Claude Code corre dentro de `tmux`, puedes usar el daemon opt-in:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# Correr en una terminal separada
|
|
92
|
+
node scripts/inbox-tmux-inject.js --session claude --poll 2
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Ese daemon monitorea `.planning/inbox/` y usa `tmux send-keys` para inyectar el comando a la sesión Claude. No funciona en Windows (no hay tmux).
|
|
96
|
+
|
|
97
|
+
## Configuración
|
|
98
|
+
|
|
99
|
+
Ver `manifiestos/gateway-config.json`:
|
|
100
|
+
|
|
101
|
+
```json
|
|
102
|
+
{
|
|
103
|
+
"enabled": true,
|
|
104
|
+
"adapters": { "telegram": { "enabled": true, "token": "..." } },
|
|
105
|
+
"relay": {
|
|
106
|
+
"enabled": true,
|
|
107
|
+
"platforms": {
|
|
108
|
+
"telegram": {
|
|
109
|
+
"enabled": true,
|
|
110
|
+
"allowedUsers": ["123456789"]
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
"rateLimit": { "maxPerMinute": 10 }
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
```
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: swl:instalar
|
|
3
|
+
description: Instala o actualiza el sistema SWL en el proyecto actual desde dentro de Claude Code. Pregunta interactivamente al usuario el perfil y la ubicación (local/global) antes de ejecutar. Ejecuta init + install + doctor automáticamente.
|
|
4
|
+
allowed_tools: ["Read", "Bash", "Glob"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /swl:instalar — Instalar sistema SWL desde Claude Code
|
|
8
|
+
|
|
9
|
+
Eres el instalador del sistema SWL dentro de Claude Code. Tu misión es ejecutar la instalación completa del sistema de ingeniería de software, de forma que todos los agentes, skills, comandos, reglas y hooks queden operativos.
|
|
10
|
+
|
|
11
|
+
**IMPORTANTE**: Este comando es INTERACTIVO. Debes consultar al usuario antes de proceder con la instalación. No asumas valores por defecto silenciosamente.
|
|
12
|
+
|
|
13
|
+
## Paso 0 — Verificación de prerrequisitos
|
|
14
|
+
|
|
15
|
+
Antes de preguntar nada al usuario, verifica silenciosamente:
|
|
16
|
+
|
|
17
|
+
1. Node.js >= 18:
|
|
18
|
+
```bash
|
|
19
|
+
node --version
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
2. npx disponible:
|
|
23
|
+
```bash
|
|
24
|
+
npx --version
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
3. Registry de GitHub Packages configurado:
|
|
28
|
+
```bash
|
|
29
|
+
npm config get @saul-wade:registry
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Si Node.js < 18 o npx no existe, DETENTE y dile al usuario qué instalar.
|
|
33
|
+
|
|
34
|
+
Si el registry no está configurado, informa al usuario:
|
|
35
|
+
- "Para instalar SWL necesitas configurar el registry de GitHub Packages. Ejecuta en tu terminal:"
|
|
36
|
+
- `npm config set @saul-wade:registry https://npm.pkg.github.com`
|
|
37
|
+
- "Y asegúrate de tener un token de acceso configurado en ~/.npmrc"
|
|
38
|
+
- DETENTE hasta que el usuario confirme que lo configuró.
|
|
39
|
+
|
|
40
|
+
## Paso 1 — Detectar estado actual
|
|
41
|
+
|
|
42
|
+
Verifica si SWL ya está instalado:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
cat .claude/.swl-install-state.json 2>/dev/null
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Si ya existe una instalación, informa:
|
|
49
|
+
- "SWL ya está instalado con perfil **X** (versión Y)."
|
|
50
|
+
- Pregunta: "¿Deseas **actualizar** a la última versión (mismo perfil), **cambiar de perfil**, o **cancelar**?"
|
|
51
|
+
- Si actualiza: usa el mismo perfil con `--force`
|
|
52
|
+
- Si cambia perfil: continúa al Paso 2 para elegir nuevo perfil
|
|
53
|
+
|
|
54
|
+
Si NO existe instalación, continúa al Paso 2.
|
|
55
|
+
|
|
56
|
+
## Paso 2 — Preguntar ubicación de instalación
|
|
57
|
+
|
|
58
|
+
Pregunta al usuario dónde quiere instalar. Presenta las dos opciones con explicación clara:
|
|
59
|
+
|
|
60
|
+
**Pregunta**: "¿Dónde quieres instalar SWL?"
|
|
61
|
+
|
|
62
|
+
- **Local (este proyecto)** — Instala en `.claude/` del proyecto actual. Cada proyecto puede tener su propio perfil y configuración. Los hooks y reglas solo aplican a este proyecto. **Recomendado para la mayoría de casos.**
|
|
63
|
+
|
|
64
|
+
- **Global (todos los proyectos)** — Instala en `~/.claude/` (directorio home). SWL estará disponible en todos los proyectos donde uses Claude Code. Los hooks y reglas se aplican globalmente. **Recomendado solo si usas SWL en todos tus proyectos.**
|
|
65
|
+
|
|
66
|
+
Espera la respuesta del usuario antes de continuar.
|
|
67
|
+
|
|
68
|
+
## Paso 3 — Preguntar perfil de instalación
|
|
69
|
+
|
|
70
|
+
Si el usuario no especificó perfil en los argumentos del comando, pregunta qué perfil quiere.
|
|
71
|
+
|
|
72
|
+
**Pregunta**: "¿Qué perfil de SWL quieres instalar?"
|
|
73
|
+
|
|
74
|
+
Presenta los perfiles organizados por caso de uso:
|
|
75
|
+
|
|
76
|
+
**Mínimo**:
|
|
77
|
+
- `core` — Orquestador + agentes base + reglas + comandos esenciales (50 archivos)
|
|
78
|
+
|
|
79
|
+
**Backend**:
|
|
80
|
+
- `backend-python` — Core + Python, FastAPI, Django, APIs, datos (75 archivos)
|
|
81
|
+
- `backend-node` — Core + Node.js, TypeScript, APIs (70 archivos)
|
|
82
|
+
|
|
83
|
+
**Frontend**:
|
|
84
|
+
- `frontend-react` — Core + React, Next.js, CSS, UX (72 archivos)
|
|
85
|
+
- `frontend-angular` — Core + Angular, CSS, UX (72 archivos)
|
|
86
|
+
|
|
87
|
+
**Fullstack**:
|
|
88
|
+
- `fullstack-python-angular` — Backend Python + Frontend Angular (100 archivos)
|
|
89
|
+
- `fullstack-node-react` — Backend Node + Frontend React (100 archivos)
|
|
90
|
+
|
|
91
|
+
**Especializado**:
|
|
92
|
+
- `mobile` — Core + Android, iOS, React Native, Flutter (65 archivos)
|
|
93
|
+
- `devops` — Core + infra, cloud, CI/CD, seguridad (78 archivos)
|
|
94
|
+
|
|
95
|
+
**Completo**:
|
|
96
|
+
- `completo` — Todo SWL: 37 agentes + 61 skills + 15 comandos + 11 reglas + 6 hooks (128 archivos)
|
|
97
|
+
|
|
98
|
+
Espera la respuesta del usuario antes de continuar.
|
|
99
|
+
|
|
100
|
+
## Paso 4 — Confirmar antes de ejecutar
|
|
101
|
+
|
|
102
|
+
Antes de ejecutar, muestra un resumen de lo que se va a hacer:
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
=== Plan de instalación SWL ===
|
|
106
|
+
|
|
107
|
+
Ubicación: <Local (.claude/) | Global (~/.claude/)>
|
|
108
|
+
Perfil: <perfil seleccionado>
|
|
109
|
+
Componentes: ~<N> archivos
|
|
110
|
+
|
|
111
|
+
Se ejecutarán 3 pasos:
|
|
112
|
+
1. init — crear .planning/ y _userland/
|
|
113
|
+
2. install — copiar agentes, skills, comandos, reglas y hooks
|
|
114
|
+
3. doctor — verificar que todo quedó correctamente instalado
|
|
115
|
+
|
|
116
|
+
¿Proceder con la instalación?
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Espera confirmación explícita del usuario.
|
|
120
|
+
|
|
121
|
+
## Paso 5 — Ejecutar init
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
npx @saulwade/swl-ses@latest init
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Esto crea:
|
|
128
|
+
- `.planning/` con plantillas (PROYECTO.md, REQUISITOS.md, HOJA-RUTA.md, ESTADO.md)
|
|
129
|
+
- `.planning/research/` con templates de investigación
|
|
130
|
+
- `_userland/agentes/` y `_userland/habilidades/` para extensiones del usuario
|
|
131
|
+
|
|
132
|
+
Si reporta archivos omitidos (ya existen), eso es normal.
|
|
133
|
+
|
|
134
|
+
## Paso 6 — Ejecutar install
|
|
135
|
+
|
|
136
|
+
Construye el comando según las respuestas del usuario:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
npx @saulwade/swl-ses@latest install --target claude --profile <PERFIL> [--global] [--force]
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
- `<PERFIL>`: el perfil que eligió el usuario
|
|
143
|
+
- `--global`: agregar si eligió instalación global
|
|
144
|
+
- `--force`: agregar si ya existía una instalación previa
|
|
145
|
+
|
|
146
|
+
Este paso:
|
|
147
|
+
- Copia agentes a `.claude/agents/` (o `~/.claude/agents/` si global)
|
|
148
|
+
- Copia skills a `.claude/skills/`
|
|
149
|
+
- Copia comandos a `.claude/commands/swl/`
|
|
150
|
+
- Copia reglas a `.claude/rules/`
|
|
151
|
+
- Copia hooks a `./hooks/` (o `~/.claude/hooks/` si global)
|
|
152
|
+
- Registra hooks en `.claude/settings.json` automáticamente
|
|
153
|
+
- Guarda estado en `.claude/.swl-install-state.json`
|
|
154
|
+
|
|
155
|
+
## Paso 7 — Ejecutar doctor
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
npx @saulwade/swl-ses@latest doctor
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Verifica que todo quedó correctamente instalado:
|
|
162
|
+
- Node.js compatible
|
|
163
|
+
- Runtime detectado
|
|
164
|
+
- `.planning/` completo
|
|
165
|
+
- Archivos íntegros
|
|
166
|
+
- Hooks registrados en settings.json
|
|
167
|
+
|
|
168
|
+
## Paso 8 — Reportar resultado al usuario
|
|
169
|
+
|
|
170
|
+
Presenta un resumen claro:
|
|
171
|
+
|
|
172
|
+
```
|
|
173
|
+
=== Instalación SWL completada ===
|
|
174
|
+
|
|
175
|
+
Perfil: <perfil>
|
|
176
|
+
Ubicación: <local (.claude/) | global (~/.claude/)>
|
|
177
|
+
Agentes: <N> instalados
|
|
178
|
+
Skills: <N> instalados
|
|
179
|
+
Comandos: <N> instalados
|
|
180
|
+
Reglas: <N> instaladas
|
|
181
|
+
Hooks: <N> registrados en settings.json
|
|
182
|
+
|
|
183
|
+
Doctor: <resultado>
|
|
184
|
+
|
|
185
|
+
Siguiente paso:
|
|
186
|
+
/swl:nuevo-proyecto → si es un proyecto nuevo
|
|
187
|
+
/swl:mapear-codebase → si ya hay código existente
|
|
188
|
+
/swl:salud → para diagnóstico profundo del sistema
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
Si la instalación fue local, menciona: "Para instalar SWL en otro proyecto, abre Claude Code en ese proyecto y ejecuta `/swl:instalar` nuevamente."
|
|
192
|
+
|
|
193
|
+
Si la instalación fue global, menciona: "SWL estará disponible en todos los proyectos donde uses Claude Code."
|
|
194
|
+
|
|
195
|
+
## Atajos (argumentos en línea)
|
|
196
|
+
|
|
197
|
+
Si el usuario pasa argumentos directamente, usa esos valores sin preguntar lo que ya especificó:
|
|
198
|
+
|
|
199
|
+
```
|
|
200
|
+
/swl:instalar --profile backend-python → preguntar solo ubicación
|
|
201
|
+
/swl:instalar --global → preguntar solo perfil
|
|
202
|
+
/swl:instalar --profile completo --global → confirmar y ejecutar directamente
|
|
203
|
+
/swl:instalar --profile core --local → confirmar y ejecutar directamente
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
Solo pregunta lo que NO se especificó en los argumentos.
|
|
207
|
+
|
|
208
|
+
## Reglas de comportamiento
|
|
209
|
+
|
|
210
|
+
- SIEMPRE pregunta ubicación (local/global) si no se especificó en argumentos.
|
|
211
|
+
- SIEMPRE pregunta perfil si no se especificó en argumentos.
|
|
212
|
+
- SIEMPRE confirma el plan antes de ejecutar.
|
|
213
|
+
- SIEMPRE ejecuta los 3 pasos (init, install, doctor) en orden secuencial.
|
|
214
|
+
- NUNCA omitas el paso de doctor — es la verificación de que todo funciona.
|
|
215
|
+
- Si algún paso falla, DETENTE y reporta el error. No continúes con los siguientes pasos.
|
|
216
|
+
- Si el usuario no tiene Node.js 18+, sugiere instalarlo antes de continuar.
|
|
217
|
+
- Si el usuario no tiene el registry configurado, NO intentes instalar — solo guíalo.
|
|
218
|
+
- Si el usuario pide un perfil que no existe, muestra la tabla de perfiles disponibles.
|
|
219
|
+
- Este comando NO modifica código del proyecto — solo instala componentes SWL en `.claude/` y `.planning/`.
|
|
220
|
+
- Para actualización: `npx @saulwade/swl-ses@latest update` detecta automáticamente el perfil instalado y actualiza sin preguntar perfil.
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: swl:instintos
|
|
3
|
+
description: Gestiona instintos YAML del sistema de aprendizaje continuo
|
|
4
|
+
allowed_tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /swl:instintos
|
|
8
|
+
|
|
9
|
+
Gestiona los instintos del sistema de aprendizaje continuo SWL.
|
|
10
|
+
|
|
11
|
+
## Uso
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
/swl:instintos — Lista instintos activos ordenados por confianza
|
|
15
|
+
/swl:instintos list — Lista todos los instintos con su estado
|
|
16
|
+
/swl:instintos add "patrón" — Agrega un instinto manual con confidence 0.5
|
|
17
|
+
/swl:instintos promote [id] — Promueve un instinto (confidence > 0.8) a skill
|
|
18
|
+
/swl:instintos merge [id1] [id2] — Fusiona instintos relacionados
|
|
19
|
+
/swl:instintos degrade [id] — Degrada manualmente un instinto
|
|
20
|
+
/swl:instintos stats — Muestra estadísticas del sistema de instintos
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Comportamiento
|
|
24
|
+
|
|
25
|
+
### list
|
|
26
|
+
|
|
27
|
+
1. Leer `instintos/proyecto.yaml` y `instintos/global.yaml`
|
|
28
|
+
2. Mostrar tabla ordenada por confidence descendente:
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
| ID | Patrón | Conf. | Scope | Evidencias | Estado |
|
|
32
|
+
|----------|-------------------------|-------|---------|------------|----------|
|
|
33
|
+
| inst-001 | conventional commits | 0.90 | project | 12 | active |
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### add "patrón"
|
|
37
|
+
|
|
38
|
+
1. Generar siguiente ID secuencial
|
|
39
|
+
2. Crear instinto con confidence 0.5, scope project, status active
|
|
40
|
+
3. Escribir en `instintos/proyecto.yaml`
|
|
41
|
+
4. Incrementar `total_instintos` en el archivo
|
|
42
|
+
|
|
43
|
+
### promote [id]
|
|
44
|
+
|
|
45
|
+
1. Verificar que confidence > 0.8
|
|
46
|
+
2. Generar estructura de skill en `habilidades/` basada en el patrón
|
|
47
|
+
3. Cambiar status a "promoted"
|
|
48
|
+
4. Registrar en manifiestos
|
|
49
|
+
|
|
50
|
+
### merge [id1] [id2]
|
|
51
|
+
|
|
52
|
+
1. Combinar evidence_count
|
|
53
|
+
2. Promediar confidence
|
|
54
|
+
3. Archivar el instinto con menos evidencia (status: archived)
|
|
55
|
+
4. Actualizar el sobreviviente con el evidence_count combinado
|
|
56
|
+
|
|
57
|
+
### degrade [id]
|
|
58
|
+
|
|
59
|
+
1. Incrementar `contradictions` en 1
|
|
60
|
+
2. Reducir confidence en 0.1
|
|
61
|
+
3. Si confidence < 0.3: cambiar status a "degraded"
|
|
62
|
+
4. Escribir cambios en el archivo YAML correspondiente
|
|
63
|
+
|
|
64
|
+
### stats
|
|
65
|
+
|
|
66
|
+
Mostrar:
|
|
67
|
+
- Total de instintos por scope
|
|
68
|
+
- Promedio de confidence
|
|
69
|
+
- Instintos más fuertes (top 5 por confidence)
|
|
70
|
+
- Instintos en riesgo de degradación (confidence < 0.4)
|
|
71
|
+
- Instintos promovidos a skills
|
|
72
|
+
|
|
73
|
+
## Integración
|
|
74
|
+
|
|
75
|
+
- `extraccion-aprendizajes.js` crea instintos automáticamente al finalizar sesiones
|
|
76
|
+
- `degradacion-instintos.js` reduce confidence cuando se contradicen patrones
|
|
77
|
+
- `/swl:evolucionar` analiza instintos para proponer mejoras al sistema
|
|
78
|
+
- `/swl:aprender` puede generar instintos nuevos como resultado del análisis
|
|
79
|
+
|
|
80
|
+
## Archivos
|
|
81
|
+
|
|
82
|
+
| Archivo | Descripción |
|
|
83
|
+
|---------|-------------|
|
|
84
|
+
| `instintos/proyecto.yaml` | Instintos de scope project y domain |
|
|
85
|
+
| `instintos/global.yaml` | Instintos promovidos a scope global (confidence > 0.8) |
|
|
86
|
+
| `schemas/instinct.schema.json` | Schema JSON para validación de estructura |
|