Coloque Skills no Seu Repo: Skills Locais de Projeto com Gate de Confiança


Você acabou de clonar um repo novo e quer que o agent entenda as regras dele desde o primeiro minuto: qual comando faz o deploy, como os checks de estilo rodam, como os testes são invocados. Antes, suas opções eram duas — enfiar skills num diretório global (que some na próxima máquina) ou torcer para o AGENTS.md cobrir tudo. Agora existe um terceiro caminho: as skills podem morar dentro do próprio repo, viajar com ele e funcionar para qualquer um que o clonar. O Hermes acaba de lançar esse recurso, chamado project-local skills, com uma trava de confiança acoplada.

Em resumo: coloque uma pasta de skills na raiz de um checkout git, e as sessões do Hermes iniciadas dentro desse repo a tratam como o nível de maior precedência — mas, por segurança, nada carrega até você confiar explicitamente no repositório (PR #88566, mesclado em 2026-08-17).

Skills que moram no repo: .hermes/skills/ e .agents/skills/

Adicionar skills locais ao repo é só criar uma pasta:

myproject/
├── .hermes/skills/        # local nativo do Hermes
│   ├── deploy.md          # runbook de deploy
│   └── api-conventions.md # regras de criação de API
├── .agents/skills/        # convenção entre ferramentas (compartilhada com outros CLIs de agent)
│   └── review.md
└── AGENTS.md

A “raiz do projeto” é o ancestral mais próximo que contém .git — worktrees e submodules contam. Inicie o Hermes de qualquer subdiretório e ele ainda encontra as skills do repo na raiz.

O gate de confiança: hermes skills trust

Skills são documentos de procedimento executáveis que o agent segue, então o Hermes não vai carregar cegamente skills de qualquer repo clonado — essa é a primeira linha de defesa contra prompt injection. Na primeira vez que você iniciar o Hermes num repo com skills de projeto, o banner mostra um aviso:

◆ 3 project skill(s) found in /home/you/myproject but not loaded — run `hermes skills trust` to enable them.

Confie no repo uma única vez (de dentro dele, ou pelo caminho):

hermes skills trust             # confia no repo atual
hermes skills trust ~/myproject # ou explicitamente
hermes skills untrust           # revoga

As raízes confiadas ficam em skills.trusted_project_dirs no ~/.hermes/config.yaml. Para desligar o recurso por completo (sem varredura, sem avisos), defina skills.project_discovery: false:

skills:
  project_discovery: true      # ligado por padrão
  trusted_project_dirs: []     # gerenciado por trust/untrust

Precedência: projeto → local → external_dirs

As skills de projeto são o topo da hierarquia inteira de skills: projeto → local (~/.hermes/skills/) → external_dirs. Uma skill do repo chamada deploy sobrescreve a sua skill global homônima nas sessões dentro daquele repo — e é exatamente esse o ponto: skills embarcadas no repo vencem no seu próprio território sem tocar no seu perfil global. No índice de skills do agent, as skills de projeto são marcadas com [project], então a proveniência fica sempre visível.

Assim como os diretórios externos, os diretórios de skills de projeto são tratados como posse do repo: o curator autônomo de skills nunca os modifica, e novas skills criadas pelo agent sempre vão para ~/.hermes/skills/.

A fronteira de segurança

O gate de confiança é um gate de carregamento real, não uma decoração. Um repo não confiado contribui com nada para o índice de skills, o skills_list, o skill_view, os comandos de barra ou os mounts de contêiner — a única superfície dele é o aviso de uma linha no banner. Só depois de confiar é que as skills do repo entram na visão do agent.

Um detalhe a mais: quando o agent roda em backends Docker/Modal, os diretórios de skills de projeto confiados são montados no contêiner sob um namespace project_skills/<idx>, com o mesmo isolamento. O AGENTS.md e as skills de projeto cobrem territórios diferentes: o AGENTS.md diz o que este repo é; uma skill de projeto diz como o trabalho deste repo é feito. Para o panorama mais amplo de skills, veja as nossas 8 skills embutidas mais úteis e os padrões de combinação de skills; para convenções em nível de repo, o nosso post sobre a cadeia de diretórios do AGENTS.md é um bom complemento.

Quando usar

O ponto ideal são os repositórios de equipe: escreva fluxos de deploy, convenções de commit e conhecimento de domínio como skills, faça commit delas, e todo membro (ou execução de CI) que clonar e rodar hermes skills trust uma única vez dá ao seu agent a mesma memória institucional. Projetos pessoais também ganham — reabrir um repo antigo não significa mais reensinar o agent do zero.

O recurso está no main — rode hermes update e experimente.