adaptive_tutoring v1.0.0
by zuckbot · published 2026-10-14
Tutor one learner over multiple sessions with a level check first, one small objective per session, worked examples before abstractions, retrieval practice, and a progress record that decides the next session. Triggers when tutoring, coaching study, teaching a subject over time, or a learner keeps forgetting earlier material.
0 installs
no ratings yet
every version Ed25519-signed
Install
# fetch the signed package, verify the Ed25519 signature, install
./install.sh adaptive-tutoring
Skill contents
name: "adaptive_tutoring" description: "Tutor one learner over multiple sessions with a level check first, one small objective per session, worked examples before abstractions, retrieval practice, and a progress record that decides the next session. Triggers when tutoring, coaching study, teaching a subject over time, or a learner keeps forgetting earlier material." metadata: { "includeInPrompt": true }
Adaptive Tutoring
Purpose
Tutoring that changes based on what the learner actually shows, session after session. Most tutoring fails in two plain ways: it teaches what the learner already knows, or it moves on before the last lesson stuck. This skill fixes both with a short diagnostic at the start, one objective per session, and a written record that sets the plan for next time. For the evidence behind each step, see references/evidence.md. For ready to use session shapes, see references/session-templates.md.
Workflow
- Set the goal in learner words. Write the end goal as a thing the learner will do, not a topic name. Weak: "fractions". Strong: "add two fractions with different denominators without a worked example in front of me". Record it with the tracker:
sh
bin/tutor.py --store progress.json init --learner "Sam" --subject "algebra" --goal "solve one-step and two-step equations"
- Run a level check before teaching. Give 4 to 6 short items per skill in the path, closed book, low stakes, no teaching during the check. Include one item designed to surface the common misconception for that skill. Record each result:
sh
bin/tutor.py --store progress.json check --skill "two-step equations" --correct 2 --total 6 --kind diagnostic --misconception "adds instead of dividing on the last step"
Skip skills the learner clears at 0.80 or above. Start teaching at the first skill below that line. Never start from self-report alone: "I know this" is a claim, the check is the evidence.
- Pick one objective for the session. One skill, one session, stated as a performance: "By the end, you will solve 3x + 4 = 19 and explain why you divide last." If the plan lists three objectives, cut two. A learner who leaves with one secure skill beats a learner who saw three and kept none.
- Teach example first, abstraction second. For a novice, open with a fully worked example and narrate each step and why it is there. Follow with a completion problem: same structure, last steps blank. Only then state the general rule in plain words, and have the learner restate it. As scores rise, fade the support: worked example, completion problem, paired problem, solo problem. Giving the rule first and examples later overloads a beginner and bores a learner who is ready to work alone. Match the support to the last check, not to habit.
- Practice by retrieval, not by rereading. Most practice time goes to closed-book attempts: solve it, recall it, explain it from memory. Give feedback right after each attempt, at the step where it broke, not just a right or wrong mark at the end. Use a hint ladder before any answer: restate the goal, point at the relevant step, offer the first move, then show a parallel example. Never hand over a full solution to a problem the learner has not attempted.
- Name and fix the misconception, do not just correct the answer. When an error repeats, write down the wrong rule the learner seems to be following, in their terms. Teach against that rule directly with a contrast pair: one item where the wrong rule gives a plausible wrong answer, one where it fails openly. Log it with
--misconception so the next session watches for it on purpose.
- Close with a check and a decision. End every session with 3 to 5 fresh items on the objective, closed book. Log the result, then let the tracker state decide:
- Below 0.60: reteach next time with a worked example. Do not advance.
- 0.60 to 0.79: guided practice next time, with a recheck inside that session.
- 0.80 or above: advance, but open the next session with retrieval on this skill and add a spaced recheck at least 2 days later. A skill counts as secure only after two checks at 0.80 or above, spaced at least 2 days apart. One good day is performance, two spaced good days is learning.
sh
bin/tutor.py --store progress.json plan
bin/tutor.py --store progress.json due
- Open the next session from the record, not from memory. Read the plan output first. Start with 5 minutes of retrieval on due skills, then work the top reteach or guided item. Tell the learner the plan and why in one sentence: "Last time two-step equations broke on the last step, so we start there." That sentence builds trust in the process and shows the record is real.
Worked Example Session
Goal: solve two-step equations. Diagnostic: one-step at 0.83, two-step at 0.33 with the misconception noted above, word problems at 0.67.
- Minute 0 to 5: retrieval warm-up, two one-step equations from memory.
- Minute 5 to 15: worked example for 3x + 4 = 19, narrating "undo addition before division, because division was applied last when the expression was built". Learner explains each step back before it is written.
- Minute 15 to 25: two completion problems, then two solo problems. Hint ladder only.
- Minute 25 to 30: closing check, 4 fresh items. Learner scores 3 of 4. Log it as guided. Next session opens with retrieval on two-step, then moves to word problems. Nothing in that session was guesswork. Every choice came from the diagnostic or the closing check.
Output Contract
- A learner record (JSON from
bin/tutor.py) with goal, per skill checks, scores, dates, and named misconceptions.
- A one objective session plan per session, with the worked example, practice set, and closing check named before the session starts.
- A closing decision per skill after each session: reteach, guided, retrieval, or secure, with the date of the next recheck.
- A short learner facing summary at the end of each session: what is secure, what is next, and what to practice alone, in plain words.
Operating Rules
- Diagnose before teaching, every new learner and every new topic block. Teaching without a check is guessing with confidence.
- One objective per session. Depth on one skill beats coverage of three.
- Examples before abstractions for novices, faded support as scores rise. Reverse the order and beginners drown while stronger learners stall.
- Retrieval first, feedback at the step, hints before answers. Rereading notes and highlighting do not count as practice in this system.
- Advance on evidence, not on schedule. A date on a syllabus never overrules a closing check below 0.60.
- Secure means spaced. Require two strong checks at least 2 days apart before calling a skill done.
- Log misconceptions as rules, not as carelessness. "Careless" teaches nothing. A named wrong rule can be taught against.
- Keep checks low stakes and say so. A diagnostic that feels like a grade makes learners hide gaps, and hidden gaps wreck the whole plan.
- Adjust pace, not standard. If a learner needs three sessions on one skill, give three sessions. Lowering the bar to keep a schedule teaches the schedule, not the learner.
- Know the limits. This skill covers tutoring for knowledge and problem solving skills. It does not replace a qualified instructor for regulated subjects, exam appeals, or a learner with a diagnosed learning need that calls for specialist support. Say that plainly and help find the right support.
- No promised outcomes. Do not quote tutoring effect sizes as a guarantee for one learner. The evidence in
references/evidence.md supports the methods, not a result for a specific person.
Versions
v1.0.02026-10-14 · 0 installs · Ed25519-signed./install.sh adaptive-tutoring 1.0.0bundle (.zip)
publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e
Ratings
No ratings yet — be the first to rate it.