skills/experiential-kolb-teaching/SKILL.md
--- name: experiential-kolb-teaching description: Runs a vault learning module as a Kolb experiential cycle (Concrete Experience -> Reflective Observation -> Abstract Conceptualization -> Active Experimentation) instead of a lecture. Opens with an experience, withholds the explanation, draws the claim out of the learner with Socratic question ladders scaled by Bloom level, routes the earned claim to an evergreen note, and closes with a retrieval check. Enforces desirable-difficulty discipline: n
npx skillsauth add lyndonkl/claude skills/experiential-kolb-teachingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill is the tutor's operating manual for a learning module in this vault. The default failure mode of a tutor is to explain — to summarize the reading, name the concept, and hand over a tidy definition. That feels helpful and produces almost no durable learning. This skill replaces explanation with a cycle the learner walks themselves: they meet a phenomenon, notice what surprised them, build the concept in their own words, and test it. The tutor's job is to stage the experience and ask the right question, not to deliver the answer.
The vault's pedagogy is fixed in [[conventions|Vault Conventions]] §8 (Kolb, Bloom, mastery bands, spaced repetition, desirable difficulty). This skill is how a tutor runs that pedagogy in a live session. For the question craft underneath it, lean on socratic-teaching-scaffolds; for showing a computation unfold, hand off to worked-example-walkthrough; for moving between the abstract claim and a concrete instance, abstraction-concrete-examples; for the closing retrieval and review scheduling, memory-retrieval-learning.
Withhold the explanation. Make the learner reconstruct the mechanism, then route the claim out of your mouth into theirs. The retrieval effort is the learning, not a tax on it. If you find yourself about to define a term, stop and ask the question whose answer is that definition. You may confirm, you may correct a wrong turn, you may stage a sharper experience — you may not summarize.
Two named rules under it:
Stage a thing to encounter, not a topic to study. The learner runs a snippet, reads three lines of a VCF, or — cheapest and best — makes a prediction they will be graded against by reality.
Module p2m1 (variance components). Don't say "today we cover heritability." Say: "Here are two traits in the same maize population — kernel row number and yield. Which one will respond faster to selection? Write down your guess and one sentence of why, before we look at anything."
The prediction is the hook. It commits the learner to a model you can later break.
Now reveal the data or run, and ask what they see — not what it means yet. Surprise is the lever; mine it.
"You predicted yield. The simulation shows kernel row number responds twice as fast despite lower yield. What's different about the two traits? Don't reach for a term — describe what you're looking at."
Log the surprise in the session journal. The gap between prediction and result is the seam the concept will fill.
This is where a lecturer would explain heritability. You don't. You ladder questions until the learner states the mechanism in their own words, then you give the name as a label for the thing they already built.
"Both traits vary across plants. For kernel row number, how much of that variation is the kind a parent passes on versus noise from soil and weather? … Right — and for yield, more of the spread is environment. So the trait that responds is the one where more of the visible variation is heritable. The fraction you just described has a name: narrow-sense heritability. You derived it; the term is just a handle."
The moment a claim is solid in the learner's words, route it: have them draft an evergreen note per [[zettel-note]] — a declarative-claim title (narrow-sense-heritability-is-the-fraction-of-phenotypic-variance-that-is-additive), own words, no block quotes, 3-6 relationship-labeled links. The claim leaves the conversation and becomes permanent currency. This is the hand-off from learning to the knowledge graph.
Close the loop by putting the new claim to work on a new case, with a fresh prediction.
"Heritability is a property of the population, not the trait. Predict: if we grow the same maize lines in a uniform greenhouse instead of variable field plots, does heritability of yield go up or down? Why? Now change the environmental-variance term in the sim and check."
A prediction the learner has to defend, then test, before they move on. If it fails, you have your next CE for free.
Match the question to the rung the learner is on. Climbing one rung per exchange is the AC engine. (See socratic-teaching-scaffolds for misconception detectors and worked-example fading.)
| Bloom level | What the question does | Genomics example | |---|---|---| | remember | surface the raw fact | "What does GEBV stand for, and what does it estimate?" | | understand | force a plain-language restatement | "Explain a kinship matrix to someone who's never seen one — no equations." | | apply | use the claim on a new case | "Given this small pedigree, would you trust the GEBV for an individual with no phenotyped relatives? Why?" | | analyze | break it into parts, find the seam | "Your prediction accuracy dropped when you added 50k more markers. Decompose why — signal, noise, or the model?" | | evaluate | judge a trade-off | "GS gives four breeding cycles a year vs two; when is the faster, lower-accuracy cycle the wrong choice?" | | create | generate something new | "Design a cross-validation scheme that doesn't leak relatedness between train and test." |
Rules for laddering: ask one question and wait. If the learner stalls two rungs up, drop one rung — don't answer. If they answer fluently, climb. Modules target apply/analyze; projects target create ([[conventions|Vault Conventions]] §8).
A 45-minute session, recorded as a session note (kolb-stage: full-cycle):
review-due date on the new claims using memory-retrieval-learning's expanding intervals (1d -> 3d -> 7d -> 16d -> 35d). Do not recap. The last words are a question.Pure withholding can become cruel or wasteful. Explain directly when: (a) the learner is missing a prerequisite fact that no amount of reasoning could produce (a notation convention, what a column in a real dataset means) — give the fact, then return to asking; (b) frustration has crossed from productive to demoralizing — relieve it, then re-stage a gentler experience; (c) the concept is a pure definition with no mechanism to discover. Even here, give the minimum and hand the reasoning back. The default is always: ask the question whose answer is the thing you were about to say.
testing
Cluster a conference's event records into a small set of coarse themes with finer sub-clusters, an explicit outlier bucket, and soft (multi-membership) affinities — using the hybrid embed-then-label pipeline (embed abstracts, reduce, density-cluster, then LLM-label the clusters) when embedding libraries are available, and an LLM-reasoned hierarchical fallback when they are not. Embeddings do the grouping; the LLM only names the groups. Conference-agnostic. Use when turning structured event records into a navigable theme map for preference elicitation and scheduling, when you need 6-8 reasonable themes rather than 20 muddy ones, or when overlapping talks must belong to more than one theme. Trigger keywords - theme clustering, cluster talks, embed then label, soft membership, outlier talks, conference themes, topic map.
development
Build a personal conference schedule as a constraint-optimization problem — hard constraints (no time overlap, room-to-room travel time, capacity/registration, the attendee's own must-attends and blackouts) plus a user-owned weighted objective trading interest against breadth, pacing (maximize contiguous free time), and serendipity. Surfaces unbreakable conflicts (two high-value overlapping talks the model cannot rank) as decisions for the human rather than silently picking, and reports what each choice traded away. Conference-agnostic. Use to turn a preference profile plus a theme map into a day-by-day plan, to resolve overlapping sessions, or to balance a packed vs paced schedule. Trigger keywords - schedule optimization, conference schedule, constraint optimization, overlapping talks, contiguous free time, conflict surfacing, packed vs paced.
development
Parse a heterogeneous conference program (markdown, HTML, PDF-derived text, or JSON) into normalized event records with per-field confidence scores and independent classification axes (topic, depth, format, prerequisites, recorded, capacity). Detects the program's format before extracting, treats every inferred field as uncertain (present vs inferred vs missing), and flags thin or missing abstracts so downstream enrichment can target them. Conference-agnostic. Use when ingesting a conference or event schedule into a structured store, normalizing a talk/session list, or extracting per-session metadata with calibrated confidence. Trigger keywords - program ingestion, parse schedule, session extraction, event records, conference program, talk metadata, per-field confidence.
development
Build a personalized preference profile from a small number of well-chosen, cluster-grounded questions instead of a long survey. Represents the person's interests as an uncertainty region over the theme map, picks the single highest-information-gain choice-based question (contrasting real talks from different clusters), balances exploiting known interests against exploring uncertain ones, deliberately injects outlier probes to fight selection bias, and stops as soon as the schedule would be stable. Also elicits the user-owned objective weights and hard constraints. Interactive — runs where it can actually ask the person. Conference-agnostic. Use to turn a theme map into a preference profile, to decide what to ask a conference attendee, or to elicit scheduling priorities. Trigger keywords - preference elicitation, ask few questions, information gain, choice-based questions, selection bias probe, objective weights, attendee preferences.