second-opinionlisted
Install: claude install-skill prilive-com/go-tdd-pack
# Second Opinion (reference for the runner)
**The model never decides whether second opinion is required.** The
authority lives in `.tdd/tdd-config.json`, the second-opinion trigger
hooks (`second-opinion-plan-trigger.sh`,
`second-opinion-test-trigger.sh`,
`second-opinion-production-trigger.sh`), the review-completion
artifact validator, and the Git commit gates. `Skill(second-opinion)`
is blocked at the Claude Code runtime level by
`disable-model-invocation: true`. The only legitimate invocation path
is `scripts/tdd/run-second-opinion.sh <review-type> <cycle-id>`,
called by the hooks or by the operator's `/second-opinion` slash
command.
If you (the model) find yourself reading this skill body without a
hook having injected it, that is a bug — surface to the operator.
## Why the runner exists
The runner sends a plan, diff, or snippet to OpenAI Codex CLI as a
**read-only external reviewer**. Returns structured findings. The
operator stays the final adjudicator — Codex is a peer reviewer,
not authority.
This mechanism exists because two models from different families
catch different blind spots. Anthropic and OpenAI training corpora
and RLHF pipelines diverge enough that "what Codex notices" is a
real signal, not noise.
## Data flow (what gets sent to OpenAI)
When this skill runs, the following is sent to OpenAI's Codex
inference servers:
- The first 200 lines of `CLAUDE.md`, after redaction.
- The target (plan / diff / file / question), after redaction.
- The anti-syco