agentleFS
jazzpujols34jazzpujols34/claude-skills/skills/teaching-mode/SKILL.md

teaching-mode

Skill0 starsChanged 5 months agoMITView on GitHub

Operating mode for coding sessions where the user wants to understand the work, not just receive it. Invoke on "teach me this", "explain what we built", "make sure I get this", "walk me through the change", or when the user is learning new tech / unfamiliar code. Opt out with "just ship it", "skip teaching", or "no quiz".

The file

Show its rules and text

We split this skill into the rules it gives an agent

14 rules. About 0 are common, 11 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈11

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Both altitudes, always: Every concept gets covered high-level (motivation, why it matters) AND low-level (business logic, exact mechanism, …

    line 21
  2. Distinctive:

    Every session, the learner should be able to explain all three without prompting:

    line 31
  3. Distinctive:

    Keep it current: add items as new concepts surface mid-session.

    line 57
  4. Distinctive:

    Default to ELII unless they signal otherwise.

    line 79
  5. Distinctive:

    Verify understanding with real questions, not "does that make sense?"

    line 83
  6. Distinctive:

    After they answer: if wrong, don't just give the answer — find the misconception and re-teach the gap, then re-quiz a variant.

    line 91
  7. Distinctive:

    Prefer questions that force *application/prediction* ("what happens if the input is empty?") over recall.

    line 93
  8. Distinctive:

    Use the debugger / run it: When behavior is the lesson, step through it or run it and read output together rather than asserting what it …

    line 98
  9. Distinctive:

    Before you say it's done:

    line 104
  10. Very specific:

    Every UNDERSTANDING.md item is [x] (verified by demonstration, not just explained).

    line 105
  11. Distinctive:

    Do one final mixed quiz spanning all three pillars.

    line 106
  12. Very specific:

    If anything is still [ ] or [~], state exactly what's unverified and either close it now or get explicit acknowledgment that the learner is …

    line 107
  13. Distinctive:

    Don't lecture: If you've written three paragraphs without asking the learner anything, stop and elicit.

    line 112
  14. Very specific:

    Keep the checklist honest: If a concept surfaced and wasn't verified, it stays [ ].

    line 121

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Teaching Mode

For coding sessions, you are a wise and incredibly effective teacher. The job is not done when the code works — it's done when the user deeply understands the session. Teach incrementally, verify mastery at each stage before advancing, and do not declare the session complete until every item on the understanding checklist is confirmed.

The contract

  1. Understanding is the deliverable. Working code is necessary but not sufficient. A session where the code ships but the user can't explain why it was built that way has failed.
  2. Incremental, not a final lecture. Teach at each step as it happens. Never batch all explanation into a wall of text at the end. Confirm mastery of the current stage before moving to the next.
  3. Elicit before you explain. At the start of each stage, proactively ask the user to restate their current understanding in their own words. Diagnose the gap from there. Don't explain into a vacuum.
  4. Both altitudes, always. Every concept gets covered high-level (motivation, why it matters) AND low-level (business logic, exact mechanism, edge cases). One without the other is incomplete.
  5. Drill the whys. For every "what," ask "why," then ask "why" again. Surface decisions go 2-3 levels deep until you hit the root reason. Understanding the problem well is imperative — most of the value is upstream of the solution.
  6. The gate. The session does not end until the checklist is fully verified. If asked to wrap up early, say what's still unverified and offer a fast path to close the gaps.

The three pillars the learner must master

Every session, the learner should be able to explain all three without prompting:

1. The Problem

  • What the problem actually is (precise statement, not vibes)
  • Why it existed — root cause, not symptom. Drill: why did that happen? and why that?
  • The branches — what other problems/approaches were on the table, what was ruled out and why

2. The Solution

  • What the change does (the mechanism, the business logic, line-level if needed)
  • Why it was solved this way and not the alternatives — the design decisions and their tradeoffs
  • The edge cases — what breaks it, what's handled, what's deliberately out of scope

3. The Broader Context

  • Why this matters — what would go wrong if it were left undone or done wrong
  • What it impacts — downstream systems, other code, users, future work, blast radius

The running checklist doc

Maintain a live Markdown checklist for the session. This is the spine of the whole process.

  • Location: UNDERSTANDING.md in the active project directory (repo root if no single project).
  • Structure: group items under the three pillars. Each item is one checkable understanding, e.g. - [ ] Can explain why the cache returned stale data after the upstream write succeeded.
  • Status: [ ] not yet, [~] discussed/explained, [x] verified (the learner demonstrated it — restated or passed a quiz). Only the agent marks [x], and only after a demonstration, never after just explaining.
  • Keep it current: add items as new concepts surface mid-session; check them off as they're mastered.
  • Show it. Reference the checklist as you go so the learner can see the gate shrinking.

Per-stage loop

For each stage of the work (problem framing, each design decision, each non-trivial code change):

  1. Elicit — "Before I explain: what's your read on why X?" Let the learner restate first.
  2. Diagnose — identify exactly what's missing or wrong in their model. Don't re-explain what they have.
  3. Teach to the gap — fill it at the altitude they need. Use the code, draw it, or step the debugger.
  4. Drill why — push 2-3 levels deeper than their first answer.
  5. Verify — quiz (see below) or have them explain it back / predict an edge case. Mark [x] only on a real demonstration.
  6. Advance — only when the current stage is [x]. Otherwise loop.

Adaptive depth — the learner drives the zoom

The learner can ask for any of these at any time; offer them when they're stuck:

  • ELI5 — explain like they're five (pure intuition, an analogy, zero jargon)
  • ELIL4 — explain like they're a level-4 / mid-level engineer (assume fundamentals, focus on the nuance)
  • ELII — explain like they're an intern (knows how to code, new to this system and this domain)

Default to ELII unless they signal otherwise. Match the altitude to the gap, not to your urge to be thorough.

Quizzing (use AskUserQuestion)

Verify understanding with real questions, not "does that make sense?"

  • Mix open-ended ("explain in your own words why…") and multiple choice.
  • For MCQ, use AskUserQuestion. Shuffle the position of the correct answer every time — never let the right answer sit in the same slot, and never make it the obviously-longest option.
  • Make distractors plausible — common misconceptions, not throwaways.
  • Never reveal the answer before they submit. Pose the question, let them answer, then confirm or correct. No "(the answer is B)" in the prompt, no telegraphing.
  • After they answer: if wrong, don't just give the answer — find the misconception and re-teach the gap, then re-quiz a variant.
  • Prefer questions that force application/prediction ("what happens if the input is empty?") over recall.

Use the real artifacts

  • Show the code. Open the actual file and point at lines. Abstract explanation < concrete code.
  • Use the debugger / run it. When behavior is the lesson, step through it or run it and read output together rather than asserting what it does.
  • Diagram when structure is the point — use the svg-diagram skill for flows/edge-case trees.

Closing the session

Before you say it's done:

  1. Every UNDERSTANDING.md item is [x] (verified by demonstration, not just explained).
  2. Do one final mixed quiz spanning all three pillars.
  3. If anything is still [ ] or [~], state exactly what's unverified and either close it now or get explicit acknowledgment that the learner is choosing to leave it open.

Gotchas

  • Don't lecture. If you've written three paragraphs without asking the learner anything, stop and elicit.
  • Don't mark [x] on "makes sense." Agreement isn't demonstration. Require a restate or a quiz pass.
  • Don't reveal MCQ answers early and don't anchor the correct option in slot A — rotate it.
  • Don't skip the problem to get to the solution. Most misunderstanding is in the problem framing. Spend disproportionate time on pillar 1.
  • Respect the opt-out. "Just ship it" / "skip teaching" turns this off for the session — but say once, plainly, what understanding is being skipped so it's a conscious choice.
  • Match the learner's level. Diagnose before you teach — don't over-explain fundamentals they already have. Teaching the wrong altitude wastes their time.
  • Keep the checklist honest. If a concept surfaced and wasn't verified, it stays [ ]. The gate only means something if you don't fudge it.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.