# Segunda Opiniao

> Use quando o usuário quiser a opinião de OUTROS modelos de IA (Codex/GPT da OpenAI, Antigravity/Gemini do Google, Claude da Anthropic) sobre algo que está nesta conversa, via CLIs instaladas na máquina. Dispare com "/segunda-opiniao", "pergunta pro Codex", "manda pro Gemini", "roda isso nos três", "segunda opinião", "confere com outro modelo", "os outros concordam?". Vale para revisar código, validar diagnóstico técnico, checar decisão, comparar abordagens e furar viés de um modelo só. Responda sempre em português.

- Skill: `guiair21/segunda-opiniao` (Agent Skill)
- Install (CLI): `npx skillmds@latest add guiair21/segunda-opiniao`
- Raw SKILL.md: https://api.skillmd.com/api/skills/guiair21/segunda-opiniao/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Guiair21 (https://skillmd.com/u/guiair21)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/guiair21/segunda-opiniao

---


# Segunda Opinião (Codex + Antigravity + Claude)

Dispara a mesma pergunta para os agentes de IA instalados na máquina, coleta as
respostas e devolve um comparativo honesto. Cada CLI roda em processo separado e
começa com contexto ZERO, então a qualidade da resposta depende inteiramente do
briefing que você escrever.

## Quando usar

- O usuário pediu a opinião de outro modelo, por nome ou em geral.
- Você está inseguro num diagnóstico técnico e quer confronto de verdade.
- A decisão é cara e vale saber se um modelo diferente enxerga outra coisa.
- O usuário desconfia de uma resposta sua e quer conferir com fonte independente.

## Quando NÃO usar

- **Pergunta trivial ou de fato único.** Responda você.
- **Você quer lentes diferentes, não modelos diferentes.** Se o que falta é
  olhar o mesmo problema por vários ângulos, faça isso com subagentes. Esta
  skill serve para diversidade de *treinamento*, que é outra coisa.
- **Texto que precisa sair na voz do usuário.** As regras de voz não vão junto no
  briefing, e os outros modelos devolvem texto fora do padrão.

## Os três agentes

| Agente | Empresa | Comando base | Traço |
|---|---|---|---|
| `codex` | OpenAI | `codex exec` | Forte em código, execução e rastreamento de bug |
| `agy` | Google (Antigravity) | `agy -p` | Contexto longo, bom em leitura de material extenso |
| `claude` | Anthropic | `claude -p` | Mesmo padrão de rigor, **mesma casa que você** |

Aviso honesto sobre o terceiro: o Claude é o mesmo fornecedor de quem está
escrevendo o briefing. Ele não acrescenta diversidade de treinamento, acrescenta
um leitor sem o viés de quem escreveu o recorte. Vale como assento, mas se os
três concordarem, lembre que dois deles não são independentes de você.

Se o usuário pediu só um, rode só aquele. Não force os três.

## Passo 1: monte o briefing autocontido

Este é o passo que decide a qualidade da entrega. Eles não veem esta conversa,
não veem os arquivos abertos e não sabem nada do usuário.

Crie a pasta da rodada e escreva o briefing:

```
<scratchpad>\segunda-opiniao\<slug-da-pergunta>\briefing.md
```

O briefing precisa conter, nesta ordem:

1. **A pergunta objetiva**, na primeira linha, já no formato de decisão
   ("Este diagnóstico está certo?", "Qual das duas abordagens?").
2. **O contexto mínimo necessário**: o código relevante colado, o erro completo,
   os números, as restrições reais.
3. **O que já foi tentado** e o resultado de cada tentativa.
4. **O formato da resposta**: peça veredito na primeira linha e justificativa
   depois, em no máximo 300 palavras.

Regras do briefing:

- **Artefato bruto ganha de paráfrase sua.** Cole o stack trace inteiro, o diff
  inteiro, a tabela de números inteira. Não resuma "o erro é de encoding": cole o
  erro. O briefing é o funil por onde tudo passa, e o que você resumir vira o
  teto da rodada. Se o material for grande, grave cada peça como arquivo na pasta
  da rodada (`erro.txt`, `trecho.py`) e diga no briefing que estão ali: os três
  rodam com o cwd nessa pasta e conseguem abrir.
- Não conte qual é a sua hipótese antes de perguntar. Se você entregar sua
  conclusão junto, eles concordam com você e a rodada não vale nada.
- Não diga que a pergunta veio de outra IA. Isso enviesa.

### Variante falsificação (mais forte quando você já tem hipótese)

Pergunta aberta convida os três a concordarem com o recorte que você fez. Quando
você já tem um diagnóstico e quer testá-lo, inverta: entregue a hipótese como se
fosse de terceiro e peça para derrubarem.

> A conclusão abaixo foi apresentada como diagnóstico final. Sua tarefa é
> derrubá-la. Aponte qual evidência a contradiz e qual teste a falsificaria. Se
> não conseguir derrubar, diga o que precisaria ser verdade para ela estar errada.

Isso vale mais que opinião aberta, porque troca votação por tentativa de achar o
furo que você não viu.

## Passo 2: dispare os três em paralelo

Faça as três chamadas PowerShell **numa única mensagem**, para rodarem ao mesmo
tempo. Sequencial triplica a espera sem ganho nenhum.

Use `$d` como a pasta da rodada. Rodar com o cwd dentro dessa pasta isola os
três: se algum resolver escrever arquivo, escreve no descartável.

```powershell
# Codex (OpenAI)
$d='<pasta-da-rodada>'; Push-Location $d
$OutputEncoding = [System.Text.UTF8Encoding]::new($false)
Get-Content "$d\briefing.md" -Raw | & codex exec --skip-git-repo-check --sandbox read-only -o "$d\r-codex.md" - 2>&1 | Out-Null
Pop-Location; "EXIT=$LASTEXITCODE"; Get-Content "$d\r-codex.md"
```

```powershell
# Antigravity (Google)
$d='<pasta-da-rodada>'; Push-Location $d
$p = (Get-Content "$d\briefing.md" -Raw) + "`n`nIMPORTANTE: responda de memoria, em texto puro. Nao execute comandos, nao leia nem escreva arquivos, nao use nenhuma ferramenta."
& agy -p $p 2>&1 | Out-File "$d\r-agy.md" -Encoding utf8
Pop-Location; "EXIT=$LASTEXITCODE"; Get-Content "$d\r-agy.md"
```

```powershell
# Claude (Anthropic)
$d='<pasta-da-rodada>'; Push-Location $d
$p = (Get-Content "$d\briefing.md" -Raw) + "`n`nIMPORTANTE: responda de memoria, em texto puro. Nao execute comandos, nao leia nem escreva arquivos, nao use nenhuma ferramenta."
& claude -p $p 2>&1 | Out-File "$d\r-claude.md" -Encoding utf8
Pop-Location; "EXIT=$LASTEXITCODE"; Get-Content "$d\r-claude.md"
```

Cada flag acima existe por um motivo verificado, não decore como enfeite:

- **Bloco anti-ferramenta no Antigravity e no Claude:** sem isso o `agy` devolve
  `no output produced, a tool required the "command" permission`, porque tenta
  usar ferramenta e o modo headless não tem quem aprove. A instrução em texto
  resolve sem precisar de `--dangerously-skip-permissions`, que daria execução
  livre na máquina.
- **`--skip-git-repo-check` no Codex:** fora de um repositório git ele recusa
  rodar.
- **`-o <arquivo>` no Codex:** o stdout dele vem sujo de log de MCP, hooks e
  contagem de tokens. Leia o arquivo, nunca o stdout.
- **`-` no fim do comando do Codex:** manda ele ler o prompt do stdin. Sem isso
  ele trava esperando entrada.
- **`$OutputEncoding` no Codex:** trava UTF-8 sem BOM no pipe, para acento não
  virar lixo.

O `agy` também aceita `--sandbox` (restringe o terminal) e `--print-timeout`
(padrão 5 minutos). Use se o bloco de texto não bastar.

Timeout: use 300000 (5 min) em cada chamada. Resposta longa demora.

## Passo 3: entregue o comparativo

Nunca cole as três respostas cruas e mande o usuário ler. O valor da skill está
na síntese. Formato:

```
## Veredito de cada um
| Agente | Veredito | Argumento central |

## Onde os três concordam
[Convergência independente é o sinal mais forte que essa rodada produz.]

## Onde divergem
[A divergência real, com os dois lados. Não suavize.]

## O que eu acho depois de ler
[Sua posição. Se você mudou de ideia, diga o que mudou. Se continua discordando
dos três, diga por quê.]
```

**Convergência dos três não prova nada sobre o mundo, só que o briefing foi
persuasivo.** Eles leram o mesmo recorte, escrito por você. Se os três
concordarem, a primeira pergunta é se você não induziu a resposta no
enquadramento. Diga isso ao usuário em vez de vender consenso.

Regra de leitura: **resposta de agente não é fonte.** Se algum deles afirmar
fato verificável (versão de biblioteca, número, comportamento de API), cheque de
forma independente antes de repassar como verdade. Três modelos concordando ainda
pode ser três modelos errados.

**Desconfie em dobro quando ele disser "verifiquei".** Caso real: numa crítica de
artigo, o Codex afirmou ter consultado a fonte e sentenciou que a página citada
"não bate", apontando outra faixa de páginas. Conferindo o PDF que o autor de
fato usava, a citação estava certa ao número. O Codex tinha comparado com uma
edição diferente da declarada, e não avisou. Se aquele achado tivesse sido
repassado, teria feito o autor estragar uma citação correta. Quando um deles
contestar uma fonte, abra o arquivo antes de repassar.

## Armadilhas verificadas

Todas foram encontradas rodando de verdade, não deduzidas.

| Sintoma | Causa | Correção |
|---|---|---|
| `Not inside a trusted directory and --skip-git-repo-check was not specified` | Codex fora de repo git | Sempre passar `--skip-git-repo-check` |
| Codex cospe log de MCP, `hook: SessionStart`, `tokens used` no meio | Ruído no stdout | Usar `-o <arquivo>` e ler o arquivo |
| Codex trava esperando entrada | `codex exec` lê stdin quando falta prompt | Passar `-` como prompt e alimentar por pipe |
| `no output produced, a tool required the "command" permission` | Antigravity tentou usar ferramenta em modo headless | Anexar o bloco anti-ferramenta ao prompt |
| `Eligibility check failed: UNAVAILABLE (code 503)` | Serviço do Antigravity fora do ar ou conta sem elegibilidade no momento | Não é a skill. Reportar e seguir com os outros dois |
| Aspas e cifrão do prompt quebram o comando | Escape do PowerShell | Prompt sempre por arquivo, nunca inline |
| Acento sai corrompido no arquivo de resposta | Encoding | `Out-File -Encoding utf8` |
| Resposta genérica e inútil | Briefing pobre | Voltar ao Passo 1. É sempre isso. |

**Se um dos três falhar, entregue a rodada com os que responderam** e diga qual
caiu e por quê. Rodada parcial declarada vale mais que rodada travada.

## Custo

Cada rodada consome crédito de contas diferentes. Rodada de três em pergunta
trivial é desperdício. Se a pergunta não vale três respostas, ela não vale a
skill.

## Limites conhecidos

- **Sem memória entre rodadas.** Cada chamada é um contexto novo. Follow-up
  exige briefing novo com o histórico dentro.
- **Escrita concorrente é conflito.** Se algum deles editar arquivo do projeto ao
  mesmo tempo que você, dá conflito. O cwd isolado no scratchpad evita, mas se o
  usuário pedir para algum deles mexer no código de verdade, faça um por vez.
- **Sandbox read-only foi verificado só no Codex.** Antigravity e Claude ficam
  contidos pelo cwd descartável e pelo bloco anti-ferramenta, não por flag de
  sandbox.

