Qué son las skills de Hermes Agent: que aprenda el procedimiento, el juicio lo escribes tú
Las skills de Hermes Agent explicadas desde producción: el formato SKILL.md, el hub de skills detrás de hermes skills install, plugins contra skills, y por qué la revisión en segundo plano que escribe sus propias skills nunca debería tocar el juicio.
Las skills de Hermes Agent son markdown, no magia. Un archivo SKILL.md, un nombre, una descripción, e instrucciones que el agente sigue cuando la descripción coincide con lo que pediste. Lo que hace que el tema merezca una guía completa no es el formato. Es que Hermes escribe algunas de estas skills solo, con un timer, sin que tú estés en el loop, y casi nadie se pregunta qué debería y qué no debería decidir ese loop.
Corro Hermes Agent en producción, y escribo mis propias skills a mano para las partes de mi trabajo que necesitan un punto de vista, no solo un procedimiento. Esta es la guía a las dos mitades: qué es en realidad una skill de Hermes, de dónde saca hermes skills install, en qué se diferencia un plugin de una skill, y la línea que trazo entre lo que la revisión en segundo plano puede aprender y lo que sigo escribiendo yo mismo.
¿Qué son las skills de Hermes Agent?
Una skill de Hermes Agent es un documento de conocimiento a demanda que el agente carga cuando el trabajo lo pide, armado sobre SKILL.md más carpetas opcionales references/, templates/, scripts/ y assets/. El formato es compatible con el estándar abierto agentskills.io, el mismo que hay detrás de las skills de Claude, así que una skill que escribiste para un runtime se lee correctamente en el otro.
Una skill, en disco
- ~/.hermes/skills/// única fuente de verdad
- mlops/axolotl/// categoría, después skill
- SKILL.mdobligatorio// nombre, descripción, instrucciones
- references/// conocimiento destilado, se carga a demanda
- scripts/// helpers que la skill puede llamar
- templates/// formatos de salida
- assets/// archivos complementarios
- .hub/// estado del hub de skills
- lock.json// fuente, hash, veredicto del escaneo
- audit.log
Lo que en verdad entra al contexto es lo que vale la pena entender. El system prompt carga un índice compacto con el nombre y la descripción de cada skill (agent/prompt_builder.py:1338), que la documentación publicada ubica en unos 3.000 tokens para un catálogo completo. Nada más carga hasta que el agente lo pide a través de la herramienta de skills (tools/skills_tool.py:701): el cuerpo completo del SKILL.md cuando hay match, y un archivo específico dentro de references/ solo cuando las propias instrucciones de la skill le dicen al agente que lo busque por ruta. Tres niveles, cada uno con una compuerta detrás del anterior. Es la misma progressive disclosure que describí para las skills de Claude, y la mecánica calza casi exacta, porque los dos siguen el mismo estándar abierto.
Skills de Hermes Agent, desde la fuente
- 3
- niveles de cargaíndice, cuerpo, references, cada uno con una compuerta detrás del anterior
- 10
- iteraciones de herramientasintervalo por defecto antes de que se dispare un recordatorio de skill
- 14 / 30
- días para quedar obsoleta / archivarseel curador semanal nunca borra
- 6
- fuentes de instalaciónoficial, GitHub, skills.sh, ClawHub, LobeHub, browse.sh
El hub de skills de Hermes Agent: de dónde saca en realidad hermes skills install
hermes skills install es un comando sobre varios registros, y el hub los trata muy distinto según quién respalda la fuente. Las skills oficiales opcionales vienen adentro del propio repo de Hermes e instalan con trust integrado, sin advertencia de escaneo. Las instalaciones desde GitHub cubren tanto rutas directas de repos como un set de taps por defecto: anthropics/skills, openai/skills, huggingface/skills y NVIDIA/skills, donde las entradas de NVIDIA además llevan una skill.oms.sig firmada y un skill-card.md de gobernanza, una señal de confianza que casi ninguna fuente de la comunidad ofrece. Detrás de eso hay tres registros de comunidad: skills.sh de Vercel, el marketplace externo ClawHub, y browse.sh, el catálogo de Browserbase de skills de automatización de navegador específicas de sitios como Airbnb y Amazon. Una instalación por URL directa también funciona, trayendo el SKILL.md más todo lo que referencie explícitamente.
Buscar, leer, instalar
Busca en un registro
hermes skills search kubernetesLéela antes de confiar en ella
hermes skills inspect openai/skills/k8sInstala con un escaneo de seguridad
hermes skills install openai/skills/k8s
Cada instalación del hub pasa por un escáner de seguridad que busca exfiltración, prompt injection, comandos destructivos y señales de supply-chain antes de que aterrice en disco, y el resultado queda registrado con un hash de contenido en skills/.hub/lock.json. Los niveles de trust definen qué puede saltarse --force: puede pasar por encima de un hallazgo de nivel “caution” en una fuente de la comunidad, y no puede tocar un veredicto que el escáner marcó como peligroso. Esa jerarquía es la respuesta honesta a “cuáles son las mejores skills de Hermes Agent para instalar”: no las de más descargas, sino las cuya fuente está más arriba en esa escalera de confianza, y cuyo escaneo en verdad leíste antes de usarla.
Si combinas las mismas skills para un trabajo recurrente, un bundle (~/.hermes/skill-bundles/<slug>.yaml) agrupa varios nombres de skills bajo un solo slash command, así que /backend-dev carga review, tests y el workflow de PR en una sola llamada en vez de tres. Es un alias en YAML, no un instalador: las skills que lista tienen que existir antes.
Plugins contra skills en Hermes Agent: herramientas y hooks, no procedimiento
Una skill le enseña al modelo qué hacer. Un plugin cambia qué puede hacer el runtime. Ese es todo el límite, y importa porque las dos cosas se confunden todo el tiempo en cualquier setup self-hosted.
Los plugins se registran a través de plugins/plugin_loader.py:144, y la superficie es angosta a propósito: register_tool agrega una herramienta nueva que el modelo puede llamar, register_hook se conecta a los hooks de antes y después de una llamada al provider (agent/api_request_hooks.py), register_cli_command agrega un subcomando, y register_memory_provider es cómo se conecta un backend de memoria externo como Honcho o mem0. Los providers de modelo, las plataformas de mensajería y los backends de ejecución se construyen igual, como plugins, no como skills.
Skill
- 01Markdown: SKILL.md más references
- 02Carga a demanda, por coincidencia de descripción
- 03Enseña un procedimiento o un método
- 04Portable entre runtimes de agentskills.io
- 05Puedes escribirla tú, el curador, o el propio agente
Plugin
- 01Python, registrado a través de plugin_loader.py
- 02Siempre cargado si está activado, sin trigger
- 03Extiende herramientas, hooks, comandos, providers de memoria
- 04Específico del runtime de Hermes
- 05Solo un developer publica uno
Esta es también la razón por la que una skill es el lugar equivocado para arreglar una capacidad que falta. Si el agente necesita una herramienta que no existe, ninguna cantidad de SKILL.md la hace aparecer. Eso es trabajo de un plugin, y es un tipo de trabajo distinto a destilar un procedimiento en markdown.
La revisión en segundo plano que escribe sus propias skills
Cada 10 iteraciones de herramientas, Hermes dispara una revisión de skills, un intervalo configurable que vive en skills.creation_nudge_interval dentro de agent/agent_init.py (default 10, al lado del nudge de memoria con el mismo default en memory.nudge_interval). La revisión corre como un agente forkeado con alcance acotado a la herramienta skill_manage, y decide si lo que acaba de pasar vale la pena guardarlo como un procedimiento reutilizable: un workflow de varios pasos que resolvió, un callejón sin salida del que encontró la vuelta, una corrección que le hiciste.
Un curador semanal (agent/curator.py) corre en un schedule que depende de estar idle, cada siete días con al menos dos horas sin uso, y marca una skill como obsoleta después de 14 días sin usarla, y la archiva después de 30. Nunca borra. Cualquier cosa que archivó puede volver si el agente va a buscarla de nuevo.
skills:
write_approval: true # false = write freely (default) | true = stage every write
Revisar una escritura de skill en cola
Lista lo que espera
/skills pendingLee el diff completo
/skills diff <id>Aplícala
/skills approve <id>
La herramienta skill_manage también corre un linter asesor en cada escritura, y tres de sus reglas con nombre dicen más sobre qué debería ser una skill que la mayoría de las guías de estilo: incident-log-shape marca un cuerpo cargado de números de PR o de issue, references-sprawl marca más de 60 archivos de referencia, y oversized-body marca un SKILL.md de más de unos 24.000 caracteres, porque skill_view carga el archivo entero y este se queda en el contexto el resto de la sesión. La guía publicada sobre qué debería capturar una skill es lecciones, no bitácoras: una regla generalizable más el mecanismo detrás, no un incidente narrado. Esa regla no la escribí yo. Estoy completamente de acuerdo con ella, y es el mismo instinto detrás de cada skill de persona que construyo a mano.
Las mejores skills de Hermes Agent son las que no puedes instalar
Mis skills de persona no vienen de un registro. Vienen de estudiar el material real de alguien: libros, charlas, transcripciones, y después anotar los principios, los frameworks y las reglas de decisión con mis propias palabras, separadas por la decisión que cada referencia responde. Cubrí el método completo para skills de persona en Claude Code, y la arquitectura se mantiene igual, porque una skill en markdown es agnóstica al runtime: el mismo archivo funciona como skill de Hermes, como skill de empresa en Paperclip, o como skill de Claude Code, porque el modelo de carga es el mismo estándar por debajo.
Un intento concreto: una skill de ghostwriter que extrajo la voz de un creador a partir de 152 de sus posts originales en reglas explícitas, minúsculas, un hook de provocación, un loop abierto de cierre. Desplegarla en el bot de Hermes era el plan, y quiero ser preciso acá: se construyó y se calibró, y el despliegue en sí todavía está por delante, no es algo terminado que pueda mostrar corriendo.
El pipeline de contenido que sí está corriendo: en julio, dos skills, youtube-packaging y social-post-packaging, junto a una skill de persona de Gary Vaynerchuk, derivaron unas 13 piezas de contenido a partir de un video pilar. Funcionó lo bastante bien para usarlo, y tuvo un hueco real. El packaging fijaba el título antes de que corriera la derivación, lo que significaba que el número que supuestamente era el hook quedaba cerrado demasiado temprano y nunca llegaba a las piezas reposicionadas río abajo. Eso es un error de secuencia en un pipeline creativo, y ninguna revisión en segundo plano lo detectó, porque nada en él parecía un error de herramienta. Parecía el pipeline funcionando.
Un detalle de infraestructura que vale la pena saber si corres skills tanto en Hermes como en Paperclip: el build del runtime de Paperclip recorta una skill a solo SKILL.md, descartando por completo la carpeta references/. Mi adaptador de Paperclip simlinkea el directorio fuente de vuelta para que las references de las que depende una skill sobrevivan el viaje. Si una skill se ve bien en Hermes y vuelve genérica apenas hay un orquestador delante, revisa si tus references hicieron el cruce.
Hermes mismo trae una idea parecida en /learn: lo apuntas a un libro, un sitio de documentación, o un workflow que recién le mostraste, y escribe un SKILL.md más un archivo de reference por capítulo o tema, siguiendo la misma lógica de separar por decisión que uso a mano. Es una buena herramienta para skills de base de conocimiento, el tipo donde la fuente es la autoridad y el trabajo es organizarla bien. No reemplaza la parte que en verdad exige juicio: decidir qué voz, qué frameworks, qué anti-patrones van en una skill de persona en primer lugar. Esa decisión es mía. /learn puede darle formato. No puede tomarla.
En qué es bueno el loop de aprendizaje y qué no debería tocar
Esta es la única regla que vale la pena sacar de todo lo anterior. El loop es bueno en procedimiento. No debería confiarse en él para juicio.
Bueno en: procedimiento
- 01La flag que necesita una herramienta y el orden en que va un deploy
- 02Un workaround para una API inestable, encontrado una vez y que vale guardar
- 03Convenciones de formato y de nombres que corregiste una vez
- 04Un workflow de varios pasos que resolvió después de un callejón sin salida
No debería tocar: juicio
- 01Si la voz de una persona es la correcta para una pieza de contenido
- 02Si una decisión de packaging tomada río arriba fue la correcta
- 03Qué va en un SOUL.md, tu identidad, siempre activa
- 04Cualquier cosa que necesite el material que en verdad estudiaste, no el output de una sola sesión
El mecanismo explica por qué. Una revisión en segundo plano forkea después de una sesión y juzga esa sesión contra sí misma: el mismo modelo, casi siempre, que recién hizo el trabajo. Puede decirte que un comando necesitaba una flag que le faltaba. No puede decirte que la decisión de título de un pipeline de contenido pasó en el orden equivocado, porque desde dentro de esa sola corrida, el título se veía correcto. El hueco en el que caí en julio no era un bug que el loop pudiera haber agarrado. Era un error de diseño en el procedimiento que el loop estaba guardando fielmente.
La división que en verdad aplico: skill es método, carga perezosa, una skill por tema. SOUL.md es juicio, siempre activo, uno por agente. El mismo juicio a lo largo de un set de tareas, un agente más un estante de skills que carga según necesita. Juicios distintos, agentes totalmente distintos. Un fork en segundo plano que vigiló una sesión es el autor correcto para el primer tipo. Es el autor equivocado para el segundo, siempre, porque nunca estudió nada. Solo miró.
Cómo hablarle a la revisión en segundo plano
- 01
Nombra el procedimiento, no la sesión.
El nudge se dispara por un conteo de iteraciones de herramientas, no por significado. Una instrucción vaga deja que una decisión de juicio se archive como si fuera un workaround.
En lugar de
Recuerda lo que acabamos de hacer.
Escribe esto
Guarda esto como skill: el backoff de reintentos para el webhook que no dejaba de dar timeout. No guardes nada sobre qué voz usamos para el post.
- 02
Pon a alguien entre el fork y el disco para cualquier cosa con forma de persona.
write_approval pone en cola cada escritura de skill_manage para revisión en vez de confirmarla directo a disco, un seguro barato contra un modelo chico que juzga mal lo que aprendió.
Escribe esto
Configura skills.write_approval en true, y muéstrame /skills pending antes de que se aplique cualquier cosa que hayas escrito.
Antes de dejar que la revisión en segundo plano escriba una skill
- Obligatorio:Activa write_approval si un modelo chico está haciendo la revisión.skills.write_approval: true pone en cola cada escritura para una cola que vacías a mano.
- Obligatorio:Lee lo que guardó, no solo que guardó algo.Una lección más el mecanismo es útil. Un incidente narrado no lo es.
- Obligatorio:Mantén la persona y el trabajo de juicio totalmente afuera del loop automático.Escríbelos a mano, a partir del material que en verdad estudiaste.
- Obligatorio:Revisa si references/ sobrevivió si hay un orquestador delante de Hermes.El build de Paperclip las recorta; un symlink de vuelta a la fuente lo arregla.
- Obligatorio:Confía en los niveles de trust del hub por encima de los contadores de instalación.builtin y official se saltan el panel de advertencia. community se puede forzar más allá de un caution, nunca de un veredicto dangerous.
Skills de Hermes Agent: respuestas rápidas
¿Qué es una skill de Hermes Agent?
Un archivo SKILL.md más references, scripts, templates y assets opcionales que el agente carga a demanda. Sigue el estándar abierto agentskills.io, el mismo modelo de carga (metadata siempre, cuerpo con el trigger, references a demanda) que las skills de Claude.
¿Qué es el hub de skills de Hermes Agent?
La capa de instalación y descubrimiento detrás de hermes skills install: skills oficiales opcionales, repos y taps de GitHub (anthropics/skills, openai/skills, huggingface/skills, NVIDIA/skills entre los defaults), y registros de la comunidad como skills.sh, ClawHub y browse.sh.
Cada instalación corre primero un escaneo de seguridad, y el nivel de trust decide qué puede pasar por encima una flag --force.
¿Cuál es la diferencia entre un plugin y una skill en Hermes Agent?
Una skill es markdown que el modelo lee para aprender un procedimiento. Un plugin es Python registrado a través de plugin_loader.py que extiende lo que el propio runtime puede hacer: herramientas nuevas, hooks de request, comandos de CLI, o providers de memoria. Las skills son opcionales y cargan por descripción. Los plugins están siempre activos una vez habilitados.
¿Hermes Agent puede escribir sus propias skills?
Sí. Una revisión en segundo plano se dispara cada 10 iteraciones de herramientas por defecto y puede guardar un workflow como skill a través de la herramienta skill_manage, con el alcance acotado a un agente forkeado. Un curador semanal marca las skills sin uso como obsoletas después de 14 días y las archiva después de 30, y nunca borra.
¿Cuáles son las mejores skills de Hermes Agent para usar?
Las cuya fuente está más arriba en la escalera de confianza del hub, oficial o un tap verificado de GitHub por encima de una instalación de la comunidad sin auditar, y, para cualquier cosa que necesite un punto de vista en vez de un procedimiento, las que escribes tú mismo a partir de material que en verdad estudiaste, no las que una revisión en segundo plano guardó después de ver una sola sesión.
¿Las skills de Hermes Agent son compatibles con las skills de Claude Code?
Sí, las dos implementan el estándar abierto agentskills.io. El mismo módulo SKILL.md, con las mismas references y el mismo mapa de carga, funciona en cualquiera de los dos runtimes sin reescribirlo.
La newsletter
Don’t Code, Specify. Cada semana, agentes de IA en producción de verdad. Sin hype: lo que funcionó y lo que se rompió.
Suscríbete en Substack (se abre en una pestaña nueva)