Criei uma skill nova, ela aparece em `hermes skills list`, mas o agente nunca carrega ela sozinho. Por quê? ======================================================================== https://docs.nexialismo.ai/pt/hermes-skills-criei-skill-nova-aparece-hermes-skills-list-agente 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 ) 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.