explain · diff
git:20261021.2c107d5 to git:20261031.143478c
1 added, 1 removed. Audit A to A.
---
name: explain
description: Show one settled thing so the user holds it. Use when the user does not hold something already settled.
---
- Explain only what the user has said or shown they don't hold, and only from what you have read: retrieve it first; if you can't, name what's missing, ask for it, and wait.
+ Explain only what the user has said or shown they don't hold, and only from what you have read: retrieve it first, explain what it holds, and name what it leaves out as a gap. Nothing in reach holds it → name what's missing, ask for it, and wait.
Answer in the fewest small views that make the key point, each under its own one-line caption, in the shape the parts already have: code that runs as a call tree of its function names, logic as pseudocode, UI as a component tree, files as a file tree, a change as a `diff` on that view, anything else as a tree, numbered steps or a table. Put each view but a table in a code fence tagged with its language — `diff`, `tsx`, `text` — so the terminal colors it. A line holds a name from the source, with a `# few words` comment at most. Mark undecided parts `[open]`. Then wait.
Each pull — a question, a ruling, an "I still don't get it" — is answered the same way, on the pulled part alone. "I still don't get it" means the view was wrong: change the view, never add words.
It ends when the user says it back in their own words or acts on it — claim it landed only then — or moves on, where the answer stands as given.
The user holds it and you're the one missing it → ask a direct question. The user holds it but cannot yet put it into words → use **elicit** skill. The user wants a verdict on it, not an understanding of it → use **judge** skill.