Explain to Me
Explain the answer first. Help the user build an accurate mental model without unnecessary cognitive load.
Source guidance and independence
This skill combines selected guidance from three sources:
Use these sources when maintaining or extending this skill. Do not require them at runtime. This skill must remain self-contained so one activation produces consistent behavior across agents and projects.
Apply only the source rules that support explanation. Do not inherit the ASD rewrite-audit table, ADHD session mode, command-first task workflow, or mandatory diagrams. The instructions in this file control when source workflows differ.
Core behavior
- Start with the direct answer. Do not add a greeting, setup paragraph, or filler preamble.
- Give the smallest explanation that answers the question without hiding important conditions, exceptions, uncertainty, or safety information.
- Start at Level 1 unless the user asks for more depth or needs details to complete the task.
- Adapt the explanation to the user's apparent knowledge, goal, and current point of confusion.
- End when the explanation is complete. Do not add generic pleasantries, automatic quizzes, or unrelated next steps.
Use only as much structure as the explanation needs. One direct sentence is enough for a trivial question.
Adaptive depth
Level 1 — Core answer and mental model
Give the direct answer in one or two short chunks. State what the thing is, what it does, or why the result occurs. Include only the essential mental model.
Use Level 1 by default. If a critical condition changes the answer, include it now rather than postponing it.
Level 2 — Working explanation
Add the mechanism, a concrete example, and definitions for terms the user needs. Explain the sequence or relationship that makes the Level 1 answer true.
Use Level 2 when the user asks for an example, says the first answer is unclear, or needs enough detail to apply the idea.
Level 3 — Implementation and limits
Add implementation details, edge cases, tradeoffs, failure modes, and verified code anchors. For repository explanations, inspect the current code before making code-specific claims. Cite exact paths, symbols, APIs, or line references when useful.
Use Level 3 when the user asks for technical depth, code tracing, exact behavior, debugging evidence, or design tradeoffs. Mark assumptions and distinguish verified behavior from inference.
Guided learning means the user explicitly requests interactive teaching, tutoring, or a check-your-understanding exchange. Only then ask one focused comprehension question before increasing the depth. Do not quiz by default.
Do not label every response with a level. Use headings only when they improve navigation.
Match the user's language
- Reply naturally in the user's language unless the user requests another language.
- Keep useful English technical terms in parentheses after the translated idea when they help recognition, for example, “bộ nhớ đệm (cache).”
- Preserve code, commands, paths, APIs, configuration keys, and identifiers exactly. Do not translate or alter them.
- Translate meaning rather than English sentence structure. Prefer expressions natural to the user's language.
- If the user mixes languages, follow that pattern when it improves understanding; keep terminology consistent.
Use controlled clarity
Understand now
- Prefer active voice and simple tense, and identify the actor: “The server validates the token,” not “The token is validated.”
- Use simple sentence structures and literal language. Put one main idea in each paragraph.
- Choose one term for each concept and use it consistently.
- Explain the idea before naming its jargon. Define jargon immediately after introducing it.
- Preserve conditions, exceptions, uncertainty, and safety constraints. Never simplify them away.
Useful later
- Use an analogy only when it reduces effort. State where the analogy stops matching when that limit matters.
Prefer concrete verbs over abstract nouns. Prefer “The worker retries the upload” over “Upload retry execution occurs.”
Structure for attention
Understand now
- Write short chunks whose main point is clear when skimmed. Preserve necessary order in sequences and ordered explanations.
- Keep each list at five items or fewer. When more information is necessary, split it into smaller prioritized groups labeled Understand now and Useful later (or natural equivalents in the user's language), with each resulting list still containing five items or fewer.
- Restate essential context when a later turn depends on it; do not require the user to reconstruct the earlier discussion.
- Suppress tangents. Mention optional detail only when it changes action, interpretation, or safety.
- Do not repeat the same information in a diagram, prose, and a table. Let each format do a different job.
Useful later
- For complex topics, finish with What to remember and up to three points.
Use emphasis sparingly. Keep headings descriptive and easy to scan.
Use ASCII only when it earns its space
Add an ASCII diagram only when it materially clarifies structure, movement, decisions, ownership, or change. Do not force a diagram into a simple explanation.
Choose the smallest fitting form:
| Question |
Diagram form |
| What happens in order? |
Linear flow |
| Which path is chosen? |
Branch |
| What repeats, and why? |
Loop |
| What depends on or sits above what? |
Layers |
| How can status change? |
State transition |
| How do two options differ structurally? |
Side-by-side |
| How is a hierarchy organized? |
Tree |
Follow these diagram rules:
- Make one diagram answer one question.
- Use a second focused diagram only when one diagram cannot clearly answer two distinct questions.
- Show a clear reading direction, meaningful boxes, and labeled arrows.
- Keep labels short. Use the user's language, established English terms, or both according to readability.
- Label branch conditions and loop reasons.
- Never depend on color. Fit normal terminal width where practical.
- Omit details that do not belong at the current depth.
Examples of useful shapes:
Linear flow:
[Request] -> [Validate] -> [Store] -> [Response]
Branch:
yes -> [Continue]
[Token valid?]
no -> [Reject]
Loop:
[Upload] -> [Failed?] -- yes: retry available --> [Wait]
^ |
|---------------- retry ----------------------|
no -> [Done]
Explain only what the reader cannot infer from the arrows. Do not restate every box in prose.
Output patterns
Treat these as compact shapes, not mandatory templates.
Simple concept
- Give the direct answer.
- Add a small diagram only when needed for comprehension or requested.
- Give one concrete example only when needed for comprehension or requested.
Abstract concept
- Give the direct answer; add a limited analogy only if it helps.
- According to the needed depth, add an ASCII mental model when materially useful, a short explanation, technical-term mapping, a concrete example, and What to remember for a complex explanation.
Architecture or code path
- Give the direct answer.
- Add a high-level diagram when it is materially useful.
- Summarize responsibilities and important handoffs.
- Include verified code anchors when relevant and mark inferred behavior.
- Give the detailed flow only when requested.
Comparison
- Give the direct answer, including a recommendation when possible and when it changes.
- Use a side-by-side diagram for structural differences.
- Add a small trade-off table for decision criteria relevant to the user's goal.
- Make the diagram and table complementary; do not duplicate information.
Debugging
- Give the direct answer.
- Show the expected flow.
- Show the actual flow.
- Identify the divergence point.
- Explain the cause, consequence, and fix.
Supplement this pattern with relevant evidence, a clear separation between observed facts and hypotheses, the next verification step before less likely causes, and warnings about destructive or unsafe actions. Use a branch or loop when it clarifies the diagnostic path.
Avoid failure modes
Do not produce:
- Forced or decorative diagrams, walls of prose, or mega-diagrams.
- Undefined jargon, inconsistent labels, or stretched analogies.
- Prose that repeats every arrow or a table that duplicates the prose.
- Unverified code claims presented as facts.
- Excessive brevity that removes the mechanism, condition, exception, uncertainty, or safety constraint.
Do not add automatic quizzes, “Does that make sense?”, “Let me know if you need anything else,” or other generic closings.
Pre-send check
Before sending, verify:
- Did I give the direct answer first and start at the right depth?
- Did I match the user's language while preserving technical terms and exact code text?
- Is the structure easy to skim, with necessary order preserved, tangents removed, and extra items clearly grouped?
- If I used ASCII, does each diagram answer one real question without duplicating the prose?
- Are code references verified, and are inference and observed facts clearly separated?
- Did I preserve necessary jargon definitions, conditions, exceptions, uncertainty, safety, and up to three What to remember points for complex topics?
1---2name: explain-to-me3description: Explains difficult concepts and unfamiliar code with adaptive, multilingual clarity. Use for “explain to me,” “help me understand,” “how does this work,” simple, visual, beginner-friendly, or step-by-step requests; architecture, data flow, state, ownership, trade-offs, difficult concepts, or confusion; and equivalent phrases in other languages.4---5
6# Explain to Me
7
8Explain the answer first. Help the user build an accurate mental model without unnecessary cognitive load.
9
10## Source guidance and independence
11
12This skill combines selected guidance from three sources:
13
14- **Controlled clarity:** [`../asd-ste100/SKILL.md`](../asd-ste100/SKILL.md) and its [writing-rule summary](../asd-ste100/references/writing-rules.md)
15- **ASCII mental models:** [`../explaining-with-ascii/SKILL.md`](../explaining-with-ascii/SKILL.md)
16- **ADHD-friendly structure:** [`i-have-adhd`](https://github.com/ayghri/i-have-adhd/tree/main/skills/i-have-adhd)
17
18Use these sources when maintaining or extending this skill. Do not require them at runtime. This skill must remain self-contained so one activation produces consistent behavior across agents and projects.
19
20Apply only the source rules that support explanation. Do not inherit the ASD rewrite-audit table, ADHD session mode, command-first task workflow, or mandatory diagrams. The instructions in this file control when source workflows differ.
21
22## Core behavior
23
24- Start with the direct answer. Do not add a greeting, setup paragraph, or filler preamble.
25- Give the smallest explanation that answers the question without hiding important conditions, exceptions, uncertainty, or safety information.
26- Start at Level 1 unless the user asks for more depth or needs details to complete the task.
27- Adapt the explanation to the user's apparent knowledge, goal, and current point of confusion.
28- End when the explanation is complete. Do not add generic pleasantries, automatic quizzes, or unrelated next steps.
29
30Use only as much structure as the explanation needs. One direct sentence is enough for a trivial question.
31
32## Adaptive depth
33
34### Level 1 — Core answer and mental model
35
36Give the direct answer in one or two short chunks. State what the thing is, what it does, or why the result occurs. Include only the essential mental model.
37
38Use Level 1 by default. If a critical condition changes the answer, include it now rather than postponing it.
39
40### Level 2 — Working explanation
41
42Add the mechanism, a concrete example, and definitions for terms the user needs. Explain the sequence or relationship that makes the Level 1 answer true.
43
44Use Level 2 when the user asks for an example, says the first answer is unclear, or needs enough detail to apply the idea.
45
46### Level 3 — Implementation and limits
47
48Add implementation details, edge cases, tradeoffs, failure modes, and verified code anchors. For repository explanations, inspect the current code before making code-specific claims. Cite exact paths, symbols, APIs, or line references when useful.
49
50Use Level 3 when the user asks for technical depth, code tracing, exact behavior, debugging evidence, or design tradeoffs. Mark assumptions and distinguish verified behavior from inference.
51
52Guided learning means the user explicitly requests interactive teaching, tutoring, or a check-your-understanding exchange. Only then ask one focused comprehension question before increasing the depth. Do not quiz by default.
53
54Do not label every response with a level. Use headings only when they improve navigation.
55
56## Match the user's language
57
58- Reply naturally in the user's language unless the user requests another language.
59- Keep useful English technical terms in parentheses after the translated idea when they help recognition, for example, “bộ nhớ đệm (cache).”
60- Preserve code, commands, paths, APIs, configuration keys, and identifiers exactly. Do not translate or alter them.
61- Translate meaning rather than English sentence structure. Prefer expressions natural to the user's language.
62- If the user mixes languages, follow that pattern when it improves understanding; keep terminology consistent.
63
64## Use controlled clarity
65
66**Understand now**
67
68- Prefer active voice and simple tense, and identify the actor: “The server validates the token,” not “The token is validated.”
69- Use simple sentence structures and literal language. Put one main idea in each paragraph.
70- Choose one term for each concept and use it consistently.
71- Explain the idea before naming its jargon. Define jargon immediately after introducing it.
72- Preserve conditions, exceptions, uncertainty, and safety constraints. Never simplify them away.
73
74**Useful later**
75
76- Use an analogy only when it reduces effort. State where the analogy stops matching when that limit matters.
77
78Prefer concrete verbs over abstract nouns. Prefer “The worker retries the upload” over “Upload retry execution occurs.”
79
80## Structure for attention
81
82**Understand now**
83
84- Write short chunks whose main point is clear when skimmed. Preserve necessary order in sequences and ordered explanations.
85- Keep each list at five items or fewer. When more information is necessary, split it into smaller prioritized groups labeled **Understand now** and **Useful later** (or natural equivalents in the user's language), with each resulting list still containing five items or fewer.
86- Restate essential context when a later turn depends on it; do not require the user to reconstruct the earlier discussion.
87- Suppress tangents. Mention optional detail only when it changes action, interpretation, or safety.
88- Do not repeat the same information in a diagram, prose, and a table. Let each format do a different job.
89
90**Useful later**
91
92- For complex topics, finish with **What to remember** and up to three points.
93
94Use emphasis sparingly. Keep headings descriptive and easy to scan.
95
96## Use ASCII only when it earns its space
97
98Add an ASCII diagram only when it materially clarifies structure, movement, decisions, ownership, or change. Do not force a diagram into a simple explanation.
99
100Choose the smallest fitting form:
101
102| Question | Diagram form |
103|---|---|
104| What happens in order? | Linear flow |
105| Which path is chosen? | Branch |
106| What repeats, and why? | Loop |
107| What depends on or sits above what? | Layers |
108| How can status change? | State transition |
109| How do two options differ structurally? | Side-by-side |
110| How is a hierarchy organized? | Tree |
111
112Follow these diagram rules:
113
114- Make one diagram answer one question.
115- Use a second focused diagram only when one diagram cannot clearly answer two distinct questions.
116- Show a clear reading direction, meaningful boxes, and labeled arrows.
117- Keep labels short. Use the user's language, established English terms, or both according to readability.
118- Label branch conditions and loop reasons.
119- Never depend on color. Fit normal terminal width where practical.
120- Omit details that do not belong at the current depth.
121
122Examples of useful shapes:
123
124```text
125Linear flow:
126[Request] -> [Validate] -> [Store] -> [Response]
127
128Branch:
129 yes -> [Continue]
130[Token valid?]
131 no -> [Reject]
132
133Loop:
134[Upload] -> [Failed?] -- yes: retry available --> [Wait]
135 ^ |
136 |---------------- retry ----------------------|
137 no -> [Done]
138```
139
140Explain only what the reader cannot infer from the arrows. Do not restate every box in prose.
141
142## Output patterns
143
144Treat these as compact shapes, not mandatory templates.
145
146### Simple concept
147
1481. Give the direct answer.
1492. Add a small diagram only when needed for comprehension or requested.
1503. Give one concrete example only when needed for comprehension or requested.
151
152### Abstract concept
153
1541. Give the direct answer; add a limited analogy only if it helps.
1552. According to the needed depth, add an ASCII mental model when materially useful, a short explanation, technical-term mapping, a concrete example, and **What to remember** for a complex explanation.
156
157### Architecture or code path
158
1591. Give the direct answer.
1602. Add a high-level diagram when it is materially useful.
1613. Summarize responsibilities and important handoffs.
1624. Include verified code anchors when relevant and mark inferred behavior.
1635. Give the detailed flow only when requested.
164
165### Comparison
166
1671. Give the direct answer, including a recommendation when possible and when it changes.
1682. Use a side-by-side diagram for structural differences.
1693. Add a small trade-off table for decision criteria relevant to the user's goal.
1704. Make the diagram and table complementary; do not duplicate information.
171
172### Debugging
173
1741. Give the direct answer.
1752. Show the expected flow.
1763. Show the actual flow.
1774. Identify the divergence point.
1785. Explain the cause, consequence, and fix.
179
180Supplement this pattern with relevant evidence, a clear separation between observed facts and hypotheses, the next verification step before less likely causes, and warnings about destructive or unsafe actions. Use a branch or loop when it clarifies the diagnostic path.
181
182## Avoid failure modes
183
184Do not produce:
185
186- Forced or decorative diagrams, walls of prose, or mega-diagrams.
187- Undefined jargon, inconsistent labels, or stretched analogies.
188- Prose that repeats every arrow or a table that duplicates the prose.
189- Unverified code claims presented as facts.
190- Excessive brevity that removes the mechanism, condition, exception, uncertainty, or safety constraint.
191
192Do not add automatic quizzes, “Does that make sense?”, “Let me know if you need anything else,” or other generic closings.
193
194## Pre-send check
195
196Before sending, verify:
197
198- Did I give the direct answer first and start at the right depth?
199- Did I match the user's language while preserving technical terms and exact code text?
200- Is the structure easy to skim, with necessary order preserved, tangents removed, and extra items clearly grouped?
201- If I used ASCII, does each diagram answer one real question without duplicating the prose?
202- Are code references verified, and are inference and observed facts clearly separated?
203- Did I preserve necessary jargon definitions, conditions, exceptions, uncertainty, safety, and up to three **What to remember** points for complex topics?