hookify-rules
Ajuda seu agente a criar regras para controlar o comportamento. Ele pode bloquear ações perigosas ou mostrar avisos, garantindo mais segurança.
O que ela faz
Esta ferramenta ajuda a criar regras para "vigiar" o que a IA faz. Ela pode avisar ou impedir ações específicas, como executar comandos perigosos ou editar arquivos sensíveis, definindo padrões de texto.
Quando usar
- ✓Ao querer impedir que a IA execute comandos arriscados.
- ✓Para evitar que a IA modifique arquivos importantes sem permissão.
- ✓Quando desejar que a IA exiba um aviso antes de realizar certas ações.
Exemplo do que pedir para a IA
“Crie uma regra para avisar se a IA tentar usar o comando 'rm -rf'.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Você escreve um arquivo de configuração com um nome, o tipo de evento a vigiar (como comandos ou arquivos), um padrão de texto (usando expressões regulares) e a mensagem a ser exibida. A IA verifica se o que ela vai fazer corresponde a esse padrão.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add affaan-m/ECC --skill hookify-rulesOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/skills/hookify-rules/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Escrevendo Regras Hookify
Visão Geral
O ECC avalia regras Hookify locais do projeto com seu runtime Node integrado. Nenhuma instalação separada de plugin Hookify ou Python é necessária quando os hooks do ECC estão habilitados.
Regras Hookify são arquivos markdown com frontmatter YAML que definem padrões a serem observados e mensagens a serem exibidas quando esses padrões correspondem. As regras são armazenadas em arquivos .claude/hookify.{rule-name}.local.md.
Formato do Arquivo de Regra
Estrutura Básica
---
name: rule-identifier
enabled: true
event: bash|file|stop|prompt|all
pattern: regex-pattern-here
---
Message to show Claude when this rule triggers.
Can include markdown formatting, warnings, suggestions, etc.
Campos do Frontmatter
| Campo | Obrigatório | Valores | Descrição |
|---|---|---|---|
| name | Sim | string em kebab-case | Identificador único (verbo-primeiro: warn-, block-, require-*) |
| enabled | Sim | true/false | Alternar sem excluir |
| event | Sim | bash/file/stop/prompt/all | Qual evento de hook aciona esta |
| action | Não | warn/block | warn (padrão) exibe mensagem; block impede a operação |
| pattern | Sim* | string regex | Padrão a ser correspondido (*ou use condições para regras complexas) |
Formato Avançado (Múltiplas Condições)
---
name: warn-env-api-keys
enabled: true
event: file
conditions:
- field: file_path
operator: regex_match
pattern: \.env$
- field: new_text
operator: contains
pattern: API_KEY
---
You're adding an API key to a .env file. Ensure this file is in .gitignore!
Campos de condição por evento:
- bash:
command - file:
file_path,new_text,old_text,content - prompt:
user_prompt
Operadores: regex_match, contains, equals, not_contains, starts_with, ends_with
Todas as condições devem corresponder para que a regra seja acionada.
Guia de Tipo de Evento
Eventos bash
Corresponde a padrões de comando Bash:
- Comandos perigosos:
rm\s+-rf,dd\s+if=,mkfs - Escalação de privilégios:
sudo\s+,su\s+ - Problemas de permissão:
chmod\s+777
Eventos file
Corresponde a operações de Edição/Escrita/MultiEdição:
- Código de depuração:
console\.log\(,debugger - Riscos de segurança:
eval\(,innerHTML\s*= - Arquivos sensíveis:
\.env$,credentials,\.pem$
Eventos stop
Verificações de conclusão e lembretes. O padrão .* corresponde sempre.
Eventos prompt
Corresponde ao conteúdo do prompt do usuário para aplicação do fluxo de trabalho.
Dicas para Escrever Padrões
Noções Básicas de Regex
- Caracteres especiais de escape:
.a\.,(a\( \sespaço em branco,\ddígito,\wcaractere de palavra+um ou mais,*zero ou mais,?opcional|operador OU
Armadilhas Comuns
- Muito amplo:
logcorresponde a "login", "dialog" — useconsole\.log\( - Muito específico:
rm -rf /tmp— userm\s+-rf - Escapamento YAML: Use padrões sem aspas; strings entre aspas precisam de
\\s
Teste
python3 -c "import re; print(re.search(r'your_pattern', 'test text'))"
Evite quantificadores aninhados como (a+)+. O runtime rejeita padrões com
formas comuns de backtracking catastrófico porque as regras são executadas
sincronamente no caminho do hook, e cada avaliação de regex tem um tempo limite
rígido de 25 ms. Regras locais inválidas, com links simbólicos ou de tamanho
excessivo falham abertas e emitem um diagnóstico sem desabilitar outras regras
Hookify.
Regras locais rastreadas pelo Git são desabilitadas por padrão. Defina
ECC_HOOKIFY_ALLOW_TRACKED=1 somente após revisar esses arquivos; regras comuns
ignoradas pelo Git criadas localmente permanecem ativas sem essa substituição.
Comportamento do Runtime
warninjeta a mensagem como contexto adicional específico do evento e não bloqueia.blocknega chamadas Bash, PowerShell, Write, Edit ou MultiEdit correspondentes antes da execução.- Em eventos prompt, post-tool e stop,
blockusa a decisão de bloqueio estruturada do Claude Code. - Regras stop pulam eventos recursivos
stop_hook_activepara evitar loops de continuação infinitos.
Organização de Arquivos
- Localização: diretório
.claude/na raiz do projeto - Nomeação:
.claude/hookify.{descriptive-name}.local.md - Gitignore: Adicione
.claude/*.local.mda.gitignore
Comandos
/hookify [description]- Cria novas regras (analisa automaticamente a conversa se não houver argumentos)/hookify-list- Visualiza todas as regras em formato de tabela/hookify-configure- Alterna regras interativamente/hookify-help- Documentação completa
Referência Rápida
Regra mínima viável:
---
name: my-rule
enabled: true
event: bash
pattern: dangerous_command
---
Warning message here
Perguntas frequentes
O que são 'eventos'?
Eventos são os momentos em que a IA pode realizar uma ação que você quer vigiar, como executar um comando no terminal (bash), editar um arquivo (file), ou quando ela para de processar (stop).
O que é um 'padrão'?
É um texto que você define para que a IA procure. Pode ser uma palavra exata, ou um padrão mais complexo usando algo chamado 'expressão regular' para encontrar variações.
Qual a diferença entre 'warn' e 'block'?
'Warn' (avisar) mostra uma mensagem para a IA, mas ela pode continuar. 'Block' (bloquear) impede a ação completamente.
Detalhes
Descrição original do autor
Create and configure hookify rules — markdown files with YAML frontmatter that match bash, file, prompt, or stop events by regex or conditions and show warn/block messages to the agent. Use when creating a hookify rule, writing hook rule syntax, configuring hookify, or adding pattern guardrails such as blocking dangerous commands, .env edits, or debug code.
repo: affaan-m/ECC
Popularidade
- Estrelas no GitHub
- 280 mil
- Posição no ranking
- #211
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
accessibility
Ajuda seu agente a criar interfaces que todos possam usar. Garante que sites e aplicativos funcionem bem para pessoas com deficiência, como cegos ou com mobilidade reduzida.
affaan-m/ECC
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC
Skills parecidas
template-skill
Este é um modelo genérico para novas habilidades. Ele precisa de uma descrição específica para ser útil.
anthropics/skills
shipping-and-launch
Prepara seu código para ser lançado em produção com segurança. Ajuda a garantir que tudo esteja pronto, monitorado e com um plano de volta.
addyosmani/agent-skills
using-agent-skills
Faz seu agente descobrir e usar outras habilidades. É útil para decidir qual ferramenta ou fluxo de trabalho usar para uma tarefa específica.
addyosmani/agent-skills