# SKILL: Environment Guard (.agent/skills/environment-guard)

## 📌 Objetivo
Proteção de integridade entre múltiplos ambientes (Multi-Tenant/Multi-Context). Evitar que uma alteração no layout de um módulo afete negativamente outro.

## 🛡️ Protocolo de Mudança em `src/components/shared`

Sempre que o agente precisar editar um componente dentro de `src/components/shared`, ele deve seguir este checklist visual e lógico:

1.  **Detecção de Colisão:**
    *   Este componente é usado no RH? Prafrot? GR?
    *   `grep -r "ComponentName" src/features` para mapear o uso.

2.  **Variantes em vez de Condicionais:**
    *   **ERRADO:** `if (isPrafrot) { ... }` dentro de um componente compartilhado.
    *   **CORRETO:** Use `tailwind-variants` (TV) para criar intenções visuais puras.
    *   Exemplo:
        ```javascript
        const button = tv({
          variants: {
            intent: {
              prafrot: 'bg-emerald-600',
              gr: 'bg-indigo-600',
              rh: 'bg-rose-600'
            }
          }
        });
        ```

3.  **Cross-Environment Validation:**
    *   Se alterar o `Modal.jsx`, deve-se validar visualmente (ou via pesquisa de código) se o modal de "Demissão" (RH) e o modal de "Checklist" (Prafrot) continuam funcionais.

## 🚀 Anti-Colisão de Tokens (JWT)

*   **Identidade Própria:** Certifique-se de que o componente não assume a existência de um `token` global. Ele deve receber o dado necessário ou usar o hook reativo `useApiContract` que já injeta o token correto por contexto.

## ⚠️ Regra de Ouro
O componente `shared` deve ser agnóstico ao negócio. O negócio deve configurar o componente via `props`.
