guardrailssetuplisted
Install: claude install-skill pedroberaldo87/pedro-plugins
# Guardrails Setup
Você está configurando o plugin **guardrails**. Os três hooks do plugin (lint & type-check pós-edição, scope-cop, guard de Agent Teams) vêm do próprio `hooks/hooks.json` dele e disparam automaticamente quando o plugin está instalado — você **NÃO** os registra aqui.
Este setup faz só as duas coisas que um plugin **não consegue** fazer sozinho:
1. **Setar a env var** `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` em `~/.claude/settings.json` (plugins não carregam env vars; o guard de Agent Teams é sobre um recurso que essa flag habilita).
2. **Remover os hooks globais hand-rolled antigos** de `~/.claude/settings.json` pra não dispararem **além dos** hooks idênticos do plugin. Sem isso, toda edição roda lint duas vezes e paga duas chamadas do juiz Haiku.
É **idempotente**: rodar de novo seta uma env var já setada e acha os hooks antigos já removidos — sem dano.
## O que são "os hooks antigos"
Três entradas em `~/.claude/settings.json` → `.hooks`, todas apontando pra scripts em `~/.claude/hooks/` (ou inline):
| Evento | Matcher | Como identificar |
|---|---|---|
| `PostToolUse` | `Edit\|Write` | um hook cujo `command` contém `.claude/hooks/lint-and-typecheck` |
| `PreToolUse` | `Edit\|Write` | um hook cujo `command` contém `.claude/hooks/pretooluse-scope-cop` |
| `PreToolUse` | `Agent` | um hook `type: "prompt"` cujo `prompt` contém `substitute for Agent Teams` |
**Tem que preservar:** o hook `SessionStart` que aponta pra `sessionstart-adhd-mode.sh` (o auto-a