Teach Back
Purpose
Turn a verified implementation into transferable human understanding.
Transfer ownership, do not narrate the diff. The goal is for the human to explain, debug, and safely modify the implementation rather than merely receive an agent-generated code tour.
Test understanding, do not assume it. Ask for a small teach-back attempt before supplying a complete explanation, then repair only material gaps using implementation evidence.
When to use
Use after trustworthy verification when at least one learning trigger exists:
- the implementation introduced an unfamiliar technology, pattern, or dependency
- a consequential design decision or trade-off should remain human-owned
- the control flow, state transition, data path, or failure mode is non-obvious
- the human expects to review, debug, maintain, or extend the change later
- learning from the implementation is an explicit task goal
Skip boilerplate, tiny reversible patches, familiar work, and tasks where the human does not want a learning pass.
This skill is optional. A completed implementation does not require a teach-back ritual. Use verify-contract for correctness evidence and handoff for continuation state.
Inputs
- Current task contract or
SPEC.md
- Verified changed files or git diff
VERIFY.md and relevant test evidence
- The human's stated learning goal or current familiarity when available
- Directly relevant architecture, interfaces, schemas, or runtime behavior
Workflow
Confirm that implementation verification is trustworthy enough to teach from. If correctness is unresolved, stop and route to verify-contract or diagnosis first.
Confirm that a learning trigger exists. If none exists, say that teach-back is not needed and stop.
Select the smallest useful learning target:
- one behavior path
- no more than three consequential decisions, concepts, or failure seams
- one likely maintenance or debugging responsibility
Build a compact, source-grounded implementation map. Trace the task through the changed system, for example:
request -> entry point -> transformation -> state or dependency -> output -> verification
Reference the actual files, functions, tests, or observed behavior. Label claims as:
- Observed — directly supported by code, tests, or verification evidence
- Inferred — a plausible design intent not explicitly documented
- Open — unresolved or not proven by the available evidence
Ask the human for a short teach-back attempt before giving the full explanation. Ask only what matters for ownership:
- What happens from input to output?
- Why was the consequential approach chosen?
- Where would you investigate one concrete failure?
Compare the attempt with the implementation evidence. Preserve what is correct. Correct only material gaps or misconceptions, and point to the exact evidence that resolves each gap.
Ask one transfer question that requires prediction, debugging, or modification rather than recall. Keep it close to the completed implementation.
Close with a compact ownership check:
- behavior path understood: yes / partial / no
- main trade-off understood: yes / partial / not applicable
- likely failure seam understood: yes / partial / no
- remaining gap: none | describe
Keep the result conversational by default. Create LEARN.md only when the learning state must survive the session, recur across tasks, or be shared with another person.
Outputs
Normally:
- Source-grounded implementation map
- Human teach-back attempt and targeted correction
- One transfer question
- Compact ownership check
Optionally, when durable learning state is justified:
LEARN.md containing the behavior path, decisions and trade-offs, invariants, likely failure seams, demonstrated understanding, and remaining gaps
Stop conditions
- The human can explain the behavior path and locate the main failure seam.
- The relevant trade-off is understood or explicitly marked not applicable.
- The remaining gap requires broader foundational study outside the completed implementation.
- Verification is not trustworthy enough to teach from.
- The human declines or no meaningful learning trigger exists.
Anti-patterns
- Producing a long code walkthrough before the human attempts a teach-back.
- Treating completion of the skill as proof that learning occurred.
- Asking trivia or syntax questions that do not test maintenance, debugging, or modification ability.
- Inventing architecture or design intent that is not supported by the implementation.
- Hiding uncertainty instead of labeling observed, inferred, and open claims.
- Replacing
verify-contract with an explanation of why the code probably works.
- Creating
LEARN.md for every task or adding it to the starter artifact set.
- Forcing a quiz after the human declines or when speed matters more than learning.
- Asking for private chain-of-thought or hidden reasoning.
- Shaming incomplete understanding instead of repairing the smallest material gap.
1---2name: teach-back3description: Transfer ownership of a verified implementation by testing and repairing the human's understanding of its behavior, decisions, and failure modes without turning every task into a tutorial.4---56# Teach Back78## Purpose910Turn a verified implementation into transferable human understanding.1112**Transfer ownership, do not narrate the diff.** The goal is for the human to explain, debug, and safely modify the implementation rather than merely receive an agent-generated code tour.1314**Test understanding, do not assume it.** Ask for a small teach-back attempt before supplying a complete explanation, then repair only material gaps using implementation evidence.1516## When to use1718Use after trustworthy verification when at least one learning trigger exists:1920- the implementation introduced an unfamiliar technology, pattern, or dependency21- a consequential design decision or trade-off should remain human-owned22- the control flow, state transition, data path, or failure mode is non-obvious23- the human expects to review, debug, maintain, or extend the change later24- learning from the implementation is an explicit task goal2526Skip boilerplate, tiny reversible patches, familiar work, and tasks where the human does not want a learning pass.2728This skill is optional. A completed implementation does not require a teach-back ritual. Use `verify-contract` for correctness evidence and `handoff` for continuation state.2930## Inputs3132- Current task contract or `SPEC.md`33- Verified changed files or git diff34- `VERIFY.md` and relevant test evidence35- The human's stated learning goal or current familiarity when available36- Directly relevant architecture, interfaces, schemas, or runtime behavior3738## Workflow39401. Confirm that implementation verification is trustworthy enough to teach from. If correctness is unresolved, stop and route to `verify-contract` or diagnosis first.412. Confirm that a learning trigger exists. If none exists, say that `teach-back` is not needed and stop.423. Select the smallest useful learning target:43 - one behavior path44 - no more than three consequential decisions, concepts, or failure seams45 - one likely maintenance or debugging responsibility464. Build a compact, source-grounded implementation map. Trace the task through the changed system, for example:4748 ```text49 request -> entry point -> transformation -> state or dependency -> output -> verification50 ```5152 Reference the actual files, functions, tests, or observed behavior. Label claims as:53 - **Observed** — directly supported by code, tests, or verification evidence54 - **Inferred** — a plausible design intent not explicitly documented55 - **Open** — unresolved or not proven by the available evidence565. Ask the human for a short teach-back attempt before giving the full explanation. Ask only what matters for ownership:57 - What happens from input to output?58 - Why was the consequential approach chosen?59 - Where would you investigate one concrete failure?606. Compare the attempt with the implementation evidence. Preserve what is correct. Correct only material gaps or misconceptions, and point to the exact evidence that resolves each gap.617. Ask one transfer question that requires prediction, debugging, or modification rather than recall. Keep it close to the completed implementation.628. Close with a compact ownership check:63 - behavior path understood: yes / partial / no64 - main trade-off understood: yes / partial / not applicable65 - likely failure seam understood: yes / partial / no66 - remaining gap: none | describe679. Keep the result conversational by default. Create `LEARN.md` only when the learning state must survive the session, recur across tasks, or be shared with another person.6869## Outputs7071Normally:7273- Source-grounded implementation map74- Human teach-back attempt and targeted correction75- One transfer question76- Compact ownership check7778Optionally, when durable learning state is justified:7980- `LEARN.md` containing the behavior path, decisions and trade-offs, invariants, likely failure seams, demonstrated understanding, and remaining gaps8182## Stop conditions8384- The human can explain the behavior path and locate the main failure seam.85- The relevant trade-off is understood or explicitly marked not applicable.86- The remaining gap requires broader foundational study outside the completed implementation.87- Verification is not trustworthy enough to teach from.88- The human declines or no meaningful learning trigger exists.8990## Anti-patterns9192- Producing a long code walkthrough before the human attempts a teach-back.93- Treating completion of the skill as proof that learning occurred.94- Asking trivia or syntax questions that do not test maintenance, debugging, or modification ability.95- Inventing architecture or design intent that is not supported by the implementation.96- Hiding uncertainty instead of labeling observed, inferred, and open claims.97- Replacing `verify-contract` with an explanation of why the code probably works.98- Creating `LEARN.md` for every task or adding it to the starter artifact set.99- Forcing a quiz after the human declines or when speed matters more than learning.100- Asking for private chain-of-thought or hidden reasoning.101- Shaming incomplete understanding instead of repairing the smallest material gap.