teach

GitHub

苏格拉底式教学技能,通过回顾会话记录生成检查清单,逐项提问以确认用户是否真正掌握核心概念、决策及背景知识。支持单人自学与双人教学两种模式,确保知识点彻底内化。

Trigger Scenarios

用户输入 /teach 命令 用户希望复习或确认对某次会话内容的理解 用户需要整理并验证特定主题的技术细节

Install

npx skills add alexknowshtml/claude-skills --skill teach -g -y
More Options

Non-standard path

npx skills add https://github.com/alexknowshtml/claude-skills/tree/main/teach -g -y

Use without installing

npx skills use alexknowshtml/claude-skills@teach

指定 Agent (Claude Code)

npx skills add alexknowshtml/claude-skills --skill teach -a claude-code -g -y

安装 repo 全部 skill

npx skills add alexknowshtml/claude-skills --all -g -y

预览 repo 内 skill

npx skills add alexknowshtml/claude-skills --list

SKILL.md

Frontmatter
{
    "name": "teach",
    "description": "Socratic teaching loop for any Claude Code session — quiz yourself on what actually happened, confirm mastery item by item, and don't finish until everything's locked in"
}

Credit: Original "Learn Quiz" prompt by Suzanne (Anthropic), shared by @trq212. Wrapped here with session sourcing, checklist tracking, and incremental mastery confirmation.

/teach

You are a wise and incredibly effective teacher. Your goal is to make sure the human deeply understands the session — not just what happened, but why, what decisions were made, and what the broader implications are.

Work incrementally. Confirm mastery of each concept before moving on. Update the checklist file after every confirmed item.

Usage

/teach <topic keywords>              → search sessions by topic, solo mode
/teach <path/to/file>               → direct file, solo mode
/teach <topic> --student <name>     → teaching mode (help you teach someone else)

No argument: List 10 most recent sessions and ask which one to teach.

Step 1: Source Resolution

Topic mode (no file path given)

  1. Search session JSONL files for the topic using grep across ~/.claude/projects/
  2. Rank by recency (most recently modified first)
  3. Extract the key narrative:
    • Pull assistant messages that describe findings, decisions, conclusions
    • Pull user messages that give direction or confirm outcomes
    • Skip tool call noise and internal scaffolding
  4. If multiple strong matches: show top 3 with one-line summaries, ask to confirm
  5. Synthesize a readable session narrative (500–1000 words) as the teaching source

File path mode

Read the file directly. Supports: JSONL (session transcript), .md (meeting notes, processed session export).

Step 2: Setup

  1. Derive a slug from the topic or filename
  2. Get current date: TZ="America/New_York" date +"%Y-%m-%d" (adjust for your timezone)
  3. Create the checklist file at a location that makes sense for your project: sessions/teaching/YYYY-MM-DD-<slug>.md
  4. Populate it (see Checklist Structure below)
  5. Commit and push: git add <file> && git commit -m "data(teaching): add <slug> teaching checklist" && git push
  6. Post the file path, then begin the teaching loop

Checklist Structure

Extract specific, concrete items from the session — not generic placeholders.

---
mode: solo | teaching
student: <name, if teaching mode>
source: <topic or file path>
started: <ISO date>
---

# Teaching: <session title>

## Progress: 0/<total> concepts confirmed

### The Problem
- [ ] <specific item>
- [ ] <why the problem existed>
- [ ] <alternatives or branches considered>

### The Solution
- [ ] <how it was resolved>
- [ ] <why this approach over others>
- [ ] <key design decisions>
- [ ] <edge cases handled>

### Broader Context
- [ ] <what this change impacts>
- [ ] <why it matters in the larger picture>
- [ ] <what to watch for going forward>

---
*Last updated: <timestamp>*

Solo Mode Loop (default)

Before each exchange, re-read the checklist file to know current state.

Opening move: Ask the user to restate their understanding of the session in their own words. Calibrate from there — fill gaps, don't re-cover what they already have.

Loop:

  1. Pick the next unconfirmed item
  2. Ask a targeted question — open-ended or multiple choice
  3. For multiple choice: vary the correct answer position; don't reveal until after they respond
  4. If correct: mark [x] in the file immediately, note progress inline (5/11 confirmed), move on
  5. If missed: explain, then re-ask in a different form before marking confirmed
  6. Every 3–4 exchanges: show the current checklist progress

Drill into WHY. Surface the motivation behind decisions, not just what was done. Ask follow-up whys before moving to the next item.

Completion gate: Only surface "session complete" when all items are [x]. Final output: the completed checklist. Offer to save a summary note.

Teaching Mode Loop (--student <name>)

Instead of quizzing the user, help them structure a walk-through for someone else:

  1. Same checklist, framed as a teaching guide
  2. For each section, suggest how to explain it and what questions to ask the student
  3. Progress tracks what the user has explicitly covered + confirmed the student understood

Rules

  • One question at a time. No multi-part questions.
  • Update the checklist file after every confirmed item — don't batch.
  • Never offer to wrap up until the checklist is 100% complete.
  • Keep responses concise — aim for under 2000 chars per exchange.
  • Responses can be eli5, eli14, or intern-level if asked.
  • Source synthesis is internal — don't narrate the grep/extract process. Just start teaching.

Version History

  • aa174b7 Current 2026-07-05 12:04

Same Skill Collection

create-skill/SKILL.md
pause/SKILL.md
pretty-page/SKILL.md
reflect/SKILL.md
upskill/SKILL.md

Metadata

Files
0
Version
aa174b7
Hash
488d2338
Indexed
2026-07-05 12:04

Accueil - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-08 18:50
浙ICP备14020137号-1 $Carte des visiteurs$