Pular para o conteúdo
Skillpedia
Diversos280 mil · #211

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

https://github.com/affaan-m/ECC/blob/main/skills/hookify-rules/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/affaan-m/ECC/blob/main/skills/hookify-rules/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-rules

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/skills/hookify-rules/SKILL.md -o SKILL.md
Conteú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 \(
  • \s espaço em branco, \d dígito, \w caractere de palavra
  • + um ou mais, * zero ou mais, ? opcional
  • | operador OU

Armadilhas Comuns

  • Muito amplo: log corresponde a "login", "dialog" — use console\.log\(
  • Muito específico: rm -rf /tmp — use rm\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

  • warn injeta a mensagem como contexto adicional específico do evento e não bloqueia.
  • block nega chamadas Bash, PowerShell, Write, Edit ou MultiEdit correspondentes antes da execução.
  • Em eventos prompt, post-tool e stop, block usa a decisão de bloqueio estruturada do Claude Code.
  • Regras stop pulam eventos recursivos stop_hook_active para 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.md a .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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas