padvisor (opinião de segundo agente monoatômico)
Visão geral
Crie UM agente que leia a situação, forme um julgamento e responda. Ele não executa o trabalho — você mantém o controle. Use quando uma decisão estiver apertada, uma abordagem parecer suspeita ou um plano precisar de um novo olhar antes de ser implementado.
Não é pspawn, nem phandoff. Esses entregam o TRABALHO. Este entrega apenas a PERGUNTA e traz de volta uma opinião que você mesmo executa.
O que o agente gerado pode fazer. Ele é executado sem prompts de permissão como padrão da equipe (bypassPermissions no Claude, full-access no Codex), mas é somente leitura por instrução, não por modo: o sufixo "sem edições" do briefing impede que ele altere arquivos. Uma equipe que queira mais pode solicitar no AGENTS.md do repositório, que também é uma instrução, ou bloquear com regras permissions.deny do Claude Code, que ainda se aplicam em bypassPermissions.
Invocação
/padvisor [provedor/modelo] [--skill /<nome>] <pergunta> — modelo opcional.
Provedor padrão: a outra família de modelo que a sua. Do Claude, o modelo mais novo do Codex, o primeiro id em paseo provider models codex; do Codex, o Opus mais novo que paseo provider models claude lista (por exemplo claude/claude-opus-5-5, o modelo de 1M sob seu id simples; pspawn explica por que não usa [1m]). O contraste é o ponto central — um conselheiro da sua própria família de modelo concorda com você pelas mesmas razões pelas quais você já estava errado. Substitua apenas quando o usuário nomear um modelo. Leia os ids da lista, nunca da memória.
Passos
1. Crie-o como filho desta sessão. Disponibilidade do provedor primeiro, exatamente como o passo 1 do pspawn (<diretório base desta skill>/../pspawn/SKILL.md). Então:
paseo run --no-wait --json \
--provider '<provedor/modelo>' \
--thinking xhigh \
--mode <full-access para codex, bypassPermissions para claude> \
--title "[Conselheiro] <tópico>" \
"$(cat <<'BRIEF'
<o briefing, passo 2>
BRIEF
)"
No paseo, o conselheiro cai no espaço de trabalho desta sessão por conta própria, como filho dela — e permanece assim: não o desanexe. Um conselheiro pertence à pergunta; quando esta sessão for arquivada, o paseo arquiva o conselheiro junto com ela, que é o que deve acontecer. Fora do paseo, adicione --workspace <id>, consultado como no passo 2 do pspawn.
Modo: claude → bypassPermissions, codex → full-access, como para toda criação (padrão da equipe): em um modo padrão, o conselheiro para em prompts que ninguém responde. O sufixo "sem edições", não o modo, impede que ele altere arquivos. Use aspas simples em provedor/modelo.
2. Escreva o briefing. O conselheiro não tem contexto zero e não pode ver esta conversa.
[O idioma da conversa do usuário, como uma instrução: "Responda em <esse idioma>."]
## A pergunta
[Uma pergunta precisa. Não "o que você acha" — "X ou Y é a decisão certa, e por quê".]
## Situação
[O que está sendo construído ou decidido, em três frases.]
## O que considerei
- [Opção] — [por que atrai, por que preocupa]
- [Opção que descartei] — [com base em quê]
## Onde olhar
- `/caminho/absoluto/arquivo.ts` — [o que é e por que importa]
## O que quero de volta
Uma recomendação com raciocínio. Nomeie o argumento mais forte CONTRA sua própria recomendação.
Se minha formulação da pergunta estiver errada, diga isso primeiro.
Isto é apenas análise. NÃO edite, crie ou exclua arquivos. NÃO escreva código.
Aponte para arquivos usando caminhos absolutos; não cole seus conteúdos. O agente pode ler. Colar custa contexto e fica desatualizado.
A linha "argumento mais forte contra" não é decoração — sem ela, um agente novo produz consistentemente uma resposta unilateral e confiante, que é o modo de falha que esta skill existe para evitar.
3. Aguarde — ative paseo-notify, então termine sua vez.
paseo-notify <id-do-conselheiro>
Ele retorna imediatamente. Uma mensagem chega nesta sessão quando o conselheiro parar: finished its turn → ele respondeu (a mensagem carrega suas últimas linhas de atividade), is waiting for a permission → uma solicitação está esperando por você, stopped with an error → informe e leia seus logs; não recrie silenciosamente. Um limite de uso não o acorda: paseo-limit-watch retoma o conselheiro e reativa a vigilância, onde sua linha cron está instalada (veja o README); sem ele, verifique você mesmo o conselheiro após o reset. Sem polling, sem loop sleep, sem Monitor. Termine qualquer outro trabalho primeiro, então termine sua vez.
Fora do paseo (sem $PASEO_AGENT_ID) execute paseo wait <id-do-conselheiro> --json com run_in_background: true — uma chamada Bash em primeiro plano tem limite de 10 minutos, um conselheiro com pensamento alto geralmente executa 15–30 — e leia status do JSON, nunca o código de saída.
Em permission (raro em bypass e full-access, mas um rm -rf ainda pergunta) um conselheiro não monitorado trava silenciosamente. Leia a solicitação (paseo permit ls), decida se está dentro do mandato que você deu ao agente, então paseo permit allow <id-do-agente> <id-da-solicitação> ou deny (ambos ids de paseo permit ls), e ative paseo-notify novamente. Se estiver fora do mandato, ou se não tiver certeza, pergunte ao usuário em vez de aprovar em nome dele.
4. Leia a resposta.
paseo logs <id-do-conselheiro> --filter text --tail 3
pagent.py <id> -t -n 3 --full (<diretório base desta skill>/../pagent/) fornece uma visão mais rica com carimbos de data/hora e lê transcrições de Claude, Codex e Antigravity igualmente — e, diferentemente de paseo logs, nunca recarrega um agente fechado para lê-lo.
5. Sintetize para o usuário. O veredito do conselheiro E sua própria leitura dele, claramente separados. Você não é um relé: se o conselheiro estiver errado, diga isso e por quê. Se ele encontrou algo que você perdeu, diga isso claramente também.
6. Arquive-o — paseo archive <id-do-conselheiro> — a menos que o usuário queira mantê-lo (abaixo).
Conselheiro persistente
Se o usuário quiser contribuição contínua ("mantenha-o para as próximas decisões"), pule o passo 6 e envie acompanhamentos para o mesmo agente em vez de criar um novo:
paseo send <id-do-conselheiro> "<pergunta de acompanhamento>" --behavior steer --no-wait
Então aguarde (passo 3) e leia (passo 4) como antes. Se o provedor não aceitar steering, o dispatch pode recorrer à interrupção. --no-wait é importante: sem ele, a CLI espera a conclusão. paseo send revive um agente arquivado, então verifique ArchivedAt em paseo inspect <id> --json primeiro; avise o usuário em vez de reviver um conselheiro arquivado.
Seu contexto é transferido, que é o objetivo. Arquive quando o usuário disser que terminou, ou quando o tópico mudar o suficiente para que o contexto desatualizado prejudique mais do que a continuidade ajuda.
Skills encaminhadas
Se o usuário passar uma referência de skill (/padvisor /code-review isso é superengenharia?), o conselheiro — não você — a executa. Escolha um conselheiro cujo harness tenha essa skill: uma skill que existe apenas no Claude Code (como /code-review) precisa de um conselheiro claude. Adicione ao briefing:
Use a skill `<nome>` antes de fazer qualquer outra coisa (Claude Code: a ferramenta Skill; Codex: leia seu SKILL.md) e aplique-a a esta tarefa.
Passe qualquer coisa após o nome da skill como entrada dessa skill.
Erros comuns
| Erro | Correção |
|---|---|
| Conselheiro da sua própria família de modelo por padrão | Modelo mais novo do Codex — um conselheiro concordante é uma criação desperdiçada |
Confiar no código de saída do paseo wait | Ele é 0 para ocioso, permissão e erro igualmente — leia status do --json |
| Espera em primeiro plano | run_in_background: true; o limite de 10 minutos do Bash mata a espera, não o agente |
Polling com paseo ls, sleep ou Monitor para ver se terminou | paseo-notify <id> e termine sua vez; uma mensagem o acorda |
paseo send simples para um acompanhamento | Ele BLOQUEIA até terminar — --no-wait, então aguarde como no passo 3 |
Desanexar o conselheiro, ou env -u PASEO_AGENT_ID | Ele é filho desta sessão de propósito: vai embora quando a sessão for arquivada |
| Sufixo "sem edições" omitido | Sem ele, um conselheiro começa a implementar a coisa que você pediu para ele julgar |
| Colar conteúdos de arquivo no briefing | Caminhos absolutos; o agente os lê por conta própria |
| Idioma da resposta não declarado | O conselheiro responde no idioma do prompt; comece com o do usuário |
| Retransmitir o veredito como se fosse fato | É uma opinião de contexto zero — diga onde você discorda |
Codex deixado em modo padrão, ou claude em auto | codex → full-access, claude → bypassPermissions (padrões da equipe); o sufixo "sem edições" o mantém somente leitura |
| Entregar o trabalho real | Isso é pspawn (tarefa aberta) ou phandoff (especificação + plano comprometido) |