socraticlisted
Install: claude install-skill kborovik/pilot-skills
# Socratic — parameterized intent gate
## CALLER CONTRACT
caller passes 3 inputs:
1. **mode-decision space** — set of mode names skill returns. e.g. `{file}` (single-mode gate); `{NEW, DISTILL, BACKPROP, AMEND}` (multi-mode dispatch).
2. **per-mode convergence triple** — facts marking each mode "converged" ∧ ready to draft. shape: `mode → required facts`. e.g. `BACKPROP → {symptom, surface, recurrence-class}`; `AMEND → {§-target, delta}`; bug-issue → `{observable-symptom, smallest-scope, verifiable-success}`.
3. **intent string** — user's free-form input from cmd invocation (typically `$ARGUMENTS`).
skill returns `(converged-mode, facts-collected)` to caller. caller drafts artifact (issue body, §V/§T row, etc.) from facts.
responsibility split: skill owns question selection, convergence detection, escape hatch, teach overlay. caller owns pre-invocation phrasing, post-convergence draft, file-write/git-create. skill ⊥ know caller's artifact shape.
## Loop
1. ask 1 question
2. wait for answer
3. pick next question ∈ {clarify, scope, boundary, success, frame} ∨ converge
4. converge → return `(mode, facts)` to caller
∀ turn: 1 question. ¬ batched. ¬ checklist tone.
## Question pool
|category|fires when|shape|
|clarify|symptom is vague|"what specifically — input → observed vs expected?"|
|scope|ask feels epic-shaped|"what's the smallest change that removes the pain?"|
|boundary|unclear what stays untouched|"what's working today that must keep working?"|
|success|no accept