@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,412 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: likec4-experto
|
|
3
|
+
description: >
|
|
4
|
+
Experto en LikeC4 — lenguaje "architecture-as-code" inspirado en el C4 model.
|
|
5
|
+
Cubre sintaxis del DSL (.likec4/.c4), estructura de proyectos multi-archivo,
|
|
6
|
+
views, deployment, dynamic views, predicates (*, _, **), flags del CLI
|
|
7
|
+
(validate, export), y consumo del MCP server oficial desde agentes SWL.
|
|
8
|
+
Cargar cuando el proyecto del usuario contenga archivos .likec4/.c4, un
|
|
9
|
+
.likec4rc o likec4.config.{ts,js,json}, o cuando el usuario mencione "c4
|
|
10
|
+
model", "architecture as code", "likec4" o "structurizr dsl". NO cargar para
|
|
11
|
+
diagramas Mermaid/PlantUML/D2 sueltos (existen skills separadas) ni para ADRs
|
|
12
|
+
en Markdown puro.
|
|
13
|
+
version: "1.0.0"
|
|
14
|
+
herramientasPermitidas: [Read, Bash]
|
|
15
|
+
evolvable: true # default para skill estandar
|
|
16
|
+
exclusiones:
|
|
17
|
+
- "No cargar para diagramas Mermaid, PlantUML o D2 sueltos sin relación con el C4 model — para Mermaid cargar `generacion-mermaid`; para diagramas de arquitectura visual enriquecidos cargar `diagrama-arquitectura`."
|
|
18
|
+
- "No cargar para ADRs en Markdown puro sin diagrama arquitectónico versionable — para ADRs de texto cargar directamente la regla `arquitectura.md`."
|
|
19
|
+
- "No cargar para Structurizr DSL puro (sintaxis diferente a LikeC4 aunque inspirada en C4) — los proyectos Structurizr tienen su propia sintaxis y CLI no compatibles con LikeC4."
|
|
20
|
+
- "No cargar si el proyecto no tiene archivos `.likec4`, `.c4` ni `likec4.config.*` — si el equipo no ha adoptado LikeC4, usar `generacion-mermaid` o `diagrama-arquitectura` según el tipo de diagrama."
|
|
21
|
+
---
|
|
22
|
+
# LikeC4 Experto — Architecture-as-code con DSL y MCP
|
|
23
|
+
|
|
24
|
+
## Cuándo NO cargar
|
|
25
|
+
|
|
26
|
+
- El proyecto usa diagramas Mermaid sueltos: cargar `generacion-mermaid`.
|
|
27
|
+
- El usuario pide solo un ADR textual sin diagrama arquitectónico versionable: usar la regla `arquitectura.md` directamente.
|
|
28
|
+
- El proyecto usa Structurizr DSL puro (sintaxis diferente, no compatible): no hay skill equivalente, documentar con Mermaid.
|
|
29
|
+
- No hay archivos `.likec4`, `.c4` ni `likec4.config.*` en el proyecto: el equipo no ha adoptado LikeC4.
|
|
30
|
+
|
|
31
|
+
## Cuándo cargar esta skill
|
|
32
|
+
|
|
33
|
+
- El proyecto contiene archivos `.likec4` o `.c4`.
|
|
34
|
+
- Existe `.likec4rc` o `likec4.config.{ts,js,json}` en el repo.
|
|
35
|
+
- El usuario menciona `c4model.com`, architecture-as-code, LikeC4, Structurizr DSL,
|
|
36
|
+
o pide generar/validar diagramas de arquitectura versionables.
|
|
37
|
+
- El agente `arquitecto-swl` o `documentador-swl` necesita emitir diagramas
|
|
38
|
+
programáticos y el proyecto ya adoptó LikeC4.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Response Discipline
|
|
43
|
+
|
|
44
|
+
Aplica a esta skill (command-first domain):
|
|
45
|
+
|
|
46
|
+
- Si el prompt pide `"minimal"`, `"strict"`, `"exact"`, `"paste-ready"`,
|
|
47
|
+
`"comando exacto"`: responde con **una sola línea** (comando o snippet) como
|
|
48
|
+
primera línea, sin preámbulo.
|
|
49
|
+
- Si el prompt pide snippet de view/model: responde con el snippet LikeC4
|
|
50
|
+
como primera línea en bloque de código ` ```likec4 `, sin alternativas.
|
|
51
|
+
- Prose-only es falla en prompts strict.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Anti-substitution guardrails
|
|
56
|
+
|
|
57
|
+
- Familia validate: usar `likec4 validate` (nunca sustituir con `check`,
|
|
58
|
+
`lint`, `build`, `compile`).
|
|
59
|
+
- Familia export: usar `likec4 export` (nunca `generate`, `render`, `output`).
|
|
60
|
+
- Flags de validación: usar `--json --no-layout --file <path> <project-dir>`
|
|
61
|
+
(nunca `--output-json`, `--skip-layout`, `--target-file`).
|
|
62
|
+
- Export de imágenes: usar `--outdir` o `-o` (nunca `--output-dir`, `--out`).
|
|
63
|
+
- Primary key de elementos: usar FQN completo cross-file (`cloud.backend.api`,
|
|
64
|
+
nunca shortcut `backend.api` cuando se cruza archivo).
|
|
65
|
+
- Identificadores: sin puntos (`payment-api` válido; `payment.api` NO es
|
|
66
|
+
identificador — los puntos son separadores de FQN).
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Dependencia externa — LikeC4 CLI y MCP
|
|
71
|
+
|
|
72
|
+
LikeC4 es un paquete npm del proyecto del usuario, **no de SWL**.
|
|
73
|
+
|
|
74
|
+
### Instalación (en *su* proyecto)
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
npm install --save-dev likec4
|
|
78
|
+
# o ejecutar sin instalar:
|
|
79
|
+
npx likec4 --version
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### MCP server oficial
|
|
83
|
+
|
|
84
|
+
LikeC4 expone un MCP server con 15+ tools de consulta del modelo. Se inicia:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
npx likec4 mcp
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Y se configura en Claude Code como cualquier otro MCP server. Los agentes SWL
|
|
91
|
+
lo consumen vía las herramientas nativas MCP del runtime — **SWL no necesita
|
|
92
|
+
adaptador propio**.
|
|
93
|
+
|
|
94
|
+
Tools disponibles (resumen):
|
|
95
|
+
|
|
96
|
+
| Tool MCP | Qué hace |
|
|
97
|
+
|----------|----------|
|
|
98
|
+
| `list-projects` | Enumera los proyectos LikeC4 del workspace |
|
|
99
|
+
| `read-project-summary` | Overview de un proyecto (elementos, views, tags) |
|
|
100
|
+
| `search-element` | Busca elementos por nombre/título/descripción |
|
|
101
|
+
| `read-element` | Lee un elemento por FQN con fields completos |
|
|
102
|
+
| `read-view` | Lee la definición de una view |
|
|
103
|
+
| `read-deployment` | Lee modelo de despliegue |
|
|
104
|
+
| `batch-read-elements` | Lee múltiples elementos en una sola llamada |
|
|
105
|
+
| `query-graph` | Subgrafo entre dos elementos |
|
|
106
|
+
| `query-incomers-graph` | Dependencias entrantes de un elemento |
|
|
107
|
+
| `query-outgoers-graph` | Dependencias salientes de un elemento |
|
|
108
|
+
| `find-relationships` | Busca relaciones por endpoint |
|
|
109
|
+
| `find-relationship-paths` | Caminos entre dos elementos |
|
|
110
|
+
| `query-by-tags` | Filtra elementos por tags |
|
|
111
|
+
| `query-by-tag-pattern` | Filtra por glob de tags |
|
|
112
|
+
| `query-by-metadata` | Filtra por metadata key/value |
|
|
113
|
+
| `element-diff` | Diff entre dos elementos |
|
|
114
|
+
| `subgraph-summary` | Resumen compacto de un subgrafo |
|
|
115
|
+
| `open-view` | Abre una view en el preview |
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Sintaxis DSL esencial
|
|
120
|
+
|
|
121
|
+
### Estructura top-level
|
|
122
|
+
|
|
123
|
+
Un archivo `.c4`/`.likec4` admite **solo** estos bloques top-level:
|
|
124
|
+
|
|
125
|
+
```likec4
|
|
126
|
+
import 'shared' // opcional, otros proyectos
|
|
127
|
+
specification { ... } // define kinds y tags
|
|
128
|
+
model { ... } // define elementos y relaciones
|
|
129
|
+
deployment { ... } // modelo de despliegue físico
|
|
130
|
+
views { ... } // define vistas
|
|
131
|
+
global { ... } // styling compartido
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Todos pueden repetirse dentro del proyecto (multi-archivo merge). Al menos uno
|
|
135
|
+
debe aparecer por archivo.
|
|
136
|
+
|
|
137
|
+
### `specification`
|
|
138
|
+
|
|
139
|
+
```likec4
|
|
140
|
+
specification {
|
|
141
|
+
element system
|
|
142
|
+
element service
|
|
143
|
+
element database {
|
|
144
|
+
style {
|
|
145
|
+
shape: storage
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
tag critical
|
|
149
|
+
tag public-api
|
|
150
|
+
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### `model` — elementos y relaciones
|
|
154
|
+
|
|
155
|
+
```likec4
|
|
156
|
+
model {
|
|
157
|
+
customer = actor 'Customer'
|
|
158
|
+
|
|
159
|
+
saas = system 'SaaS Platform' {
|
|
160
|
+
backend = service 'Backend' {
|
|
161
|
+
paymentsApi = service 'Payments API' #public-api
|
|
162
|
+
}
|
|
163
|
+
db = database 'Main DB' #critical
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
customer -> saas.backend.paymentsApi 'Pays'
|
|
167
|
+
saas.backend.paymentsApi -> saas.db 'reads/writes'
|
|
168
|
+
}
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### `views`
|
|
172
|
+
|
|
173
|
+
```likec4
|
|
174
|
+
views {
|
|
175
|
+
view index {
|
|
176
|
+
title 'System Context'
|
|
177
|
+
include *
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
view backend of saas.backend {
|
|
181
|
+
include *, saas.db
|
|
182
|
+
style * { color muted }
|
|
183
|
+
style saas.backend.* { color blue }
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
dynamic view checkout {
|
|
187
|
+
title 'Checkout flow'
|
|
188
|
+
customer -> saas.backend.paymentsApi 'POST /pay'
|
|
189
|
+
saas.backend.paymentsApi -> saas.db 'insert payment'
|
|
190
|
+
saas.db -> saas.backend.paymentsApi 'OK'
|
|
191
|
+
saas.backend.paymentsApi -> customer '201'
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Predicates `*`, `_`, `**`
|
|
197
|
+
|
|
198
|
+
| Predicate | Significado |
|
|
199
|
+
|-----------|-------------|
|
|
200
|
+
| `*` | Todos los elementos del scope actual |
|
|
201
|
+
| `_` | El elemento referenciado (self) |
|
|
202
|
+
| `**` | Recursivo sobre hijos anidados |
|
|
203
|
+
| `saas.**` | Todos los descendientes de `saas` (incluyendo nietos) |
|
|
204
|
+
| `saas.*` | Hijos directos de `saas` |
|
|
205
|
+
|
|
206
|
+
### Identificadores y FQN
|
|
207
|
+
|
|
208
|
+
- **Identificador**: letras, dígitos, `-`, `_`. No puntos, no empieza con dígito.
|
|
209
|
+
- Válidos: `customer`, `payment-service`, `frontendApp`, `queue-1`
|
|
210
|
+
- Inválido: `payment.api` (el punto es separador de FQN)
|
|
211
|
+
- **FQN**: path dot-separado único por proyecto. Ej: `saas.backend.paymentsApi`.
|
|
212
|
+
- **Lexical scoping** dentro del mismo archivo (puede sombrear). **Cross-file**
|
|
213
|
+
requiere SIEMPRE FQN completo.
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## CLI canonical contracts
|
|
218
|
+
|
|
219
|
+
### Validate
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
# Validación completa del proyecto
|
|
223
|
+
npx likec4 validate <project-dir>
|
|
224
|
+
|
|
225
|
+
# Validación strict en CI (recomendada)
|
|
226
|
+
npx likec4 validate --json --no-layout --file <ruta.c4> <project-dir>
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
Flags clave:
|
|
230
|
+
- `--json`: salida JSON estructurada.
|
|
231
|
+
- `--no-layout`: omite verificación de layout drift (más rápido; útil en
|
|
232
|
+
pre-commit de sintaxis pura).
|
|
233
|
+
- `--file <path>`: scope de errores al archivo dado (repetible).
|
|
234
|
+
- `--file <a> --file <b>`: multi-archivo.
|
|
235
|
+
|
|
236
|
+
Campos críticos del JSON:
|
|
237
|
+
- `filteredFiles`, `filteredErrors`: errores acotados al archivo.
|
|
238
|
+
- `totalErrors`: errores de todo el proyecto.
|
|
239
|
+
|
|
240
|
+
### Export
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
# PNG a directorio
|
|
244
|
+
npx likec4 export png --outdir ./images <project-dir>
|
|
245
|
+
|
|
246
|
+
# Filtrar views por glob
|
|
247
|
+
npx likec4 export png --views 'overview*' --outdir ./images <project-dir>
|
|
248
|
+
|
|
249
|
+
# Otros formatos
|
|
250
|
+
npx likec4 export svg --outdir ./images <project-dir>
|
|
251
|
+
npx likec4 export dot --outdir ./dot <project-dir>
|
|
252
|
+
npx likec4 export mermaid --outdir ./md <project-dir>
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### Preview interactivo
|
|
256
|
+
|
|
257
|
+
```bash
|
|
258
|
+
npx likec4 start <project-dir>
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
Levanta servidor local con hot-reload.
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## Casos de uso en SWL
|
|
266
|
+
|
|
267
|
+
### 1. `arquitecto-swl` genera ADR con diagrama LikeC4
|
|
268
|
+
|
|
269
|
+
Cuando el usuario pide registrar una decisión arquitectónica y el proyecto ya
|
|
270
|
+
tiene LikeC4:
|
|
271
|
+
|
|
272
|
+
1. Escribir el ADR en `docs/adr/NNNN-<slug>.md`.
|
|
273
|
+
2. Añadir una view dedicada en `views` del modelo LikeC4.
|
|
274
|
+
3. Exportar PNG/SVG al directorio del ADR con `likec4 export`.
|
|
275
|
+
4. Enlazar la imagen desde el ADR.
|
|
276
|
+
|
|
277
|
+
### 2. `documentador-swl` consulta arquitectura vía MCP
|
|
278
|
+
|
|
279
|
+
Sin abrir los archivos fuente, usar las tools MCP:
|
|
280
|
+
|
|
281
|
+
```
|
|
282
|
+
list-projects → read-project-summary → read-view('index')
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
Útil cuando se necesita describir la arquitectura sin cargar todo el DSL en
|
|
286
|
+
contexto.
|
|
287
|
+
|
|
288
|
+
### 3. `revisor-codigo-swl` detecta deriva modelo↔código
|
|
289
|
+
|
|
290
|
+
Si el proyecto tiene `src/backend/payments.ts` pero el modelo LikeC4 no lo
|
|
291
|
+
menciona, reportar como drift.
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
# Lista servicios del modelo
|
|
295
|
+
npx likec4 validate --json <project-dir> | \
|
|
296
|
+
node -e "const d=require('fs').readFileSync(0,'utf8'); const m=JSON.parse(d); console.log(m.elements.map(e=>e.id).join('\n'))"
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
### 4. `depurador-swl` prioriza por relaciones críticas
|
|
300
|
+
|
|
301
|
+
Antes de modificar un servicio, consultar `query-incomers-graph` para entender
|
|
302
|
+
quién depende de él y ajustar el blast radius esperado.
|
|
303
|
+
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
## Patrones buenos y malos
|
|
307
|
+
|
|
308
|
+
### BIEN — una sola fuente de verdad
|
|
309
|
+
|
|
310
|
+
```likec4
|
|
311
|
+
// projects/saas/system-model.c4
|
|
312
|
+
model {
|
|
313
|
+
saas = system 'SaaS' {
|
|
314
|
+
backend = service
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
El proyecto se determina por el `likec4.config.json` más cercano en el árbol.
|
|
320
|
+
|
|
321
|
+
### MAL — cross-file sin FQN completo
|
|
322
|
+
|
|
323
|
+
```likec4
|
|
324
|
+
// archivo-a.c4
|
|
325
|
+
model {
|
|
326
|
+
saas = system { backend = service }
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
// archivo-b.c4
|
|
330
|
+
views {
|
|
331
|
+
view test of backend { ... } // ERROR: cross-file sin FQN completo
|
|
332
|
+
}
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
### BIEN — cross-file con FQN completo
|
|
336
|
+
|
|
337
|
+
```likec4
|
|
338
|
+
views {
|
|
339
|
+
view test of saas.backend { ... }
|
|
340
|
+
}
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
### MAL — styling del modelo dentro del model block
|
|
344
|
+
|
|
345
|
+
```likec4
|
|
346
|
+
model {
|
|
347
|
+
saas = system 'SaaS' #blue // ❌ styling no va en model
|
|
348
|
+
}
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
### BIEN — styling en specification o en view
|
|
352
|
+
|
|
353
|
+
```likec4
|
|
354
|
+
specification {
|
|
355
|
+
element system {
|
|
356
|
+
style { color: blue }
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
// o solo para una view específica:
|
|
361
|
+
views {
|
|
362
|
+
view x {
|
|
363
|
+
include *
|
|
364
|
+
style saas.* { color blue }
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
---
|
|
370
|
+
|
|
371
|
+
## Integración con otros componentes SWL
|
|
372
|
+
|
|
373
|
+
- **`arquitecto-swl`**: invoca esta skill cuando el proyecto adopta LikeC4.
|
|
374
|
+
- **`documentador-swl`**: consume MCP `read-view` para obtener descripciones de
|
|
375
|
+
arquitectura sin parsear el DSL manualmente.
|
|
376
|
+
- **`revisor-codigo-swl`**: usa `element-diff` y `query-graph` para detectar
|
|
377
|
+
inconsistencias entre el código y el modelo.
|
|
378
|
+
- **`habilidades/generacion-mermaid`**: si el proyecto NO adopta LikeC4, esa
|
|
379
|
+
skill es la alternativa. Las dos no coexisten en el mismo proyecto.
|
|
380
|
+
- **`habilidades/dbml-experto`**: complementaria — LikeC4 describe arquitectura
|
|
381
|
+
de sistemas; DBML describe esquema de BD. Pueden coexistir en el mismo proyecto.
|
|
382
|
+
|
|
383
|
+
---
|
|
384
|
+
|
|
385
|
+
## Lo que esta skill NO hace
|
|
386
|
+
|
|
387
|
+
- **No renderiza diagramas** — delega al CLI `likec4 export` o al preview.
|
|
388
|
+
- **No parsea el DSL programáticamente** — delega al MCP server o al CLI.
|
|
389
|
+
- **No reemplaza** Structurizr, C4-PlantUML, PlantUML o Mermaid — es una
|
|
390
|
+
herramienta distinta con su propio DSL.
|
|
391
|
+
- **No genera código de aplicación** — describe arquitectura, no la
|
|
392
|
+
implementa.
|
|
393
|
+
|
|
394
|
+
---
|
|
395
|
+
|
|
396
|
+
## Referencias
|
|
397
|
+
|
|
398
|
+
- Sitio oficial: https://likec4.dev/
|
|
399
|
+
- Playground: https://playground.likec4.dev/
|
|
400
|
+
- C4 Model: https://c4model.com/
|
|
401
|
+
- Skill fuente (inspiración): `skills/likec4-dsl/SKILL.md` del repo LikeC4.
|
|
402
|
+
- MCP server: ejecutar `npx likec4 mcp --help` para flags del servidor.
|
|
403
|
+
|
|
404
|
+
## Gotchas / Errores comunes no obvios
|
|
405
|
+
|
|
406
|
+
**`npx likec4 validate` reporta cero errores pero el proyecto tiene referencias cross-file rotas cuando se usa FQN incorrecto**: LikeC4 no valida referencias cross-file si el FQN referenciado no existe en el scope del proyecto — simplemente crea un elemento implícito sin advertencia en la versión predeterminada del CLI. Causa: la validación de referencias cross-file requiere el flag `--json` + parsing del output para detectar elementos implícitos no declarados. Fix: ejecutar `npx likec4 validate --json <project-dir>` y verificar en el JSON de output que no hay elementos con `kind: implicit` — esos indican referencias a FQNs que no existen en ningún archivo del proyecto.
|
|
407
|
+
|
|
408
|
+
**Los identificadores con guiones (`payment-api`) generan FQNs ambiguos cuando el padre también tiene guiones**: `cloud.payment-api.auth-service` puede interpretarse incorrectamente por herramientas externas que asumen que los guiones separan segmentos del FQN en lugar de ser parte del identificador. Causa: el parser de LikeC4 usa el punto como separador de FQN, pero herramientas de análisis de texto externas pueden no distinguirlo. Fix: para elementos que formarán parte de FQNs complejos o serán referenciados vía MCP tool `read-element`, preferir `camelCase` (`paymentApi`, `authService`) que elimina la ambigüedad con separadores.
|
|
409
|
+
|
|
410
|
+
**`likec4 export png` produce imágenes con texto cortado en componentes con nombres largos en español**: el renderer de LikeC4 calcula el bounding box del texto basándose en caracteres ASCII y subvalora el ancho de caracteres acentuados y la ñ. En una caja con `title 'Gestión de Autenticación'`, el texto puede quedar truncado o solapado con el borde. Causa: el motor de layout usa métricas de fuente aproximadas. Fix: usar nombres de elementos más cortos en el `title` (máximo 3 palabras) y poner la descripción completa en el campo `description`, que aparece como tooltip pero no en la caja del diagrama exportado.
|
|
411
|
+
|
|
412
|
+
**El MCP server de LikeC4 (`npx likec4 mcp`) no detecta cambios en los archivos `.c4` después de iniciado**: si el agente modifica archivos del modelo mientras el MCP server está corriendo, las tools `read-element` y `read-view` devuelven los datos del estado inicial del modelo, no el estado actualizado. Causa: el MCP server carga el modelo una vez al iniciar y no implementa file watching por defecto. Fix: reiniciar el MCP server después de modificaciones al modelo (`Ctrl+C` + `npx likec4 mcp`), o usar `likec4 start` en modo preview con hot-reload para desarrollo iterativo y el MCP solo en consultas finales.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../../schemas/skill-evals.schema.json",
|
|
3
|
+
"skill_name": "likec4-experto",
|
|
4
|
+
"artifact_type": "skill",
|
|
5
|
+
"schema_version": 1,
|
|
6
|
+
"description": "Evals para likec4-experto — CLI, DSL, MCP server, anti-substituciones.",
|
|
7
|
+
"evals": [
|
|
8
|
+
{
|
|
9
|
+
"id": 0,
|
|
10
|
+
"prompt": "Comando minimal y strict para validar solo el archivo `projects/template/system-model.c4` sin layout drift.",
|
|
11
|
+
"files": [],
|
|
12
|
+
"expectations": [
|
|
13
|
+
"Usa `likec4 validate` (nunca `check`, `lint`, `build`).",
|
|
14
|
+
"Incluye `--json`.",
|
|
15
|
+
"Incluye `--no-layout`.",
|
|
16
|
+
"Incluye `--file projects/template/system-model.c4`.",
|
|
17
|
+
"Incluye el project path `projects/template` después de los flags."
|
|
18
|
+
],
|
|
19
|
+
"grading_guidance": "Aceptar `npx likec4@latest` o variantes de pin de versión.",
|
|
20
|
+
"tags": ["primary-flow", "cli"],
|
|
21
|
+
"weight": 1.5
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"id": 1,
|
|
25
|
+
"prompt": "Exportar solo vistas que coincidan con `overview*` como PNG al directorio `./images`.",
|
|
26
|
+
"files": [],
|
|
27
|
+
"expectations": [
|
|
28
|
+
"Usa `likec4 export png`.",
|
|
29
|
+
"Usa `--outdir ./images` (o `-o`).",
|
|
30
|
+
"Usa `--views 'overview*'` (glob).",
|
|
31
|
+
"NO usa alias inventados tipo `--output-dir` o `--out`."
|
|
32
|
+
],
|
|
33
|
+
"tags": ["cli", "export"]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"id": "anti-substitution-validate",
|
|
37
|
+
"prompt": "¿Con qué comando se chequea un proyecto LikeC4? Dame el comando exacto.",
|
|
38
|
+
"files": [],
|
|
39
|
+
"expectations": [
|
|
40
|
+
"La respuesta usa `likec4 validate`.",
|
|
41
|
+
"La respuesta NO sustituye con `check`, `lint`, `build`, `compile`."
|
|
42
|
+
],
|
|
43
|
+
"grading_guidance": "Failure inmediata si aparece `check`/`lint`/`build` como comando principal.",
|
|
44
|
+
"tags": ["anti-pattern", "regression"],
|
|
45
|
+
"weight": 2.0
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "cross-file-fqn",
|
|
49
|
+
"prompt": "En un archivo `views.c4`, ¿puedo escribir `view x of backend { ... }` si `backend` está definido en otro archivo del mismo proyecto?",
|
|
50
|
+
"files": [],
|
|
51
|
+
"expectations": [
|
|
52
|
+
"La respuesta indica que NO, que cross-file requiere FQN completo.",
|
|
53
|
+
"La respuesta da el ejemplo correcto (ej: `view x of cloud.backend`).",
|
|
54
|
+
"La respuesta menciona que el lexical scoping NO cruza archivos."
|
|
55
|
+
],
|
|
56
|
+
"tags": ["dsl", "fqn"]
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": "mcp-server",
|
|
60
|
+
"prompt": "¿Cómo inicio el MCP server oficial de LikeC4?",
|
|
61
|
+
"files": [],
|
|
62
|
+
"expectations": [
|
|
63
|
+
"La respuesta incluye `npx likec4 mcp`.",
|
|
64
|
+
"La respuesta menciona al menos 2 tools del MCP (ej: `query-graph`, `read-view`, `find-relationship-paths`)."
|
|
65
|
+
],
|
|
66
|
+
"tags": ["mcp"]
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
}
|