Workshop
El Workshop es un catálogo de agentes y skills para instalar en tu workspace, más la forma de llevarte agentes y skills de una instalación de Thulu a otra en un archivo JSON. Sirve para arrancar, porque un workspace nuevo no trae ningún agente, y para pasar lo que armaste en un Thulu Docker a la nube, o al revés.
El catálogo viaja dentro del binario del daemon: lo que podés instalar depende de la versión de Thulu que corrés, y Thulu no lo baja de internet. Hoy trae dos agentes de ejemplo y una skill: sample-developer (un agente de programación para copiar y adaptar: implementa la tarea en su rama, corre los tests y commitea), changelog-writer (escribe la entrada del CHANGELOG del trabajo de una tarea) y la skill que usa, changelog-style. Son puntos de partida: los agentes de tu equipo los escribís vos o los importás.
Para instalar o importar necesitás ser admin del workspace. Mirar el catálogo y exportar lo puede hacer cualquier miembro.
Instalar un agente en un workspace vacío
Sección titulada «Instalar un agente en un workspace vacío»-
Abrí “Agentes” en la barra lateral y tocá “Workshop”, arriba a la derecha al lado de “Nuevo agente”. Si el workspace no tiene agentes, la lista también dice “Instalá agentes listos desde el Workshop o creá uno propio.” con otro botón “Workshop”.

Con el workspace vacío, el Workshop se abre desde la cabecera o desde la lista. -
Se abre el modal del Workshop en la pestaña “Agentes”, con un contador de cuántos trae. Si lo abrís desde “Skills”, arranca en la pestaña “Skills”. Arriba tenés la búsqueda (“Buscar por nombre, descripción o etiqueta”) y las etiquetas del catálogo como chips: si marcás varias, la lista muestra sólo lo que tiene todas. Las descripciones salen en el idioma de la UI.
-
Elegí un agente de la lista. A la derecha aparece su detalle: qué hace, las skills que usa, sus etapas (con el nombre que tienen en tu tablero, o “Ningún tablero tiene esta etapa”), sus MCP, la imagen si corre con una propia, la revisión, las etiquetas y sus archivos (desplegables, con el texto de cada prompt). Abajo dice cuántas skills trae (“Trae 1 skill.”).

El detalle muestra todo lo que se va a instalar, incluido el texto de cada prompt. -
Tocá “Instalar”. El modal pasa a “Revisá antes de instalar”: la lista de todo lo que va a escribir, con el agente y cada skill que trae, y los avisos si falta algo para que funcione.

El agente trae su skill en el mismo plan. -
Tocá “Instalar 2 ítems”. Todo se escribe junto o no se escribe nada. El modal muestra “Listo” con lo que pasó (instalados, actualizados, reemplazados, copias con su nombre nuevo y lo que quedó afuera) y “Volver al catálogo”; la lista de Agentes ya muestra el agente.

El resultado dice qué se escribió y recuerda que instalar no pone al agente a trabajar.
Para instalar varios a la vez, marcá la casilla de cada uno en la lista y tocá “Revisar e instalar N”: sale un solo plan con todos.
Desde ahí el agente es tuyo: cerrá el modal y editalo en Agentes como cualquier otro, y sus skills en Skills. Instalar no lo pone a trabajar. Los dos agentes de ejemplo vienen con in_progress entre sus etapas válidas; el agente que corre en cada etapa se elige en la “Plantilla de etapas” del proyecto o en el campo Agente de la tarea (ver Proyectos y Tableros y etapas).
Instalar una skill sola es igual desde la pestaña “Skills”. Una skill que pide otras en su requires las trae en el mismo plan, y su detalle muestra “Requiere” y “La usan” (los agentes del catálogo que la traen).
Cómo leer el plan
Sección titulada «Cómo leer el plan»Antes de escribir nada, el Workshop compara cada ítem con lo que ya tiene el workspace y lo clasifica. La lista del catálogo muestra el mismo estado con una palabra corta:
| En la lista | En el plan | Qué pasa por defecto | Qué más podés elegir |
|---|---|---|---|
| “Disponible” | “Nuevo en el workspace” | “Instalar” | “No instalar” |
| “Instalado” | “Ya lo tenés igual” | no se toca | nada |
| “Actualización” | “Hay una revisión nueva y no lo tocaste” | “Actualizar” | “Conservar la tuya”, “Instalar como copia” |
| “Tenés otro” | “Ya tenés uno distinto con este nombre” | “Conservar la tuya” | “Reemplazar”, “Instalar como copia” |
| “Nombre reservado” | “El nombre es de una skill de Thulu” | “No instalar” | “Instalar como copia” con otro nombre |
Cuando un ítem tiene más de una opción, la fila muestra un selector con las opciones y una etiqueta a la derecha con lo que va a pasar (“Se instala”, “Sin cambios”, “Se actualiza”, “Se reemplaza”, “Copia”, “Queda afuera”). Cada vez que cambiás una opción, el plan se vuelve a calcular y los avisos cambian según lo que se va a escribir. El botón final dice lo que hace: “Instalar 3 ítems”, “Actualizar 1 ítem” o “Aplicar 2 cambios” si mezcla, y queda deshabilitado con “Nada para instalar” si todo queda como está.
Al aplicar, el daemon arma el plan de nuevo contra el workspace como está en ese momento. Si alguien cambió algo mientras mirabas y tu opción ya no corresponde, ese ítem vuelve a su opción por defecto, que nunca pisa lo tuyo.
Actualizar lo que instalaste
Sección titulada «Actualizar lo que instalaste»Cada ítem del catálogo tiene un número de revisión, y una versión nueva de Thulu puede traer una revisión más nueva. El Workshop recuerda qué revisión instalaste y si la editaste después.
- Si no la tocaste, el botón “Workshop” de Agentes y Skills suma un contador (“1 actualización en el Workshop”) y la fila del ítem en tu lista lleva la etiqueta “Actualización”. En el catálogo el detalle dice, por ejemplo, “2 (tenés la 1)”, el botón es “Actualizar” y el plan ya viene con “Actualizar” elegido.
- Si la editaste (un prompt, un archivo de la skill o la configuración del agente), aparece como “Tenés otro” y el plan agrega “Lo editaste después de instalarlo”. Por defecto se conserva tu versión.
Lo que entró por archivo también se reconoce: si importás otra versión del mismo agente y no lo habías tocado, el plan dice “El archivo trae otra versión y no lo tocaste” y ofrece actualizarlo.
Cuando ya tenés algo con el mismo nombre
Sección titulada «Cuando ya tenés algo con el mismo nombre»Si el catálogo o un archivo trae un agente o una skill con un nombre que ya usás y el contenido es distinto, el detalle muestra “Revisar e instalar” y el plan te deja elegir por ítem:
- “Conservar la tuya” (por defecto): no se toca. Si es una skill que trae un agente, el plan avisa “changelog-writer va a usar tu changelog-style, no la del Workshop” y sugiere instalarla como copia.
- “Reemplazar”: se escribe la versión nueva encima. Los archivos anteriores quedan en el historial del editor, y en un agente la configuración que tenía queda en su historial de configuración (“La configuración actual queda en el historial del agente”), así que se puede restaurar.
- “Instalar como copia”: se instala al lado con el nombre que pongas en “Nombre de la copia” (propone uno libre, como
changelog-style-2). Los agentes que vienen en el mismo plan pasan a usar la copia; los tuyos siguen con la tuya.

Un agente instalado junto con una copia de su skill sigue recibiendo actualizaciones: el Workshop compara su skill con la copia que conserva.
Exportar e importar entre instalaciones
Sección titulada «Exportar e importar entre instalaciones»Sirve para pasar agentes de un Thulu Docker a la nube, de la nube a Docker, o entre dos workspaces.
Exportar
Sección titulada «Exportar»-
En “Agentes”, elegí el agente. En la cabecera del editor, al lado de “Eliminar agente”, tocá “Exportar”. Para bajar todos los agentes del workspace en un solo archivo, usá “Exportar todos” en la cabecera de la página.

"Exportar" está en la cabecera del editor de cada agente. -
Se baja
octopus-agent-<nombre>.json(ooctopus-agents.jsoncon todos) con los agentes, sus prompts y las skills del workspace que usan, más las que esas skills piden. Las skills del sistema (lasoctopus-*) no viajan: cada instalación tiene las suyas.
Para una skill es lo mismo desde “Skills”: el botón “Exportar” está en la cabecera de la skill y baja octopus-skill-<nombre>.json; “Exportar todas” baja octopus-skills.json. Las skills del sistema no tienen ese botón.
Importar
Sección titulada «Importar»-
En la otra instalación, abrí “Agentes” o “Skills” y tocá “Workshop”.
-
Tocá “Importar archivo” en la cabecera del modal y elegí el JSON, o arrastralo encima del modal (“Soltá el archivo JSON para importarlo”).
-
Aparece el mismo plan que en una instalación del catálogo, con el texto “Esto es lo que trae el archivo.” Resolvé los choques como arriba y tocá el botón final.

El plan de un archivo importado es el mismo que el del catálogo.
El archivo es JSON legible: los prompts viajan como texto, así que lo podés revisar antes de importarlo. Lo que no es texto viaja en base64.
| Límite | Valor |
|---|---|
| Tamaño del archivo | 3 MB |
| Agentes por archivo | 50 |
| Skills por archivo | 200 |
| Archivos en total | 2000 |
En una instalación self-hosted, thulu agents export -workspace <id> > agentes.json también escribe todos los agentes del workspace en un archivo que el Workshop importa. Los manuales de MCP que trae ese archivo se saltean, porque son de la instalación y no del workspace. El comando está en CLI.
Avisos del plan
Sección titulada «Avisos del plan»El plan revisa lo que el agente necesita para funcionar en esta instalación. Los avisos amarillos dejan instalar; los rojos deshabilitan el botón final hasta que elijas “No instalar” en el ítem que los causa.
| Aviso | Tipo | Qué significa |
|---|---|---|
| “usa skills que nadie trae ni están en el workspace” | aviso | El agente va a correr sin esas skills. |
| “usa MCP que esta instalación no tiene” | aviso | Esas herramientas no van a estar en sus corridas. Mirá MCPs. |
| “está configurado para etapas que ningún tablero tiene” | aviso | Agregá la etapa a un tablero o editá el agente. |
| “va a usar tu …, no la del Workshop” | aviso | Conservaste tu skill del mismo nombre; si querés la del catálogo, instalala como copia. |
| “corre con su propia imagen … Revisá que exista en esta instalación” | aviso | Un agente del catálogo con imagen propia, en Docker. |
| “pide su propia imagen … y en la nube no se pueden usar imágenes propias” | bloquea | Un agente del catálogo con imagen propia, en SaaS. Elegí “No instalar” para instalar el resto. |
| “nombra una imagen de contenedor … entra sin ella y corre con la imagen de su motor” | aviso | Un agente importado de un archivo con image, en Docker y en SaaS. Un import nunca trae su propia imagen. |
| “usa un nombre reservado para las skills de Thulu y queda afuera” | aviso | Una skill con prefijo octopus-. Para importarla, elegí “Instalar como copia” y ponele otro nombre. |
| “parece tener un secreto. El resto del archivo se instala igual” | aviso | Ese agente o skill tiene algo con forma de clave o token y no se importa. |
| “El archivo trae manuales de N servidores MCP. No se importan” | aviso | Viene de un archivo de thulu agents export. |

Quién puede hacer qué
Sección titulada «Quién puede hacer qué»Cualquier miembro del workspace puede abrir el Workshop, mirar el catálogo y exportar. Instalar, actualizar e importar es sólo para admins: a los demás no les aparece “Importar archivo” y el detalle dice “Sólo un admin del workspace puede instalar.” Cada instalación o importación queda como un solo evento workshop.applied en la auditoría, con todo lo que escribió (ver Seguridad y auditoría).
El Workshop y thulu export/import
Sección titulada «El Workshop y thulu export/import»Son cosas distintas y no se reemplazan:
| Workshop | thulu export / thulu import |
|
|---|---|---|
| Qué mueve | Agentes y skills | Un workspace entero: tableros, tareas, proyectos, adjuntos, métricas, agentes, ajustes y MCP |
| Dónde | En la UI, en Docker y en SaaS | Desde la línea de comandos, contra el contenedor del daemon; sólo self-hosted |
| Formato | Un JSON | Un .tar.gz versionado |
| Contra lo que ya hay | Plan con choques; lo tuyo se conserva por defecto | Restaura con los mismos ids, pensado para una instalación nueva |
Para migrar una instalación completa, mirá Operación self-hosted. Para llevar agentes que armaste a otro workspace o a la nube, usá el Workshop.
Problemas comunes
Sección titulada «Problemas comunes»- Borraste un agente del Workshop y lo querés de vuelta: el catálogo dice “Lo eliminaste del workspace. Instalarlo lo vuelve a habilitar.” y el plan lo instala de nuevo.
- “El archivo pesa más de 3 MB.” o “El archivo no es JSON válido.”: el navegador lo rechaza antes de mandarlo. Partilo en varios exports o revisá que no se haya cortado.
- “la versión N del archivo no está soportada”: el archivo usa un formato que este Thulu no lee, en general porque lo exportó una versión más nueva. Actualizá la instalación de destino.
- “no es un archivo de agentes y skills de Thulu”: el JSON no es un export del Workshop ni un archivo de
thulu agents export. - “no queda un nombre libre para copiar”: ya existen las copias
-2a-99. Escribí otro nombre en “Nombre de la copia” o elegí “Reemplazar”. - Un agente o una skill del archivo “parece tener un secreto”: se importa el resto. Sacá ese texto del JSON y guardá el secreto en Credenciales y motores.
- El agente instalado no corre en ninguna tarea: instalar no lo asigna a nada. Elegilo en la “Plantilla de etapas” del proyecto (Proyectos) o en la tarea.