Saltar al contenido principal

¿Qué son las Skills?

Las Skills son archivos SKILL.md que incluyes en tus repositorios y que le enseñan a Devin cómo probar tu aplicación de extremo a extremo: cómo iniciar servicios, ejecutar la aplicación de forma local, verificar los cambios en el navegador y validar que todo funciona antes de abrir un PR. Siguen el estándar abierto Agent Skills, por lo que los mismos archivos de skill funcionan en varias herramientas de desarrollo con IA. Coloca los archivos de skill en .agents/skills/<skill-name>/SKILL.md en tu repositorio. Devin los detecta automáticamente en todos tus repositorios conectados. Consulta la especificación de Agent Skills para ver la referencia completa del formato de archivo.

Por qué las skills son importantes

Sin skills, Devin tiene que averiguar desde cero cómo ejecutar y probar tu aplicación en cada sesión. Con skills, Devin sabe exactamente cómo:
  • Iniciar tu entorno de desarrollo local — qué servicios ejecutar, qué puertos usar, cómo poblar datos de prueba
  • Comprobar los cambios en el navegador — qué páginas revisar, cómo se ve lo “correcto”, qué fallos debe señalar
  • Ejecutar las suites de pruebas adecuadas — qué comandos ejecutar, cómo debería verse una salida exitosa

Devin sugiere habilidades automáticamente

Devin puede sugerir habilidades automáticamente para ti. Después de que Devin pruebe tu aplicación o aprenda algo nuevo sobre tu configuración durante una sesión, sugerirá crear o actualizar una habilidad para capturar ese conocimiento. Verás una sugerencia en la línea de tiempo de tu sesión con:
  • Un resumen de lo que se aprendió (por ejemplo, “cómo iniciar el backend con Docker”)
  • El contenido propuesto del archivo SKILL.md
  • Un botón “Create PR” para añadir la habilidad a tu repositorio
Con el tiempo, Devin crea una biblioteca de habilidades en tu repositorio sobre cómo ejecutar y probar tu aplicación.

Ejemplo rápido

Una skill que indica a Devin cómo probar una aplicación Next.js:
---
name: test-before-pr
description: Run the local dev server and verify pages before opening any PR that touches frontend code.
---

## Setup

1. Install dependencies: `npm install`
2. Start the database: `docker-compose up -d postgres`
3. Run migrations: `npx prisma migrate dev`
4. Start the dev server: `npm run dev`
5. Wait for "Ready on http://localhost:3000"

## Verify

1. Read the git diff to identify which pages changed
2. Open each affected page in the browser
3. Check for: console errors, layout issues, broken links
4. Screenshot each page at desktop (1280px) and mobile (375px) widths

## Before Opening the PR

1. Run `npm run lint` and fix any issues
2. Run `npm test` and confirm all tests pass
3. Include screenshots in the PR description

Descubrimiento de habilidades

Devin descubre habilidades a partir de dos fuentes, que combina al inicio de cada sesión:
  1. Repositorios indexados — el backend de Devin indexa archivos SKILL.md en todos los repositorios conectados a tu organización. Estos están disponibles de inmediato cuando inicia una sesión, antes de que se clonen los repositorios.
  2. Repositorios clonados — a medida que los repositorios se clonan en la máquina de la sesión, Devin los escanea en busca de archivos SKILL.md en disco. Las habilidades detectadas en disco actualizan o reemplazan cualquier habilidad indexada coincidente del mismo repositorio, lo que garantiza que Devin siempre use la versión más reciente en la rama en la que se está trabajando.
Cuando la clonación de un repositorio se completa a mitad de una sesión, Devin vuelve a escanear ese repositorio automáticamente para que las habilidades recién agregadas o modificadas se detecten sin necesidad de reiniciar.

Ubicaciones compatibles para archivos de habilidades

Devin busca archivos SKILL.md en todos los siguientes directorios:
  • .agents/skills/<skill-name>/SKILL.md (recomendado)
  • .github/skills/<skill-name>/SKILL.md
  • .claude/skills/<skill-name>/SKILL.md
  • .cursor/skills/<skill-name>/SKILL.md
  • .codex/skills/<skill-name>/SKILL.md
  • .cognition/skills/<skill-name>/SKILL.md
Las seis rutas se analizan en cada repositorio.

Qué carga Devin desde un archivo de skill

Cuando se descubre una skill, Devin analiza el frontmatter YAML (el bloque --- en la parte superior) y extrae:
CampoPropósito
nameIdentifica la skill. Si se omite, se usa el nombre del directorio padre como alternativa.
descriptionResumen breve que se muestra en la lista de skills para que Devin (y tú) sepan qué hace.
allowed-toolsRestringe qué herramientas puede usar Devin mientras la skill está activa.
Devin también admite estos campos de frontmatter adicionales además de la especificación estándar:
CampoPropósito
argument-hintTexto de ayuda que se muestra junto al nombre de la skill y describe los argumentos esperados.
triggersControla quién puede invocar la skill — ["user", "model"] de forma predeterminada. Configúralo como ["user"] para evitar que Devin la active automáticamente.
Todo lo que viene después del frontmatter es el cuerpo de la skill: las instrucciones paso a paso que se le piden a Devin que siga cuando se invoca la skill. Consulta la especificación de Agent Skills para ver la referencia completa del formato de archivo. Además de la especificación estándar, Devin admite dos tipos de contenido dinámico en el cuerpo de la skill que se procesan en el momento de la invocación:
  • $ARGUMENTS — se reemplaza por la cadena completa de argumentos que se pasa cuando se invoca la skill (por ejemplo, mediante @skills:deploy staging prod). También puedes acceder a argumentos individuales por índice: $ARGUMENTS[0] o $0 para el primero, $ARGUMENTS[1] o $1 para el segundo, etc. Los argumentos se separan por espacios en blanco.
  • !`command` — el comando se ejecuta en la raíz del repositorio y se reemplaza por su stdout, lo que permite que las skills incluyan valores dinámicos como nombres de ramas o números de puerto.
Por ejemplo, una skill de despliegue podría usar argumentos de esta forma:
---
name: deploy
description: Deploy the app to a target environment.
argument-hint: <environment>
---

1. Check out the `$ARGUMENTS` branch
2. Run `./scripts/deploy.sh $0`
3. Verify the deployment at `https://$0.example.com`
Al invocar @skills:deploy staging, se sustituirá staging por $ARGUMENTS y $0.

Cómo usa Devin las habilidades

Al comienzo de cada sesión, Devin ve una lista de todas las habilidades disponibles (nombre + descripción). Cuando se invoca una habilidad, Devin lee el archivo completo SKILL.md e inyecta su contenido en su contexto actual como una instrucción a nivel de sistema. Esto significa que Devin sigue activamente los pasos de la habilidad durante el resto de la tarea: no es solo una referencia, sino que guía directamente el comportamiento de Devin. Devin puede usar habilidades de varias maneras:

Invocación automática

Cuando Devin determina que una skill es relevante para la tarea actual, la invoca automáticamente. Por ejemplo, si le pides a Devin que solucione un bug en código de frontend y existe una skill test-before-pr, Devin la activará antes de abrir el PR. Configura triggers: ["user"] en el frontmatter para evitar la invocación automática en las skills que solo quieras que se activen explícitamente.

Menciona una habilidad en tu prompt

Puedes indicarle a Devin que use una habilidad específica incluyendo @skills:skill-name en tu mensaje:
Fix the login bug on the /auth page @skills:test-before-pr
También puedes pasar argumentos:
@skills:deploy staging
Los argumentos se reemplazan en el cuerpo de la habilidad en todos los lugares donde aparezcan $ARGUMENTS, $ARGUMENTS[0], $1, etc.

Una sola habilidad activa a la vez

Devin solo puede tener una habilidad activa a la vez. Invocar una nueva habilidad reemplaza la anterior. Cuando una habilidad está activa, se le indica a Devin que siga los pasos de la habilidad en orden y complete cada uno antes de pasar al siguiente.

Búsqueda y listado

Devin puede buscar skills por palabra clave o por directorio si necesita encontrar la adecuada en mitad de una sesión. También puedes pedirle a Devin que muestre las skills disponibles o que las vuelva a cargar después de hacer push de cambios a un archivo de skill.

Limitaciones

  • Habilidades globales / a nivel de organización — Actualmente, las habilidades residen dentro de los repositorios. Para habilidades a nivel de organización, puedes crear un repositorio dedicado de “habilidades” como solución temporal. Estamos explorando soporte nativo para habilidades a nivel de organización que se apliquen en todos los repositorios.
  • Composición de múltiples habilidades — Actualmente, solo una habilidad puede estar activa a la vez. Estamos trabajando en soporte para encadenar y componer flujos de trabajo.

Más información

  • Agent Skills specification — el estándar abierto del formato de archivo SKILL.md, los campos de frontmatter y la estructura de directorios
  • Knowledge — para consejos y datos contextuales (no procedimientos paso a paso)
  • Playbooks — para plantillas de prompts reutilizables asociadas a sesiones