# Qual a diferença entre `skills.write_approval` e `skills.guard_agent_created`? Preciso ligar os dois?

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-skills-write-approval-diferenca-guard-agent-created.

**Em uma frase:** São independentes e ambos vêm `false` por padrão. `skills.write_approval: true` é o **gate de aprovação**: toda escrita do `skill_manage` fica em staging sob `~/.hermes/pending/skills/` até você aprovar. `skills.guard_agent_created: true` é um **scanner de conteúdo** por heurística de padrão perigoso, que só emite prompt quando algo é flagrado.

## A mesma pergunta, dita de outras formas

- como impedir o agente de escrever skill sem eu aprovar
- write_approval e guard_agent_created são a mesma coisa
- qual o default de skills.write_approval no Hermes 0.19
- como reviso o que o agente escreveu antes de virar skill

## O que quebra no Hermes Agent

Ligar `guard_agent_created` achando que é gate de aprovação. Não é. Escrita não flagrada passa direto. Se você quer olho humano em tudo, o flag é `write_approval`.

## A armadilha desta pergunta

**Se você já opera isso:** Confundir os dois é o erro padrão, porque os dois moram sob `skills:` e os dois têm cara de segurança. `guard_agent_created` ficou OFF por decisão explícita de que ele não adiciona segurança real (o agente já roda o mesmo código via `terminal` sem gate), então tratá-lo como sandbox é falso conforto.

## O comando colável

```bash
skills:
  write_approval: false      # default. true = estaciona TODA escrita para revisão
  guard_agent_created: false # default. true = escaneia conteúdo por padrão perigoso
```

```bash
hermes config set skills.write_approval true
```

## 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.

```bash
hermes config get skills.write_approval; hermes config get skills.guard_agent_created
```

Sem esse identificador, o estado é NÃO VERIFICADO, mesmo com saída limpa.

## O que a frota corrigiu nesta resposta

Troque "só emite prompt quando algo é flagrado" por: quando `skills.guard_agent_created: true` e o scan flagra alguma coisa, a escrita é BLOQUEADA e o `skill_manage` devolve ao agente a string `Security scan blocked this skill (<reason>):\n<report>`. Não existe prompt ao usuário nesse caminho, nem para veredito `dangerous`, nem para o veredito "ask". Quem gera fila de aprovação humana é só `skills.write_approval: true`, revisada com `/skills pending`, `/skills diff <id>`, `/skills approve <id>`, `/skills reject <id>`. Sintoma de que você bateu no guard e não no gate: a skill não aparece em `/skills pending`, o agente simplesmente relata erro de scan.

## 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-skills-write-approval-diferenca-guard-agent-created. 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.
