heithmurray/agent-skills

Gates de planejamento e aprovação para trabalhos que alteram estado.

O que é agent-skills?

Este skill implementa um portão de planejamento (Plan Gate) que torna o plano visível antes da ação, estabelecendo uma clara separação entre planejamento e aprovação. Ele é útil para agentes autônomos que precisam executar tarefas que alteram estado (como modificação de arquivos, comandos de sistema, configurações, implantações), garantindo que toda mudança seja precedida por um plano revisado e aprovado explicitamente. O skill suporta dois modos: o portão completo (Full Gate), com template detalhado incluindo escopo, execução, verificação e rollback; e o portão curto (Short Gate), para mudanças triviais e bem delimitadas. Ele também define limites sensíveis para credenciais, autenticação, rede e configurações do runtime do agente, com procedimentos rigorosos de manipulação de segredos, além de orientações de continuidade e recuperação para trabalho multi-passo, garantindo que interrupções e bloqueios sejam tratados de forma segura e documentada.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/heithmurray/agent-skills/tree/HEAD/skills/plan-gate

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Plan Gate

Torne o plano visível antes da ação. Um plano não é aprovação.

Siga o AGENTS.md para autoridade operacional, delegação, recuperação e relatórios. Este skill define apenas o portão de planejamento; ele não requer SOP de trabalhador ou aplicação de quadro de tarefas.

Pré-Voo Somente Leitura

Inspecione o que é necessário para identificar alvos exatos, estado existente e riscos. Não altere estado nem exponha segredos durante o pré-voo.

Resolva incógnitas materiais antes de solicitar aprovação de execução. Não peça ao usuário para repetir fatos disponíveis.

Quando Usar o Portão

Aplique o portão a alterações de arquivo, comandos que alteram estado, implementação, refatoração, configuração, instalações e mudanças persistentes de fluxo de trabalho.

Para uma única alteração trivial e delimitada, use o portão curto—não nenhum portão. Perguntas, análises e rascunhos apresentados em conversa não exigem um portão de execução.

Portão Completo

PLAN GATE — · Revisão <número>

Tarefa / Objetivo entendido

Suposições

  • [entrada] <suposição fornecida pelo usuário>
  • [execução] <suposição de ferramenta ou ambiente>
  • [escopo] <suposição de inclusão ou exclusão>

No escopo

  • <ações delimitadas>

Fora do escopo

  • <exclusões explícitas>

Arquivos/sistemas afetados

  • <alvo exato e alteração pretendida>

Execução

Verificação

  • <verificações de aceitação observáveis>

Rollback

  • <como as alterações de propriedade da tarefa podem ser desfeitas, ou limites de recuperação>

Limite da aprovação

  • <o que esta aprovação autoriza>
  • <o que requer uma nova decisão>

Decisões em aberto

  • <decisões materiais não resolvidas, ou nenhuma>

Status do portão

  • PRONTO PARA APROVAÇÃO
  • ou BLOQUEADO — DECISÃO REQUERIDA

Omita categorias de suposições que não se aplicam. Não invente suposições apenas para preencher o modelo.

Portão Curto

PLAN GATE — · Revisão <número>

  • Tarefa:
  • Alvo: <arquivo/sistema exato>
  • Alteração: <mudança delimitada>
  • Suposição: <suposição marcada, se houver>
  • Verificação: <verificação>
  • Rollback: <limites de desfazer ou recuperação>
  • Status: PRONTO PARA APROVAÇÃO

Mude para o portão completo se a tarefa deixar de ser trivial.

Aprovação

Aguarde aprovação explícita do escopo visível. "Aprovado", "vai", "prossiga" ou confirmação direta aprova a revisão atual identificada.

A aprovação permanece válida para escopo inalterado. Não a solicite repetidamente nem faça um trabalhador obtê-la novamente.

Uma alteração material nos alvos, ações, requisitos, verificação, rollback ou autoridade requer um portão revisado. Pare o trabalho afetado até que essa revisão seja aprovada.

Decisões materiais não resolvidas significam BLOQUEADO — DECISÃO REQUERIDA, não PRONTO PARA APROVAÇÃO. Um alvo desconhecido não é autorizado chamando-o de "arquivos relacionados".

Limites Sensíveis

Sempre exponha o escopo específico e obtenha aprovação explícita antes de alterar:

  • Credenciais, autenticação ou permissões.
  • Servidores, redes, acesso remoto (SSH, VPN) ou portas públicas.
  • Configurações do runtime do agente: canais, roteamento ou configurações de modelo.
  • Identidade persistente ou instruções operacionais.
  • Envios externos, publicação, contas ou gastos.
  • Operações destrutivas ou dados do cliente.

Respostas rotineiras ao usuário na conversa atual não são envios a terceiros. Redação comum de conversa não é uma alteração persistente de instrução.

Ao adicionar, substituir ou corrigir uma credencial, confirme durante o pré-voo somente leitura como o alvo realmente a consome (seu próprio armazenamento de credenciais, um arquivo que ele possui, uma variável de ambiente ou um proxy que injeta o segredo em trânsito), usando o esquema da integração, documentação ou código, em vez de suposição. Se o alvo precisar ler a credencial por si mesmo, não a roteie através de um proxy que substitua o valor em trânsito; use o armazenamento de credenciais suportado pela integração ou seu próprio arquivo. Gateie o nome do segredo, onde será armazenado, os hosts exatos autorizados a usá-lo e qualquer configuração de runtime ou reinicialização que a integração exija, antes de solicitar o segredo. Para um arquivo de credencial que a integração possui, gateie a entrada mascarada pelo humano, a recusa em sobrescrever um arquivo existente, o proprietário exato e permissões restritivas, uma verificação que nunca imprime o valor e a remoção apenas desse arquivo como rollback; inclua uma reinicialização apenas se a integração exigir uma. Colete segredos apenas através de um prompt mascarado ou do próprio armazenamento de segredos da ferramenta; nunca através de chat, logs, argumentos de linha de comando ou shell multilinha colado através de chat, e nunca copiando ou criando alias de um segredo existente. Solicite uma nova entrada sob o nome exigido. Se nenhum prompt mascarado ou armazenamento de segredos estiver disponível, ou a solicitação mascarada não alcançar o usuário, pare e diga ao usuário o nome exato do segredo, onde ele deve ir e quais hosts podem usá-lo, para que ele mesmo possa inseri-lo lá. Mantenha a credencial antiga até que a próxima execução verifique a nova, e exclua a antiga somente se essa exclusão estava no escopo aprovado.

Para uma migração de configuração em texto simples para um armazenamento de segredos, gateie o conjunto completo de proprietários de cada segredo e trate a remoção do texto simples como unidirecional após a verificação. Faça snapshot apenas da estrutura não-secreta e hashes; nunca crie uma cópia de rollback em texto simples. Colete cada valor atual através de entrada mascarada, depois use o auditor suportado pela ferramenta ou planejador de migração para provar que cada valor armazenado corresponde exatamente à sua fonte de texto simples sem exibir nenhum dos dois. Revise e execute um dry-run de um plano limitado aos caminhos aprovados, verifique novamente tanto a configuração quanto os hashes do plano imediatamente antes de aplicar, então aplique uma vez. Verifique as referências exatas do segredo, zero texto simples remanescente, valores não resolvidos ou sombreados, nenhum resíduo de segredo deixado em qualquer outro armazenamento que a ferramenta mantém (caches, armazenamentos de sessão ou autenticação, backups, arquivos temporários ou de migração) e uma configuração válida antes de reiniciar qualquer coisa. Reinicie apenas os proprietários que exigem isso, prove que o novo processo está em execução em vez de confiar em um relatório agendado, e teste cada proprietário de credencial de ponta a ponta. Mantenha o plano de migração não-secreto até que todas as verificações pós-reinicialização passem, então remova apenas esse plano. Não gire credenciais a menos que exposição ou uma decisão separada de rotação exija.

Continuidade e Recuperação

Para trabalho de múltiplos passos, inclua um local de registro de tarefa acordado no escopo de escrita. Preserve a revisão aprovada, referência de aprovação e evidência de execução lá. Nenhum aplicativo de rastreamento específico é necessário.

Mantenha identificadores de registro limitados a uma linha de trabalho. Quando o trabalho se move para um objetivo ou família de artefatos materialmente diferente, inicie uma nova série de registros e faça link cruzado com a evidência anterior em vez de continuar sua sequência ou consolidar históricos. Se um portão mal escopado não foi aprovado e não criou artefatos, retire seu identificador proposto e reemita o escopo inalterado sob a série correta; não crie trabalho de migração.

Para inventários sensíveis à versão, registre a versão observada do runtime/catálogo e preserve esse snapshot. Se uma atualização estiver pendente, complete e verifique a atualização antes de congelar listas de permissão ou alvos de dependência, então crie uma revisão pós-atualização comparável; nunca reescreva silenciosamente o estado anterior.

Após interrupção, inspecione o estado real antes de retomar. Não repita uma ação cujo resultado é incerto.

Aplique o limite de recuperação em AGENTS.md; se nenhum estiver definido, permita no máximo uma tentativa segura, lógica e dentro do escopo para um bloqueador, compartilhada entre o agente principal e quaisquer trabalhadores. Uma nova tentativa não é obrigatória e não pode expandir a autoridade. Re-gatear ou iniciar um novo trabalhador não redefine a permissão.

Relate recuperação bem-sucedida assim como recuperação malsucedida. Preserve o que falhou, o que foi tentado, por que e o resultado observado.

Um bloqueador corretamente relatado é um resultado válido—não permissão para improvisar conclusão. Diga claramente quando o entregável solicitado permanece incompleto.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Habilidades Relacionadas