elicit · diff

git:20260817.0cc07d9 to git:20260817.f04083f

5 added, 36 removed. Audit A to A.

---
name: elicit
description: Draw out what the user holds but can't say. Use when the user knows something they cannot yet express.
---
- ## Extract
-
- From the conversation/context/user:
-
- - The **held thing** — what the user seems to hold but cannot yet express: a taste, an unease, a half-formed idea.
- - The **work** it bears on — what would get built or decided once it's said.
-
- ## Gate
-
- Proceed only when: the user holds something they cannot yet put into words, and saying it would change what gets built.
-
- Anything else, say which in one plain line — never stage offers anyway:
-
- - A direct question the user could answer would get it said → ask it and proceed with what the answer settles.
- - The user has said it, but the words admit two readings that would build different things → use **clarify** skill.
- - The user is missing something already settled, not holding something unsaid → use **explain** skill.
-
- ## Draw
-
- 1. Never ask for the held thing head-on — the user already can't say it. Pull it out sideways: offer one concrete thing the user can react to — a candidate, a contrast, a small set laid side by side.
- 2. Make every option something the user has experienced, described by what it looks like, does, or feels like in their situation — never jargon, never a label they'd have to decode, never abstract choices they haven't lived. Never a list of questions.
- 3. One offer per turn: put it out and wait for the reaction.
- 4. Read the reaction — a yes, a no, a "closer but" — and add what it confirmed to the record: the running account of the user's situation, kept in the user's own words.
- 5. Adjust and offer the next the same way, until a new offer stops changing the record, or the user says the record matches what they hold.
-
- If at any point a reaction shows the user would answer a direct question, ask it — don't keep staging offers.
-
- ## Output
+ Pull the held thing out sideways: offer one concrete thing the user can react to — a candidate, a contrast, a small set laid side by side. Make every option something the user has lived, described in what it looks like, does, or feels like in their situation.
- Hand back the record whole: the user's situation, in words the user confirmed as theirs.
+ One offer per turn: put it out and wait for the reaction. Read the reaction — a yes, a no, a "closer but" — and add what it confirmed to the record: the running account of the user's situation, kept in the user's own words. Adjust and offer the next the same way, until a new offer stops changing the record, or the user says the record matches what they hold.
- Then check whether the record is clear enough to return to the work it interrupted: would anything still unresolved change what gets built?
+ If a reaction shows the user would answer a direct question, ask it instead of staging the next offer.
- - Nothing would → proceed with the work.
- - A direct question would settle it → ask it, then proceed with the work.
- - The words on the record admit two readings that would build different things → use **clarify** skill.
- - The user is missing something already settled → use **explain** skill.
- - A decision the user has committed to stands undefended → use **interrogate** skill.
+ Hand back the record whole, in words the user confirmed as theirs, and name what it leaves open.
- The offers are spent once the loop ends — anything further runs under the branch picked here, never as another offer.
+ A direct question the user could answer would get it said → ask it. The user has said it, but the words admit two readings that would build different things → use **clarify** skill. The user is missing something already settled, not holding something unsaid → use **explain** skill.