Construindo uma Camada de Governança para Claude Code com Hooks e Agentes

Como Construir uma Camada de Governança para Claude Code com Hooks, Skills e Agentes

Assistentes de IA não têm “memória ruim”. Eles têm uma má governança.

Você já viu isso:

  • Você escreveu um guia de arquitetura meticuloso. O modelo ignora.
  • Você disse “arquitetura de 4 camadas”. Ele produz 3 camadas.
  • Você disse “sem el-input”. Ele solta <el-input v-model=”value” /> como se estivesse fazendo um favor.

Isso não se trata de inteligência. É uma questão de incentivos.

No Claude Code, Skills são um contexto disponível, não uma restrição rígida. Se Claude “sente” que pode responder sem chamar uma Skill, ele o faz. E seu manual do projeto se torna decoração.

Em nossa equipe, ao construir uma base de código RuoYi-Plus com Claude Code, rastreamos isso:

  • Sem intervenção, Claude ativava proativamente Skills de projeto apenas ∼25% das vezes.

Portanto, 3 em cada 4 vezes, suas “regras” não são regras. Elas são uma sugestão.

Precisávamos de algo mais rigoroso: um mecanismo que fizesse Claude se comportar menos como um estagiário inteligente e mais como um engenheiro que lê o manual antes de escrever código.

A solução não era mais prompting.

A solução eram os Hooks.

Após ∼1 mês de iteração, lançamos uma pilha de configuração .claude:

  • 4 hooks de ciclo de vida (governança)
  • 26 Skills de domínio (conhecimento)
  • comandos de barra (orquestração de processos)
  • agentes (especialistas paralelos)

Resultado:

  • Ativação de Skills para tarefas de desenvolvimento: ∼25% → 90%+ Menos código que viola regras, menos ciclos de “por favor, refaça” e muito menos ações de ferramenta arriscadas.

1) Por que o Claude Code “esquece”: Skills são opt-in por padrão

O fluxo padrão do Claude Code é o seguinte:

  • Prompt do usuário → Claude responde (pode chamar uma Skill, pode não chamar)

Esse “pode” é o problema.

A heurística interna de decisão do Claude geralmente é:

  • – “Posso responder isso rapidamente sem contexto extra?”
  • – não “Devo cumprir as regras do repositório?”

Portanto, o sistema tende à conveniência.

O que você quer é uma fricção institucional: um “plano de controle” leve que funcione antes que Claude comece a raciocinar e molde o trabalho toda vez.

2) A descoberta: um hook de avaliação de Skill forçada

Implementamos um hook que é acionado no primeiro momento: UserPromptSubmit.

Ele imprime um breve bloco de política que Claude vê antes de fazer qualquer outra coisa:

  • – Avaliar cada Skill: sim/não + motivo
  • – Se qualquer “sim”: chamar Skill imediatamente
  • – Só então: prosseguir para a implementação

O “hook de avaliação forçada” (lógica central)

Mantemos isso deliberadamente simples e determinístico:

  • – detectar comandos de barra (saída de emergência)
  • – caso contrário, imprimir o protocolo de avaliação

3) Por que 90% e não 100%?

Porque intencionalmente adicionamos um caminho rápido.

Quando um usuário sabe o que quer, digitar um comando como:

  • – /dev build coupon management
  • – /crud b_coupon
  • – /check

deve ser instantâneo. Portanto, o hook pula a avaliação para comandos de barra e deixa o fluxo de comandos assumir.

Essa é a troca:

  • – Governança para prompts livres
  • – Velocidade para comandos estruturados

4) Hooks como um plano de controle de ciclo de vida (a pilha de 4 hooks)

Pense nos hooks como um pipeline de CI para uma sessão de agente — exceto que roda ao vivo, no seu terminal.

Usamos quatro pontos-chave:

4.1 Início da Sessão: “olhe para o repositório antes de falar”

Quando uma sessão começa, mostramos:

  • – branch git atual
  • – mudanças não confirmadas
  • – TODOs abertos / status
  • – comandos comuns

4.2 UserPromptSubmit: avaliação forçada de Skill (disciplina)

Esse é o portão “deve ler o manual”.

4.3 PreToolUse: a camada de segurança (governança de ferramentas)

Claude Code é poderoso porque pode executar ferramentas: Bash, escrever arquivos, editar código.

Isso também é como acidentes acontecem.

PreToolUse é sua última linha de defesa antes de algo irreversível.

4.4 Stop: “fechar o ciclo” com orientação sobre os próximos passos

Quando Claude termina, nós:

  • – resumimos as mudanças de arquivo (novos vs modificados)
  • – sugerimos ações seguintes (executar testes, atualizar docs, confirmar)
  • – opcionalmente acionamos agentes (revisão de código)

5) Skills: a camada de conhecimento que você pode realmente impor

Uma vez que a ativação é determinística, Skills se tornam o que deveriam ser: uma base de conhecimento específica do domínio.

Construímos 26 Skills em diversas áreas:

  • – backend
  • – frontend
  • – mobile
  • – integrações
  • – qualidade
  • – gerenciamento de engenharia

6) Comandos: fluxos de trabalho, não sugestões

Skills resolvem “o que é correto”.

Comandos resolvem “qual é o processo”.

6.1 /dev: um pipeline de desenvolvimento de 7 etapas

Projetamos /dev como um fluxo de trabalho opinativo:

  1. esclarecer requisitos
  2. design (API + módulos + permissões)
  3. design do banco de dados (SQL + dicionários + menus)
  4. backend (saída de 4 camadas)
  5. frontend (política de componentes + roteamento)
  6. teste/verify
  7. docs/atualização de progresso

6.2 /crud: gerar um módulo completo a partir de uma tabela

Entrada:

/crud b_coupon

Saída (exemplo):

  • – Entidade / BO / VO
  • – DAO + regras de wrapper de consulta
  • – Serviço + Controlador (sem padrões proibidos)
  • – Mapper
  • – API frontend + esqueleto de página

6.3 /check: linting de convenções full-stack (legível por humanos)

Aqui transformamos Skills em um verificador:

  • – backend: regras de camadas, herança proibida, política de wrapper de consulta
  • – frontend: componentes banidos, uso de wrappers
  • – mobile: kit de componentes, unidades, importações

7) Agentes: especialistas paralelos (não sobrecarregue o thread principal)

Algumas tarefas devem ser tratadas por um subagente dedicado:

  • – @code-reviewer: verificações de convenção com uma lista de verificação rigorosa
  • – @project-manager: atualizar docs de status, TODOs, métricas de progresso

8) O sistema completo: governança + conhecimento + processo + divisão do trabalho

Esta é a arquitetura em uma frase:

Hooks impõem comportamento, Skills fornecem padrões, Comandos codificam fluxos de trabalho, Agentes lidam com especialização paralela.

9) Configuração mínima reprodutível (amigável para copiar-colar)

Se você quiser a menor versão que ainda funcione, construa isso:

.claude/

settings.json

hooks/

skills/

Fechamento: “habilidade” não é o gargalo — ativação é

Seu modelo já é capaz.

O que falta é um sistema que torne o comportamento correto automático.

More Insights

A Importância da IA Responsável: Riscos e Soluções

As empresas estão cientes da necessidade de uma IA responsável, mas muitas a tratam como um pensamento secundário ou um fluxo de trabalho separado. Isso pode levar a riscos legais, financeiros e de...

Modelo de Governança de IA que Combate o Shadow IT

As ferramentas de inteligência artificial (IA) estão se espalhando rapidamente pelos locais de trabalho, mudando a forma como as tarefas diárias são realizadas. A adoção da IA está ocorrendo de forma...

Acelerando Inovação com IA Ética

As empresas estão correndo para inovar com inteligência artificial, mas muitas vezes sem as diretrizes adequadas. A conformidade pode se tornar um acelerador da inovação, permitindo que as empresas se...

Riscos Ocultos da IA na Contratação

A inteligência artificial está transformando a forma como os empregadores recrutam e avaliam talentos, mas também introduz riscos legais significativos sob as leis federais de anti-discriminação. A...