Ir al contenido

Skills — el catálogo inmutable y las asignaciones fijadas

Skills (modules/skills, olivares.skills) es uno de los 32 módulos. Es dueño del catálogo inmutable de skills y de sus asignaciones fijadas: un pack de skills se instala una vez, se valida entrada por entrada contra el digest de su manifiesto y se publica como una revisión inmutable — nunca se edita en sitio después. Lo que un destino (un agente, un grupo, un workspace) puede usar es una asignación que fija una revisión del pack, y cada pin se escribe en el ledger de auditoría (skills.assignment.pin).

Activado por defecto en instalaciones nuevas, Skills sigue siendo opcional y no requiere otro módulo. Las actualizaciones conservan la selección guardada. En Skills (/skills), explora el catálogo integrado e instala un paquete con una asignación opcional a un workspace, o elige Desde Git. La CLI usa la misma importación inmutable validada por digest:

Ventana de terminal
olivares skills ls --builtin
olivares skills install --builtin ecc-security
olivares skills install --git https://github.com/owner/skills --ref <commit> --subdir skills
olivares skills assign <pack-id> --revision <revision-id> --workspace <workspace-id>
olivares skills update <pack-id> # read the recorded source again and review the diff
olivares skills update <pack-id> --apply --expected-digest <digest>
olivares skills pin <pack-id> [--revision <older-revision-id>]
olivares skills enable tdd-workflow code-review --folder <folder-ref>
olivares skills selection --workspace <workspace-id> --folder <folder-ref>
  • El catálogo. Packs instalados bajo /v1/m/skills/packs, cada revisión inmutable registra el digest de su manifiesto; retirar un pack que sigue asignado o usado por conversaciones registradas se rechaza, no se borra en cascada y en silencio.
  • El catálogo integrado. Un conjunto vendored de packs de skills upstream fijados por commit y digest de archivo (builtin/PIN.json), validado al instalar igual que un archivo subido. Nada de él se ejecuta al instalar.
  • Las asignaciones. GET/POST /v1/m/skills/assignments y PUT/DELETE /v1/m/skills/assignments/{id} fijan una revisión a un destino, con el ámbito del workspace activo cuando lo hay. Dos destinos del mismo tipo que fijan contenido distinto bajo un mismo nombre de skill se rechazan antes de iniciar una sesión; un destino más específico (carpeta, plantilla, agente, sesión) sustituye la skill del mismo nombre de uno más general, de modo que un proyecto sobrescribe un pack genérico sin editarlo.
  • Importación desde Git. Un importador con ámbito de operador puede traer un pack de skills desde una fuente Git bajo una política fijada; la importación aterriza en el catálogo como otra revisión inmutable, no como un checkout vivo que el motor lee.

Las rutas del módulo viven en su namespace beta (/v1/m/skills/…), documentadas en la referencia de rutas de módulos y renderizadas en la vista Skills de la consola. Las lecturas requieren el permiso de lectura; instalar un pack o una revisión requiere escritura; retirar requiere admin; las asignaciones requieren el permiso de asignación. Una sesión resuelve sus skills solo mediante asignaciones registradas — una carpeta que cambie en disco nunca cambia lo que ejecutará un lanzamiento ya fijado.