Puntos clave
- Ahora puedes vincular tools a skills. Los esquemas de las tools permanecen fuera del contexto hasta que el agente lee la skill a la que están vinculados, y en los modelos que aceptan nuevas tools a mitad de conversación, añadirlas mantiene intacta la caché del prompt.
- Las apps pueden fijar skills en tiempo de ejecución, de modo que las instrucciones están en el contexto antes de la primera llamada al modelo, sin
read_fileviajes de ida y vuelta. - Las skills pueden recargarse a mitad de hilo, de modo que un agente de larga duración incorpora skills añadidas, editadas o eliminadas sin iniciar un nuevo hilo.
Las skills son una de las mejores formas de dotar de conocimiento de dominio a un agente. Una skill es una carpeta de instrucciones, scripts y archivos de referencia que enseña a un agente cómo hacer cosas, como preparar una reunión con un cliente o revisar transcripciones de llamadas como lo haría tu equipo de ventas. Agent Skills es un estándar abierto que funciona con cualquier modelo y está soportado por docenas de productos de agentes. Tampoco necesitas ser técnico para escribir una: en esencia, una skill es un archivo markdown.
Las skills funcionan gracias a la divulgación progresiva. El agente ve al principio solo el nombre y la descripción de cada skill, y lee las instrucciones completas solo cuando una tarea las necesita. Eso mantiene el contexto pequeño, y la ingeniería de contexto es la clave para construir agentes eficaces.
A medida que se escala el uso, lo que los equipos necesitan de las skills está cambiando. Estamos viendo registros empresariales de skills crecer hasta miles de skills, compartidas entre equipos y agentes. Hemos renovado el soporte de skills en Deep Agents para responder a algunas peticiones comunes:
- Vinculación de tools a skills: las tools vinculadas a una skill se cargan solo cuando el agente lee esa skill.
- Skills fijadas: cuando un usuario solicita explícitamente una skill, como
/meeting-prep, tu app puede cargarla antes de la siguiente llamada al modelo. - Recarga de skills: un hilo de larga duración puede incorporar skills nuevas o modificadas sin empezar de cero.
Cómo funcionan las skills
Una skill es un directorio con un SKILL.md archivo: frontmatter YAML con un name y description, seguido de las instrucciones que sigue el agente. Una skill también puede incluir archivos de soporte bajo scripts/, references/y assets/ (spec).

A lo largo de esta publicación usaremos nuestro agente GTM como ejemplo recurrente. Está construido sobre Deep Agents, y su biblioteca de más de 50 skills cubre el trabajo recurrente de un representante de ventas, como meeting-prep, call-transcriptsy competitive-intel-card.
Las skills se cargan en tres niveles:
- Descubrimiento. Al arrancar, el agente ve el
nameydescriptionde cada skill en su prompt de sistema. - Activación. Cuando una tarea coincide con una skill, el agente lee el
SKILL.mdcompleto conread_file. - Ejecución. El agente sigue las instrucciones y lee scripts o archivos de referencia solo cuando estos los requieren.

Hasta que se usa una skill, cuesta una línea en el prompt de sistema, por lo que una biblioteca puede contener referencias a una abundancia de skills sin saturar el contexto. Ahora veamos las mejoras que hicimos en Deep Agents.
Vincular herramientas a skills
Las skills a menudo le indican a un agente cómo usar herramientas específicas, y algunas herramientas solo funcionan bien una vez que el agente ha leído esas instrucciones. Hasta ahora, las skills y las herramientas se mostraban por separado. Podías mantener los esquemas de herramientas fuera del contexto con tool search, pero nada vinculaba una herramienta a la skill que la explica: el agente podía encontrar y llamar a una herramienta sin leer su skill, o leer la skill y aun así tener que buscar sus herramientas.
Ahora puedes vincular herramientas a una skill, por lo que una skill y sus herramientas se revelan juntas. Una herramienta vinculada no se agrega al contexto hasta que el agente lee su skill, y una llamada a ella antes de eso falla como herramienta desconocida. Eso mantiene el contexto ligero, y significa que el agente ha leído cómo usar una herramienta antes de poder llamarla. En nuestro agente GTM, call-transcripts se explica cómo buscar llamadas y leer transcripciones, por lo que es el lugar natural para vincular esas herramientas.
Enumera las herramientas en el frontmatter de la skill bajo metadata.include_tools:

Pase esas herramientas a SkillsMiddleware en lugar de al agente:
![Python: create_deep_agent with SkillsMiddleware(tools=[search_calls, get_transcript])](/journal-media/ai-hub/782c21d07a32a59d13500559e149f1f95bbd3be12182c7b3449871803f5ea71d.webp)

Añadir herramientas a mitad de una conversación solía significar editar la lista de herramientas de la solicitud, lo que invalida la caché del prompt. Anthropic y OpenAI ahora permiten que los modelos más recientes acepten herramientas a mitad de la conversación, así que en esos modelos, Deep Agents añade las herramientas vinculadas de una habilidad justo después de leer la habilidad y el prefijo cacheado permanece intacto (Anthropic y OpenAI documentación de integración). En otros modelos, las herramientas se añaden a la solicitud como antes.
Una lista cubre la mayoría de las habilidades. Para un mayor control, una habilidad puede listar una etiqueta en lugar de nombres de herramientas, y una función que pase a SkillsMiddleware convierte cada etiqueta en herramientas. Eso le permite:
- Divulgar un grupo completo de herramientas, como todas las herramientas de un servidor MCP, bajo un solo nombre, sin listar cada herramienta en la habilidad.
- Restringir herramientas según permisos en tiempo de ejecución. La función recibe el runtime del grafo, por lo que puede verificar quién es el usuario y devolver solo las herramientas que tiene permitido usar.
Aquí, call-transcripts obtiene todas las herramientas del servidor MCP de llamadas, y pipeline-forecast obtiene herramientas de CRM, pero solo los gerentes pueden actualizar el pronóstico:


Consulte Add tools to skills para más información.
Habilidades fijadas
A veces el usuario ya sabe qué habilidad quiere. En nuestro agente GTM, un representante puede escribir /meeting-prep for my Acme call tomorrow. Sin fijación, el modelo solo ve la descripción de la habilidad y tiene que leerla. Eso añade un viaje de ida y vuelta antes de que comience el trabajo, y no se garantiza que el modelo cargue la habilidad correcta. Con habilidades fijadas, su aplicación encuentra los nombres de las habilidades en el mensaje (o los analiza desde una interfaz de usuario) y los pasa en pinned_skills, y el middleware añade las instrucciones de cada habilidad a la conversación antes de la siguiente llamada al modelo. Deep Agents no analiza los mensajes por sí mismo, así que usted elige la sintaxis:



Eso reduce la latencia y hace el comportamiento más predecible: las instrucciones están garantizadas en el contexto, y las herramientas vinculadas a una skill fijada vienen con ella. Cada skill fijada se añade una vez como un mensaje etiquetado, por lo que los mensajes anteriores nunca cambian, la caché del prompt sigue siendo válida y una interfaz de chat puede mostrar la skill como una etiqueta en lugar de su texto completo.
Recargar skills a mitad de un hilo
Las skills se cargan al inicio de cada hilo y se mantienen en el estado del agente, por lo que cada turno posterior reutiliza el mismo conjunto de skills. Ahora puedes invalidar esta lista estableciendo skills_metadata en None al invocar al agente. Si un compañero de equipo añade una competitive-intel-card skill a la biblioteca, la aplicación puede optar por invalidar la lista de skills y la siguiente ejecución reescaneará cada fuente:


Una recarga que encuentra nuevas skills cambia el system prompt, lo que invalida la caché del prompt. Para un hilo que ha estado inactivo, ese costo normalmente ya está pagado: las cachés de los proveedores suelen expirar entre minutos y una hora de inactividad (Anthropic, OpenAI), por lo que la caché está fría para cuando el representante regresa.
Como el reinicio es simplemente una entrada de la ejecución, también puedes entregar el control a los usuarios. Por ejemplo, un /reload comando en el lado del cliente:
También puedes reiniciar desde update_state o desde middleware, de modo que tu aplicación controle cuándo se produce una recarga de skills. Consulta Reload skills.
Get started
Las skills son el mecanismo estándar de la industria para dotar a un agente de conocimiento organizado de dominio. Estas actualizaciones las hacen más fáciles de ejecutar a escala: las herramientas se cargan solo cuando una skill las necesita, las skills que un flujo de trabajo necesita se cargan por adelantado y los hilos de larga duración se mantienen actualizados a medida que cambia tu biblioteca. Y como las skills son un estándar abierto, las que escribe tu equipo funcionan en todos los modelos y agentes.
Todo esto está disponible en la última deepagents. Lea la documentación de skills para empezar, y cuéntenos qué piensa a través de los issues de GitHub, el foro, o en X.
Agradecimientos
Gracias a Rich Scarrott por liderar el desarrollo de estas nuevas funciones y a Hunter Lovell por la revisión de la función y del blog!
