DeepTutor CLI
HKUDS/DeepTutor
Teaches the agent to set up and run DeepTutor from the command line: chat and capabilities, knowledge bases, partners, memory, sessions, notebooks and the server or Web app.
把独立教师的课后记忆变成结构化教学档案,每节课 5 分钟记完. An agent skill from qizhitang/xiaozhi-skills.
$ npx skills add qizhitang/xiaozhi-skills --skill xiaozhi-teach-lesson-log -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install qizhitang/xiaozhi-skills xiaozhi-teach-lesson-log --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/qizhitang/xiaozhi-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/teacher/independent/xiaozhi-teach-lesson-log .claude/skills/xiaozhi-teach-lesson-log && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "xiaozhi-teach-lesson-log" agent skill from https://github.com/qizhitang/xiaozhi-skills/tree/main/teacher/independent/xiaozhi-teach-lesson-log into .claude/skills/xiaozhi-teach-lesson-log/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "xiaozhi-teach-lesson-log", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/qizhitang/xiaozhi-skills/tree/main/teacher/independent/xiaozhi-teach-lesson-logType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add qizhitang/xiaozhi-skills --skill xiaozhi-teach-lesson-log -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install qizhitang/xiaozhi-skills xiaozhi-teach-lesson-log --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/qizhitang/xiaozhi-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/teacher/independent/xiaozhi-teach-lesson-log .agents/skills/xiaozhi-teach-lesson-log && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "xiaozhi-teach-lesson-log" agent skill from https://github.com/qizhitang/xiaozhi-skills/tree/main/teacher/independent/xiaozhi-teach-lesson-log into .agents/skills/xiaozhi-teach-lesson-log/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "xiaozhi-teach-lesson-log", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add qizhitang/xiaozhi-skills --skill xiaozhi-teach-lesson-log -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install qizhitang/xiaozhi-skills xiaozhi-teach-lesson-log --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/qizhitang/xiaozhi-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/teacher/independent/xiaozhi-teach-lesson-log .cursor/skills/xiaozhi-teach-lesson-log && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "xiaozhi-teach-lesson-log" agent skill from https://github.com/qizhitang/xiaozhi-skills/tree/main/teacher/independent/xiaozhi-teach-lesson-log into .cursor/skills/xiaozhi-teach-lesson-log/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "xiaozhi-teach-lesson-log", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/qizhitang/xiaozhi-skills.git --path teacher/independent/xiaozhi-teach-lesson-log--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add qizhitang/xiaozhi-skills --skill xiaozhi-teach-lesson-log -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install qizhitang/xiaozhi-skills xiaozhi-teach-lesson-log --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/qizhitang/xiaozhi-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/teacher/independent/xiaozhi-teach-lesson-log .gemini/skills/xiaozhi-teach-lesson-log && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "xiaozhi-teach-lesson-log" agent skill from https://github.com/qizhitang/xiaozhi-skills/tree/main/teacher/independent/xiaozhi-teach-lesson-log into .gemini/skills/xiaozhi-teach-lesson-log/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "xiaozhi-teach-lesson-log", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install qizhitang/xiaozhi-skills xiaozhi-teach-lesson-logInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add qizhitang/xiaozhi-skills --skill xiaozhi-teach-lesson-log -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/qizhitang/xiaozhi-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/teacher/independent/xiaozhi-teach-lesson-log .github/skills/xiaozhi-teach-lesson-log && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "xiaozhi-teach-lesson-log" agent skill from https://github.com/qizhitang/xiaozhi-skills/tree/main/teacher/independent/xiaozhi-teach-lesson-log into .github/skills/xiaozhi-teach-lesson-log/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "xiaozhi-teach-lesson-log", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add qizhitang/xiaozhi-skills --skill xiaozhi-teach-lesson-log -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install qizhitang/xiaozhi-skills xiaozhi-teach-lesson-log --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/qizhitang/xiaozhi-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/teacher/independent/xiaozhi-teach-lesson-log .opencode/skills/xiaozhi-teach-lesson-log && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "xiaozhi-teach-lesson-log" agent skill from https://github.com/qizhitang/xiaozhi-skills/tree/main/teacher/independent/xiaozhi-teach-lesson-log into .opencode/skills/xiaozhi-teach-lesson-log/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "xiaozhi-teach-lesson-log", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
xiaozhi-teach-lesson-log把独立教师的课后记忆变成结构化教学档案,每节课 5 分钟记完. An agent skill from qizhitang/xiaozhi-skills.
Xiaozhi Teach Lesson Log is an agent skill from qizhitang/xiaozhi-skills. 把独立教师的课后记忆变成结构化教学档案,每节课 5 分钟记完。 适用于老师说"课后总结一下""记一下这节课""[化名] 今天学得怎么样""这节课复盘""看下 [化名] 的学习轨迹""这节课消耗几课时""下节课接着讲什么"。 流程:即时记 5 维度(学了什么/掌握度/课堂反应/进步/调整)→ 分知识点记掌握度 → 生成课时待确认条目 → 给下节课衔接点。 触发需带学员化名与日期;记录与课时条目都先给老师预览,确认后才写入。 本 SKILL 不排课、不登记课上练习与学校作业、不代发家长消息、不做阶段报告——分别转 schedule-manager、homework-tracker、parent-communication、renewal-report; 家长事实摘要只起草成留在工作空间里的内部草稿,发不发由老师决定。
Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including reference files (for example `references/lesson-log-template.md`, `shared/ai-item-check.md` and `shared/crisis-exception.md`). Compatibility notes: WorkBuddy / SkillHub / OpenClaw / ClawHub
It sits in Education. The licence is MIT.
Read from SKILL.md and the folder at commit c65f2d4. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
WorkBuddy / SkillHub / OpenClaw / ClawHub
From compatibility in the SKILL.md frontmatter.
Xiaozhi Teach Lesson Log loads about 3.8k tokens when it runs, and up to ~8.2k if it reads all its reference files. Until then it costs about 97 tokens; SKILL.md has 411 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from qizhitang/xiaozhi-skills at commit c65f2d4, republished under its MIT licence (© qizhitang). 411 words, ~3,815 tokens.
.claude/skills/xiaozhi-teach-lesson-log/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.一句话定位: 每节课都是一笔教学资产——记下来的,才是积累;不记的,就是流过。
技术边界:本 SKILL 依赖能力 [M, K, X],无该能力时按 shared/platform-conventions.md 降级。
教学主体边界:本 SKILL 只给老师出草稿、做分析,不替老师上课,不代老师回答学生的问题,也不代老师评价学生;面向学生或家长的内容,一律由老师审定后再用(教育部《中小学生成式人工智能使用指南(2025 年版)》)。
适用范围:用于校外培训(一对一、小班)时,只在合法范围内用,口径见
shared/off-campus-training.md——学科类须经审批,各地已不再审批新的学科类培训机构;不占学校上课时间,线下 20:30、线上 21:00 前结束,不给学员留作业,一次收费不超过 3 个月或 60 课时,高中学员同样适用;面向义务教育阶段学生的另外不占用休息日、节假日与寒暑假,线上每课时不超过 30 分钟,面向高中学生的这两条参照执行。本技能不预设违规的排课、作业与收费。
课后记录一律使用化名(studentCards[].alias),不出现真实姓名、家庭信息、家长身份。补录超过 30 分钟的记录标注"事后回忆,准确度有限"。无 K(日期感知)时先问今天日期再写 lessonLogs[].date——没有 date 的记录不参与"最近 N 条"统计。
本 SKILL 不出题;下节课衔接点里若需要一道验证用的同类题,生成前按 shared/ai-item-check.md 自检,并标注【AI 生成,入库前请人工验算】。
课时消耗不由本 SKILL 落库:每节课后生成一条 coursePackageLedger[].pendingConfirmations 待确认条目,老师确认后才计入 usedUnits。没有确认,就一直是待确认,不存在时限过后替老师做主的情形。改动 usedUnits / remainingUnits 这类课时台账数字,一律要老师当场说一声"确认"。
记录先预览、后写入:5 维度整理好之后,先把要写进去的内容原样给老师看一眼,老师说"存"才写入 workspace.lessonLogs[]。老师只是随口聊起某节课、没有明确的记录意图时,不建条目;触发语里没有学员化名或日期时先问一句是哪位学员、哪天的课,问清楚之前既不读也不写学员记录。
parentSummary 是内部草稿,不是发给家长的消息:它写在 workspace.lessonLogs[].parentSummary 里,只有老师看得到。起草前必须逐项校验学员卡授权位(见 §9.2),任何一项不满足就不生成;起草后发不发、什么时候发、用什么措辞,全由老师决定。本 SKILL 不代发、不推送,也不写 parentCommunicationLogs[]。
只记看得见的事,不记推断出来的特质:可以写"后 20 分钟两次走神"这类可观察的行为与掌握档位;不写"抗挫能力""思维能力""专注力强/弱""学习动机不足""性格内向"这类对孩子内在特质的推断——一节课的观察撑不住这种判断,而它一旦进了档案,就会跟着孩子进阶段报告和家长沟通。
独立教师课后记录常见的三个误区:
误区① 凭记忆:下课就忘,下周上课时
不知道上次讲了什么、学生什么状态。
误区② 流水账:只写"今天讲了 X 章节",
没有掌握度评估、没有学生反应、
没有下节课衔接点。
误区③ 不写:觉得"我心里有数就行",
累积下来学员成长轨迹全无,
续费沟通和阶段报告全凭印象。本 SKILL 要解决的是:
| 触发场景 | 示例语句 |
|---|---|
| 课后总结 | "课后总结一下" / "今天这节课记录一下" |
| 记录本节课 | "记一下这节课" |
| 学员学得怎么样 | "[化名] 今天学得怎么样" |
| 复盘 | "这节课复盘" / "这节课上得怎么样" |
触发前提:这些话要**带学员化名(或能唯一定位的课次)**才进入记录流程;老师泛泛地说"今天累死了""这节课上得一般"是聊天,不建记录、不问化名。
| 老师说的话 | 处理 |
|---|---|
| "课后总结一下"(没说是谁的课) | 先问"哪位学员、哪次课?",答不上来就不记录 |
| "小A 课上那份练习补完了吗" / "小A 带来的学校作业帮我归一下错因" | 转作业跟进管家 |
| "把小A 的课调到周四" | 转排课与课时管理 |
| "给小A 家长发个反馈" | 转家长沟通助手 |
| 学习轨迹 | "看一下 [化名] 的学习轨迹" |
| 课时扣减 | "扣 [化名] 一课时" |
| 下节课衔接 | "[化名] 下节课应该讲什么" |
| 学员进步 | "看一下 [化名] 的进步" |
触发的最低条件:以上语句要能定位到"哪位学员(化名)、哪天的课",才进入记录流程。只说"课后总结一下"而没有指向具体学员时,先问一句「是哪位学员、哪天的课?」——问清楚之前不读取、也不写入任何学员记录。老师只是聊起某节课("今天那节课挺顺的")而没有记录意图时,不要建条目。
┌──────────────────────────┐
│ ① 课后 5 分钟内记录 │
│ 学员/日期/课题 │
└────────────┬─────────────┘
↓
┌──────────────────────────┐
│ ② 5 维度结构化 │
│ 学/掌握/反应/进步/调整 │
└────────────┬─────────────┘
↓
┌──────────────────────────┐
│ ③ 分知识点记掌握度 │
│ perTopicMastery[] │
└────────────┬─────────────┘
↓
┌──────────────────────────┐
│ ④ 生成课时待确认条目 │
│ pendingConfirmations │
│ 老师确认后才计入 usedUnits│
└────────────┬─────────────┘
↓
┌──────────────────────────┐
│ ⑤ 下节课衔接点 │
│ 写 nextLessonFocus │
└────────────┬─────────────┘
↓
┌──────────────────────────┐
│ ⑥ 家长事实摘要(可选) │
│ 查两个授权位 │
│ → 起草内部草稿 │
│ 发不发由老师自己决定 │
└──────────────────────────┘②③⑤ 整理完先给老师预览,老师确认后才写入 workspace.lessonLogs[];④ 的课时条目在老师点头之前只是待确认条目,不动台账数字;⑥ 起草出来的是内部草稿,本 SKILL 不发送。
每条记录必须有 date(schema 必填)。老师不说日期就问一次:"这节课是哪天上的?"——日期是"最近 N 条""上次讲到哪"这类判断的唯一依据。
📎 完整 5 维度框架图见
references/lesson-log-template.md第一节(学了什么/掌握度/课堂反应/进步/调整的逐项观察要点)
📎 完整填写模板见
references/lesson-log-template.md第二节(含 masteryStatus 五档勾选:已掌握/基本理解/仍需巩固/需要重讲/证据不足)
masteryStatus 是整节课的整体判断;一节课涉及多个知识点时,逐个写进 perTopicMastery[](最多 6 项),不要用一个笼统的"基本理解"盖过差异。
workspace.lessonLogs[].perTopicMastery = [
{ "topic": "一元一次方程移项", "masteryStatus": "已掌握" },
{ "topic": "去分母", "masteryStatus": "仍需巩固" },
{ "topic": "含参方程", "masteryStatus": "需要重讲" }
]
workspace.lessonLogs[].masteryStatus = "仍需巩固" ← 整体判断整体值的取法:取本节课主目标对应知识点的档位;主目标不明确时取最低档,并在 evidence 里说明理由。五档取值与学生端三档的对应关系见 shared/vocab.md §6。
课堂反应写进 workspace.lessonLogs[].studentReaction,取值只有五个:投入 / 平稳 / 疲惫 / 抗拒 / 未观察。
✅ studentReaction = "疲惫"
evidence = "后 20 分钟两次走神,问'还有多久下课'"
❌ 不写:触发点(猜测):可能是昨晚没睡好 / 家里有事 / 对数学有畏难情绪
❌ 不写:情绪标签("焦虑""厌学""抗拒数学")
❌ 不写:推断性特质("抗挫能力弱""思维能力强""专注力差""动机不足""性格内向")
❌ 不写:对家庭情况的推测为什么不记猜测:这条记录会进入阶段报告,也可能被念给家长听。"他好像有点焦虑"写下来就成了事实,而老师隔着一节课其实无从判断。只记看到的行为,把解释留给和学员本人的对话。
观察不到就写 未观察,不要为了填满字段而猜。
窗口 1(理想):课后 0-5 分钟
· 学生刚走,趁记忆清晰
· 完成核心 5 维度记录
窗口 2(可接受):课后 5-30 分钟
· 关键信息不丢
· 5 分钟内补完
窗口 3(事后回忆):课后 30 分钟-24 小时
· 标注"事后回忆,准确度有限"
· 重点补核心:学了什么 + 掌握度
窗口 4(过期):课后 > 24 小时
· 强烈不建议
· 教学价值大幅下降学生离开前 1 分钟(5 句话速记):
① 今天([日期])学了 [课题]
② [化名] 掌握了 [X],没掌握 [Y]
③ 课堂反应:□投入 □平稳 □疲惫 □抗拒 □未观察
④ 下次讲 [X]
⑤ 需要给家长说:[X / 暂不需要]
课后再花 3-5 分钟补全 5 维度与 perTopicMastery。速记版(课后 1 分钟内):
· 5 句话
· 课题 + 掌握度 + 反应 + 衔接 + 家长沟通
完整版(课后 5-10 分钟):
· 5 维度结构化
· 含错题/弱项/调整方向每次课后记录 = 学员学习轨迹的一个点
轨迹包含:
· 课时编号
· 日期
· 课题
· 掌握度
· 进步方向
· 调整方向📎 完整轨迹视图模板见
references/lesson-log-template.md第四节(课时概览/知识图谱演进/当堂验证记录/关键转折点——全部是可核对的事实,不含对特质的推断)
单课时记录 → workspace.lessonLogs[](本 SKILL 写)
分知识点掌握 → workspace.lessonLogs[].perTopicMastery[]
进步证据 → workspace.progressEvidence[]
累积轨迹 → 派生视图,由上述字段按 date 排序聚合,不落库
工作台(solo-dashboard)只读这些字段渲染,本 SKILL 不向它推送。课时不由 AI 扣。每节课后本 SKILL 生成一条待确认条目,老师确认后才计入 usedUnits:
① 本 SKILL 写 lessonLogs[].consumeLessonUnits = 1(本节课的建议消耗数)
↓
② 同时在 coursePackageLedger[].pendingConfirmations 追加一条:
{ "lessonId": "L-20260904-A", "units": 1, "generatedAt": "2026-09-04T20:10:00+08:00" }
↓
③ 向老师问一次:
「小A 今天这节课记 1 课时,确认吗?(确认 / 改成 X 课时 / 这次不扣)」
↓
④ 老师确认 → 从 pendingConfirmations 移出,usedUnits +1、remainingUnits -1
老师没回 → 条目留在 pendingConfirmations,剩余课时不变没确认就一直待确认。工作台会在"课时包与续课节点"区块提示还有几条待确认,剩余课时的展示一律注明"未含 N 条待确认"。这样老师隔几天回来补确认时,账目仍然是对的。
coursePackageLedger[].expiryDate 距今 ≤ 7 天时,在老师下次打开记录时提示一次到期事实("小A 的课时包 11 月 30 日到期,还剩 3 课时"),只陈述,不催单。续费节点口径见 §9.1,与 xiaozhi-teach-renewal-report 一致。
学生请假:
· 生成 units=0 的待确认条目,并在 lessonLogs[].evidence 记请假事实
· 请假原因只记"已请假",不记家庭细节
老师取消:
· 不生成课时条目
· 补课时间由 xiaozhi-teach-schedule-manager 生成待确认的补课建议
补课:
· 按实际时长生成待确认条目
· 对应 lessonSchedule[].status = makeup
试听:
· 不生成任何课时条目
· 对应 lessonSchedule[].status = trial(schema 枚举值)
· 试听记录照常写 lessonLogs,用于老师自己判断是否适配以下为默认经验值,老师可在会话中改成自己的规则;改后以老师的设置为准。任何一条都只生成待确认条目,不自动落库。
■ 学生迟到
· 10 分钟内:按整课时生成待确认条目
· 10-30 分钟:按整课时生成,并提示老师是否需要与家长同步
· > 30 分钟:生成 units=0.5 的待确认条目,或建议重新约
■ 学生早退
· 同上,按实际上课时长判断
■ 老师迟到
· 不生成课时条目,由老师决定补时长还是补课
· 需要改期时转 xiaozhi-teach-schedule-manager
■ 网络/设备故障(线上课)
· 5 分钟内:按整课时生成待确认条目
· 5-15 分钟:按整课时生成,并记下需补的时长
· > 15 分钟:建议本次重排,生成 units=0 的待确认条目基于本次课后记录,生成下节课衔接建议(供老师取舍,不代替备课):
· 复习未掌握知识点
· 继续未完成的进度
· 强化新增弱项
· 引入新内容(如进度允许)📎 完整衔接建议模板见
references/lesson-log-template.md第六节(必做/选做/节奏建议/衔接素材)
· 未掌握的知识点、需要重做的错题、节奏建议
→ workspace.lessonLogs[].nextLessonFocus(本 SKILL 写)
· 老师备下一节课时直接读这个字段
· 若装有教师通用包,可把它带给备课类 SKILL;未安装时老师自己用⚠️ 危机例外(最高优先级):若对话中出现自伤/自残、轻生念头、遭受霸凌或伤害、持续严重绝望、家庭安全问题等超出学习范畴的信号,立即停止本 SKILL 的一切流程(含熔断、温情转化、数据展示、出题、家长摘要),按 shared/crisis-exception.md 处置:稳住不评判 → 说明 AI 边界 → 如实提示联系信任的成年人 → 按所在地区给出求助渠道(不确定地区时先问;中国大陆即时危险为 110/120,其他地区用当地紧急电话)。宁可误报,不可漏报;档案只记"已转介"的处置事实。
lessonLogs[].parentSummary 是内部草稿:一段写在工作空间里、只有老师看得到的事实摘要,不是一条已经发出去的家长消息。本 SKILL 只起草,不外发、不推送;起草前先过 §9.2 的两道授权检查,任何一项不满足就一个字都不生成。发不发、什么时候发、用什么措辞,由老师决定(要润色成可发的消息见 §9.4)。
■ 值得写
· 这节课有具体可说的进展(讲清了某个卡了很久的点)
· 这节课有需要家庭配合的事(下次带某本练习册)
· 课时包进度到了节点:已用 50% / 70%
(与 xiaozhi-teach-renewal-report 同一口径,本 SKILL 不另设节点)
■ 不必每节课都写
· 平稳推进的课,写"按计划推进"即可,或不写
· 没有新信息时的"今天表现不错"是噪音,会让真正重要的消息被忽略第一道对任何 parentSummary 都要过(哪怕只是"今天讲了什么"这种纯学习内容),第二道在内容涉及课堂状态时追加:
① 查 workspace.studentCards[].consent 里的 parentCommunicationAllowed
false 或缺失 → 不生成任何家长内容(含内部草稿),回一句:
「这位学员还没有开启家长沟通授权,我先不起草。要先补一下授权吗?」
② studentReaction 为 疲惫 / 抗拒,或内容涉及课堂状态时,
再查同一处的 emotionSharingWithParent
false → parentSummary 里只写学习事实,不提课堂反应
true → 可以写,但只写行为事实,不写猜测和标签
✅ 允许:"今天后半节注意力不太集中,我把练习换成了口头问答。"
❌ 禁止:"他今天情绪不太好,可能有点抗拒数学。"
❌ 禁止:把 studentReaction 的枚举值原样当成对孩子的评价说出去危机信号例外于以上两条:出现危机信号时不做低敏转化,按 shared/crisis-exception.md 如实提示监护人。伤害可能来自家里的(家庭安全类信号)不提示监护人、不写进 parentSummary,按同一文件"家庭安全类信号"一节报告。
📎 完整摘要模板与分场景话术见
references/lesson-log-template.md第七节(内部草稿模板 + 进展/需要配合/节点三类话术)
草稿留在工作空间里等老师取用——写进 parentSummary 不等于家长已经知道了这件事。
· 事实摘要 → workspace.lessonLogs[].parentSummary(本 SKILL 写,≤500 字符,内部草稿)
· 要润色成一条可发的消息 → xiaozhi-teach-parent-communication
(它写 parentCommunicationLogs,记录 channel 与 sentStatus)
· 发送动作由老师本人完成,本 SKILL 与 parent-communication 都不代发 课上完 ──→ ┌──────────────────────┐ ──→ 下节课衔接点(老师带走)
│ lesson-log(本 SKILL)│ ──→ 课时待确认条目(等老师点头)
└──────────┬───────────┘ ──→ 家长事实摘要(老师自己发)
│ 写这三处
┌─────────────────┼──────────────────┐
↓ ↓ ↓
lessonLogs coursePackageLedger progressEvidence
(记录本体) (.pendingConfirmations)(进步证据)其他 SKILL 直接读这些字段,不经过本 SKILL;本 SKILL 也不需要任何 SKILL 先跑一遍。
均为 solo-teacher-workspace.schema.json 的真实字段。
读:
workspace.lessonSchedule[].lessonGoal / .status / .durationMinutes
→ 本节课目标、是否试听(status=trial)、实际时长
workspace.studentCards[].primaryWeaknesses / .goals / .gradeLevel / .gradeBand
→ 学员基线:已确认的弱项、学习目标、年级、学段
workspace.studentCards[].consent
→ 授权位 parentCommunicationAllowed、emotionSharingWithParent
workspace.studentCards[].status
→ "暂停记录"/"已结课"时不再写入新记录
workspace.lessonLogs[].date / .nextLessonFocus
→ 上次课的日期与设定的重点(按 date 倒序取最近一条)
写(每一项都先给老师预览,老师确认后才写入;确认前只是待写入内容):
workspace.lessonLogs[].date → 上课日期(必填)
workspace.lessonLogs[].completedContent → 「学了什么」
workspace.lessonLogs[].masteryStatus → 整体掌握度(五档之一)
workspace.lessonLogs[].perTopicMastery[] → 逐知识点掌握度(≤6 项)
workspace.lessonLogs[].studentReaction → 课堂反应(五枚举之一,只记事实)
workspace.lessonLogs[].evidence → 掌握度/进步的证据条目
workspace.lessonLogs[].nextLessonFocus → 下节课衔接点
workspace.lessonLogs[].parentSummary → 内部家长事实摘要草稿(≤500 字符;
两道授权检查都过了才写,本 SKILL 不外发)
workspace.lessonLogs[].consumeLessonUnits → 本节课建议消耗课时数
workspace.coursePackageLedger[].pendingConfirmations[]
→ 待老师确认的课时条目
workspace.progressEvidence[] → 课堂表现类进步证据
老师确认课时后才写:
workspace.coursePackageLedger[].usedUnits / .remainingUnits
派生视图(实时计算,不落库):
掌握度变化 ← 由 workspace.lessonLogs[].masteryStatus 按 date 先后比较
学习轨迹 ← 由 workspace.lessonLogs[] 与 workspace.progressEvidence[]
按 date 聚合xiaozhi-teach-solo-dashboard 只读渲染课时与轨迹;xiaozhi-teach-renewal-report 读 perTopicMastery 与 progressEvidence 做阶段报告;xiaozhi-teach-parent-communication 读 parentSummary 这份内部草稿、润色成一条可发的消息(发送仍由老师完成)。都是它们主动读,本 SKILL 不推送。
✅ 课后记录中可使用化名(小A/小米/小张)
❌ 禁止:出现真实姓名
✅ 写入数据:可观察的行为("后 20 分钟两次走神")、掌握档位
❌ 不写入:情绪标签、家庭情况推测、对性格的评价
❌ 不写入:推断性特质(抗挫能力、思维能力、专注力强弱、学习动机)
✅ 家长摘要:基于具体行为,两道授权检查都过了才起草,且只是内部草稿
❌ 禁止:贴标签、负面评价、把课堂反应枚举值原样转述| ✅ 应该做 | ❌ 不能做 |
|---|---|
| 课后 5 分钟内补录,并写上 date | 拖到下次课才记、不写日期 |
| 记录先预览、老师确认后写入 | 老师没点头就把记录存进工作空间 |
| 5 维度结构化 + perTopicMastery | 写"今天讲了 X 章节"流水账 |
| 课时生成待确认条目,等老师点头 | 替老师把课时扣掉 |
| 课堂反应只记五档事实 | 写"触发点(猜测)"、贴情绪标签 |
| 只记可观察的行为与掌握档位 | 记"抗挫能力""思维能力"这类推断 |
| 家长摘要前查两个授权位 | 默认把情绪观察转给家长 |
| 把 parentSummary 当内部草稿 | 当成已经发给家长的消息 |
| 试听记 status=trial,不扣课时 | 试听也按正课扣 |
| 衔接建议基于实际记录 | 下节课凭印象讲 |
课后记录助手(自成闭环,不需要前置 SKILL)
读 workspace.lessonSchedule[] ← schedule-manager 写
读 workspace.studentCards[] ← student-intake 写
写 workspace.lessonLogs[] ← 本 SKILL 唯一写入方
写 workspace.coursePackageLedger[].pendingConfirmations
写 workspace.progressEvidence[] ← 与 homework-tracker、renewal-report 共用
其他 SKILL 需要课后数据时直接读上述字段。
若装有教师通用包,衔接点可带给备课类 SKILL;未安装时不影响本 SKILL 使用。禁止行为:
parentSummary 只是内部草稿,写了不等于发了parentCommunicationAllowed 为 false 或缺失时起草任何家长内容workspace.lessonLogs[]usedUnits / remainingUnitsstudentReaction 里写枚举外的值shared/off-campus-training.md 第六节)学员/家长提出时同样适用(由老师核实请求人身份后代为执行),按学员化名定位:「查看 小A 的课后记录」「删除 小A 的全部课后记录」。
校验要求:跨 SKILL 共享或建档前,须确认 consent.crossSkillSharing / consent.profileEnabled 为 true;学员卡 status 为"暂停记录"时不再写入新记录,consent.retentionUntil 到期时提示老师删除。涉及未成年人敏感信息(真实姓名、出生年月、联系方式等)须经监护人单独同意,默认不收集、不写入(详见 SECURITY_BASELINE.md)。
references/lesson-log-template.md — 课后记录 5 维度框架与填写模板、学习轨迹视图、衔接建议模板、家长事实摘要模板(含分场景话术)、评估尺度与自检清单shared/vocab.md — 掌握度五档、授权位、置信度(唯一来源)shared/grade-bands.md — 课时长度参数shared/crisis-exception.md — 危机信号处置💡 小智说: "独立教师最贵的资产不是课时费, 是累积起来的教学档案。 一年下来,你有了 50 个学员的成长轨迹, 50 个真实的案例,50 套可复用的方法—— 这些是新老师花 3 年也攒不来的东西。"
© qizhitang, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 10 other files (references) in teacher/independent/xiaozhi-teach-lesson-log of qizhitang/xiaozhi-skills.
Open the folder on GitHubat commit c65f2d4
Xiaozhi Teach Lesson Log next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Xiaozhi Teach Lesson Log this skillqizhitang/xiaozhi-skills | 105 | — | ~3.8k | Automated safety check: Pass | MIT | |
| DeepTutor CLIHKUDS/DeepTutor | 41k | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| AI Engineering Placement Quizrohitg00/ai-engineering-from-scratch | 67k | — | ~2k | Automated safety check: Pass | MIT | |
| Deep Reading Analystginobefun/deep-reading-analyst-skill | 354 | 4 repos | ~3.6k | Automated safety check: Pass | MIT | |
| OpenMAIC Setup and ExtensionTHU-MAIC/OpenMAIC | 40k | — | ~1.7k | Automated safety check: Notes | MIT | |
| Codebase to Coursezarazhangrui/codebase-to-course | 5.7k | — | ~4.4k | Automated safety check: Pass | None |
HKUDS/DeepTutor
Teaches the agent to set up and run DeepTutor from the command line: chat and capabilities, knowledge bases, partners, memory, sessions, notebooks and the server or Web app.
rohitg00/ai-engineering-from-scratch
Runs a 10-question quiz across five areas to place a learner in the AI Engineering from Scratch curriculum, so they skip what they already know.
ginobefun/deep-reading-analyst-skill
Comprehensive framework for deep analysis of articles, papers, and long-form content using 10+ thinking models (SCQA, 5W2H, critical thinking, inversion, mental models, first principles, systems…
THU-MAIC/OpenMAIC
Guides setup, classroom generation and secondary development for OpenMAIC, the multi-agent interactive classroom, one confirmed phase at a time.
zarazhangrui/codebase-to-course
Turns a codebase into an interactive single-page HTML course for non-technical learners, with scroll modules, animated diagrams, quizzes and plain-English code translations.
rohitg00/ai-engineering-from-scratch
Tutors a learner through one stage of a hands-on AI engineering project per session: lesson, prediction, code, grader run and reflection, with hints but never full solutions.
qizhitang/xiaozhi-skills
生物图表与材料题教练:陪学生读懂当前这道题里的曲线、示意图、系谱图、数据表和材料——先看轴、看点、看线,再联系教材原理作答;覆盖初中学业水平考试(会考)的识图题与高中必修、选择性必修的图表(选择性必修只对选考生物的学生讲)。
qizhitang/xiaozhi-skills
生物概念网络构建器:帮学生把零散的生物概念连成网——按"大概念 → 重要概念 → 次位概念"分层,用结构与功能、物质与能量等生命观念串起来,理清基因与染色体、光合作用与呼吸作用这类最易混的概念关系;高中覆盖必修与选择性必修的概念层级(选择性必修只对选考生物的学生)。
qizhitang/xiaozhi-skills
初中到高中的生物错题根因分析与档案:按生物六维(概念网络、结构与功能、图表识读、变量与实验设计、表述与术语、遗传与数据计算)定位子类型,给出弱项报告;高中覆盖必修与选择性必修(维度表第八、十一、十二节)。
qizhitang/xiaozhi-skills
遗传推理教练:陪学生做当前这道遗传题——定性状、定基因组成、画遗传图解、算概率;初中讲显性与隐性、基因组成和性别决定,高中必修讲分离定律、自由组合定律、伴性遗传与系谱图判断,以及 DNA 复制与基因表达的计算、可遗传变异、基因频率。
qizhitang/xiaozhi-skills
生物实验探究教练:讲清探究的步骤、对照实验怎么设计、每一步为什么这样做、结论怎么写,覆盖初中常见实验与实验操作考试备考,以及高中必修与选择性必修的学生活动与实验设计题。
qizhitang/xiaozhi-skills
初高衔接规划:中考结束到高一上学期,诊断语文、数学、物理、化学、英语、生物、地理、历史各自的衔接缺口,排出暑假与高一开学头几周的衔接计划,再把具体内容交给对应的学科技能。
Categories
把独立教师的课后记忆变成结构化教学档案,每节课 5 分钟记完. An agent skill from qizhitang/xiaozhi-skills. Xiaozhi Teach Lesson Log is an agent skill from qizhitang/xiaozhi-skills.
Xiaozhi Teach Lesson Log fits situations like: education work in your project.
Run `npx skills add qizhitang/xiaozhi-skills --skill xiaozhi-teach-lesson-log -a claude-code`. Or copy the skill folder (teacher/independent/xiaozhi-teach-lesson-log in qizhitang/xiaozhi-skills) into .claude/skills/xiaozhi-teach-lesson-log in your project. Claude Code loads it when a task matches its description.
Run `npx skills add qizhitang/xiaozhi-skills --skill xiaozhi-teach-lesson-log -a codex`. Or copy the skill folder (teacher/independent/xiaozhi-teach-lesson-log in qizhitang/xiaozhi-skills) into .agents/skills/xiaozhi-teach-lesson-log in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add qizhitang/xiaozhi-skills --skill xiaozhi-teach-lesson-log -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/xiaozhi-teach-lesson-log, .gemini/skills/xiaozhi-teach-lesson-log, .github/skills/xiaozhi-teach-lesson-log and .opencode/skills/xiaozhi-teach-lesson-log in your project.
SKILL.md names no scripts, command-line tools or credentials: Xiaozhi Teach Lesson Log is instructions for the agent only. Compatibility (from SKILL.md): WorkBuddy / SkillHub / OpenClaw / ClawHub.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Xiaozhi Teach Lesson Log is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Xiaozhi Teach Lesson Log: DeepTutor CLI (HKUDS/DeepTutor, 41k stars), AI Engineering Placement Quiz (rohitg00/ai-engineering-from-scratch, 67k stars), Deep Reading Analyst (ginobefun/deep-reading-analyst-skill, 354 stars) and OpenMAIC Setup and Extension (THU-MAIC/OpenMAIC, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
qizhitang (a GitHub user) maintains it in qizhitang/xiaozhi-skills, which has 105 GitHub stars. The repository holds 84 skills in this directory. The repository was last updated on October 9, 2026.
Source: qizhitang/xiaozhi-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.