operator-approval-loop
Faz seu agente gerenciar o envio de mensagens com aprovação humana. Garante que mensagens importantes sejam revisadas antes de serem enviadas.
O que ela faz
Este sistema garante que mensagens importantes enviadas por um agente de IA para outras pessoas sejam revisadas e aprovadas por um humano antes de serem enviadas. Ele cria um registro de tudo o que foi enviado e quem aprovou.
Quando usar
- ✓Quando um agente de IA escreve respostas para clientes ou parceiros.
- ✓Quando você precisa de um registro exato de quem aprovou cada mensagem.
- ✓Quando você quer evitar que mensagens incorretas ou duplicadas sejam enviadas.
Exemplo do que pedir para a IA
“Por favor, revise e aprove esta mensagem para o cliente sobre o status do pedido.”
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
Quando uma mensagem é criada, ela é salva como um rascunho e marcada para revisão. Um humano revisa o rascunho, aprova ou rejeita. Se aprovado, o sistema registra quem aprovou e quando, garantindo que a mensagem exata aprovada seja enviada.
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 operator-approval-loopOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/skills/operator-approval-loop/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.
Loop de Aprovação do Operador
Um agente que conversa com contrapartes externas nunca deve enviar por conta própria e deve manter o operador informado internamente. Esta habilidade define o contrato: cada rascunho de saída é registrado como uma obrigação, um operador decide o texto exato e um registro de entrega prova o que foi enviado.
Quando Usar
- Um agente redige respostas para clientes, fornecedores, investidores ou parceiros em um canal compartilhado, e-mail ou chat, e um humano deve aprovar antes de enviar.
- Você precisa de uma trilha de auditoria que vincule cada mensagem enviada ao texto exato do rascunho, ao operador que a aprovou e ao tempo da decisão.
- Você viu uma aprovação antiga liberar um rascunho reescrito, ou dois trabalhadores entregarem a mesma mensagem aprovada duas vezes.
- Rascunhos continuam pedindo fatos às contrapartes que o registro já possui.
Como Funciona
Objetos
| Objeto | Significado |
|---|---|
| Obrigação | Uma coisa que devemos a uma contraparte. O status muda drafted, depois approved ou rejected, depois sent. Carrega direction, counterparty, channel e uma época updated_at. |
| Rascunho | Linha auxiliar contendo o texto exato do rascunho, um sha256 desse texto, coordenadas de origem (plataforma, canal, thread, usuário) e prioridade (P0 a P3). Um por obrigação, substituído ao reenviar. |
| Decisão | Uma aprovação ou rejeição de um operador, registrada com o ID do operador, um nonce e a época do rascunho contra a qual foi feita. |
| Instantâneo de aprovação | Texto imutável, hash, época e destino registrados pelo escritor de decisão já autorizado. Instantâneos ausentes não podem conceder despacho. |
| Reivindicação | Reserva durável com um token aleatório e estado; no máximo uma reivindicação ativa por obrigação. |
| Entrega | Linha de registro provando um envio ou aviso para um par (obrigação, decisão). |
O esquema de referência está em references/approval-ledger.sql.
Registrando um rascunho
- Limpe as entradas. Remova caracteres de controle, colapse espaços em branco em campos de linha única e aplique limites de comprimento (rascunho, resumo, contexto, contraparte). Campos vazios ou excessivamente grandes são recusados, não truncados silenciosamente.
- Execute o portão de linha de base (abaixo). Ele pode recusar o registro.
- Gere o hash do texto do rascunho com sha256. O prefixo do hash vai para o resumo para que o painel de aprovação mostre qual texto está sendo aprovado.
- Atualize ou insira. Se já existir uma obrigação redigida em aberto para a mesma (contraparte, canal), substitua a linha auxiliar do rascunho e avance a
updated_atda obrigação. Esse avanço é a rotação da época: qualquer decisão vinculada à época antiga não poderá mais liberar o novo texto. Caso contrário, insira uma nova obrigação com o statusdrafted. - Encaminhe o recibo de registro apenas para um destino interno de operações configurado e verificado. Se a origem for esse destino interno, acuse o recebimento lá. Nunca silencioso significa relatórios internos, não uma resposta externa automática. Mantenha hashes de rascunho, status de aprovação, identidade do operador e metadados do fluxo de trabalho fora dos canais visíveis para a contraparte. Origens desconhecidas ou não classificadas permanecem em silêncio; uma mensagem direta não é automaticamente interna.
Se um destino interno verificado não estiver disponível, retenha o resultado do registro no resultado da ferramenta interna ou na superfície do operador. Nunca recorra a uma origem externa ou desconhecida. Um resultado de ferramenta exposto a terceiros não é uma superfície interna.
Registrar um rascunho não autoriza uma resposta externa. Qualquer pergunta esclarecedora permitida pela política ou resposta neutra é uma decisão de saída separada, sujeita às restrições existentes de menção, canal, apenas rascunho, congelado e nunca em counterparty-channel-discipline. Não deve divulgar metadados de aprovação interna.
Portão de linha de base
Antes que qualquer rascunho seja registrado, consulte a linha de base atual para a contraparte (um registro temporal, loja de contratos ou CRM):
- Contrato assinado ou entregue registrado: recuse o registro com a evidência e uma recomendação. Perguntar a uma contraparte sobre especificações após a assinatura é a falha exata que este portão existe para impedir.
- Substituição do operador:
force_despite_signed_contractpermite que o registro passe e insere[BASELINE_OVERRIDE_SIGNED_CONTRACT]no contexto do rascunho. - Serviço de portão inacessível: o registro prossegue e o contexto é marcado com
[BASELINE_CHECK_UNAVAILABLE]. O painel vê que a proteção estava desativada. Falhas nunca desativam o portão silenciosamente. - Quando os fatos estiverem disponíveis, anexe os poucos mais recentes ao contexto como um resumo
[BASELINE FACTS: ...]para que o rascunho chegue com a verdade atual.
Decidindo
…
Perguntas frequentes
O que acontece se o rascunho da mensagem mudar depois de ser aprovado?
Se o rascunho mudar após a aprovação, ele precisa ser revisado e aprovado novamente. Isso garante que a versão final enviada seja a que o humano realmente aprovou.
Como o sistema evita que a mesma mensagem seja enviada duas vezes?
O sistema mantém um registro de todas as mensagens enviadas e aprovadas. Antes de enviar, ele verifica se uma mensagem idêntica já foi enviada com base na aprovação correspondente.
O que é o 'baseline gate'?
É uma verificação inicial que olha informações existentes sobre a pessoa que vai receber a mensagem (como contratos assinados) antes de permitir que o rascunho seja criado. Isso evita que o agente peça informações que já deveriam ser conhecidas.
Detalhes
Descrição original do autor
Operator approval contract with internal filing notices for agent-drafted outbound messages, hashed drafts, epoch-keyed decisions, durable delivery claims and receipts, and a pre-draft baseline gate. Use when an agent drafts messages to external counterparties and a human operator must approve, reject, or steer each send before it leaves.
repo: affaan-m/ECC
Popularidade
- Estrelas no GitHub
- 280 mil
- Posição no ranking
- #246
- 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
discernment-nudge
Faz seu agente adicionar perguntas de acompanhamento após dar uma resposta importante. É útil para garantir que você pense bem sobre conselhos ou planos antes de agir.
anthropics/skills
interview-me
Faz perguntas para entender exatamente o que você precisa. Garante que o agente compreenda sua real necessidade antes de começar o trabalho.
addyosmani/agent-skills
slack
Permite que seu agente leia discussões e colabore em conversas do Slack. Ele usa o bot designado para interagir com tarefas e rotinas.
paperclipai/paperclip