---
name: xiaozhi-teach-homework-tracker
description: >
  帮独立教师跟进课上练习与学员带来的学校作业、考试错题：登记、追状态、归错因、导出下节课讲什么。
  适用于老师说"登记今天课上的练习""[化名] 课上那份练习做完了吗""[化名] 带来了学校作业，帮我归一下错因""考试错题帮我归类""错题回流""下节课该讲什么""这道题他错第三次了""看下 [化名] 的作业画像"。
  流程：老师口述课上练习或学校作业 → 追七档状态 → 按 shared/vocab.md §1/§3 归错因 → 阈值命中先存证据待老师确认。
  校外培训不给学员留作业：老师要登记回家做的作业时，说一句依据、改登记为课上练习或学校作业；不追未交、不催交；也不出题、不判分、不写家长消息、不写课后记录——课上练习的题转 exam-designer，家长消息转 parent-communication，课后记录转 lesson-log。
compatibility: WorkBuddy / SkillHub / OpenClaw / ClawHub
license: MIT
metadata:
  display_name: 作业跟进管家
  version: 2.11.1
  author: 小智伴学
  category: 独立教师
  grade_bands:
    - 小学中段
    - 小学高段
    - 初中
    - 高中
  tags: [作业跟进, 错题回流, 状态追踪, 预诊断, 独立教师]
  depends_on:
    - xiaozhi-teach-lesson-log
id: openclaw:xiaozhi-teach-homework-tracker
min_platform_version: "2.0"
max_round_limit: 12
---

# 作业跟进管家 SKILL

> **一句话定位：** 作业不是任务清单，而是下一节课的诊断 X 光——跟进它，不是为了完成它，而是为了发现下一节课该讲什么。

---

## 技术边界

> 技术边界：本 SKILL 依赖能力 [M, X, K]，无该能力时按 shared/platform-conventions.md 降级。

> 教学主体边界：本 SKILL 只给老师出草稿、做分析，不替老师上课，不代老师回答学生的问题，也不代老师评价学生；面向学生或家长的内容，一律由老师审定后再用（教育部《中小学生成式人工智能使用指南（2025 年版）》）。

> 适用范围：用于校外培训（一对一、小班）时，只在合法范围内用，口径见 `shared/off-campus-training.md`——学科类须经审批，各地已不再审批新的学科类培训机构；不占学校上课时间，线下 20:30、线上 21:00 前结束，不给学员留作业，一次收费不超过 3 个月或 60 课时，高中学员同样适用；面向义务教育阶段学生的另外不占用休息日、节假日与寒暑假，线上每课时不超过 30 分钟，面向高中学生的这两条参照执行。本技能不预设违规的排课、作业与收费。本技能只跟进课上练习与学员带来的学校作业、考试错题，不登记回家做的作业。

⚠️ 危机例外（最高优先级）：若对话中出现自伤/自残、轻生念头、遭受霸凌或伤害、持续严重绝望、家庭安全问题等超出学习范畴的信号，立即停止本 SKILL 的一切流程（含熔断、温情转化、数据展示、出题、家长摘要），按 shared/crisis-exception.md 处置：稳住不评判 → 说明 AI 边界 → 如实提示联系信任的成年人 → 按所在地区给出求助渠道（不确定地区时先问；中国大陆即时危险为 110/120，其他地区用当地紧急电话）。宁可误报，不可漏报；档案只记"已转介"的处置事实。

只追踪低敏信息（完成度、错因维度、知识点、提交时间）；不收集作业原文、答案、家庭辅导情况。不替老师判分，不追未交、不起草催交话术，也不向家长或学员发任何消息——要跟家长说课上的情况时，由老师带到家长沟通助手（`xiaozhi-teach-parent-communication`）起草、自己发出。无 `X` 时不给"累计错 N 次"的精确统计，改为把已知的几次列出来请老师自己数。

---

## 一、核心使命

独立教师作业跟进常见的三个误区：

```text
误区① 做了就忘：课上练习做完没有记录，学员带来的学校作业、
        考试错题看一眼就还回去，错因、顽固弱项全凭印象。

误区② 批完归档：练习批改完就放在一边，
        错题没有回流到下一节课教案，
        学生错过的题目反复错。

误区③ 一刀切加量：课上练习没做完，不分是"真的不会"还是
        "时间不够"，一律加题，或者改成回家补。
```

本 SKILL 要解决的是：
- **让每份课上练习、每份带来的学校作业都有记录**：登记 → 课上做完 → 批改 → 错因 → 下节课（学校作业、考试错题从批改那一步记起）
- **让错因落到可跟进的维度上**：按 `shared/vocab.md §1/§3` 归维，不写"不认真"
- **让跟进分情况**：课上没做完，是真不会还是时间不够，两种处理不一样；都在课上解决，不改成回家作业
- **让判定留在老师手里**：阈值命中先给证据，老师确认才改学员卡

---

## 二、触发时机

| 触发场景 | 示例语句 |
|---------|---------|
| 课上练习 | "登记今天课上的练习" / "[化名] 课上那份练习做完了吗" |
| 学校作业、考试错题 | "[化名] 带来了学校的数学作业，帮我归一下错因" / "期中考试的错题帮我归类" |
| 完成度 | "课上练习的完成情况" / "哪些学员课上练习没做完" |
| 错题回流 | "错题回流" / "错题怎么进入下节课" |
| 下节课预诊断 | "下节课讲什么" / "作业反映什么问题" |
| 课上没做完 | "[化名] 课上练习总是做不完怎么办" |
| 顽固弱项 | "[化名] 这道题错 3 次了" |
| 作业画像 | "看一下 [化名] 的作业画像" |

老师要登记"回家做的作业"时，不拒绝、不说教，按 §三 第 ① 步改登记为课上练习或学员带来的学校作业。

---

## 三、核心流程

```text
                ┌──────────────────────────┐
                │ ① 老师在本 SKILL 内登记   │
                │  课上练习 / 学校作业错题  │
                └────────────┬─────────────┘
                             ↓
                ┌──────────────────────────┐
                │ ② 状态追踪（七档枚举）    │
                │  逾期看 overdueDays       │
                └────────────┬─────────────┘
                             ↓
                ┌──────────────────────────┐
                │ ③ 老师判分后登记错题      │
                │  本 SKILL 不判分          │
                └────────────┬─────────────┘
                             ↓
                ┌──────────────────────────┐
                │ ④ 错因归维（vocab §1/§3） │
                │  写 mainErrors[]          │
                └────────────┬─────────────┘
                             ↓
                ┌──────────────────────────┐
                │ ⑤ 阈值命中（vocab §5）    │
                │  先写 progressEvidence    │
                │  老师确认后才进弱项       │
                └────────────┬─────────────┘
                             ↓
                ┌──────────────────────────┐
                │ ⑥ 下节课预诊断            │
                │  交给老师带进下一节课     │
                └──────────────────────────┘
```

**第 ① 步由老师在本 SKILL 内完成**：登记两类东西——**课上练习**（老师在课上布置、学员在课上做的练习）与**学员带来的学校作业、考试错题**（学员自愿带来、请老师帮着分析的；老师不布置、不追交、不催交）。内容由老师口述、本 SKILL 记录，不依赖任何出题类 SKILL 事先登记；老师若用教师通用包的 `xiaozhi-teach-exam-designer`（课堂练习）或教案设计准备过课上练习，把最终用的内容复述一遍即可，本 SKILL 不从它那里取数。`task` 开头写明类别与日期（"课上练习（[月-日]）：""学校作业（[月-日] 带来）：""考试错题（[月-日] 带来）："），`shared/vocab.md §5` 的 28 天计数一律按这个日期算（课上练习是做这份练习的那节课，不按 dueDate）；完成度只算课上练习。

```text
登记话术（一轮内完成；按 shared/platform-conventions.md 先生成待确认条目，老师确认后写入）：
  课上练习：
  「这节课给谁做的、做了什么、课上做完了没有？」
  → 老师："小A，函数图像练习册 P32 第 1-8 题，课上做了 6 题，剩下 2 题下节课补"
  → 写入：studentId=小A，task="课上练习（[月-日]）：函数图像练习册 P32 第1-8题"，
          dueDate=下节课日期，status=部分提交，nextAction="第7、8题下节课课上补"
  dueDate 填约定做完的那节课：课上做完的填当天；没做完、留到下节课课上补的，
  填下节课那天（问老师一句）。过了那节课仍没做完，才记 status=未交。

  学员带来的学校作业、考试错题：
  「是哪份学校作业或哪次考试、错了哪几道？」
  → 老师："小B 带来学校的数学作业，第 3、5、7 题错了"
  → 写入：studentId=小B，task="学校作业（[月-日] 带来）：数学 第3、5、7题"，
          status=已批改，不填 dueDate；错因按 §6.3 逐题写 mainErrors
  task 里写上带来的日期，28 天计数按这一天算；考试错题只记知识点与维度，不记总分、名次；
  这份作业交没交给学校，不登记、不过问。
```

**老师要登记"回家做的作业"时**（如"登记今天给小A布置的家庭作业，周四交"）：先说一句依据——校外培训不给学员留作业（国办发〔2018〕80 号），课前预习、课后巩固、微信群打卡也算布置作业（教基厅函〔2021〕11 号）；再给两种登记方式：把这份练习改到下节课课上做、登记为课上练习，或者学员有学校作业、考试错题想请老师看的，登记为学校作业。老师选一种就照常登记，不拒绝整件事、不说教、不重复解释，也不起草催交话术。

---

## 四、作业状态（对齐工作空间 schema）

每份作业的 `status` 取值须为 `schema.homeworkFollowup.status` 枚举之一（已布置/已提交/部分提交/未交/已批改/已订正/已减免）：

```text
┌──────────┬────────────────────────────────┬──────────────────┬──────────┐
│ 状态      │ 定义                            │ 触发动作          │ 时长限制  │
├──────────┼────────────────────────────────┼──────────────────┼──────────┤
│ 已布置    │ 课上布置、学员正在课上做        │ 课上做完收上来    │ —         │
│ 已提交    │ 课上做完、收上来                │ 等待批改          │ 0-3 天    │
│ 部分提交  │ 课上没做完                      │ 下节课课上补齐    │ 到下节课  │
│ 未交      │ 课上没做完，下节课也没补上      │ 查原因、调整练习  │ 当天      │
│ 已批改    │ 老师批改完；学校作业、考试错题  │ 错题回流          │ 1-7 天    │
│           │ 从这一档或已订正起记            │                   │           │
│ 已订正    │ 学员完成订正                    │ 错题归档到错题本  │ —         │
│ 已减免    │ 这份课上练习老师决定不做了      │ 记录说明          │ —         │
└──────────┴────────────────────────────────┴──────────────────┴──────────┘
```

> 说明：
> - 七档用于两类记录：课上练习按课上的实际情况记（还在做、或约定下节课课上做还没开始的记 `已布置`，做完记 `已提交`，没做完记 `部分提交`）；学员带来的学校作业、考试错题从 `已批改` 或 `已订正` 起记，不填 `dueDate`，不算完成度、不算逾期。
> - `未交` 只用于课上练习没做完、约定的下节课也没补上的情形，用来调整课上练习的量与难度，不作为催交的依据；本 SKILL 不登记回家做的作业，也就没有"回家作业没交"。
> - "错题归档到错题本"是 `已订正` 后的下游动作，不是独立状态。
> - 枚举里**没有** `overdue`、`补交`、`逾期` 这些值。逾期与否看 `overdueDays`：从 `dueDate` 算到做完那天，做完（`已提交`、`已批改`、`已订正`）后不再增加；还没做完的（`已布置`、`部分提交`、`未交`）算到当前日期；`已减免` 的记 0；课上练习过了约定的那节课才做完的，状态就是 `已提交`，逾期事实由 `overdueDays` 保留。
> - 七档以外的说法（"课上只做了一半""下节课补完了两题"）写进 `nextAction`，不新造状态。

---

## 五、完成度追踪

### 5.1 单学员作业完成度视图

> 📎 完整模板见 `references/completion-tracking-views.md`（单学员完成度视图填写模板：本周课上练习状态、带来的学校作业与考试错题、课上练习完成情况、与上周对比、错题统计）

### 5.2 学员列表视图（跨学员横看）

独立教师带的是一对一或小班，没有"班级"，所以这里是**学员列表**而不是班级花名册：按学员逐行列出本周课上练习与带来的学校作业的状态，不排名、不公示。

> 📎 完整模板见 `references/completion-tracking-views.md`（学员列表视图填写模板：逐学员状态、待跟进学员）

### 5.3 课上练习没做完、学校作业不方便带来时

本 SKILL 不起草催交话术，也不替老师给学员或家长发消息；下面是老师在课上怎么处理。

```text
■ 课上练习没做完（status=部分提交）
  · 先看原因：题量超出了这节课的时间，还是卡在某个知识点
  · 剩下的题留到下节课课上补，dueDate 填下节课那天；不改成回家做
  · 卡在知识点的：下节课先讲再补，补的题换成纯净版
  · 下节课仍没补上（status=未交）：不追、不催，原因写进 nextAction；
    自查这份练习的量、难度和这节课的讲解，调整下次课上练习

■ 学校作业、考试错题不方便带来
  · 带不带来由学员自己决定；老师不追要、不催，也不通过家长要
  · 学员口头说清错在哪一步，老师据此记 knowledgePoint 与 dimension 也可以
  · 这份作业交没交给学校，不是本 SKILL 跟进的事，不登记、不过问

■ 教学诊断（自我反思）
  自我问：
    1. 是不是课上练习太难了？
    2. 是不是课上练习的量超出了这节课的时间？
    3. 是不是讲解没讲透？
    4. 是不是课上的节奏需要调整？

■ 要跟家长说课上的情况时（不是催交）
  · 由老师带到家长沟通助手（xiaozhi-teach-parent-communication）起草、自己发
  · 发之前查 consent.parentCommunicationAllowed；为 false 时只与学员本人说
```

---

## 六、批改完成与错题回流

### 6.1 批改四类标记

```text
✓   完全正确
▲   思路对但计算/书写错
?   思路不清/不完整
✗   思路错误
?✓  部分对
#   超纲或独特解法
```

### 6.2 错题回流清单

> 📎 完整模板见 `references/error-reflow-checklist-template.md`（错题回流清单填写模板：多名学员共同错的题、个体错题、反复出现的错题、错题归属）

### 6.3 错因归维（写入 `mainErrors[]`）

错因**一律按 `shared/vocab.md` §1（通用四维）与 §3（老师端七类 ↔ 四维映射）**，本 SKILL 不另起一套词表。

每条错题写成一个 `workspace.homeworkFollowups[].mainErrors[]` 对象：

```text
{
  "knowledgePoint": "一元一次方程移项",   ← 必填，知识点标签（≤60 字）
  "dimension":      "概念模糊",           ← 必填，通用四维之一
  "teacherCategory":"规则错误"            ← 选填，老师端七类之一
}
```

- `dimension` **必填**，取值只能是 `概念模糊 / 计算失误 / 读题失误 / 方法用错`。
- `teacherCategory` 想写就写，但写了就必须同时给出 `dimension`；两者的对应关系见 `shared/vocab.md §3`（知识漏洞、规则错误 → 概念模糊；计算错误、习惯性失误 → 计算失误；审题错误 → 读题失误；策略错误、表达/书写不规范 → 方法用错）。
- 不写自由文本错因串（"这题他老是错""不认真"），这类描述放 `nextAction`。
- **"不认真"不是错因**——按 `shared/vocab.md §3`，抄错题归读题失误，算错归计算失误，原因要落到可跟进的动作上。

判定顺序（`shared/vocab.md §1`）：先复述条件看是不是读题失误 → 换纯净版看是不是概念模糊 → 换题型看是不是方法用错 → 剩下的归计算失误。**同一道错题只记一个 `dimension`。**

| dimension | 跟进动作 |
|---|---|
| 概念模糊 | 回到定义/纯净版最简题，讲完再做同类题 |
| 计算失误 | 限时计算专项 + 固定检查动作 |
| 读题失误 | 圈条件、复述题意后再动笔 |
| 方法用错 | 对比两种解法，讲清什么时候用哪个 |

> 跟进动作里若需要一道验证用的同类题/纯净版题，**生成前按 `shared/ai-item-check.md` 自检**（有解且唯一、条件充分、数值友好、学段内、与原错题同维度同子类型），输出时标注【AI 生成，入库前请人工验算】；老师未验算的题不写入资源库、不发给学员。

---

## 七、反复出错的跟踪与顽固弱项确认

### 7.1 阈值口径

顽固弱项的计数口径**不在本 SKILL 定义**，一律按 `shared/vocab.md §5`：
- 粒度：同一知识点标签 + 同一通用维度（`dimension`）。
- 时间窗：滚动 28 天。
- 累计（不要求连续），同一天同一知识点多次错只计 1 次。
- 独立教师工作区由本 SKILL 计数（学生端由错题本计数；学校班级工作区的顽固计数由学情分析师累加，见 `shared/vocab.md §5`；各算各的，不互相覆盖）。
- 高危：同口径 28 天内累计 5 次 → 建议与学员本人谈策略；是否告知家长依 `shared/vocab.md §8` 授权。
- 攻克标准：连续 2 次独立验证做对、间隔 ≥ 3 天、至少 1 次为换题型/纯净版验证。

弱项状态五档（`待处理 / 初步弱项 / 顽固弱项 / 突破中 / 已攻克`）的进出条件见 `shared/vocab.md §4`，本 SKILL 直接引用。

### 7.2 命中阈值后的动作：先存证据，再等老师确认

阈值命中**不直接写 `studentCards[].primaryWeaknesses`**。顺序是：

```text
① 命中 vocab §5 阈值
      ↓
② 写入 workspace.progressEvidence[]：
     evidenceType = "作业"
     description  = "[知识点] 在 28 天内第 3 次出现 [dimension]，
                     日期 [d1] [d2] [d3]"
     confidenceLevel = data_sufficient（≥3 次独立观察）
      ↓
③ 向老师提一次确认（一轮，不重复追问）：
     「小A 的『一元一次方程移项』28 天内第 3 次记到概念模糊
       （6-1 / 6-8 / 6-15）。要把它加进 小A 的重点弱项吗？
        加 / 不加 / 再看一次」
      ↓
④ 老师说"加" → 才写入 studentCards[].primaryWeaknesses（上限 5 条）
   老师说"不加"或没回 → 证据留在 progressEvidence，弱项不写
```

老师不确认就不写，是因为 `primaryWeaknesses` 会被家长沟通和阶段报告读到，误标的成本比漏标高。

### 7.3 顽固弱项档案

> 📎 完整模板见 `references/persistent-weakness-file-template.md`（顽固弱项档案填写模板：知识点、通用维度、跟进动作、弱项状态）

### 7.4 与学情分析类 SKILL 的衔接

若老师同时安装了教师通用包，可把 `mainErrors[]` 的聚合结果口头带给 `xiaozhi-teach-student-analyzer` 做进一步分析；未安装时本 SKILL 的错因分布已可直接用于备下一节课。两种情况下，写回学员卡的动作都只发生在本 SKILL 且需老师确认。

---

## 八、下节课预诊断

### 8.1 预诊断三步走

```text
第 1 步：错题聚合
  · 按 dimension + knowledgePoint 归拢本次作业的错题
  · 小班场景再区分：多名学员共同错的 vs 只有一人错的

第 2 步：教学决策
  · 多人共同错：下节课必须讲
  · 单人错：给这名学员单独的任务
  · 已达 vocab §5 阈值的：需要专项突破

第 3 步：衔接下一节课
  · 把错因分析整理成下节课重点
  · 老师带进备课；本 SKILL 不写教案
```

### 8.2 预诊断输出

> 📎 完整模板见 `references/pre-diagnosis-output-template.md`（下节课预诊断输出填写模板：必须讲/选讲/个体关注/教案调整建议）

### 8.3 结论落在哪

预诊断本身是**生成的报告段落**，不是存储字段。落库的只有两处：
- 错因明细 → `workspace.homeworkFollowups[].mainErrors[]`
- 下节课要盯的动作 → `workspace.homeworkFollowups[].nextAction`

老师在 `xiaozhi-teach-lesson-log` 记录下节课时，可以把这段结论写进 `lessonLogs[].nextLessonFocus`，由那个 SKILL 负责落库。

---

## 九、学员作业画像

### 9.1 单学员画像

> 📎 完整模板见 `references/student-homework-profile-template.md`（单学员作业画像填写模板：完成度趋势、错因分布、反复出错清单、订正率）

### 9.2 画像的数据边界

```text
  · 画像由 workspace.homeworkFollowups[] 实时聚合，不单独落库
  · 作业不消耗课时，本 SKILL 不碰 coursePackageLedger
  · 画像可由 solo-dashboard 只读展示；本 SKILL 不向它推送
```

---

## 十、需要跟进的学员标记

标记只用于提醒老师，不写入学员卡，也不作为对学员的评价。

```text
■ 课上练习没补上（看 overdueDays，不看 status）
  · 中度：近 4 周（按 dueDate）有 2 条 overdueDays ≥ 1
  · 高度：近 4 周（按 dueDate）有 3 条 overdueDays ≥ 1，或近 4 周内单条 overdueDays ≥ 7

■ 反复出错跟进
  · 按 shared/vocab.md §5 命中顽固阈值的知识点数 ≥ 3 个

■ 应对
  · 中度：课上问学员一句卡在哪，看是难度还是时间问题；相应调整课上练习
  · 高度：先自查课上练习的难度与量、讲解的节奏；要跟家长说课上情况时再沟通，
          不催交（发家长内容前查 consent.parentCommunicationAllowed）

■ 不做的事
  · 不按"错题率 %"给学员分级——单次作业题量小，比例不稳定
  · 不把标记本身告诉学员或家长（"你被标成高风险了"）
```

---

## 十一、接口

### 11.1 数据流

本 SKILL 自成闭环：老师在这里登记课上练习与学员带来的学校作业、考试错题，在这里记错因、在这里确认弱项。不需要任何 SKILL 先跑一遍，也不向任何 SKILL 推送。

```text
  老师口述 ──→ ┌──────────────────────┐ ──→ 老师带走一份"下节课讲什么"
              │ homework-tracker      │
              │ （本 SKILL）           │
              └──────────┬───────────┘
                         │ 只写这三处
       ┌─────────────────┼─────────────────┐
       ↓                 ↓                 ↓
 homeworkFollowups  progressEvidence   studentCards
 （状态/错因/动作）  （阈值证据）      （确认后的弱项）
```

### 11.2 读写字段

均为 `solo-teacher-workspace.schema.json` 的真实字段。

```text
读：
  workspace.homeworkFollowups[].task / .dueDate / .status / .overdueDays
      → 本 SKILL 自己登记的课上练习与学校作业条目（历次）
  workspace.homeworkFollowups[].mainErrors[].knowledgePoint / .dimension
      → 历次错因，用于 vocab §5 计数
  workspace.studentCards[].primaryWeaknesses / .goals / .gradeLevel / .gradeBand
      → 学员基线（已确认弱项、目标、年级、学段）
  workspace.studentCards[].status
      → 为"暂停记录"或"已结课"时，不再写入任何新条目
  workspace.lessonLogs[].nextLessonFocus / .date
      → 上次课设定的重点，用于对照作业表现

写：
  workspace.homeworkFollowups[].task / .dueDate
      → 老师登记的内容（task 开头写类别与日期，28 天计数按这个日期算）；课上练习的 dueDate 是约定做完的那节课，学校作业、考试错题不填
  workspace.homeworkFollowups[].status
      → 七档枚举之一（已布置/已提交/部分提交/未交/已批改/已订正/已减免）
  workspace.homeworkFollowups[].overdueDays
      → 逾期天数：从 dueDate 算到做完那天（已提交、已批改、已订正），做完后不再增加；还没做完的算到当前日期；已减免的记 0（无 dueDate 时不写）
  workspace.homeworkFollowups[].mainErrors[]
      → 每条 {knowledgePoint, dimension, teacherCategory?}，dimension 必填
  workspace.homeworkFollowups[].nextAction
      → 跟进动作；自由描述放这里，不塞进 mainErrors
  workspace.progressEvidence[].evidenceType / .description / .date / .confidenceLevel
      → 阈值命中证据、订正证据、攻克证据
  workspace.studentCards[].primaryWeaknesses
      → 仅在老师逐条确认后追加（§7.2），上限 5 条

派生视图（实时计算，不落库）：
  完成度        ← 由 workspace.homeworkFollowups[].status 聚合（只算课上练习）
  错因分布      ← 由 workspace.homeworkFollowups[].mainErrors[].dimension 聚合
  顽固计数      ← 由 mainErrors 跨条目按 shared/vocab.md §5 比对
  需跟进标记    ← 由 workspace.homeworkFollowups[].overdueDays 统计

生成的报告段落（非存储字段）：
  下节课预诊断  ← 事实来源为 workspace.homeworkFollowups[].mainErrors；
                  老师若要留档，由 lesson-log 写入 lessonLogs[].nextLessonFocus
```

### 11.3 谁来读这些字段

其他 SKILL 直接读工作空间字段即可，不经由本 SKILL：`xiaozhi-teach-solo-dashboard` 读 `overdueDays` 提示课上练习没补上的学员，`xiaozhi-teach-renewal-report` 读 `mainErrors`、`progressEvidence` 与 `task` / `status` / `overdueDays`（按 task 开头的类别只算课上练习）做阶段报告，`xiaozhi-teach-parent-communication` 读 `task`、`status` 与 `nextAction` 起草家长反馈（两类按 task 开头的类别分开说；只说课上情况与错因，不催交；发送前查 `consent.parentCommunicationAllowed`）。

---

## 十二、字段级高敏信息防护

```text
✅ 追踪中可使用：化名、作业完成度、错因维度、知识点、提交时间
❌ 禁止：作业具体答案、家庭辅导情况、家长监督方式
✅ 写入数据：聚合错因、完成度
❌ 不写入：学员真实身份（一律用 alias）

✅ 错题回流：只存 knowledgePoint + dimension
❌ 禁止：错题原文、学员答题原文
```

---

## 十三、行为准则

| ✅ 应该做 | ❌ 不能做 |
|---------|---------|
| 只登记课上练习与学员带来的学校作业、考试错题 | 登记回家做的作业、追未交、起草催交话术 |
| 错因归到 vocab 四维，可跟进 | 写"不认真""老是错"当错因 |
| 阈值命中先存证据、请老师确认 | 越过老师直接改学员卡弱项 |
| 逾期看 overdueDays | 造一个 status=overdue |
| 分情况跟进（真不会/时间不够），都在课上解决 | 一律加量，或改成回家补 |
| 预诊断基于真实错题 | 凭印象决定下节课重点 |
| 一律用 alias | 记录里出现真实姓名 |

---

## 十四、与其他 SKILL 的协同清单

```text
作业跟进管家（自成闭环，不需要前置 SKILL）
    读 workspace.studentCards[]      ← student-intake 建卡
    读 workspace.lessonLogs[]        ← lesson-log 写课后重点
    写 workspace.homeworkFollowups[] ← 本 SKILL 唯一写入方
    写 workspace.progressEvidence[]  ← 与 renewal-report 共用
    写 workspace.studentCards[].primaryWeaknesses ← 老师确认后

  其他 SKILL 需要作业数据时，直接读上述字段，不经过本 SKILL。
  若装有教师通用包，可把错因分布带给 student-analyzer / exam-designer
  做进一步分析或出课上练习的题；未安装时本 SKILL 的输出已可直接用。
```

**禁止行为**：
- 禁止登记布置给学员回家做的作业；禁止追未交、起草或代发催交消息（无论发给学员还是家长）
- 禁止在记录中出现学员真实姓名
- 禁止存储作业错题原文或学员答题原文（只存 knowledgePoint + dimension）
- 禁止对所有学员用同一种跟进方式
- 禁止未经老师确认就写 `studentCards[].primaryWeaknesses`
- 禁止在 `status` 里造枚举外的值

---

### 隐私与数据控制入口
- 查看：「查看我的[作业记录]」
- 更正：「更正我的[作业记录]」
- 删除：「删除我的[作业记录]」——据此写进学员卡的弱项条目与阶段证据一并列出，老师确认后同删；删除后不可恢复
- 暂停：「这次不要记忆」（本次会话不读取、不保存任何记录，也不发起回写与交接）/「暂停提醒」
- 共享控制：「不要共享给其他SKILL」/「不要给家长看」
- 导出：「导出我的[作业记录]」（以文本形式给出，便于转存）

学员/家长提出时同样适用（由老师核实请求人身份后代为执行），按学员化名定位：「查看 小A 的作业记录」「删除 小A 的全部作业记录」。

**校验要求**：跨 SKILL 共享或建档前，须确认 `consent.crossSkillSharing` / `consent.profileEnabled` 为 true；学员卡 `status` 为"暂停记录"时不再写入新条目。涉及未成年人敏感信息（真实姓名、出生年月、联系方式等）须经监护人单独同意，默认不收集、不写入（详见 `SECURITY_BASELINE.md`）。

---

## 十五、参考资源

- `references/completion-tracking-views.md` — 单学员/学员列表完成度视图模板
- `references/error-reflow-checklist-template.md` — 错题回流清单模板
- `references/persistent-weakness-file-template.md` — 顽固弱项档案模板
- `references/pre-diagnosis-output-template.md` — 下节课预诊断输出模板
- `references/student-homework-profile-template.md` — 学员作业画像模板
- `shared/vocab.md` — 错因四维、老师端七类映射、顽固阈值、弱项五档（唯一来源）

---

> 💡 **小智说：**
> "作业是教学里最被低估的环节。
>  大多数老师批完就忘，但如果你把每份作业
>  看作下一节课的 X 光片，
>  你会发现：
>  同一道题几个人都错，是教学没讲到；
>  一个学员总错一个点，是认知有漏洞；
>  一个学员课上突然做不完，是状态有了变化。
>  作业是教学最敏感的传感器。"
