Criei uma skill nova, ela aparece em `hermes skills list`, mas o agente nunca carrega ela sozinho. Por quê?
Hermes Agent v0.19.0, eixo skills, por José Carlos Amorim, na Nexialismo. Verificado em 2026-07-28 contra a tag v2026.7.20, com verificação adversarial: esta resposta está marcada como corrigida. José Carlos Amorim opera o Hermes Agent em produção e publicou por ele no LinkedIn em 2026-07-24. English version: https://docs.nexialismo.ai/en/hermes-skills-criei-skill-nova-aparece-hermes-skills-list-agente.
Em uma frase: Quase sempre é a description. O índice de skills do system prompt corta a description em 60 caracteres (SKILL_PROMPT_DESC_LIMIT = 60), e o que passa disso vira desc[:57] + "...". Se o gatilho da sua skill está depois do caractere 57, ele nunca chega ao modelo e a skill nunca roteia.
A mesma pergunta, dita de outras formas
- por que minha skill não é escolhida automaticamente pelo agente
- a skill existe mas o modelo ignora ela, o que está errado
- qual o limite de caracteres da description de uma SKILL.md no Hermes
- minha skill só funciona se eu chamar com /nome, nunca sozinha
A armadilha desta pergunta
Se você já opera isso: Todo mundo trata description como texto de vitrine e escreve uma frase de 120 caracteres explicando tudo. Material N3/N4 copia o exemplo da doc sem mencionar o limite. O erro é silencioso: a skill instala, lista e abre normalmente. Só o roteamento automático morre.
O comando colável
SKILL_PROMPT_DESC_LIMIT = 60
def extract_skill_description(frontmatter):
desc = _normalize_skill_description(frontmatter)
if not desc:
return ""
if len(desc) > SKILL_PROMPT_DESC_LIMIT:
return desc[:SKILL_PROMPT_DESC_LIMIT - 3] + "..."
return desc
python3 - <<'PY'
import re, pathlib
root = pathlib.Path.home() / ".hermes" / "skills"
for p in sorted(root.rglob("SKILL.md")):
txt = p.read_text(errors="replace")
m = re.search(r'^description:\s*(.*)$', txt, re.M)
if not m:
print(f" SEM description {p.relative_to(root)}")
continue
d = m.group(1).strip().strip("'\"")
if len(d) > 60:
print(f"{len(d):4d} chars {p.relative_to(root)}")
print(f" prompt vê: {d[:57]}...")
PY
description: Search arXiv papers by keyword, author, or ID.
Como confirmar na sua instalação
Se você nunca viu isso antes: este comando lê o estado da sua própria instância do Hermes Agent e não muda nada. Rode antes de acreditar em qualquer resposta, inclusive nesta.
python3 -c "import re,pathlib;r=pathlib.Path.home()/'.hermes'/'skills';[print(len(m.group(1).strip().strip(chr(39)+chr(34))), p) for p in r.rglob('SKILL.md') if (m:=re.search(r'^description:\s*(.*)$',p.read_text(errors='replace'),re.M)) and len(m.group(1).strip().strip(chr(39)+chr(34)))>60]"
Sem esse identificador, o estado é NÃO VERIFICADO, mesmo com saída limpa.
O que a frota corrigiu nesta resposta
Resposta certa para v0.19.0: o índice de skills do system prompt (bloco <available_skills>) trunca a description em 60 caracteres. Em agent/skill_utils.py, dentro de extract_skill_description, o corte é um literal, sem constante nomeada:
``python
def extract_skill_description(frontmatter: Dict[str, Any]) -> str:
raw_desc = frontmatter.get("description", "")
if not raw_desc:
return ""
desc = str(raw_desc).strip().strip("'\"")
if len(desc) > 60:
return desc[:57] + "..."
return desc
`
Gatilho depois do caractere 57 nunca chega ao modelo. NÃO cite SKILL_PROMPT_DESC_LIMIT ao falar de v0.19.0: essa constante só existe em main, a partir de 2026-07-24. A citação sobre a regra ser a mais violada vem de agent/learn_prompt.py::_AUTHORING_STANDARDS`, não de AGENTS.md.
Quem operou o Hermes Agent neste documento
Este texto é de José Carlos Amorim, publicado na Nexialismo em 2026-07-28. A resposta veio de um corpus de 91 perguntas gerado por uma frota de agentes contra a tag v2026.7.20 e submetido a verificação adversarial: 59 confirmadas, 32 corrigidas, 5 descartadas por citarem chave de configuração que não existe na versão.
O corpus inteiro fica em https://docs.nexialismo.ai/pt/hermes. A versão em inglês desta página fica em https://docs.nexialismo.ai/en/hermes-skills-criei-skill-nova-aparece-hermes-skills-list-agente. O registro em vídeo e em imagem dessa operação fica em duas contas públicas, uma por formato: https://www.youtube.com/@josecarlosamorim-ai no YouTube e https://www.instagram.com/josecarlosamorim.ai/ no Instagram.
Verificado em 2026-07-28. Alvo de versão: Hermes Agent v0.19.0, tag v2026.7.20.
Tamo junto.