Skills
Una skill es un texto en Markdown con instrucciones que un agente recibe cuando corre en una etapa: cómo escribir notas de versión, qué revisar en una pantalla, qué formato llevan los commits del equipo. Se escriben una vez en la página “Skills” (/skills/) y se conceden a cada agente por etapa en “Agentes”. Una skill no ejecuta nada: si el agente necesita una herramienta (un navegador, GitHub), eso es un MCP.
La página muestra dos grupos. “Este workspace” son las skills de tu equipo: las crean y editan quienes tienen rol administrador en el workspace, y el resto de los miembros puede leerlas. Conceder una skill a un agente también pide rol administrador. “Thulu” son las skills del sistema, que vienen con la instalación y nadie del workspace puede cambiar. Si borraste alguna, aparece un tercer grupo, “Eliminadas”. El botón “Workshop” abre el catálogo para instalar skills de ejemplo o importar una desde un archivo (Workshop).
Cómo le llega una skill al agente
Sección titulada «Cómo le llega una skill al agente»Cada corrida recibe las skills concedidas a ese agente en esa etapa, más las skills del sistema que aplican. Lo que ve el modelo depende del motor y de un campo de la skill:
- Con Claude Code, cada skill llega como un archivo que el modelo abre cuando le parece que aplica. Hasta abrirla, sólo ve el nombre y la descripción. Una descripción vaga hace que la skill no se use nunca.
- Con un motor que no descubre skills, todas se pegan enteras al prompt.
- Una skill con “Entrega” en “Siempre en el prompt” (
enforcement: always) va pegada al prompt en los dos casos. Sirve para reglas que tienen que valer en todos los turnos.
Podés forzar uno u otro modo por agente con “Entrega de skills”, en su pestaña “Configuración” (“Auto — sigue al motor”, “Nativo” o “En línea”). Ver Agentes.
Flujo recomendado: escribir una skill y concedérsela a un agente
Sección titulada «Flujo recomendado: escribir una skill y concedérsela a un agente»-
Abrí “Skills” en la barra lateral y hacé clic en “Nueva skill”. Completá “Nombre” (minúsculas, dígitos y guiones, por ejemplo
notas-de-version) y “Descripción”, y hacé clic en “Crear”.Escribí la descripción para el modelo: qué cubre la skill y cuándo usarla (“Cómo redactar las notas de versión de una release: secciones, tono y qué cambios mencionar”). Es lo que el modelo lee para decidir si la abre.

El nombre no se puede cambiar después; la descripción se edita en la cabecera de la skill. -
Se abre el editor de
prompt.mdcon un título de una línea. Reemplazalo por las instrucciones y guardá con “Guardar” o ⌘S. El punto naranja al lado del nombre del archivo indica cambios sin guardar; si salís con cambios, Thulu te pide confirmar.
prompt.md es lo que recibe el agente. Markdown plano, sin vista previa. -
En la vista de la skill, la sección “Usada por” dice qué agentes la conceden y en qué etapas. Mientras no la conceda nadie, dice “Ningún agente la concede todavía.” con el link “Concedela en Agentes”. Seguilo y elegí el agente en la lista de la izquierda. Si el agente todavía no tiene etapas, tildalas en “Etapas válidas” de la pestaña “Configuración”. Para crear el agente o entender las etapas, ver Agentes.
-
Abrí la pestaña “Skills”. Hay un bloque por etapa válida con una casilla por cada skill del workspace. Tildá la skill en las etapas que la necesitan (“Copiar a las otras etapas” la repite en las demás) y hacé clic en “Guardar configuración”, en la barra de abajo.

Arriba, las skills del workspace concedidas en la etapa. Abajo, las del sistema que Thulu suma por su cuenta.
La concesión rige desde la próxima corrida. Las corridas que ya están en marcha siguen con lo que tenían. “Configuración”, “Skills” y “MCP” comparten “Guardar configuración”, así que podés pasar entre esas tres pestañas sin guardar.
Otras tareas
Sección titulada «Otras tareas»Agregar archivos de referencia
Sección titulada «Agregar archivos de referencia»En la vista de una skill, escribí una ruta en el campo de arriba de la lista (por ejemplo references/ejemplo.md) y hacé clic en “Agregar archivo”. Se abre el editor vacío; escribí el contenido y guardá. Cada archivo tiene “Editar”, “Historial” y “Eliminar” (con confirmación); prompt.md y skill.yaml no se pueden eliminar sueltos porque son la skill: para eso está “Eliminar skill”. Un archivo eliminado queda en la lista como “Eliminado”, con su historial para restaurarlo.

A la corrida le llegan todos los archivos de la skill. El modelo recibe prompt.md entero y el resto (lo de references/, plantillas, scripts/) como una lista de rutas: abre el que las instrucciones nombren. Para que lo use cuando corresponde, decí en prompt.md cuándo abrir cada archivo.
Cambiar la descripción o la entrega
Sección titulada «Cambiar la descripción o la entrega»La cabecera de la skill tiene dos campos. “Descripción” es lo único que el modelo lee antes de decidir si abre la skill, hasta 1024 caracteres, con un contador al lado. “Entrega” elige entre “Cuando el modelo la necesite” (on_demand) y “Siempre en el prompt” (always). Usá “Siempre en el prompt” sólo para reglas que se rompen en silencio si el modelo no las lee: el texto entero va en cada corrida.
Las dos cosas también viven en skill.yaml, que se puede editar a mano con “Editar” en su fila:
| Campo | Qué hace |
|---|---|
name |
El nombre de la skill. Se fija al crearla. |
description |
Lo que el modelo lee antes de abrir la skill. Si lleva dos puntos, ponela entre comillas dobles. |
type |
knowledge al crearla. Hoy no cambia cómo llega la skill. |
enforcement |
on_demand (o vacío) o always, lo mismo que el campo “Entrega”. |
requires |
Otras skills relacionadas. Se guarda pero no tiene efecto: conceder una skill no concede las que nombra. |
Si el YAML queda mal formado, el guardado falla con “No se pudo guardar el archivo:” seguido del motivo, y el archivo sigue como estaba. Revisá comillas y sangrías.
Volver a una versión anterior
Sección titulada «Volver a una versión anterior»Cada guardado queda en el historial del archivo. Hacé clic en “Historial” en la fila del archivo, elegí una versión de la lista para ver su contenido, hacé clic en “Restaurar esta versión” y confirmá. La versión más reciente no tiene el botón porque es la que el archivo ya tiene. La restauración también queda en el historial, así que se puede deshacer.

Borrar una skill
Sección titulada «Borrar una skill»Abrí la skill y hacé clic en “Eliminar skill”. El diálogo lista los agentes que la conceden y ofrece “Quitarla también de estos agentes”: si esas concesiones quedan, le pasan a esos agentes cualquier skill que se cree después con el mismo nombre. Confirmá con “Eliminar”. La skill deja de llegar a las corridas desde la próxima y pasa al grupo “Eliminadas”, donde “Restaurar skill” trae de vuelta todos sus archivos. Las concesiones que se quitaron al borrarla no vuelven.
Skills del sistema
Sección titulada «Skills del sistema»Las skills del grupo “Thulu” le enseñan al agente a trabajar dentro de Thulu: dónde están los repos, cómo preguntar o pedir una aprobación, cómo levantar el sandbox. Enseñan Thulu, no el stack de tu equipo. Vienen dentro de la instalación con un número de versión y se actualizan con cada release. El prefijo octopus- está reservado: ninguna skill del workspace puede empezar así.
Nadie las concede. Cada corrida recibe las que aplican a su etapa: octopus-run llega siempre, octopus-token-optimizer llega cuando el agente tiene prendidas las “Lecturas grandes”, y el resto llega cuando la etapa tiene cableado el MCP que la skill indica en su etiqueta “MCP”.

| Skill | Llega cuando la etapa tiene | De qué se trata |
|---|---|---|
octopus-run |
siempre, pegada al prompt | Tipos de corrida, dónde están los repos y la carpeta de salida, quién hace commit y abre el PR, qué pasa con la tarea al terminar |
octopus-task-workflow |
octopus-api | Preguntar, pedir aprobación, comentarios, hilos, menciones y subtareas |
octopus-refinement |
octopus-api | Refinar una tarea para que otro la trabaje sin volver a preguntar |
octopus-test-cases |
octopus-api | Escribir y mantener los casos de prueba de una tarea |
octopus-observability |
octopus-api | Conectar la observabilidad de un proyecto y armar dashboards |
octopus-browser-evidence |
argus-browser | Grabar videos y capturas anotadas como evidencia |
octopus-evidence-library |
argus-browser | Grabar un caso de la biblioteca de Evidencia desde un chat |
octopus-sandbox |
argus-sandbox | Levantar un proyecto en el sandbox, el script de arranque y los límites |
octopus-token-optimizer |
“Lecturas grandes” prendidas en el agente | Mandar la lectura de archivos grandes al modelo que eligió el agente |
Apagar una skill del sistema para un agente
Sección titulada «Apagar una skill del sistema para un agente»En la pestaña “Skills” del agente, debajo de las skills del workspace, cada etapa tiene el bloque “Skills del sistema”. Cada casilla dice por qué llega: “Toda corrida”, “La incluye argus-sandbox” o, destildada y deshabilitada, “Necesita octopus-api en esta etapa” cuando la etapa no tiene ese MCP. Destildá la que no quieras y hacé clic en “Guardar configuración”. Vale sólo para ese agente en esa etapa.
Cuando cableás un MCP en la pestaña “MCP” y volvés a “Skills”, las skills de ese MCP pasan a estar activas.

Skills por defecto al crear un agente
Sección titulada «Skills por defecto al crear un agente»El modal “Nuevo agente” (botón “Nuevo agente” en “Agentes”) tiene “Skills por defecto”, con una casilla por cada skill del workspace. Se aplican a cada etapa que tildes en “Etapas” en el mismo modal; sin ninguna etapa tildada no se pueden elegir.

Si tildás “Clonar un agente existente”, el agente nuevo copia las etapas y skills del original, y las skills tildadas se suman a las que ya tenía en cada una de sus etapas.
Problemas comunes
Sección titulada «Problemas comunes»| Síntoma | Causa y salida |
|---|---|
| “nombre de skill inválido: usá minúsculas, dígitos y guiones” | El nombre tiene mayúsculas, espacios o acentos. Usá notas-de-version, no Notas de versión. |
| “ese nombre es de una skill del sistema; elegí otro (los que empiezan con octopus- están reservados)” | El nombre empieza con octopus- o coincide con una skill del sistema. |
| “este workspace ya tiene una skill llamada …” | Ya existe. Buscala con “Buscar skills” (también busca en la descripción). |
| La pestaña Skills del agente dice “Elegí al menos una etapa válida en la pestaña Configuración” | El agente no tiene etapas guardadas. Tildalas en “Configuración” y guardá. |
| El agente no aplica la skill aunque está concedida | Con Claude Code, el modelo decide si la abre según la descripción. Hacela concreta y con un “Usar cuando…”, o pasala a enforcement: always si tiene que valer siempre. |
“No se pudo guardar el archivo: …” al editar skill.yaml |
El YAML no es válido. Lo más común: una descripción con dos puntos sin comillas. Para cambiar la descripción, usá el campo de la cabecera. |
| Una skill de otro workspace no aparece | Cada workspace tiene su propia biblioteca. Ver Workspaces y equipo. |