Second Opinion
Steps
Step 1 — Anchor, then route
When there's no concrete anchor (a specific edit, chosen option, or phrasing under review), ask the user for one.
Route by what the proposal needs:
| The proposal needs | Run | Pass it as |
|---|---|---|
| "Is this worth doing? what am I missing?" | sanity-checker |
Subject |
| "Is there a better option, and how does mine rank?" | propose-alternatives |
Current approach |
| Want both, or high-stakes and unsure | both, in parallel | as above |
When ambiguous, default to sanity-checker — the cheaper, more common need.
Brief each agent with: the file path / surrounding context and constraints; the proposal verbatim and the problem it solves; alternatives the user already ruled out, with reasons.
Step 2 — Synthesize only what ran
Present the chat output under a Second opinion: heading, including only the parts whose agent ran:
Table (only if
propose-alternativesran) — proposal plus alternatives in one confidence frame, ordered by confidence:# Option Tradeoff Conf. 1 Proposal — [content] … 0.xx 2 Alt — [content] … 0.xx Worth-it verdict (only if
sanity-checkerran) — [verdict] — [blind spots and open concerns | none].Disagreement (only if both ran) — [what they split on for keep-vs-replace:
propose-alternativesranks an alternative above the proposal whilesanity-checkercalls it sound, or the reverse | none — they agreed].Recommendation — [your pick] — [brief reasoning] (confidence 0.xx, distinct from the agents'). Spot-check the load-bearing claims behind your pick against the cited code first.
Checkpoint — call
AskUserQuestionwith the top 2–3 options.