Teach
Teach the user something they intend to learn over multiple sessions. The active
project is the teaching workspace.
Resolve every .agents/projects/ path from the repository root; never read or write
project artifacts in a global agent-installation directory.
Workspace
All teaching state lives under .agents/projects/<project>/:
CONTEXT.md: what this teaching project is, enough to re-orient next session
MISSION.md: the reason they are learning. When writing or revising it, read
MISSION-FORMAT.md.
RESOURCES.md: high-trust sources for knowledge and communities for wisdom.
When writing or revising it, read RESOURCES-FORMAT.md.
GLOSSARY.md: canonical terms once the user can use them correctly. When adding
a term, read GLOSSARY-FORMAT.md.
NOTES.md: teaching preferences and working notes
lessons/NNNN-slug.html: one lesson per file, sequential numbering
learning-records/NNNN-slug.md: non-obvious lessons that steer future sessions.
When writing one, read LEARNING-RECORD-FORMAT.md.
reference/*.html: compressed cheat sheets, syntax, algorithms, sequences
assets/: reusable lesson components (shared stylesheet first)
Create a file only when it has content to hold.
Process
Identify the teaching project from the topic. Read the workspace files that
exist. If the user described what they want to learn, that is the topic.
Done when the project slug and current workspace state are known.
If MISSION.md is missing or vague, interview the user for the concrete
real-world outcome, what success looks like, constraints, and out of scope.
Write CONTEXT.md as one paragraph that re-orients a later session. Do not
write lessons until the mission is confirmed.
Done when MISSION.md states an observable outcome the user has confirmed and
CONTEXT.md names the teaching project.
Before RESOURCES.md is well populated, find high-trust primary sources
and communities. Ground teaching in those, not parametric knowledge.
Done when RESOURCES.md has annotated knowledge sources for the next lesson,
or an explicit gap.
Choose the next lesson from the mission and the user's zone of proximal
development: the most relevant thing they cannot yet do, just beyond what
learning records show they can. Read NOTES.md for teaching preferences.
Done when the next lesson has a single tightly-scoped win tied to the mission.
Reuse assets/ by default. Write a new component there when a second lesson
would duplicate it. Produce one short self-contained HTML lesson, numbered
after the highest existing file. Teach the knowledge required for the skill,
then practise the skill through a tight feedback loop. Cite resources. Link
related lessons and reference docs. Recommend one primary source. Remind them
they can ask follow-up questions. Open the file when the harness can.
Done when the lesson is saved, completable quickly, and opened or its path
reported.
Update glossary, reference docs, and learning records as understanding
crystallizes. Confirm with the user before changing the mission.
Done when workspace files match what this session established.
Lessons
A lesson is beautiful enough to return to (think Tufte): clean typography, short,
one tangible win. Learners' working memory is small; stay inside it.
Knowledge first, then skill practice. For knowledge, difficulty is the enemy: it
eats working memory needed for understanding. For skills, difficulty is the tool:
retrieval practice, spacing, and (for skills practice) interleaving build storage
strength rather than fluency that only feels like mastery.
Quizzes: each answer the same length so formatting does not leak the answer.
Feedback immediately, ideally automatically.
Knowledge, skills, wisdom
- Knowledge comes from the high-trust resources in
RESOURCES.md. Cite them.
- Skills stick through interactive practice with a tight feedback loop.
- Wisdom comes from real-world interaction. When a question needs it, answer,
then point at a high-reputation community from
RESOURCES.md. Honour a
preference not to join one.
Done when
- The mission is confirmed and recorded.
- The next lesson is in the user's zone of proximal development and saved under
lessons/.
- Resources, glossary, and learning records reflect what this session established.
1---2name: teach3description: Teach a skill or concept over multiple sessions in a project teaching workspace.4---56# Teach78Teach the user something they intend to learn over multiple sessions. The active9**project** is the teaching workspace.1011Resolve every `.agents/projects/` path from the repository root; never read or write12project artifacts in a global agent-installation directory.1314## Workspace1516All teaching state lives under `.agents/projects/<project>/`:1718- `CONTEXT.md`: what this teaching project is, enough to re-orient next session19- `MISSION.md`: the reason they are learning. When writing or revising it, read20 `MISSION-FORMAT.md`.21- `RESOURCES.md`: high-trust sources for knowledge and communities for wisdom.22 When writing or revising it, read `RESOURCES-FORMAT.md`.23- `GLOSSARY.md`: canonical terms once the user can use them correctly. When adding24 a term, read `GLOSSARY-FORMAT.md`.25- `NOTES.md`: teaching preferences and working notes26- `lessons/NNNN-slug.html`: one **lesson** per file, sequential numbering27- `learning-records/NNNN-slug.md`: non-obvious lessons that steer future sessions.28 When writing one, read `LEARNING-RECORD-FORMAT.md`.29- `reference/*.html`: compressed cheat sheets, syntax, algorithms, sequences30- `assets/`: reusable lesson components (shared stylesheet first)3132Create a file only when it has content to hold.3334## Process35361. Identify the teaching project from the topic. Read the workspace files that37 exist. If the user described what they want to learn, that is the topic.3839 Done when the project slug and current workspace state are known.40412. If `MISSION.md` is missing or vague, interview the user for the concrete42 real-world outcome, what success looks like, constraints, and out of scope.43 Write `CONTEXT.md` as one paragraph that re-orients a later session. Do not44 write lessons until the mission is confirmed.4546 Done when `MISSION.md` states an observable outcome the user has confirmed and47 `CONTEXT.md` names the teaching project.48493. Before `RESOURCES.md` is well populated, find high-trust **primary sources**50 and communities. Ground teaching in those, not parametric knowledge.5152 Done when `RESOURCES.md` has annotated knowledge sources for the next lesson,53 or an explicit gap.54554. Choose the next lesson from the mission and the user's **zone of proximal56 development**: the most relevant thing they cannot yet do, just beyond what57 learning records show they can. Read `NOTES.md` for teaching preferences.5859 Done when the next lesson has a single tightly-scoped win tied to the mission.60615. Reuse `assets/` by default. Write a new component there when a second lesson62 would duplicate it. Produce one short self-contained HTML lesson, numbered63 after the highest existing file. Teach the knowledge required for the skill,64 then practise the skill through a tight feedback loop. Cite resources. Link65 related lessons and reference docs. Recommend one primary source. Remind them66 they can ask follow-up questions. Open the file when the harness can.6768 Done when the lesson is saved, completable quickly, and opened or its path69 reported.70716. Update glossary, reference docs, and learning records as understanding72 crystallizes. Confirm with the user before changing the mission.7374 Done when workspace files match what this session established.7576## Lessons7778A lesson is beautiful enough to return to (think Tufte): clean typography, short,79one tangible win. Learners' working memory is small; stay inside it.8081Knowledge first, then skill practice. For knowledge, difficulty is the enemy: it82eats working memory needed for understanding. For skills, difficulty is the tool:83retrieval practice, spacing, and (for skills practice) interleaving build storage84strength rather than fluency that only feels like mastery.8586Quizzes: each answer the same length so formatting does not leak the answer.87Feedback immediately, ideally automatically.8889## Knowledge, skills, wisdom9091- **Knowledge** comes from the high-trust resources in `RESOURCES.md`. Cite them.92- **Skills** stick through interactive practice with a tight feedback loop.93- **Wisdom** comes from real-world interaction. When a question needs it, answer,94 then point at a high-reputation community from `RESOURCES.md`. Honour a95 preference not to join one.9697## Done when9899- The mission is confirmed and recorded.100- The next lesson is in the user's zone of proximal development and saved under101 `lessons/`.102- Resources, glossary, and learning records reflect what this session established.