55c907a3ac
Agregar 4 skills de ejemplo funcionales y README del sistema: Skills de ejemplo: - devops/deploy-service: deploy completo con rollback - analysis/log-analyzer: analisis de logs con metricas - communication/daily-report: reportes diarios automaticos - system/health-check: verificacion de salud multi-servicio Cada skill incluye: - SKILL.md con frontmatter YAML + instrucciones markdown - Descripcion de parametros y proceso paso a paso - Ejemplos de uso y consideraciones de seguridad skills/README.md documenta: - Diferencia entre tools (atomicas) y skills (flujos multi-paso) - Formato de SKILL.md y carga progresiva (3 niveles) - Categorias disponibles y uso desde agentes Las skills son contenido declarativo, no codigo Go.
3.4 KiB
3.4 KiB
Sistema de Skills
Sistema de skills reutilizables para agentes Matrix. Las skills son paquetes de instrucciones, scripts y recursos que amplian las capacidades de un agente mas alla de las tools de function calling.
Diferencia entre Tools y Skills
- Tools (
tools/) — funciones atomicas que el LLM invoca via function calling (ssh_command, http_get, clock, etc.) - Skills (
skills/) — flujos completos de trabajo multi-paso que combinan tools, logica condicional y conocimiento de dominio
Ejemplo:
- Tool:
ssh_command— ejecuta un comando SSH - Skill:
deploy-service— usa ssh_command, http_get y logica para hacer un deploy completo
Estructura de una skill
skills/<categoria>/<skill-name>/
├── SKILL.md ← obligatorio (frontmatter YAML + instrucciones markdown)
├── LICENSE.txt ← opcional
├── scripts/ ← opcional, codigo ejecutable (bash, python, etc.)
├── references/ ← opcional, docs de referencia
├── templates/ ← opcional, plantillas/assets
└── assets/ ← opcional, fuentes, iconos, etc.
SKILL.md — formato
---
name: skill-name
description: >
Descripcion clara de que hace la skill y cuando debe activarse.
Esta descripcion es el mecanismo principal de triggering.
---
# Instrucciones
Cuerpo markdown con las instrucciones completas.
Idealmente < 500 lineas.
Carga progresiva (3 niveles)
El sistema carga skills de forma progresiva para optimizar el uso del contexto del LLM:
- Metadata (name + description) — siempre en contexto (~100 palabras). El agente la lee para decidir si activar la skill.
- Cuerpo del SKILL.md — se carga cuando la skill se activa. Instrucciones principales.
- Recursos bundled (scripts/, references/, etc.) — se cargan bajo demanda. El SKILL.md indica cuando leer cada archivo.
Carpetas opcionales
| Carpeta | Proposito |
|---|---|
scripts/ |
Codigo ejecutable que el agente corre (bash, python). Puede ejecutarlos sin cargarlos en contexto. |
references/ |
Documentacion extensa, leida solo cuando es relevante. Si > 300 lineas, agregar TOC al inicio. |
templates/ |
Plantillas que la skill usa como base para generar outputs. |
assets/ |
Archivos estaticos (fuentes, iconos, imagenes). |
Categorias de skills
devops/— operaciones y deployanalysis/— analisis de datos/logscommunication/— comunicacion y notificacionescoding/— desarrollo y code reviewsystem/— administracion del sistema
Uso desde agentes
Los agentes pueden interactuar con skills via function calling:
skill_search— busca skills relevantes por queryskill_load— carga instrucciones completas de una skillskill_read_resource— lee un recurso especifico (script, reference, template)skill_run_script— ejecuta un script de la skill con argumentos
Configuracion
Las skills se configuran por agente en el YAML de configuracion:
skills:
enabled: true
path: "skills/"
categories: ["devops", "system"] # filtro opcional
Seguridad
- Los scripts de skills tienen las mismas restricciones que ssh_command
- Allowlist de interpreters permitidos (bash, python3, sh)
- Timeout obligatorio en ejecucion
- Sin acceso directo a secretos
Crear nuevas skills
Ver .claude/rules/create_skill.md para la guia completa de creacion de skills.