Skill detail

teach-unit

Supports structured teaching sessions, but depends on a specialized course workflow.

MatchPossibleReviewed for teachers
Sourcelonlydwolf/skillsExternal source
Reported installs7Popularity signal only

Inspect before use

Automated review checks relevance, not safety or endorsement. Read the source instructions before using this skill.

Saved source preview

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/`; the 
Read the full source on GitHub (opens external page)
Context

Related work