Serie: Hermesagent (3/6)
Sistema de Skills de Hermes Agent: Lograr que los Agentes de IA Hagan lo Correcto en el Momento Adecuado
¿Te ha pasado esto con herramientas de IA: la misma tarea, cada vez que le pides a la IA que la haga, toma un camino diferente — a veces saltando directamente a la acción, a veces pidiendo confirmación primero, a veces saltándose un paso y causando problemas después?
Esto no es necesariamente un problema del modelo. Más a menudo es: no hay ningún mecanismo para darle al agente un "en este tipo de situación, sigue este flujo de trabajo" consistente.
El sistema de Skills de Hermes Agent es exactamente lo que resuelve esto.
Qué Es Realmente una Skill
El entendimiento más simple: un documento Markdown que le dice al agente "cuando encuentres este tipo de situación, sigue este flujo de trabajo."
No es un truco de ingeniería de prompts, no es un trozo de prompt del sistema que pegas, no es un plugin de API. Es un documento de conocimiento que existe de forma independiente, viviendo en ~/.hermes/skills/, con control de versiones, compartible, instalable desde el Skills Hub, y — esto importa — creado por el propio agente después de completar una tarea.
Cada skill se convierte automáticamente en un comando slash:
/plan design a rollout plan for auth migration
/arxiv find papers on diffusion models from last month
/github-pr-workflow create a PR for the auth refactorLa lógica subyacente: cuando escribes /plan, el agente lee el contenido de la skill plan — a qué situaciones aplica, qué pasos seguir, qué problemas conocidos existen — y luego responde según la guía de ese documento.
Divulgación Progresiva: Por Qué los Tokens No Explotan
Quizás notes un problema: si todas las skills están en el prompt del sistema, solo el índice quemaría la ventana de contexto.
La solución de Hermes es la Divulgación Progresiva — carga en tres niveles:
Nivel 0: skills_list() → solo muestra nombre, descripción, categoría (~3k tokens)
Nivel 1: skill_view(name) → contenido completo de la skill (cargado a demanda)
Nivel 2: skill_view(name, path) → archivos de referencia específicos (cargados a demanda)
Al inicio, solo se carga el índice. Cuando el agente determina que necesita una skill específica, carga el contenido completo. Puedes tener cien skills y no afectará el costo base de tokens.
El efecto secundario de este diseño: puedes instalar muchas skills sin preocuparte por ralentizar al agente — siempre que las descripciones de tus skills sean lo suficientemente claras para que el agente determine "esta situación necesita qué skill" en el Nivel 0.
Formato de Archivo de Skill
---
name: my-skill
description: Descripción corta — esto es lo que el agente ve en el Nivel 0
version: 1.0.0
platforms: [macos, linux] # Opcional: restringir a OS específicos
metadata:
hermes:
tags: [python, automation]
category: devops
requires_toolsets: [terminal] # Opcional: solo mostrar cuando el toolset de terminal está disponible
---
# Nombre de la Skill
## Cuándo Usar
Qué situaciones activan esta skill.
## Pasos
1. Primer paso
2. Segundo paso
## Problemas Conocidos
- Problema uno: descripción + solución
- Problema dos: descripción + solución
## Verificación
Cómo confirmar que se hizo correctamente.El frontmatter YAML en la parte superior determina cómo el agente descubre esta skill; el cuerpo le dice al agente cómo ejecutarla.
Activación Condicional: Solo Aparece Cuando Es Relevante
Hay un diseño particularmente útil: fallback_for_toolsets.
Hermes incluye una skill integrada duckduckgo-search con la configuración fallback_for_toolsets: [web] — es decir: cuando tienes el toolset web disponible (tienes una clave API de Firecrawl), esta skill se oculta automáticamente y el agente usa directamente la herramienta web_search. Cuando no tienes una clave API, la skill de DuckDuckGo aparece automáticamente y el agente recurre a la ruta gratuita.
La visibilidad de las skills se ajusta automáticamente según la disponibilidad de herramientas. Sin gestión manual requerida.
Instalar Skills Prefabricadas desde el Hub
Hermes se integra con varios ecosistemas de skills:
# Explorar todas las skills
hermes skills browse
# Buscar por tema
hermes skills search kubernetes
hermes skills search react --source skills-sh
# Previsualizar antes de instalar
hermes skills inspect openai/skills/k8s
# Instalar
hermes skills install openai/skills/k8s
hermes skills install official/security/1passwordLas fuentes admitidas incluyen:
- official: Skills opcionales mantenidas por el equipo de Hermes
- skills.sh: Directorio público de skills de Vercel
- well-known: Cualquier sitio web que publique
/.well-known/skills/index.json(p.ej. sitios de documentación Mintlify) - github: Instalar directamente desde un repositorio de GitHub
- clawhub, lobehub: Marketplaces comunitarios de terceros
Todas las skills de los hubs pasan por un análisis de seguridad antes de la instalación — se verifican fugas de datos, inyección de prompts y riesgos de cadena de suministro. --force puede anular bloqueos de nivel "advertencia", pero los bloqueos de nivel dangerous no se pueden anular.
Skills Creadas por el Agente: skill_manage
Esta es una de las decisiones más interesantes en el diseño de Hermes: el agente puede guardar los flujos de trabajo que descubre en skills por sí mismo.
Cuando un agente completa una tarea compleja (5+ llamadas a herramientas), encuentra la salida de un problema difícil, o tú lo corriges, evaluará automáticamente "¿vale la pena guardar este flujo de trabajo?", luego usará la herramienta skill_manage para crear o actualizar una skill.
# El agente llama internamente
skill_manage(action="create", name="deploy-staging",
content="...", category="devops")
# Las actualizaciones posteriores usan patch en lugar de reescritura completa (ahorra tokens)
skill_manage(action="patch", name="deploy-staging",
old_string="paso anterior", new_string="paso corregido")El resultado: cuanto más tiempo uses Hermes, más conocimiento de flujos de trabajo acumula — y ese conocimiento es tuyo, almacenado en tu propio ~/.hermes/skills/, no bloqueado en algún servicio en la nube.
Escribe Tu Propia Skill: Implementación en 5 Minutos
Supón que frecuentemente ejecutas un flujo de trabajo fijo de despliegue Docker:
mkdir -p ~/.hermes/skills/devops/deploy-dockerLuego crea un SKILL.md:
---
name: deploy-docker
description: Despliega el servicio al entorno Docker con lógica de verificación de salud y rollback
version: 1.0.0
metadata:
hermes:
tags: [docker, deploy, devops]
category: devops
requires_toolsets: [terminal]
---
# Deploy Docker
## Cuándo Usar
Cuando se despliegue o actualice un servicio Docker.
## Pasos
1. Verificar que docker-compose.yml existe y está actualizado
2. Ejecutar `docker compose pull` para actualizar imágenes
3. Ejecutar `docker compose up -d` para iniciar servicios
4. Esperar 15 segundos, verificar salud del contenedor: `docker compose ps`
5. Si algún contenedor no está saludable, ejecutar rollback: `docker compose down && docker compose up -d --no-pull`
## Problemas Conocidos
- Si una ruta de volumen no existe, el contenedor no iniciará — verificar primero que los directorios de volúmenes existen
- Las verificaciones de salud de algunas imágenes necesitan más de 30 segundos; no declarar fallo demasiado pronto
## Verificación
`docker compose ps` muestra todos los servicios con estado `running`, sin `unhealthy`.Guarda el archivo, luego en Hermes:
/deploy-docker deploy my api serviceEl agente lee tu skill y sigue los pasos. Igual cada vez — nunca olvida la verificación de salud, nunca omite la lógica de rollback.
Las Skills Son el Núcleo de Memoria de Hermes
Si hay una cosa que distingue más a Hermes de otros frameworks de Agente de IA, el sistema de Skills debería ocupar el primer lugar — no porque los comandos slash sean geniales, sino porque desplaza el comportamiento del agente de "improvisar según el juicio del modelo" a "seguir conocimiento procedimental claro."
Esto es conceptualmente similar al mecanismo de skills de Superpowers, pero Hermes lo construye como una función nativa en lugar de un plugin, y añade el diseño de eficiencia de tokens de la Divulgación Progresiva más el ecosistema del Hub — por lo que todo el ciclo de vida de las skills (instalar, usar, actualizar, auto-creación del agente) se cierra dentro de un único sistema.