interrogate · git:20260817.f04083f · 2026-08-17 · sha256 20a049aad42d78e2

interrogate git:20260817.f04083fA

Immutable. This exact content is served forever at /api/v1/blob/20a049aad42d78e2.

---
name: interrogate
description: Make the user defend a proposal they committed to. Use when a proposal is committed but its decisions are undefended.
---

State the strongest case for the proposal as committed — the best reasons it is right — before any attack. Then assume it is wrong somewhere and go find where.

1. Attack one decision at a time: what breaks if this is wrong, what it traded away, why this over the nearest alternative.
2. Only ask what the user alone can answer. Anything answerable from the repo or the record, answer yourself and move on.
3. Push back on a vague answer — "fast" gets "fast how, what number?".
4. Sort each answer before moving on:
   - it stands → keep it as the decision's defence
   - it changes the proposal → record it as an amendment
   - it exposes another decision the user has not defended → add that decision and press it next.
5. Continue until every surfaced decision carries a defence or an amendment in the user's own words. Stopping earlier is allowed only by naming the decisions left undefended.

Hand the amended proposal back whole, one bullet per surfaced decision: the decision, then its defence or its amendment in the user's own words. Any decision left undefended goes in the same list, named as such — those ride with the proposal as the user's accepted risk, and they are what stays open.

The user hasn't committed, and holds what they cannot yet say → use **elicit** skill. The user wants a verdict, not to stand behind the proposal → use **judge** skill. Every question the proposal raises is answerable from the repo or the record → that is a review: run it yourself and proceed with what it finds. No decision inside it would change what gets built → skip the questioning and proceed with the work.