Habilidades del Agente
Define comportamiento reutilizable mediante definiciones SKILL.md
Las habilidades del agente permiten que Dropstone descubra instrucciones reutilizables desde tu repositorio o directorio de inicio.
Las habilidades se cargan bajo demanda a través de la herramienta integrada skill: los agentes ven qué habilidades están disponibles y pueden cargar el contenido completo cuando una coincide con la tarea.
Coloca los archivos
Crea una carpeta por nombre de habilidad y coloca un SKILL.md dentro.
Dropstone busca en estas ubicaciones:
- Configuración del proyecto:
.dropstone/skills/<name>/SKILL.md - Configuración global:
~/.config/dropstone/skills/<name>/SKILL.md - Compatible con Claude del proyecto:
.claude/skills/<name>/SKILL.md - Compatible con Claude global:
~/.claude/skills/<name>/SKILL.md - Compatible con agentes del proyecto:
.agents/skills/<name>/SKILL.md - Compatible con agentes global:
~/.agents/skills/<name>/SKILL.md
Entiende el descubrimiento
Para rutas locales del proyecto, Dropstone sube desde tu directorio de trabajo actual hasta que alcanza el worktree de git.
Carga cualquier skills/*/SKILL.md coincidente en .dropstone/ y cualquier .claude/skills/*/SKILL.md o .agents/skills/*/SKILL.md coincidente en el camino.
Las definiciones globales también se cargan desde ~/.config/dropstone/skills/*/SKILL.md, ~/.claude/skills/*/SKILL.md y ~/.agents/skills/*/SKILL.md.
Escribe el frontmatter
Cada SKILL.md debe comenzar con frontmatter YAML.
Solo se reconocen estos campos:
name(requerido)description(requerido)license(opcional)compatibility(opcional)metadata(opcional, mapa de cadena a cadena)
Los campos de frontmatter desconocidos se ignoran.
Valida los nombres
name debe:
- Tener 1–64 caracteres
- Ser alfanumérico en minúsculas con separadores de guión único
- No comenzar ni terminar con
- - No contener
--consecutivos - Coincidir con el nombre del directorio que contiene
SKILL.md
Regex equivalente:
^[a-z0-9]+(-[a-z0-9]+)*$
Sigue las reglas de longitud
description debe tener 1-1024 caracteres.
Mantenlo lo suficientemente específico para que el agente elija correctamente.
Usa un ejemplo
Crea .dropstone/skills/git-release/SKILL.md así:
---
name: git-release
description: Create consistent releases and changelogs
license: MIT
compatibility: dropstone
metadata:
audience: maintainers
workflow: github
---
## What I do
- Draft release notes from merged PRs
- Propose a version bump
- Provide a copy-pasteable `gh release create` command
## When to use me
Use this when you are preparing a tagged release.
Ask clarifying questions if the target versioning scheme is unclear.
Reconoce la descripción de la herramienta
Dropstone lista las habilidades disponibles en la descripción de la herramienta skill.
Cada entrada incluye el nombre de la habilidad y la descripción:
<available_skills>
<skill>
<name>git-release</name>
<description>Create consistent releases and changelogs</description>
</skill>
</available_skills>
El agente carga una habilidad llamando a la herramienta:
skill({ name: "git-release" })
Configura permisos
Controla a qué habilidades pueden acceder los agentes usando permisos basados en patrones en dropstone.json:
{
"permission": {
"skill": {
"*": "allow",
"pr-review": "allow",
"internal-*": "deny",
"experimental-*": "ask"
}
}
}
| Permiso | Comportamiento |
|---|---|
allow | La habilidad se carga inmediatamente |
deny | Habilidad oculta del agente, acceso rechazado |
ask | Se solicita aprobación del usuario antes de cargar |
Los patrones admiten comodines: internal-* coincide con internal-docs, internal-tools, etc.
Anula por agente
Dale a agentes específicos permisos diferentes a los valores predeterminados globales.
Para agentes personalizados (en frontmatter del agente):
---
permission:
skill:
"documents-*": "allow"
---
Para agentes integrados (en dropstone.json):
{
"agent": {
"plan": {
"permission": {
"skill": {
"internal-*": "allow"
}
}
}
}
}
Desactiva la herramienta de habilidad
Desactiva completamente las habilidades para agentes que no deberían usarlas:
Para agentes personalizados:
---
tools:
skill: false
---
Para agentes integrados:
{
"agent": {
"plan": {
"tools": {
"skill": false
}
}
}
}
Cuando está desactivada, la sección <available_skills> se omite completamente.
Soluciona problemas de carga
Si una habilidad no aparece:
- Verifica que
SKILL.mdesté escrito en mayúsculas - Comprueba que el frontmatter incluya
nameydescription - Asegúrate de que los nombres de habilidades sean únicos en todas las ubicaciones
- Verifica permisos: las habilidades con
denyestán ocultas de los agentes