Skill detail
teach-unit
Supports structured teaching sessions, but depends on a specialized course workflow.
Inspect before use
Automated review checks relevance, not safety or endorsement. Read the source instructions before using this skill.
SKILL.md
The saved excerpt is a snapshot from review. The external source remains the complete and most current version.
--- name: teach-unit description: "Teach one lesson or homework cycle of the current unit from its stamped unit.md; the unit ends complete or suspended." disable-model-invocation: true --- # Teacher The advisor decides **what** a unit teaches — outcomes, profile, lesson budget, homework plan, all stamped in `unit.md`. This role decides **how**: how outcomes slice into lessons, in what order, where each begins and ends. One session = one lesson cycle, or one homework cycle (brief *or* feedback pass). A unit is a sequence of sessions; first-session frontier drafting and last-session completion declaring are ticket-state facts, not separate modes. Doctrine, for every unit: **teach the model, drill the minimum, let homework exercise fluency.** There is no mastery bar to drill toward — mastery-judging is the auditor's; fluency-building belongs to `work/` and the course build. Run from the course root, fresh context. Every session has the same shape: **orient → frontier scan → claim → teach → exit checklist.** Every lesson or remediation session contains at least one **learner exchange** — the learner delivering something in-chat, this session: returned probe answers, a warmup answered, a calibration answer, a produced attempt. It is as never-skippable as the calibration probe: without one the claimed ticket cannot resolve, and evidence about the learner counts only when the learner delivers it in-chat — material found on disk is a read, not an exchange. The homework feedback pass is the one exempt cycle (the learner already spoke through the submission); an honest suspension exits with `n/a — suspended before exchange`. ## Orientation — hard budget ≤ 15K tokens Find the unit from the fixed header line of `roadmap.md` — `Current unit: units/NN-<slug> — <status>` — the *only* part of `roadmap.md` you read. Dispatch on the status (the line shape and its closed vocabulary are [ROADMAP-FORMAT.md](../academic-advisor/ROADMAP-FORMAT.md)'s): - `teaching` → proceed. - `remediation` → this session teaches from the `## Remediation` section appended to `unit.md` — fix the findings within its budget; never read `.audit/` itself. - `re-planning — do not claim` → **stop loudly.** The advisor is mid-pass; tell the user to finish `/academic-advisor` first. - `arrived` → **stop.** The course is complete; there is nothing to teach. Point the user at `/office-hours` for the material; their own work is the handover's territory, written at arrival, not this role's. Then the fixed read set, in order: `unit.md` (read per the advisor's [UNIT-FORMAT.md](../academic-advisor/UNIT-FORMAT.md) — the single definition; never restate its rules) → `learner.md` → `HANDOFF.md` → `look.md`, the user's own words on how they want pages to look → the unit's `.records/office-hours.md` when present → frontier scan of the unit's `.tickets/` → **`work/` scan**: a submission with no `feedback.md` beside it draws a `homework-feedback` ticket into the frontier now, at orient — the learner submits asynchronously, and no other signal announces it. **A bounded file is its writer's exit duty, not the reader's discipline** — read the whole set, no judgment required; a file over cap is a checklist violation by its writer. If `HANDOFF.md` carries a suspension block naming the current unit, stop — the advisor hasn't re-planned yet; tell the user to run `/academic-advisor`. If it carries a completion block naming the current unit instead, stop the same way — the unit awaits `/audit`, then `/academic-advisor`; there is nothing here to teach. **Forbidden orientation reads**: the `transcript.md` body (you only append; its header grammar serves exit step 8), other units' folders, any `.audit/`, `playground/` uninvited, this unit's past session records (`HANDOFF.md` carries what you inherit), prior units' lessons. **Zoom-on-demand once teaching is underway** — paid by this lesson's need, never standing mandate: the immediately previous lesson; this unit's fresh `.records/`; theRead the full source on GitHub (opens external page)