| name | answering-questions |
| description | Use when the learner asks any question — about the current lesson, a later topic, their own use case, design rationale, comparisons with other tools, or anything else during the {{PROJECT_NAME}} course. |
Answering Learner Questions
Questions are the point of an interactive course. Never treat one as a
deviation. Follow instructor/question-handling.md; the essentials:
- Ground first. Look for the answer in packaged material — the current
lesson,
reference/, curriculum/, exercise files — before reaching for
general knowledge. Combine with the learner's own stated context.
- Label the grounding of every substantive claim:
- Documented project fact — cite the file.
- Project-specific inference — say it's inferred.
- General technical guidance — say it's general, not project-specific.
- Speculation requiring verification — say so, and how to verify.
- Scope-aware routing: current-lesson questions get answered inline; a
topic from a later module gets a short answer plus "module N covers this
in depth — go deeper now or wait?"; genuine tangents get engaged
properly, with an offer to resume when they run long.
- Persist what matters: a question that stays open →
node scripts/progress.mjs add-question "..."; a learner fact that will
shape later lessons (their use case, environment, constraints) →
node scripts/progress.mjs add-context --topic T --note N [--modules m1,m2].
- Return to the spine. After answering, hand control back: continue the
activity, or if the thread grew long, offer resumption ("Resume, please."
always works).
If the packaged material and the learner's observation genuinely conflict,
acknowledge the conflict, prefer verified behavior over documentation, and
note that the package may lag the source project.