@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,303 @@
|
|
|
1
|
+
# Notificaciones Multicanal — Configuración y Templates
|
|
2
|
+
|
|
3
|
+
Referencia extendida de la skill `notificaciones-multicanal`. Contiene
|
|
4
|
+
configuración completa de canales, formatos de mensaje, rate limiting,
|
|
5
|
+
templates y flujo de diagnóstico.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Configuración completa de canales (config.json)
|
|
10
|
+
|
|
11
|
+
```jsonc
|
|
12
|
+
// ~/.claude/notifications/config.json
|
|
13
|
+
{
|
|
14
|
+
"version": "2",
|
|
15
|
+
"defaults": {
|
|
16
|
+
"canal_primario": "desktop",
|
|
17
|
+
"prioridad_minima": "normal",
|
|
18
|
+
"idioma": "es-MX",
|
|
19
|
+
"zona_horaria": "America/Mexico_City"
|
|
20
|
+
},
|
|
21
|
+
|
|
22
|
+
"canales": {
|
|
23
|
+
"desktop": {
|
|
24
|
+
"habilitado": true,
|
|
25
|
+
"motor": "auto",
|
|
26
|
+
"icono": "~/.claude/assets/swl-icon.png",
|
|
27
|
+
"sonido": true,
|
|
28
|
+
"duracion_ms": 5000,
|
|
29
|
+
"persistente_si_prioridad": "urgente"
|
|
30
|
+
},
|
|
31
|
+
|
|
32
|
+
"telegram": {
|
|
33
|
+
"habilitado": true,
|
|
34
|
+
"bot_token": "${TELEGRAM_BOT_TOKEN}",
|
|
35
|
+
"chat_id": "${TELEGRAM_CHAT_ID}",
|
|
36
|
+
"parse_mode": "HTML",
|
|
37
|
+
"disable_preview": true,
|
|
38
|
+
"timeout_segundos": 10
|
|
39
|
+
},
|
|
40
|
+
|
|
41
|
+
"whatsapp": {
|
|
42
|
+
"habilitado": false,
|
|
43
|
+
"proveedor": "twilio",
|
|
44
|
+
"account_sid": "${TWILIO_ACCOUNT_SID}",
|
|
45
|
+
"auth_token": "${TWILIO_AUTH_TOKEN}",
|
|
46
|
+
"from_number": "${TWILIO_WHATSAPP_FROM}",
|
|
47
|
+
"to_number": "${WHATSAPP_TO_NUMBER}"
|
|
48
|
+
},
|
|
49
|
+
|
|
50
|
+
"email": {
|
|
51
|
+
"habilitado": false,
|
|
52
|
+
"smtp_host": "${SMTP_HOST}",
|
|
53
|
+
"smtp_port": 587,
|
|
54
|
+
"smtp_user": "${SMTP_USER}",
|
|
55
|
+
"smtp_password": "${SMTP_PASSWORD}",
|
|
56
|
+
"from": "swl-notifier@empresa.com",
|
|
57
|
+
"to": ["dev@empresa.com"],
|
|
58
|
+
"asunto_prefijo": "[SWL]"
|
|
59
|
+
},
|
|
60
|
+
|
|
61
|
+
"webhook": {
|
|
62
|
+
"habilitado": false,
|
|
63
|
+
"url": "${WEBHOOK_URL}",
|
|
64
|
+
"metodo": "POST",
|
|
65
|
+
"headers": {
|
|
66
|
+
"Authorization": "Bearer ${WEBHOOK_TOKEN}",
|
|
67
|
+
"Content-Type": "application/json"
|
|
68
|
+
},
|
|
69
|
+
"timeout_segundos": 5,
|
|
70
|
+
"reintentos": 2
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Formato de Mensaje por Canal
|
|
79
|
+
|
|
80
|
+
### Desktop
|
|
81
|
+
|
|
82
|
+
Limitaciones: título 64 chars, cuerpo 256 chars, sin formato enriquecido.
|
|
83
|
+
|
|
84
|
+
```json
|
|
85
|
+
{
|
|
86
|
+
"canal": "desktop",
|
|
87
|
+
"titulo": "Fase 2 completada — SWL",
|
|
88
|
+
"cuerpo": "8/8 tareas ejecutadas. 0 errores. Listo para revision.",
|
|
89
|
+
"accion_click": "abrir_terminal"
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Telegram
|
|
94
|
+
|
|
95
|
+
Soporte completo de HTML. Máximo 4096 chars por mensaje.
|
|
96
|
+
|
|
97
|
+
```html
|
|
98
|
+
<b>Fase 2 Completada</b>
|
|
99
|
+
<code>Proyecto: sigaf-backend</code>
|
|
100
|
+
|
|
101
|
+
<b>Resumen:</b>
|
|
102
|
+
- 8 tareas ejecutadas
|
|
103
|
+
- 0 errores criticos
|
|
104
|
+
- 2 advertencias menores
|
|
105
|
+
|
|
106
|
+
<b>Artefactos generados:</b>
|
|
107
|
+
- <code>PLAN.md</code> — Plan actualizado
|
|
108
|
+
- <code>RESUMEN.md</code> — Resumen de ejecucion
|
|
109
|
+
|
|
110
|
+
<b>Accion requerida:</b>
|
|
111
|
+
Revisa los artefactos y responde con: <code>aprobar</code> o <code>ajustar: [feedback]</code>
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### WhatsApp
|
|
115
|
+
|
|
116
|
+
Sin HTML. Soporte de *negrita* y _cursiva_ con markdown simple.
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
*SWL — Fase 2 Completada*
|
|
120
|
+
|
|
121
|
+
Proyecto: sigaf-backend
|
|
122
|
+
Tareas: 8/8
|
|
123
|
+
|
|
124
|
+
Artefactos listos para revision:
|
|
125
|
+
- PLAN.md
|
|
126
|
+
- RESUMEN.md
|
|
127
|
+
|
|
128
|
+
Responde APROBAR o AJUSTAR para continuar.
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Email
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
Asunto: [SWL] Fase 2 Completada — sigaf-backend
|
|
135
|
+
|
|
136
|
+
Proyecto: sigaf-backend
|
|
137
|
+
Fase: 2 de 4
|
|
138
|
+
Estado: COMPLETADA
|
|
139
|
+
Fecha/hora: 2024-03-20 14:32 CST
|
|
140
|
+
|
|
141
|
+
TAREAS EJECUTADAS (8/8):
|
|
142
|
+
- Setup de base de datos
|
|
143
|
+
- Modelos SQLAlchemy
|
|
144
|
+
- Endpoints FastAPI
|
|
145
|
+
... (ver RESUMEN.md adjunto)
|
|
146
|
+
|
|
147
|
+
ARTEFACTOS ADJUNTOS:
|
|
148
|
+
- RESUMEN.md
|
|
149
|
+
- VERIFICACION.md
|
|
150
|
+
|
|
151
|
+
ACCION REQUERIDA:
|
|
152
|
+
Revisar artefactos y aprobar para continuar con Fase 3.
|
|
153
|
+
Responder a este email con: APROBAR o AJUSTAR [feedback]
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
SWL Software Engineering System v2
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Webhook
|
|
160
|
+
|
|
161
|
+
Payload JSON normalizado:
|
|
162
|
+
|
|
163
|
+
```json
|
|
164
|
+
{
|
|
165
|
+
"version": "2",
|
|
166
|
+
"evento": {
|
|
167
|
+
"id": "evt-20240320-1432-001",
|
|
168
|
+
"tipo": "checkpoint",
|
|
169
|
+
"subtipo": "human-verify",
|
|
170
|
+
"timestamp": "2024-03-20T20:32:00Z",
|
|
171
|
+
"proyecto": "sigaf-backend",
|
|
172
|
+
"fase": 2,
|
|
173
|
+
"prioridad": "normal"
|
|
174
|
+
},
|
|
175
|
+
"mensaje": {
|
|
176
|
+
"titulo": "Fase 2 Completada",
|
|
177
|
+
"cuerpo": "8/8 tareas ejecutadas sin errores.",
|
|
178
|
+
"accion_requerida": true,
|
|
179
|
+
"opciones": ["aprobar", "ajustar", "rechazar"]
|
|
180
|
+
},
|
|
181
|
+
"metadatos": {
|
|
182
|
+
"agente": "ejecutor",
|
|
183
|
+
"duracion_fase_ms": 84500,
|
|
184
|
+
"artefactos": ["RESUMEN.md", "VERIFICACION.md"]
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## Rate Limiting y Supresión
|
|
192
|
+
|
|
193
|
+
### Configuración de rate limiting
|
|
194
|
+
|
|
195
|
+
```jsonc
|
|
196
|
+
{
|
|
197
|
+
"rate_limiting": {
|
|
198
|
+
"ventana_segundos": 300,
|
|
199
|
+
"maximo_por_ventana": {
|
|
200
|
+
"desktop": 10,
|
|
201
|
+
"telegram": 20,
|
|
202
|
+
"whatsapp": 5,
|
|
203
|
+
"email": 3,
|
|
204
|
+
"webhook": 50
|
|
205
|
+
},
|
|
206
|
+
"excepcion_prioridades": ["critico", "urgente"]
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### Supresión por horario (No molestar)
|
|
212
|
+
|
|
213
|
+
```jsonc
|
|
214
|
+
{
|
|
215
|
+
"no_molestar": {
|
|
216
|
+
"habilitado": true,
|
|
217
|
+
"inicio": "22:00",
|
|
218
|
+
"fin": "08:00",
|
|
219
|
+
"zona_horaria": "America/Mexico_City",
|
|
220
|
+
"excepciones": ["critico"],
|
|
221
|
+
"acumulacion": {
|
|
222
|
+
"habilitada": true,
|
|
223
|
+
"resumen_en": "08:00",
|
|
224
|
+
"canal_resumen": "telegram"
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### Supresión de duplicados
|
|
231
|
+
|
|
232
|
+
```jsonc
|
|
233
|
+
{
|
|
234
|
+
"deduplicacion": {
|
|
235
|
+
"habilitada": true,
|
|
236
|
+
"ventana_segundos": 60,
|
|
237
|
+
"clave": "evento.tipo + evento.proyecto + mensaje.titulo"
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## Templates de Mensajes
|
|
245
|
+
|
|
246
|
+
Los templates usan sintaxis `{{variable}}` con soporte de condicionales simples:
|
|
247
|
+
|
|
248
|
+
```
|
|
249
|
+
# templates/checkpoint-verify.telegram.html
|
|
250
|
+
<b>{{icono_estado}} {{titulo}}</b>
|
|
251
|
+
{{#si proyecto}}<code>Proyecto: {{proyecto}}</code>{{/si}}
|
|
252
|
+
|
|
253
|
+
<b>Resumen:</b>
|
|
254
|
+
{{resumen}}
|
|
255
|
+
|
|
256
|
+
{{#si artefactos}}
|
|
257
|
+
<b>Artefactos:</b>
|
|
258
|
+
{{#cada artefactos}}- <code>{{nombre}}</code>{{/cada}}
|
|
259
|
+
{{/si}}
|
|
260
|
+
|
|
261
|
+
{{#si accion_requerida}}
|
|
262
|
+
<b>Accion requerida:</b>
|
|
263
|
+
{{accion_descripcion}}
|
|
264
|
+
{{/si}}
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### Variables disponibles en todos los templates
|
|
268
|
+
|
|
269
|
+
| Variable | Descripción |
|
|
270
|
+
|----------|-------------|
|
|
271
|
+
| `{{proyecto}}` | Nombre del proyecto actual |
|
|
272
|
+
| `{{fase}}` | Número de fase actual |
|
|
273
|
+
| `{{agente}}` | Agente que emite la notificación |
|
|
274
|
+
| `{{timestamp}}` | Fecha/hora local formateada |
|
|
275
|
+
| `{{titulo}}` | Título del evento |
|
|
276
|
+
| `{{resumen}}` | Cuerpo principal del evento |
|
|
277
|
+
| `{{prioridad}}` | Nivel de prioridad del evento |
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
## Flujo de Diagnóstico
|
|
282
|
+
|
|
283
|
+
Si una notificación no llega:
|
|
284
|
+
|
|
285
|
+
```
|
|
286
|
+
1. Verificar que el broker este activo:
|
|
287
|
+
claude-notifications-go status
|
|
288
|
+
|
|
289
|
+
2. Verificar variables de entorno:
|
|
290
|
+
echo $TELEGRAM_BOT_TOKEN | head -c 10
|
|
291
|
+
|
|
292
|
+
3. Probar canal especifico:
|
|
293
|
+
claude-notifications-go test --canal telegram
|
|
294
|
+
|
|
295
|
+
4. Revisar log de errores:
|
|
296
|
+
claude-notifications-go log --nivel error --ultimas 10
|
|
297
|
+
|
|
298
|
+
5. Verificar rate limiting:
|
|
299
|
+
claude-notifications-go stats --canal telegram
|
|
300
|
+
|
|
301
|
+
6. Verificar horario No Molestar:
|
|
302
|
+
claude-notifications-go no-molestar --estado
|
|
303
|
+
```
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: nuevo-proyecto
|
|
3
|
+
description: Flujo para inicializar un proyecto de software nuevo. Recopila visión, restricciones técnicas y de negocio, stack tecnológico y contexto del equipo. Genera la carpeta .planning/ con PROYECTO.md, REQUISITOS.md y HOJA-RUTA.md como artefactos de arranque.
|
|
4
|
+
version: "1.0.0"
|
|
5
|
+
herramientasPermitidas: [Read, Write, Edit, Bash, Glob, Grep]
|
|
6
|
+
exclusiones:
|
|
7
|
+
- "No cargar para incorporar un proyecto existente al sistema SWL; usar el comando `/swl:adoptar-proyecto`."
|
|
8
|
+
- "No cargar si `.planning/PROYECTO.md` ya existe y el objetivo es actualizar requisitos; editar ese archivo directamente."
|
|
9
|
+
- "No cargar para generar solo el PLAN.md de una fase puntual sin visión de proyecto; usar `discutir-fase` + `planear-fase`."
|
|
10
|
+
- "No cargar para instalar componentes SWL en el proyecto recién creado; usar `instalar-sistema` como paso siguiente."
|
|
11
|
+
evolvable: true # default para skill estandar
|
|
12
|
+
---
|
|
13
|
+
# Habilidad: Inicializar Proyecto Nuevo
|
|
14
|
+
|
|
15
|
+
## Propósito
|
|
16
|
+
|
|
17
|
+
Establecer una base sólida de documentación y contexto antes de escribir la primera
|
|
18
|
+
línea de código. Un proyecto sin contexto escrito acumula deuda de decisiones desde
|
|
19
|
+
el día uno. Esta habilidad evita ese antipatrón.
|
|
20
|
+
|
|
21
|
+
## Cuándo activar
|
|
22
|
+
|
|
23
|
+
- El usuario dice "quiero crear un proyecto", "empecemos un sistema", "nuevo proyecto"
|
|
24
|
+
- No existe carpeta `.planning/` en el directorio de trabajo
|
|
25
|
+
- Se recibe un brief o documento de requisitos sin estructura técnica
|
|
26
|
+
|
|
27
|
+
## Cuándo NO cargar
|
|
28
|
+
|
|
29
|
+
- El proyecto ya tiene `.planning/PROYECTO.md` — se está inicializando un proyecto ya iniciado. En ese caso actualizar el archivo existente.
|
|
30
|
+
- El usuario quiere incorporar un codebase existente al sistema SWL; usar `/swl:adoptar-proyecto` que hace análisis automático del código.
|
|
31
|
+
- El usuario solo quiere planear una fase de trabajo dentro de un proyecto ya definido; usar `discutir-fase` + `planear-fase`.
|
|
32
|
+
- El objetivo es instalar componentes SWL (agentes, skills, hooks) en el directorio; eso lo hace `instalar-sistema` después de la inicialización.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Fase 1 — Recopilación de contexto (cuestionario)
|
|
37
|
+
|
|
38
|
+
Antes de generar cualquier archivo, haz las siguientes preguntas. Agrupa las que
|
|
39
|
+
puedas en un solo mensaje para no saturar al usuario.
|
|
40
|
+
|
|
41
|
+
### Bloque A — Visión y alcance
|
|
42
|
+
|
|
43
|
+
1. ¿Cuál es el problema de negocio que resuelve este sistema? (1-3 oraciones)
|
|
44
|
+
2. ¿Quiénes son los usuarios finales? ¿Cuántos usuarios concurrentes se esperan?
|
|
45
|
+
3. ¿Hay una fecha límite o MVP en mente?
|
|
46
|
+
4. ¿Existe algún sistema legado que este proyecto reemplaza o integra?
|
|
47
|
+
|
|
48
|
+
### Bloque B — Stack y restricciones técnicas
|
|
49
|
+
|
|
50
|
+
5. ¿Hay lenguajes, frameworks o plataformas mandatorias (por política o equipo)?
|
|
51
|
+
6. ¿La solución es on-premise, cloud (cuál proveedor) o híbrida?
|
|
52
|
+
7. ¿Existe una base de datos preferida o mandatoria?
|
|
53
|
+
8. ¿Hay restricciones de licencia (OSS only, sin GPL, etc.)?
|
|
54
|
+
|
|
55
|
+
### Bloque C — Equipo y proceso
|
|
56
|
+
|
|
57
|
+
9. ¿Cuántas personas trabajarán en el proyecto y cuáles son sus roles?
|
|
58
|
+
10. ¿Se usa algún proceso formal (Scrum, Kanban, waterfall)?
|
|
59
|
+
11. ¿Hay un repositorio de código ya creado? ¿Rama principal?
|
|
60
|
+
12. ¿Hay pipelines CI/CD existentes o se crean desde cero?
|
|
61
|
+
|
|
62
|
+
### Bloque D — Calidad y seguridad
|
|
63
|
+
|
|
64
|
+
13. ¿Existen políticas de cobertura de tests mínima?
|
|
65
|
+
14. ¿El sistema maneja datos sensibles (PII, financieros, médicos)?
|
|
66
|
+
15. ¿Hay requerimientos regulatorios (GDPR, HIPAA, SOC 2, etc.)?
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Fase 2 — Generación de artefactos
|
|
71
|
+
|
|
72
|
+
Una vez obtenidas las respuestas, crea la carpeta `.planning/` y los tres documentos.
|
|
73
|
+
|
|
74
|
+
### Plantilla: `.planning/PROYECTO.md`
|
|
75
|
+
|
|
76
|
+
```markdown
|
|
77
|
+
# PROYECTO.md — [Nombre del Proyecto]
|
|
78
|
+
|
|
79
|
+
## Visión
|
|
80
|
+
[1 párrafo describiendo el problema y la solución]
|
|
81
|
+
|
|
82
|
+
## Objetivos del MVP
|
|
83
|
+
- [ ] Objetivo 1
|
|
84
|
+
- [ ] Objetivo 2
|
|
85
|
+
|
|
86
|
+
## Usuarios y contexto de uso
|
|
87
|
+
| Actor | Descripción | Volumen estimado |
|
|
88
|
+
|-------|-------------|-----------------|
|
|
89
|
+
| | | |
|
|
90
|
+
|
|
91
|
+
## Stack tecnológico
|
|
92
|
+
| Capa | Tecnología | Justificación |
|
|
93
|
+
|-------------|-----------|---------------|
|
|
94
|
+
| Backend | | |
|
|
95
|
+
| Frontend | | |
|
|
96
|
+
| Base de datos | | |
|
|
97
|
+
| Infraestructura | | |
|
|
98
|
+
|
|
99
|
+
## Restricciones no negociables
|
|
100
|
+
1.
|
|
101
|
+
2.
|
|
102
|
+
|
|
103
|
+
## Equipo
|
|
104
|
+
| Rol | Responsabilidad |
|
|
105
|
+
|-----|----------------|
|
|
106
|
+
| | |
|
|
107
|
+
|
|
108
|
+
## Fechas clave
|
|
109
|
+
- Kick-off:
|
|
110
|
+
- MVP:
|
|
111
|
+
- Producción:
|
|
112
|
+
|
|
113
|
+
## Criterios de éxito
|
|
114
|
+
- [ ] Criterio medible 1
|
|
115
|
+
- [ ] Criterio medible 2
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Plantilla: `.planning/REQUISITOS.md`
|
|
119
|
+
|
|
120
|
+
```markdown
|
|
121
|
+
# REQUISITOS.md — [Nombre del Proyecto]
|
|
122
|
+
|
|
123
|
+
## Requerimientos Funcionales
|
|
124
|
+
|
|
125
|
+
### RF-001: [Nombre]
|
|
126
|
+
- **Descripción**:
|
|
127
|
+
- **Actores**:
|
|
128
|
+
- **Prioridad**: Alta / Media / Baja
|
|
129
|
+
- **Criterios de aceptación**:
|
|
130
|
+
- [ ] CA-1
|
|
131
|
+
- [ ] CA-2
|
|
132
|
+
|
|
133
|
+
[Repetir para cada RF]
|
|
134
|
+
|
|
135
|
+
## Requerimientos No Funcionales
|
|
136
|
+
|
|
137
|
+
| ID | Categoría | Descripción | Métrica de aceptación |
|
|
138
|
+
|--------|--------------|-------------|----------------------|
|
|
139
|
+
| RNF-001 | Rendimiento | | p95 < 200ms |
|
|
140
|
+
| RNF-002 | Disponibilidad| | 99.5% uptime |
|
|
141
|
+
| RNF-003 | Seguridad | | |
|
|
142
|
+
|
|
143
|
+
## Requerimientos de Integración
|
|
144
|
+
- Sistema externo 1: [protocolo, frecuencia, volumen]
|
|
145
|
+
- Sistema externo 2:
|
|
146
|
+
|
|
147
|
+
## Fuera de alcance (explícito)
|
|
148
|
+
- X no está incluido en este proyecto.
|
|
149
|
+
- Y se abordará en una fase posterior.
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### Plantilla: `.planning/HOJA-RUTA.md`
|
|
153
|
+
|
|
154
|
+
```markdown
|
|
155
|
+
# HOJA-RUTA.md — [Nombre del Proyecto]
|
|
156
|
+
|
|
157
|
+
## Fase 0 — Infraestructura base
|
|
158
|
+
- [ ] Repositorio y branching strategy
|
|
159
|
+
- [ ] CI/CD pipeline básico
|
|
160
|
+
- [ ] Entorno local de desarrollo documentado
|
|
161
|
+
- **Duración estimada**:
|
|
162
|
+
|
|
163
|
+
## Fase 1 — [Nombre del primer bloque funcional]
|
|
164
|
+
- [ ] Tarea 1
|
|
165
|
+
- [ ] Tarea 2
|
|
166
|
+
- **Objetivo**:
|
|
167
|
+
- **Duración estimada**:
|
|
168
|
+
|
|
169
|
+
## Fase N — ...
|
|
170
|
+
|
|
171
|
+
## Hitos de revisión
|
|
172
|
+
| Hito | Criterio de salida | Fecha estimada |
|
|
173
|
+
|------|-------------------|---------------|
|
|
174
|
+
| | | |
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Fase 3 — Checklist de arranque
|
|
180
|
+
|
|
181
|
+
Antes de cerrar la sesión de inicialización, verifica:
|
|
182
|
+
|
|
183
|
+
- [ ] PROYECTO.md tiene todos los campos poblados (no hay `[TBD]` en restricciones)
|
|
184
|
+
- [ ] Cada RF tiene al menos un criterio de aceptación medible
|
|
185
|
+
- [ ] El HOJA-RUTA.md tiene fases con duración estimada
|
|
186
|
+
- [ ] Las restricciones "no negociables" están identificadas y documentadas
|
|
187
|
+
- [ ] Se registró quién tomó cada decisión de stack (para futura referencia)
|
|
188
|
+
|
|
189
|
+
## Gotchas / Errores comunes no obvios
|
|
190
|
+
|
|
191
|
+
- **PROYECTO.md generado con `[TBD]` en restricciones no negociables**: el agente deja campos sin resolver para no bloquear al usuario, pero las restricciones vacías generan retrabajos costosos cuando se descubren tardíamente. Causa: el checklist de cierre de la Fase 3 no se aplicó rigurosamente. Solución: no cerrar la sesión de inicialización hasta que no quede ningún `[TBD]` en el bloque de restricciones — si el usuario no puede responder, registrar la restricción como "pendiente" en la sección `## Decisiones pendientes` con ticket asignado.
|
|
192
|
+
- **Fase 1 de HOJA-RUTA.md sin duración estimada**: el usuario acepta el documento sin notar que las fases no tienen estimaciones. Causa: el agente genera el template sin poblar las duraciones. Solución: antes de entregar HOJA-RUTA.md, pedir al usuario una estimación rough (días, semanas) para cada fase — sin eso el roadmap es decorativo.
|
|
193
|
+
- **Stack seleccionado sin verificar restricciones del Bloque B**: el agente sugiere un stack "moderno" que viola una restricción de licencia OSS o de plataforma mandatoria del equipo. Causa: el Bloque B se procesó en orden pero las respuestas no se cruzaron con las sugerencias del Bloque A. Solución: al proponer stack, citar explícitamente cada restricción del Bloque B y confirmar que ninguna es violada.
|
|
194
|
+
- **No preguntar por sistemas legados cuando el usuario menciona "reemplazar"**: el agente omite la pregunta 4 del Bloque A asumiendo que el proyecto es greenfield. Causa: mala clasificación del proyecto como nuevo cuando el usuario usó la palabra "reemplazar". Solución: si el usuario menciona "reemplazar", "migrar" o "integrar con" en la descripción, la pregunta 4 es obligatoria, no opcional.
|
|
195
|
+
|
|
196
|
+
## Señales de alerta
|
|
197
|
+
|
|
198
|
+
Detente y escala si el usuario no puede responder:
|
|
199
|
+
- Qué problema resuelve el sistema (visión indefinida)
|
|
200
|
+
- Quiénes son los usuarios finales (alcance sin ancla)
|
|
201
|
+
- Si hay sistemas legados involucrados (riesgo de integración oculto)
|
|
202
|
+
|
|
203
|
+
Estos huecos de información generan retrabajos costosos. Registra las preguntas
|
|
204
|
+
sin respuesta en PROYECTO.md bajo la sección `## Decisiones pendientes`.
|