@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,620 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: swl:wiki
|
|
3
|
+
description: >
|
|
4
|
+
Gestiona el wiki de conocimiento del proyecto. Implementa el patrón de
|
|
5
|
+
knowledge base persistente y compounding de Andrej Karpathy: tres capas
|
|
6
|
+
separadas (raw/wiki/outputs) con index.md y log.md para navegación y
|
|
7
|
+
trazabilidad. Subcomandos: init, ingest, query, lint.
|
|
8
|
+
allowed_tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep"]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# /swl:wiki — Wiki de conocimiento del proyecto
|
|
12
|
+
|
|
13
|
+
Gestiona el knowledge base persistente del proyecto. A diferencia de
|
|
14
|
+
`.planning/APRENDIZAJES.md` (patrones técnicos de implementación), el wiki
|
|
15
|
+
almacena conocimiento de dominio, decisiones de investigación, arquitectura
|
|
16
|
+
conceptual y análisis que deben sobrevivir indefinidamente sin purgarse.
|
|
17
|
+
|
|
18
|
+
## Arquitectura del wiki
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
.planning/knowledge/
|
|
22
|
+
raw/ ← fuentes crudas INMUTABLES (artículos, docs, notas, outputs de agentes)
|
|
23
|
+
wiki/ ← síntesis mantenida por IA (una página .md por topic)
|
|
24
|
+
INDEX.md ← catálogo de todas las páginas (actualizado en cada ingest)
|
|
25
|
+
log.md ← historial cronológico append-only (parseable con grep)
|
|
26
|
+
[topic].md ← página por topic/agente/tecnología/decisión
|
|
27
|
+
outputs/ ← respuestas a queries, análisis, comparativas (referencias al wiki)
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**Separación de responsabilidades**:
|
|
31
|
+
- `raw/` → NUNCA modificar. Es la fuente de verdad. El LLM solo lee.
|
|
32
|
+
- `wiki/` → El LLM escribe y mantiene. El usuario lee.
|
|
33
|
+
- `outputs/` → El LLM escribe al responder queries. Se pueden reutilizar como fuentes.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Subcomando: `init`
|
|
38
|
+
|
|
39
|
+
**Uso**: `/swl:wiki init`
|
|
40
|
+
|
|
41
|
+
Inicializa la estructura del wiki para el proyecto actual.
|
|
42
|
+
|
|
43
|
+
### Pasos
|
|
44
|
+
|
|
45
|
+
1. **Crear estructura de directorios**:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
mkdir -p .planning/knowledge/raw
|
|
49
|
+
mkdir -p .planning/knowledge/wiki
|
|
50
|
+
mkdir -p .planning/knowledge/outputs
|
|
51
|
+
echo "✓ Estructura de directorios creada"
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
2. **Crear INDEX.md** — catálogo inicial:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
cat > .planning/knowledge/wiki/INDEX.md << 'EOF'
|
|
58
|
+
---
|
|
59
|
+
tipo: indice
|
|
60
|
+
actualizado: YYYY-MM-DD
|
|
61
|
+
total_paginas: 0
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
# Índice del Wiki — [nombre del proyecto]
|
|
65
|
+
|
|
66
|
+
> Catálogo de todas las páginas del wiki. Actualizado automáticamente en cada ingest.
|
|
67
|
+
> Para navegar: leer esta página primero, luego profundizar en las páginas relevantes.
|
|
68
|
+
|
|
69
|
+
## Páginas por categoría
|
|
70
|
+
|
|
71
|
+
### Arquitectura y decisiones
|
|
72
|
+
_(vacío — agregar páginas vía `/swl:wiki ingest`)_
|
|
73
|
+
|
|
74
|
+
### Tecnologías y frameworks
|
|
75
|
+
_(vacío)_
|
|
76
|
+
|
|
77
|
+
### Investigaciones y análisis
|
|
78
|
+
_(vacío)_
|
|
79
|
+
|
|
80
|
+
### Procesos y metodología
|
|
81
|
+
_(vacío)_
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
_Wiki inicializado: [FECHA]. Usar `/swl:wiki ingest <archivo>` para agregar contenido._
|
|
85
|
+
EOF
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Reemplazar `YYYY-MM-DD` y `[nombre del proyecto]` con los valores reales.
|
|
89
|
+
|
|
90
|
+
3. **Crear log.md** — historial cronológico:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
cat > .planning/knowledge/wiki/log.md << 'EOF'
|
|
94
|
+
# Log del Wiki — Historial cronológico
|
|
95
|
+
|
|
96
|
+
> Registro append-only de operaciones. Parseable:
|
|
97
|
+
> `grep "^## \[" .planning/knowledge/wiki/log.md | tail -10`
|
|
98
|
+
> `grep "ingest" .planning/knowledge/wiki/log.md`
|
|
99
|
+
|
|
100
|
+
EOF
|
|
101
|
+
echo "## [$(date +%Y-%m-%d)] init | Wiki inicializado para el proyecto" >> .planning/knowledge/wiki/log.md
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
4. **Crear schema.md** — reglas del wiki para este proyecto:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
cat > .planning/knowledge/schema.md << 'EOF'
|
|
108
|
+
# Schema del Wiki — Reglas y convenciones
|
|
109
|
+
|
|
110
|
+
## Qué es este wiki
|
|
111
|
+
Knowledge base del proyecto [NOMBRE]. Captura conocimiento de dominio,
|
|
112
|
+
decisiones técnicas, investigaciones y análisis que deben persistir
|
|
113
|
+
indefinidamente como memoria institucional del proyecto.
|
|
114
|
+
|
|
115
|
+
## Diferencia con APRENDIZAJES.md
|
|
116
|
+
- APRENDIZAJES.md → patrones de implementación técnica (código, bugs, anti-patrones)
|
|
117
|
+
- wiki/ → conocimiento de dominio, arquitectura conceptual, investigación (negocio, decisiones)
|
|
118
|
+
|
|
119
|
+
## Estructura de cada página wiki (patrón Compiled Truth)
|
|
120
|
+
|
|
121
|
+
Cada página wiki sigue el patrón **Compiled Truth**: síntesis curada arriba,
|
|
122
|
+
evidencia cronológica abajo. La síntesis es el conocimiento compilado y
|
|
123
|
+
actualizado; la timeline es el registro inmutable de cómo se llegó ahí.
|
|
124
|
+
|
|
125
|
+
Cada archivo en wiki/ debe seguir este formato:
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
---
|
|
129
|
+
topic: [nombre del topic]
|
|
130
|
+
categoria: arquitectura | tecnologia | investigacion | proceso
|
|
131
|
+
actualizado: YYYY-MM-DD
|
|
132
|
+
fuentes: [N archivos en raw/ que respaldan esta página]
|
|
133
|
+
confianza: alta | media | baja
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
# [Título]
|
|
137
|
+
|
|
138
|
+
## Compiled Truth (síntesis curada)
|
|
139
|
+
|
|
140
|
+
### Resumen
|
|
141
|
+
[Un párrafo que resume el topic — usado en INDEX.md]
|
|
142
|
+
|
|
143
|
+
### Estado actual
|
|
144
|
+
[Qué se sabe HOY sobre este topic. Afirmaciones verificadas con fuentes.
|
|
145
|
+
Cada afirmación clave marcada con [F:N] donde N refiere a la fuente en la
|
|
146
|
+
sección Timeline.]
|
|
147
|
+
|
|
148
|
+
### Decisiones vigentes
|
|
149
|
+
[Decisiones activas sobre este topic, con justificación breve.]
|
|
150
|
+
|
|
151
|
+
### Relaciones
|
|
152
|
+
- Relacionado con: [[otro-topic]], [[otro-topic-2]]
|
|
153
|
+
- Depende de: [[prerequisito]]
|
|
154
|
+
- Referenciado por: [[topic-que-lo-usa]]
|
|
155
|
+
|
|
156
|
+
## Timeline (evidencia cronológica)
|
|
157
|
+
|
|
158
|
+
### [YYYY-MM-DD] [F:1] — [nombre de la fuente]
|
|
159
|
+
- Aportó: [qué conocimiento agregó]
|
|
160
|
+
- Fuente: raw/YYYYMMDD-nombre-fuente.md
|
|
161
|
+
|
|
162
|
+
### [YYYY-MM-DD] [F:2] — [nombre de la fuente]
|
|
163
|
+
- Aportó: [qué conocimiento agregó]
|
|
164
|
+
- Cambió: [qué afirmación anterior se actualizó o contradijo]
|
|
165
|
+
- Fuente: raw/YYYYMMDD-nombre-fuente.md
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
**Reglas del patrón Compiled Truth**:
|
|
169
|
+
- La sección **Compiled Truth** es la fuente de verdad actual — se reescribe con cada ingest.
|
|
170
|
+
- La sección **Timeline** es append-only — nunca modificar entradas anteriores.
|
|
171
|
+
- Si una fuente nueva contradice una anterior, actualizar Compiled Truth Y agregar en Timeline con `Cambió:`.
|
|
172
|
+
- El campo `confianza` refleja cuántas fuentes independientes respaldan las afirmaciones: alta (3+), media (2), baja (1).
|
|
173
|
+
|
|
174
|
+
## Convenciones
|
|
175
|
+
- Links entre páginas: `[[nombre-archivo-sin-extension]]`
|
|
176
|
+
- Una página por topic, no por fuente
|
|
177
|
+
- El LLM actualiza wiki/ — el humano lee y valida
|
|
178
|
+
- raw/ es inmutable — nunca modificar archivos existentes
|
|
179
|
+
- outputs/ contiene respuestas completas — referenciar wiki/ para síntesis
|
|
180
|
+
- log.md es append-only — nunca editar entradas existentes
|
|
181
|
+
|
|
182
|
+
## Topics prioritarios para este proyecto
|
|
183
|
+
[Completar con los dominios específicos del proyecto — ej: "autenticación", "facturación", "arquitectura de microservicios"]
|
|
184
|
+
EOF
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
5. **Confirmación al usuario**:
|
|
188
|
+
|
|
189
|
+
```
|
|
190
|
+
✓ Wiki inicializado en .planning/knowledge/
|
|
191
|
+
|
|
192
|
+
Estructura creada:
|
|
193
|
+
raw/ → depositar fuentes crudas aquí
|
|
194
|
+
wiki/ → el LLM mantiene las páginas
|
|
195
|
+
outputs/ → respuestas y análisis guardados
|
|
196
|
+
INDEX.md → catálogo de páginas (actualizado automáticamente)
|
|
197
|
+
log.md → historial cronológico de operaciones
|
|
198
|
+
schema.md → reglas del wiki (editar para personalizar al proyecto)
|
|
199
|
+
|
|
200
|
+
Próximos pasos:
|
|
201
|
+
/swl:wiki ingest <archivo> → ingerir primera fuente
|
|
202
|
+
/swl:wiki query "<pregunta>" → consultar el wiki
|
|
203
|
+
/swl:wiki lint → health check periódico
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## Subcomando: `ingest`
|
|
209
|
+
|
|
210
|
+
**Uso**: `/swl:wiki ingest <ruta-o-url>`
|
|
211
|
+
|
|
212
|
+
Ingiere una fuente en el wiki: lee, extrae knowledge, actualiza páginas relevantes,
|
|
213
|
+
actualiza INDEX.md y agrega entrada al log.
|
|
214
|
+
|
|
215
|
+
### Tipos de fuente soportados
|
|
216
|
+
|
|
217
|
+
| Tipo | Ejemplo | Herramienta |
|
|
218
|
+
|------|---------|-------------|
|
|
219
|
+
| `.md`, `.txt` (local) | `ingest ./notas/reunion.md` | Read |
|
|
220
|
+
| `.pdf` ≤ 20 páginas (local) | `ingest ./docs/guia.pdf` | Read con `pages:` |
|
|
221
|
+
| `.pdf` > 20 págs o con tablas | `ingest ./docs/reporte.pdf` | swl-markitdown |
|
|
222
|
+
| `.docx`, `.pptx` (local) | `ingest ./docs/arquitectura.docx` | swl-markitdown |
|
|
223
|
+
| `.xlsx`, `.xls` (local) | `ingest ./datos/metricas.xlsx` | swl-markitdown |
|
|
224
|
+
| `.ipynb` Jupyter (local) | `ingest ./notebooks/analisis.ipynb` | swl-markitdown |
|
|
225
|
+
| `.zip` con documentos | `ingest ./docs/documentacion.zip` | swl-markitdown |
|
|
226
|
+
| URL estática (HTML simple) | `ingest https://blog.domain.com/post` | WebFetch |
|
|
227
|
+
| URL dinámica (SPA, JS heavy) | `ingest https://spa-site.com/docs` | agent-browser |
|
|
228
|
+
| URL de YouTube | `ingest https://www.youtube.com/watch?v=...` | swl-markitdown |
|
|
229
|
+
| Output de agente previo | `ingest .planning/knowledge/outputs/2026-04-09-investigacion.md` | Read |
|
|
230
|
+
|
|
231
|
+
### Pasos del ingest
|
|
232
|
+
|
|
233
|
+
**Paso I.1 — Leer la fuente** (detección automática de herramienta):
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
PROJECT_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
|
|
237
|
+
CLI_MKD="$PROJECT_ROOT/scripts/vendor/markitdown/cli.py"
|
|
238
|
+
FUENTE="[RUTA_O_URL]"
|
|
239
|
+
|
|
240
|
+
# Detectar tipo de fuente y elegir herramienta
|
|
241
|
+
if echo "$FUENTE" | grep -qE "^https?://"; then
|
|
242
|
+
# Fuente web
|
|
243
|
+
if echo "$FUENTE" | grep -qE "youtube\.com|youtu\.be"; then
|
|
244
|
+
# YouTube: usar swl-markitdown para transcripción
|
|
245
|
+
CONTENIDO=$(python "$CLI_MKD" "$FUENTE" 2>/dev/null)
|
|
246
|
+
else
|
|
247
|
+
# HTML: WebFetch primero, agent-browser como fallback
|
|
248
|
+
CONTENIDO=$(# usar WebFetch tool aquí)
|
|
249
|
+
PALABRAS=$(echo "$CONTENIDO" | wc -w)
|
|
250
|
+
if [ "$PALABRAS" -lt 500 ]; then
|
|
251
|
+
CONTENIDO=$(# usar agent-browser como fallback)
|
|
252
|
+
fi
|
|
253
|
+
fi
|
|
254
|
+
else
|
|
255
|
+
# Archivo local: elegir según extensión
|
|
256
|
+
EXT="${FUENTE##*.}"
|
|
257
|
+
case "$EXT" in
|
|
258
|
+
md|txt|markdown)
|
|
259
|
+
# Read tool directamente
|
|
260
|
+
;;
|
|
261
|
+
pdf)
|
|
262
|
+
# Read para PDFs cortos; swl-markitdown para PDFs con tablas o > 20 págs
|
|
263
|
+
CONTENIDO=$(python "$CLI_MKD" "$FUENTE" 2>/dev/null)
|
|
264
|
+
;;
|
|
265
|
+
docx|pptx|xlsx|xls|ipynb|epub|zip|csv)
|
|
266
|
+
# swl-markitdown para formatos que Read no soporta
|
|
267
|
+
CONTENIDO=$(python "$CLI_MKD" "$FUENTE" 2>/dev/null)
|
|
268
|
+
if [ -z "$CONTENIDO" ]; then
|
|
269
|
+
echo "Error: swl-markitdown no pudo convertir $FUENTE"
|
|
270
|
+
echo "Verificar: python $CLI_MKD --check"
|
|
271
|
+
exit 1
|
|
272
|
+
fi
|
|
273
|
+
;;
|
|
274
|
+
*)
|
|
275
|
+
# Intentar con swl-markitdown; si falla, reportar
|
|
276
|
+
CONTENIDO=$(python "$CLI_MKD" "$FUENTE" 2>/dev/null)
|
|
277
|
+
;;
|
|
278
|
+
esac
|
|
279
|
+
fi
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
**Paso I.2 — Guardar copia en raw/** (si la fuente es externa o fue convertida):
|
|
283
|
+
|
|
284
|
+
```bash
|
|
285
|
+
FECHA=$(date +%Y%m%d)
|
|
286
|
+
NOMBRE_LIMPIO=$(echo "[FUENTE]" | sed 's|https://||' | sed 's|[/. ]|-|g' | cut -c1-60)
|
|
287
|
+
|
|
288
|
+
# Para archivos Markdown/texto ya en formato correcto
|
|
289
|
+
cp "[FUENTE_LOCAL]" ".planning/knowledge/raw/${FECHA}-${NOMBRE_LIMPIO}.md"
|
|
290
|
+
|
|
291
|
+
# Para archivos convertidos con swl-markitdown (DOCX, XLSX, PPTX, etc.)
|
|
292
|
+
python "$CLI_MKD" "[FUENTE_LOCAL]" > ".planning/knowledge/raw/${FECHA}-${NOMBRE_LIMPIO}.md" 2>/dev/null
|
|
293
|
+
|
|
294
|
+
# Para URLs (WebFetch o agent-browser)
|
|
295
|
+
# agent-browser get text "article" > ".planning/knowledge/raw/${FECHA}-${NOMBRE_LIMPIO}.md"
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
**Paso I.3 — Extraer knowledge de la fuente**:
|
|
299
|
+
|
|
300
|
+
Leer la fuente completa e identificar:
|
|
301
|
+
- Topics principales cubiertos
|
|
302
|
+
- Entidades mencionadas (tecnologías, patrones, decisiones, personas)
|
|
303
|
+
- Afirmaciones verificables con su fuente
|
|
304
|
+
- Relaciones con topics que ya existen en el wiki
|
|
305
|
+
|
|
306
|
+
**Paso I.4 — Actualizar páginas wiki existentes**:
|
|
307
|
+
|
|
308
|
+
Para cada topic cubierto en la fuente que ya tiene página en `wiki/`:
|
|
309
|
+
- Leer la página existente
|
|
310
|
+
- **Compiled Truth**: Reescribir la sección "Estado actual" integrando la información nueva con la existente. No eliminar afirmaciones válidas — solo actualizarlas o expandirlas.
|
|
311
|
+
- **Timeline**: Agregar nueva entrada cronológica append-only con `[F:N]` y lo que la fuente aportó. Si contradice algo, incluir `Cambió:` en la entrada.
|
|
312
|
+
- Actualizar la fecha `actualizado` y el campo `fuentes` (incrementar) en el frontmatter
|
|
313
|
+
- Actualizar `confianza`: baja (1 fuente) → media (2) → alta (3+)
|
|
314
|
+
- Si la nueva info contradice la anterior: actualizar Compiled Truth con la versión correcta Y registrar el cambio en Timeline con `Cambió:`
|
|
315
|
+
|
|
316
|
+
**Paso I.5 — Crear páginas wiki nuevas** (para topics que no tienen página):
|
|
317
|
+
|
|
318
|
+
Para cada topic nuevo identificado que justifique su propia página (criterio: ≥3 afirmaciones distintas sobre el mismo topic):
|
|
319
|
+
|
|
320
|
+
```bash
|
|
321
|
+
cat > ".planning/knowledge/wiki/[nombre-topic].md" << 'EOF'
|
|
322
|
+
---
|
|
323
|
+
topic: [nombre]
|
|
324
|
+
categoria: [arquitectura|tecnologia|investigacion|proceso]
|
|
325
|
+
actualizado: YYYY-MM-DD
|
|
326
|
+
fuentes: 1
|
|
327
|
+
confianza: baja
|
|
328
|
+
---
|
|
329
|
+
|
|
330
|
+
# [Título del topic]
|
|
331
|
+
|
|
332
|
+
## Compiled Truth (síntesis curada)
|
|
333
|
+
|
|
334
|
+
### Resumen
|
|
335
|
+
[Un párrafo conciso — este texto va al INDEX.md]
|
|
336
|
+
|
|
337
|
+
### Estado actual
|
|
338
|
+
[Afirmaciones verificadas, marcadas con [F:1] referenciando la timeline.]
|
|
339
|
+
|
|
340
|
+
### Decisiones vigentes
|
|
341
|
+
[Decisiones activas si aplica, o eliminar sección si no hay.]
|
|
342
|
+
|
|
343
|
+
### Relaciones
|
|
344
|
+
- Relacionado con: [otros topics del wiki si aplica]
|
|
345
|
+
|
|
346
|
+
## Timeline (evidencia cronológica)
|
|
347
|
+
|
|
348
|
+
### [YYYY-MM-DD] [F:1] — [nombre de la fuente]
|
|
349
|
+
- Aportó: [qué conocimiento agregó]
|
|
350
|
+
- Fuente: raw/YYYYMMDD-nombre-fuente.md
|
|
351
|
+
EOF
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
**Paso I.6 — Actualizar INDEX.md**:
|
|
355
|
+
|
|
356
|
+
Agregar o actualizar la entrada del topic nuevo en INDEX.md:
|
|
357
|
+
|
|
358
|
+
```bash
|
|
359
|
+
# Agregar al INDEX.md bajo la categoría correspondiente:
|
|
360
|
+
# | [[nombre-topic]] | [resumen de una línea] | [YYYY-MM-DD] |
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
Estructura de la tabla en INDEX.md:
|
|
364
|
+
```markdown
|
|
365
|
+
| Página | Resumen | Actualizado |
|
|
366
|
+
|--------|---------|-------------|
|
|
367
|
+
| [[nombre-topic]] | Resumen de una línea | YYYY-MM-DD |
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
**Paso I.7 — Agregar al log**:
|
|
371
|
+
|
|
372
|
+
```bash
|
|
373
|
+
echo "## [$(date +%Y-%m-%d)] ingest | [nombre de la fuente] → [N páginas tocadas]" \
|
|
374
|
+
>> .planning/knowledge/wiki/log.md
|
|
375
|
+
echo " Fuentes en raw: $(ls .planning/knowledge/raw/ | wc -l) total" \
|
|
376
|
+
>> .planning/knowledge/wiki/log.md
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
**Paso I.8 — Reporte al usuario**:
|
|
380
|
+
|
|
381
|
+
```
|
|
382
|
+
Ingest completado: [nombre de la fuente]
|
|
383
|
+
|
|
384
|
+
Páginas actualizadas: [N]
|
|
385
|
+
- wiki/[topic1].md — [qué se actualizó]
|
|
386
|
+
- wiki/[topic2].md — [qué se actualizó]
|
|
387
|
+
|
|
388
|
+
Páginas nuevas creadas: [N]
|
|
389
|
+
- wiki/[nuevo-topic].md — [descripción]
|
|
390
|
+
|
|
391
|
+
INDEX.md actualizado: [N] entradas
|
|
392
|
+
log.md: entrada agregada
|
|
393
|
+
|
|
394
|
+
[Si hay contradicciones detectadas:]
|
|
395
|
+
⚠ Contradicciones detectadas — revisar antes de continuar:
|
|
396
|
+
- wiki/[topic].md contradice raw/[fuente-anterior].md en: [claim]
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
---
|
|
400
|
+
|
|
401
|
+
## Subcomando: `query`
|
|
402
|
+
|
|
403
|
+
**Uso**: `/swl:wiki query "<pregunta>"`
|
|
404
|
+
|
|
405
|
+
Responde una pregunta usando el knowledge base del wiki. Guarda la respuesta
|
|
406
|
+
en `outputs/` para que componga en el knowledge base.
|
|
407
|
+
|
|
408
|
+
### Pasos del query
|
|
409
|
+
|
|
410
|
+
**Paso Q.1 — Leer INDEX.md primero**:
|
|
411
|
+
|
|
412
|
+
```bash
|
|
413
|
+
cat .planning/knowledge/wiki/INDEX.md
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
Identificar qué páginas del wiki son relevantes para la pregunta.
|
|
417
|
+
**No cargar todo el wiki** — solo las páginas identificadas en el índice.
|
|
418
|
+
|
|
419
|
+
**Paso Q.2 — Leer páginas relevantes**:
|
|
420
|
+
|
|
421
|
+
Para cada página identificada como relevante:
|
|
422
|
+
```bash
|
|
423
|
+
cat .planning/knowledge/wiki/[topic].md
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
Máximo 5-7 páginas por query para mantener el costo bajo.
|
|
427
|
+
Si la pregunta requiere más páginas, descomponerla en sub-preguntas.
|
|
428
|
+
|
|
429
|
+
**Paso Q.3 — Sintetizar respuesta**:
|
|
430
|
+
|
|
431
|
+
Responder la pregunta basándose SOLO en el contenido del wiki.
|
|
432
|
+
Si la pregunta no puede responderse con el wiki actual, indicarlo explícitamente:
|
|
433
|
+
```
|
|
434
|
+
⚠ El wiki actual no tiene suficiente información sobre [aspecto].
|
|
435
|
+
Fuentes faltantes sugeridas:
|
|
436
|
+
- [tipo de fuente que respondería esto]
|
|
437
|
+
|
|
438
|
+
¿Ejecutar investigación con investigador-swl para completar el wiki?
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
**Paso Q.4 — Guardar output**:
|
|
442
|
+
|
|
443
|
+
```bash
|
|
444
|
+
FECHA=$(date +%Y-%m-%d)
|
|
445
|
+
PREGUNTA_SLUG=$(echo "[PREGUNTA]" | tr ' ' '-' | tr '[:upper:]' '[:lower:]' | cut -c1-50)
|
|
446
|
+
OUTPUT_PATH=".planning/knowledge/outputs/${FECHA}-query-${PREGUNTA_SLUG}.md"
|
|
447
|
+
|
|
448
|
+
cat > "$OUTPUT_PATH" << 'EOF'
|
|
449
|
+
---
|
|
450
|
+
fecha: YYYY-MM-DD
|
|
451
|
+
tipo: query
|
|
452
|
+
pregunta: "[PREGUNTA]"
|
|
453
|
+
paginas_consultadas: [LISTA]
|
|
454
|
+
---
|
|
455
|
+
|
|
456
|
+
# Respuesta: [PREGUNTA]
|
|
457
|
+
|
|
458
|
+
[RESPUESTA COMPLETA]
|
|
459
|
+
|
|
460
|
+
## Fuentes wiki consultadas
|
|
461
|
+
- [[topic1]]
|
|
462
|
+
- [[topic2]]
|
|
463
|
+
EOF
|
|
464
|
+
|
|
465
|
+
echo "✓ Respuesta guardada en: $OUTPUT_PATH"
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
**Paso Q.5 — Proponer si el output debe incorporarse al wiki**:
|
|
469
|
+
|
|
470
|
+
```
|
|
471
|
+
Output guardado en outputs/[archivo].md
|
|
472
|
+
|
|
473
|
+
¿Incorporar esta respuesta al wiki?
|
|
474
|
+
[S] Sí — es un análisis valioso que debería estar en wiki/
|
|
475
|
+
[N] No — es una respuesta puntual que no suma al wiki
|
|
476
|
+
```
|
|
477
|
+
|
|
478
|
+
Si el usuario dice Sí: ejecutar ingest sobre el output para integrarlo al wiki.
|
|
479
|
+
|
|
480
|
+
---
|
|
481
|
+
|
|
482
|
+
## Subcomando: `lint`
|
|
483
|
+
|
|
484
|
+
**Uso**: `/swl:wiki lint`
|
|
485
|
+
|
|
486
|
+
Health check del wiki. Detecta problemas de calidad antes de que se acumulen.
|
|
487
|
+
Ejecutar mensualmente o después de ingestas masivas.
|
|
488
|
+
|
|
489
|
+
### Verificaciones del lint
|
|
490
|
+
|
|
491
|
+
**L.1 — Páginas huérfanas** (sin referencias desde otras páginas):
|
|
492
|
+
|
|
493
|
+
```bash
|
|
494
|
+
echo "=== Páginas huérfanas ==="
|
|
495
|
+
for PAGE in .planning/knowledge/wiki/*.md; do
|
|
496
|
+
NOMBRE=$(basename "$PAGE" .md)
|
|
497
|
+
[ "$NOMBRE" = "INDEX" ] || [ "$NOMBRE" = "log" ] && continue
|
|
498
|
+
REFS=$(grep -r "\[\[$NOMBRE\]\]" .planning/knowledge/wiki/ 2>/dev/null | \
|
|
499
|
+
grep -v "^$PAGE:" | wc -l)
|
|
500
|
+
INDEX_REF=$(grep "\[\[$NOMBRE\]\]" .planning/knowledge/wiki/INDEX.md 2>/dev/null | wc -l)
|
|
501
|
+
TOTAL=$((REFS + INDEX_REF))
|
|
502
|
+
[ "$TOTAL" -eq 0 ] && echo " HUERFANA: $NOMBRE"
|
|
503
|
+
done
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
**L.2 — Páginas fuera del INDEX.md**:
|
|
507
|
+
|
|
508
|
+
```bash
|
|
509
|
+
echo "=== Páginas no indexadas ==="
|
|
510
|
+
for PAGE in .planning/knowledge/wiki/*.md; do
|
|
511
|
+
NOMBRE=$(basename "$PAGE" .md)
|
|
512
|
+
[ "$NOMBRE" = "INDEX" ] || [ "$NOMBRE" = "log" ] && continue
|
|
513
|
+
INDEXED=$(grep "\[\[$NOMBRE\]\]" .planning/knowledge/wiki/INDEX.md 2>/dev/null | wc -l)
|
|
514
|
+
[ "$INDEXED" -eq 0 ] && echo " NO INDEXADA: $NOMBRE"
|
|
515
|
+
done
|
|
516
|
+
```
|
|
517
|
+
|
|
518
|
+
**L.3 — Páginas con frontmatter desactualizado** (no actualizadas en >60 días):
|
|
519
|
+
|
|
520
|
+
```bash
|
|
521
|
+
echo "=== Páginas posiblemente desactualizadas (>60 días) ==="
|
|
522
|
+
HACE_60=$(date -d "60 days ago" +%Y-%m-%d 2>/dev/null || \
|
|
523
|
+
date -v-60d +%Y-%m-%d 2>/dev/null) # macOS fallback
|
|
524
|
+
grep -r "actualizado:" .planning/knowledge/wiki/*.md 2>/dev/null | \
|
|
525
|
+
awk -F: '{if ($2 < "'$HACE_60'") print " VIEJA: " $1 " (" $2 ")"}'
|
|
526
|
+
```
|
|
527
|
+
|
|
528
|
+
**L.4 — Contradicciones marcadas pendientes**:
|
|
529
|
+
|
|
530
|
+
```bash
|
|
531
|
+
echo "=== Contradicciones marcadas sin resolver ==="
|
|
532
|
+
grep -r "\[CONTRADICE:" .planning/knowledge/wiki/*.md 2>/dev/null | \
|
|
533
|
+
sed 's/:.*//' | sort -u
|
|
534
|
+
```
|
|
535
|
+
|
|
536
|
+
**L.5 — Claims sin fuente en raw/**:
|
|
537
|
+
|
|
538
|
+
```bash
|
|
539
|
+
echo "=== Páginas wiki sin fuentes en raw/ ==="
|
|
540
|
+
for PAGE in .planning/knowledge/wiki/*.md; do
|
|
541
|
+
NOMBRE=$(basename "$PAGE" .md)
|
|
542
|
+
[ "$NOMBRE" = "INDEX" ] || [ "$NOMBRE" = "log" ] && continue
|
|
543
|
+
FUENTES=$(grep "^- raw/" "$PAGE" 2>/dev/null | wc -l)
|
|
544
|
+
[ "$FUENTES" -eq 0 ] && echo " SIN FUENTE: $NOMBRE"
|
|
545
|
+
done
|
|
546
|
+
```
|
|
547
|
+
|
|
548
|
+
**L.6 — Tamaño del wiki** (métricas de salud):
|
|
549
|
+
|
|
550
|
+
```bash
|
|
551
|
+
echo "=== Métricas del wiki ==="
|
|
552
|
+
echo " Páginas totales: $(ls .planning/knowledge/wiki/*.md 2>/dev/null | grep -v "INDEX\|log" | wc -l)"
|
|
553
|
+
echo " Fuentes en raw/: $(ls .planning/knowledge/raw/ 2>/dev/null | wc -l)"
|
|
554
|
+
echo " Outputs guardados: $(ls .planning/knowledge/outputs/ 2>/dev/null | wc -l)"
|
|
555
|
+
echo " Último ingest: $(grep "^## \[" .planning/knowledge/wiki/log.md 2>/dev/null | tail -1)"
|
|
556
|
+
echo " Entradas en log: $(grep "^## \[" .planning/knowledge/wiki/log.md 2>/dev/null | wc -l)"
|
|
557
|
+
```
|
|
558
|
+
|
|
559
|
+
### Acciones recomendadas post-lint
|
|
560
|
+
|
|
561
|
+
Basándose en los resultados:
|
|
562
|
+
|
|
563
|
+
| Hallazgo | Acción recomendada |
|
|
564
|
+
|----------|-------------------|
|
|
565
|
+
| Páginas huérfanas | Agregar links desde páginas relacionadas O eliminar si el topic ya no es relevante |
|
|
566
|
+
| Páginas sin indexar | Agregar al INDEX.md bajo la categoría correcta |
|
|
567
|
+
| Páginas >60 días sin actualizar | Revisar si el contenido sigue siendo válido; marcar como `[REVISAR]` si hay dudas |
|
|
568
|
+
| Contradicciones pendientes | Resolver antes del próximo ingest — ver protocolo en `/swl:aprender` Paso 5.5 |
|
|
569
|
+
| Páginas sin fuente | Agregar la fuente a `raw/` O marcar el contenido como `[SIN-FUENTE: verificar]` |
|
|
570
|
+
|
|
571
|
+
### Reporte del lint
|
|
572
|
+
|
|
573
|
+
```bash
|
|
574
|
+
# Agregar al log
|
|
575
|
+
echo "## [$(date +%Y-%m-%d)] lint | health check completado" >> .planning/knowledge/wiki/log.md
|
|
576
|
+
echo " Hallazgos: [N huérfanas] huérfanas, [N] sin indexar, [N] contradicciones" \
|
|
577
|
+
>> .planning/knowledge/wiki/log.md
|
|
578
|
+
```
|
|
579
|
+
|
|
580
|
+
Mostrar al usuario:
|
|
581
|
+
```
|
|
582
|
+
Wiki health check completado:
|
|
583
|
+
|
|
584
|
+
✓ Páginas totales: [N]
|
|
585
|
+
✓ Fuentes en raw/: [N]
|
|
586
|
+
|
|
587
|
+
Hallazgos:
|
|
588
|
+
Páginas huérfanas: [N] → [lista]
|
|
589
|
+
Páginas sin indexar: [N] → [lista]
|
|
590
|
+
Páginas desactualizadas: [N] → [lista]
|
|
591
|
+
Contradicciones: [N] → [lista]
|
|
592
|
+
Páginas sin fuente: [N] → [lista]
|
|
593
|
+
|
|
594
|
+
[Si todo OK:]
|
|
595
|
+
✓ Wiki en buen estado — sin problemas críticos detectados.
|
|
596
|
+
|
|
597
|
+
[Si hay hallazgos:]
|
|
598
|
+
¿Quieres que resuelva los hallazgos ahora? [S/N]
|
|
599
|
+
```
|
|
600
|
+
|
|
601
|
+
---
|
|
602
|
+
|
|
603
|
+
## Integración con otros comandos SWL
|
|
604
|
+
|
|
605
|
+
| Comando | Integración con wiki |
|
|
606
|
+
|---------|---------------------|
|
|
607
|
+
| `/swl:aprender` | Paso 5.5 verifica consistencia con wiki antes de persistir; Fase 4.5 ejecuta lint del wiki |
|
|
608
|
+
| `/swl:mapear-codebase` | El mapa del codebase puede ingresarse al wiki como fuente inicial |
|
|
609
|
+
| `investigador-swl` | Guarda outputs en `outputs/` y fuentes en `raw/` automáticamente |
|
|
610
|
+
| `arquitecto-swl` | Los ADRs pueden ingresarse al wiki como páginas de decisión |
|
|
611
|
+
| `/swl:checkpoint` | Puede hacer referencia al INDEX.md del wiki para contexto de sesión |
|
|
612
|
+
|
|
613
|
+
## Reglas del sistema
|
|
614
|
+
|
|
615
|
+
- `raw/` es **INMUTABLE** — nunca modificar archivos existentes; solo agregar nuevos.
|
|
616
|
+
- `wiki/` es **responsabilidad del LLM** — el humano lee, el LLM escribe y mantiene.
|
|
617
|
+
- `log.md` es **append-only** — nunca editar entradas existentes.
|
|
618
|
+
- Cada ingest debe tocar entre 1 y 15 páginas wiki como máximo. Si una fuente toca más de 15 temas distintos, dividir en múltiples ingests.
|
|
619
|
+
- Un topic que aparece en <3 fuentes no justifica su propia página — agregarlo a una página relacionada.
|
|
620
|
+
- Los outputs en `outputs/` son legibles pero no se indexan automáticamente en INDEX.md — solo si el usuario confirma que deben incorporarse al wiki.
|
package/contextos/dev.md
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dev
|
|
3
|
+
description: Modo desarrollo activo — escribir código, correr tests, hacer commits
|
|
4
|
+
activo: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Modo Desarrollo (dev)
|
|
8
|
+
|
|
9
|
+
## Comportamiento del sistema
|
|
10
|
+
- Todos los agentes de implementación están activos
|
|
11
|
+
- Los agentes revisores operan en modo ligero (solo errores críticos)
|
|
12
|
+
- Se permiten escrituras y ejecución de comandos
|
|
13
|
+
- Commits atómicos después de cada slice completado
|
|
14
|
+
- Skills de implementación y testing se cargan automáticamente
|
|
15
|
+
|
|
16
|
+
## Agentes habilitados
|
|
17
|
+
- orquestador-swl, planificador-swl, implementador-swl
|
|
18
|
+
- backend-*-swl, frontend-*-swl, mobile-*-swl
|
|
19
|
+
- tdd-qa-swl (modo activo — escribe tests)
|
|
20
|
+
- depurador-swl, datos-swl, migrador-swl
|
|
21
|
+
- devops-ci-swl, cloud-infra-swl
|
|
22
|
+
|
|
23
|
+
## Agentes en modo reducido
|
|
24
|
+
- revisor-codigo-swl (solo errores críticos, no estilo)
|
|
25
|
+
- revisor-seguridad-swl (solo vulnerabilidades HIGH/CRITICAL)
|
|
26
|
+
|
|
27
|
+
## Agentes desactivados
|
|
28
|
+
- documentador-swl (se activa solo al terminar una fase)
|
|
29
|
+
- release-manager-swl (solo en modo release)
|
|
30
|
+
|
|
31
|
+
## Reglas activas
|
|
32
|
+
Todas las reglas aplican normalmente.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: research
|
|
3
|
+
description: Modo investigación — leer, analizar, documentar, no modificar código
|
|
4
|
+
activo: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Modo Investigación (research)
|
|
8
|
+
|
|
9
|
+
## Comportamiento del sistema
|
|
10
|
+
- NO se modifica código existente — solo lectura
|
|
11
|
+
- Se permiten escrituras SOLO en .planning/ y docs/
|
|
12
|
+
- Los agentes de investigación operan con profundidad máxima
|
|
13
|
+
- Se generan reportes de investigación y análisis comparativo
|
|
14
|
+
|
|
15
|
+
## Agentes habilitados
|
|
16
|
+
- investigador-swl (investigación tecnológica profunda)
|
|
17
|
+
- investigador-ux-swl (research de usuarios)
|
|
18
|
+
- arquitecto-swl (evaluación de tradeoffs)
|
|
19
|
+
- producto-prd-swl (requisitos y prioridades)
|
|
20
|
+
- documentador-swl (documentación de hallazgos)
|
|
21
|
+
|
|
22
|
+
## Agentes desactivados
|
|
23
|
+
- Todos los de implementación (implementador, backend-*, frontend-*, mobile-*)
|
|
24
|
+
- Todos los de calidad operativa (tdd-qa, revisor-codigo, revisor-seguridad)
|
|
25
|
+
- Todos los de infraestructura (devops-ci, cloud-infra, observabilidad)
|
|
26
|
+
- migrador-swl, datos-swl
|
|
27
|
+
|
|
28
|
+
## Reglas activas
|
|
29
|
+
Solo reglas de documentación y arquitectura.
|
|
30
|
+
Las reglas de estilo de código y testing no aplican (no hay código nuevo).
|