¿Qué es un archivo SKILL.md y por qué deberíamos empezar a utilizarlo?

Durante estos últimos años hemos ido aprendiendo a comunicarnos mejor con la Inteligencia Artificial.

Hemos aprendido a proporcionarle contexto necesario, a definir cómo queremos que nos muestre los resultados, qué no debe hacer bajo ningún concepto y de qué forma debe presentar la respuesta, incluido el tono que queremos que utilice.

Sin embargo, cuando queremos repetir una tarea nos encontramos un problema: debemos volver a explicarle qué queremos conseguir y explicarle detalladamente cómo lo debe realizar.

Entonces, ¿existe alguna alternativa que nos permita dejar de repetir continuamente estas instrucciones y convertirlas en algo reutilizable?

Si, existe. Es la idea que encontramos detrás de las skills y de un archivo que probablemente estés viendo con más frecuencia: SKILL.md.

De guardar prompts a conservar procesos

Todos sabemos que un buen prompt puede ayudarnos a obtener un gran resultado. Pero debemos ser conscientes de que ese resultado no depende únicamente de la petición inicial que le hacemos a la Inteligencia Artificial. El resultado también puede depender de:

  • La información que usamos como contexto.
  • El orden en el que debe realizar el proceso o trabajo.
  • Las fuentes que puede consultar.
  • Las herramientas (modos de conversación y modelos de lenguaje) que puede utilizar.
  • Las decisiones que debe tomar, si es que se lo permitimos.
  • Las excepciones o restricciones que debe tener en cuenta.
  • Los criterios que le permitirán validar la calidad de los resultados.

Cuando repetimos frecuentemente todas estas indicaciones, ya no estamos describiendo únicamente una petición, sino una forma de trabajar.

Una skill nos permite documentar una forma de trabajar para que la IA pueda aplicarla cuando resulte necesario o cuando nosotros decidamos invocarla.

Este cambio en nuestra forma de comunicarnos con la IA puede resumirse así: no se trata solamente de guardar lo que nos funciona con la IA, sino también el conservar cómo queremos que trabaje.

¿Qué es una Skill?

De forma general, una skill es una capacidad especializada que permite a la IA realizar un determinado tipo de trabajo siguiendo las instrucciones que hemos definido.

Por ello, una skill puede ayudarnos, entre otras cosas, a:

  • Revisión de documentos siguiendo una guia de estilo.
  • Crear documentos o presentaciones siguiendo una estructura determinada.
  • Analizar información con unos criterios definidos.
  • Ejecutar procedimientos que incluyan instrucciones definidas, recursos corporativos, etc.

Pero ojo, el término skill se utiliza en diferentes productos y plataformas, por lo que no todas las capacidades que conocemos como skills tienen necesariamente la misma estructura.

Antes de continuar, vamos a detallar un poco más el concepto, ya que conviene diferenciar varios elementos.

Skill

Es la capacidad especializada que puede usar un asistente o agente de IA.

SKILL.md

Es el archivo principal que contiene todos los metadatos e instrucciones de una skill.

Agent Skills

Es una especificación abierta que define una estructura para agrupar instrucciones, scripts, referencias, plantillas y otros recursos que proporcionan capacidades especializadas a los agentes de IA.

Por lo que podemos resumirlo en: La skill es la capacidad, SKILL.md es el archivo principal que la describe y Agent Skills es una especificación que nos permite estructurar y compartir las capacidades.

Ahora bien, ¿Qué es exactamente SKILL.md?

SKILL.md es un archivo Markdown que describe lo que hace una skill, cuándo debería utilizarse y qué instrucciones debe seguir la Inteligencia Artificial cuando la utiliza.

Un ejemplo sencillo de SKILL.md podría ser:

---
name: resumir-anuncio
description: Resume un anuncio proporcionado por el usuario. Utiliza esta skill cuando se solicite identificar novedades, fechas, destinatarios y acciones mencionadas en el anuncio.
---

# Objetivo

Crear un resumen fiel al contenido proporcionado.

# Procedimiento

1. Leer íntegramente el anuncio.
2. Identificar el cambio principal.
3. Extraer las fechas mencionadas.
4. Recoger las acciones indicadas.
5. Comprobar que no se ha añadido información externa.

# Reglas

- Utilizar únicamente la fuente proporcionada.
- No completar información que no aparezca en ella.
- Indicar cuando un dato relevante no esté especificado.

# Comprobación final

Antes de entregar el resultado:

- Verificar que todas las afirmaciones proceden de la fuente.
- Confirmar que no se han inventado fechas o funcionalidades.
- Adaptar el contenido al formato solicitado.

Algo que debemos tener en cuenta es que aunque nos pueda parecer algo destinado a desarrolladores, su contenido puede estar escrito únicamente en lenguaje natural.

Un archivo SKILL.md no tiene por qué contener código. Podemos documentar procedimientos, reglas de comportamiento, ejemplos, límites, comprobaciones, etc. El resto de recursos, como scripts, son opcionales.

El nombre del archivo sí importa

Ahora que sabemos cómo debe estructurarse una skill hay algo que sí que importa. El archivo principal que contiene las instrucciones de la skill debe llamarse exactamente SKILL.md. Por lo que ahora puedes preguntarte ¿Por qué debemos llamar siempre al archivo de esta forma? ¿Cómo podré diferenciar mis skills?

Lo primero, además de importante, es que este es el nombre de archivo que las implementaciones compatibles esperan encontrar para identificar y cargar la skill. Por lo que, si tienes varias skills puedes estructurar tus Skills de la siguiente forma:

resumir-anuncio/
└── SKILL.md

Donde, continuando con nuestro ejemplo:

  • resumir-anuncio es el nombre de la carpeta y de la skill.
  • SKILL.md es su archivo principal.

Vista la estructura otra cosa importante es que el campo name de nuestra skill debe coincidir con el nombre de la carpeta que la contiene. Además, su nombre debe emplear letras minúsculas, números y guiones, pero el nombre no podrá nunca comenzar o terminar con guiones o hacer uso de guiones consecutivos.

A modo ejemplo, el nombre dentro del documento Markdown, deberá estar redactado de la siguiente forma:

---
name: resumir-anuncio
description: Resume anuncios e identifica los cambios, fechas y acciones expresamente mencionados.
---

Si queremos organizar todas nuestras skills en un mismo lugar, podemos reunirlas dentro de una carpeta común:

skills/
├── crear-publicacion-linkedin/
│   └── SKILL.md
├── adaptar-mensaje-whatsapp/
│   └── SKILL.md
└── crear-guion-video/
    └── SKILL.md

Cada subcarpeta representa una skill diferente y contiene su propio archivo SKILL.md.

Una skill no es simplemente un prompt largo

Llegados a este punto, quizá hayas alcanzado la siguiente conclusión: «Una Skill = Prompt largo». Aunque resulte fácil interpretarlo así, su finalidad va mucho más allá.

El prompt suele expresar una necesidad concreta:

Crea una publicación para LinkedIn a partir de este anuncio.

Pero una skill puede documentar el método que debe usarse para resolver la petición:

  • Qué información debe obtener.
  • Cuáles son las fuentes permitidas.
  • Qué pasos debe seguir.
  • Qué estructura debe utilizar.

Podemos resumir rápidamente la diferencia de esta forma: el prompt es el encargo y la skill es el manual de trabajo.

Pero cuidado: las skills no sustituyen a los prompts, ya que seguiremos utilizando el lenguaje natural para explicar lo que necesitamos en cada momento. La diferencia es que no tendremos que estar repitiendo todo el procedimiento en cada petición que le hagamos a la IA.

¿Qué puede contener una skill?

Basándonos en las especificaciones abiertas de Agent Skills, una skill es una carpeta que contiene, como mínimo, un archivo SKILL.md. También puede incorporar scripts, documentación de referencia, plantillas y otros recursos.

Siendo una posible estructura habitual:

nombre-de-la-skill/
├── SKILL.md
├── scripts/
├── references/
└── assets/

SKILL.md

Contiene todos los metadatos e instrucciones principales:

  • Nombre
  • Descripción
  • Objetivo
  • Procedimiento
  • Reglas
  • Excepciones
  • Formato de salida
  • Comprobaciones

scripts/

Puede incluir código ejecutable utilizado para realizar operaciones concretas de una forma más repetible.

references/

Puede contener documentación que la inteligencia artificial consulta cuando resulta necesaria para completar el trabajo.

assets/

Puede reunir plantillas y otros recursos estáticos utilizados para generar el resultado.

Estructura de una skill según Microsoft Agent Framework

expense-report/
├── SKILL.md                          # Required - frontmatter + instructions
├── scripts/
│   └── validate.py                   # Executable code agents can run
├── references/
│   └── POLICY_FAQ.md                 # Reference documents loaded on demand
└── assets/
    └── expense-report-template.md    # Templates and static resources
FieldRequiredDescription
nameYesMax 64 characters. Lowercase letters, numbers, and hyphens only. Must not start or end with a hyphen or contain consecutive hyphens. Must match the parent directory name.
descriptionYesWhat the skill does and when to use it. Max 1024 characters. Should include keywords that help agents identify relevant tasks.
licenseNoLicense name or reference to a bundled license file.
compatibilityNoMax 500 characters. Indicates environment requirements (intended product, system packages, network access, etc.).
metadataNoArbitrary key-value mapping for additional metadata.
allowed-toolsNoSpace-delimited list of pre-approved tools the skill may use. Experimental – support may vary between agent implementations.
Agent Skills | Microsoft Learn

Otra de las recomendaciones de Microsoft Agent Framework es mantener el archivo SKILL.md por debajo de 500 líneas y trasladar la documentación más extensa a archivos de referencia independientes.

¿Por qué deberíamos empezar a usar skills?

Para dejar de repetir instrucciones

Si proporcionamos continuamente las mismas instrucciones, reglas y ejemplos, probablemente tengamos un proceso que merece la pena documentar.

Una skill, como hemos ido comentando, nos permite trasladar el procedimiento desde una conversación aislada a un recurso reutilizable.

No es solo escribir menos, también reducimos el riesgo de que se nos olvide una instrucción importante cuando necesitamos repetir el trabajo.

Para conseguir resultados más consistentes

Una skill puede recoger los pasos que deben seguirse y las condiciones que debe cumplir el resultado que nos dé la IA.

Esto nos resulta útil cuando:

  • La tarea la realizamos periódicamente.
  • El proceso tiene varios pasos.
  • Existen reglas que no deben omitirse.
  • Varias personas deben aplicar los mismos criterios.
  • El resultado siempre debe seguir una estructura determinada.

Para convertir conocimiento implícito en conocimiento explícito

En muchas organizaciones, una parte importante de los procesos se encuentra distribuida entre:

  • La experiencia de determinadas personas.
  • Documentos aislados.
  • Correos electrónicos.
  • Conversaciones.
  • Plantillas.
  • Prompts personales.
  • Correcciones realizadas sobre resultados anteriores.

Una skill puede ayudarnos a transformar este conocimiento disperso en un recurso estructurado. Entre sus aplicaciones se encuentran la captura de conocimiento especializado, la ampliación de las capacidades de un agente y la conversión de tareas de varios pasos en flujos repetibles.

Para separar el comportamiento general de las capacidades concretas

Un agente puede tener unas instrucciones generales que definan su propósito, tono y comportamiento.

Sin embargo, no todas las capacidades tienen que estar mezcladas dentro de un mismo bloque de instrucciones.

Las podemos dividir, por ejemplo, en skills especializadas:

agente-comunicacion/
├── crear-publicacion-linkedin/
│   └── SKILL.md
├── adaptar-mensaje-whatsapp/
│   └── SKILL.md
├── preparar-guion-video/
│   └── SKILL.md
└── validar-informacion/
    └── SKILL.md

Cada capacidad tiene un objetivo que es reconocible y puede evolucionar de forma independiente.

Para incorporar recursos

Una skill no tiene que depender exclusivamente de las instrucciones incluidas en SKILL.md. También puede incorporar:

  • Guías de marca.
  • Plantillas de documentos.
  • Ejemplos de resultados.

Estos son solo algunos ejemplos.

Esto nos permite reunir bajo un mismo paquete el procedimiento y los recursos necesarios para poder aplicarlo.

Para mejorar un proceso de manera continua

Cuando detectamos un error recurrente, podemos actualizar la skill:

  • Añadiendo una regla.
  • Documentando una excepción.
  • Mejorando una comprobación.
  • Incorporando un ejemplo.
  • Actualizando una plantilla.
  • Modificando el orden del procedimiento.

La mejora no se queda únicamente en una conversación. Pasa a formar parte de la capacidad reutilizable.

Para compartir una forma de trabajar

Una skill puede mantenerse en una carpeta, versionarse y compartirse con otras personas o equipos.

No compartimos solamente un prompt. Compartimos una metodología:

  • Cuándo debe utilizarse.
  • Qué información necesita.
  • Qué pasos debe seguir.
  • Qué recursos puede consultar.
  • Qué límites debe respetar.
  • Cómo debe comprobar el resultado.

¿Qué procesos podrían convertirse en una skill?

Una tarea puede ser una buena candidata si cumple varias de estas condiciones:

  • Se repite con frecuencia.
  • Sigue unos pasos reconocibles.
  • Utiliza reglas relativamente estables.
  • Necesita recursos similares en cada ejecución.
  • Produce un resultado claramente identificable.
  • Podemos distinguir un buen resultado de uno incompleto.
  • Requiere comprobaciones antes de finalizar.
  • Actualmente necesita prompts muy largos o instrucciones repetidas.

Algunos ejemplos serían:

  • Crear contenidos a partir de anuncios del Centro de mensajes de Microsoft 365.
  • Adaptar una misma información para LinkedIn, YouTube o WhatsApp.
  • Generar presentaciones siguiendo una guía de marca.
  • Analizar un libro de Excel y producir un panel determinado.
  • Preparar informes periódicos.
  • Revisar la accesibilidad de un documento.
  • Transformar notas en materiales formativos.
  • Validar que un texto utiliza exclusivamente una fuente autorizada.
  • Crear propuestas comerciales utilizando una plantilla.
  • Verificar que un recurso no solicita información confidencial.

Las skills no son únicamente una herramienta para programadores. También pueden convertirse en una forma de documentar conocimiento, estandarizar procesos y aplicar criterios de calidad.

El siguiente paso después de los prompts

Las skills no vienen a sustituir a los prompts. Seguiremos utilizando el lenguaje natural para explicarle a la IA qué necesitamos en cada momento.

La diferencia es que, cuando encontremos una forma de trabajar que funciona, ya no tendremos que reconstruirla desde cero en cada conversación. Podremos conservar sus instrucciones, reglas, recursos y comprobaciones para volver a utilizar esa forma de trabajar cuando la necesitemos.

Un archivo SKILL.md puede parecernos un simple documento escrito en Markdown, pero su verdadero valor no está en el formato. Está en su capacidad para convertir nuestros procesos, criterios y conocimientos en recursos estructurados, reutilizables y mejorables. Está en la capacidad que tiene de convertir nuestros procesos, criterios y conocimientos en recursos estructurados, reutilizables y mejorables.

No todas las tareas necesitan convertirse en skills. Sin embargo, cuando un proceso se repita, siga unas reglas reconocibles y requiera siempre las mismas instrucciones, probablemente merezca la pena documentarlo.

Durante estos años hemos aprendido a crear mejores prompts para comunicarnos mejor con la IA. Ahora podemos dar un paso más y empezar a transformar nuestra forma de trabajar en capacidades que la IA pueda reutilizar.

Esto nos lleva a la siguiente pregunta: ¿dónde podemos utilizar actualmente los archivos SKILL.md?

En mi siguiente entrada veremos cómo Microsoft está incorporando este formato a su ecosistema y qué posibilidades ofrecen experiencias como Microsoft Copilot Cowork, Agent Builder, Excel, PowerPoint o Copilot Studio.

Si hoy pudieras crear una skill, ¿qué tarea elegirías para empezar?

IA Toolbox · Recurso descargable

¿Ya la tienes pensada?

Te dejo la plantilla para que no empieces desde cero: objetivo, contexto, procedimiento, reglas, tono y comprobaciones, en un archivo listo para rellenar.

Descargar la plantilla SKILL.md Plantilla SKILL.md + guía en PDF de una página
  • Los 6 bloques que debe definir una skill
  • Test rápido: ¿merece ser una skill?
  • Reglas de name, carpeta y estructura
  • Checklist antes de darla por buena
Adrián Espés, Microsoft MVP en Microsoft 365 Copilot
Sobre el autor

Adrián Espés

Microsoft MVP · Microsoft 365 Copilot

Ayudo a equipos y profesionales a usar la IA en su trabajo diario, con Microsoft 365 Copilot y agentes. Escribo sobre lo que funciona de verdad, sin humo.

adrianespes.com

Scroll al inicio