---
name: xiaozhi-chemistry-error-dna
description: >
  初中到高中必修起点的化学错题根因分析与档案，做化学六维（符号/微观/宏观概念/读题/实验/计算）子类型定位与弱项报告。
  触发语示例："我为什么总是配不平方程式""化学推断题老错在哪""溶质质量分数每次都算错""帮我分析化学错误规律""我化学是不是没天赋"。
  学科判别：错题涉及化学式、化学方程式、元素与化合价、酸碱盐、溶液、实验装置，或高中必修起点的相关内容时归本 SKILL；纯物理量计算转物理错误DNA。
  不处理：错题的初始收录与 28 天累计计数（由通用错题本唯一负责）、当下这道题的解题引导（转化学解题教练）、粒子层面的概念重建（转微观世界想象器）。
compatibility: WorkBuddy / SkillHub / OpenClaw / ClawHub
license: MIT
metadata:
  display_name: 🧬 化学错误DNA
  version: 2.2.0
  author: 小智伴学
  category: 化学专项
  grade_bands:
    - 初中
    - 高中
  tags: [化学, 错题, 错误追踪, 弱项分析, 三重表征, 化学焦虑, 月报, 授权可控]
  depends_on:
    - xiaozhi-learning-dna
---

# 🧬 化学错误DNA SKILL

> **一句话定位：** 普通错题本告诉你"哪道化学题错了"——
> 化学错误DNA告诉你"你总在宏观、微观、符号的哪一环上断掉"，
> 然后用数据替换那个模糊的"我化学不行"。

> 技术边界：本 SKILL 依赖能力 [M, X, O]，无该能力时按 shared/platform-conventions.md 降级。
> 特有降级话术：无跨会话统计能力时，不输出"上个月你错了 N 次"这类历史数字，只给本次会话内看到的现象并标 🔴 样本不足。
> 使用前提：小学学段须有家长或老师在场陪同使用（shared/vocab.md §8 规则 4）；学生说明正在考试或测验中时，不讲该题、不给提示，约好考完再复盘（shared/hint-ladder.md §〇）。

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

### 隐私与数据控制入口
- 查看：「查看我的化学错误档案」
- 更正：「更正我的化学错误档案」
- 删除：「删除我的化学错误档案」（删除后不可恢复，会先确认一次）
- 暂停：「这次不要记忆」/「暂停提醒」
- 共享控制：「不要共享给其他SKILL」/「不要给家长看」
- 导出：「导出我的化学错误档案」（以文本形式给出，便于转存）

---

## 〇、学段与范围

| 学段 | 范围 |
|---|---|
| 学校还没教化学 | 开课年级各地不同（见 shared/grade-bands.md §四），七、八年级学生先问一句学校教没教过。没教过就如实说明还没开课，不做错因分析；如果是物理或生物题，转对应技能 |
| 初中（学校已开化学课，含《科学》课里的化学内容） | 本 SKILL 的主体：维度表第二至七节的子类型 |
| 高中 | 目前覆盖必修起点（物质的量、氧化还原、电离与离子反应），用维度表第八节的子类型；更后面的高中内容（元素周期律、化学反应原理、有机化学等）如实说明暂不覆盖，只做通用四维分类 |

学生是高中生时，先看 `basicInfo.subjectSelection`（授权后才读）：没有选考化学的学生按学业水平合格性考试的深度分析，不推选考难度的突破题。

---

## 一、核心使命

化学错题有一个物理、数学都没有的特征：**同一件事要在三个层面之间来回翻译**。

```
宏观：往澄清石灰水里吹气，石灰水变浑浊
微观：二氧化碳分子与氢氧化钙反应，生成碳酸钙和水
符号：CO₂ + Ca(OH)₂ = CaCO₃↓ + H₂O
```

学生说"我化学不行"，真实情况几乎总是其中某一环断了：

- 方程式配不平——常常是"原子重新组合"这一层没想清楚（微观），不是不会数数；
- 推断题做不出——常常是物质性质没掌握（宏观），或题眼没看见（读题）；
- 计算题算错——要先排除列式本身是不是就错了。

这个 SKILL 把"化学不行"拆成具体的维度和子类型，每一类都有对应的练法。

⚠️ **与通用错题本的分工**：本 SKILL 是通用错题本在化学领域的深度层，不是第二套错题本。

| 职责 | 归属 |
|---|---|
| 接收化学错题、拍题收集信息、基础四维分类、表面信息存档 | 通用错题本 |
| **28 天累计计数与"顽固"判定** | **通用错题本（唯一计数权威，shared/vocab.md §5）** |
| 化学六维子类型定位、跨维度关联、顽固弱项突破流程 | 本 SKILL |
| 化学焦虑处理、化学弱项月报（学生要求时） | 本 SKILL |

**通用层记表面，化学层记根因；不产生重复记录，不重复触发预警。**

---

## 二、六维错因分类体系

子类型定义见 `references/chemistry-error-dimension-table.md`（本 SKILL 持有原件，其他化学技能随包带的是同一份副本）。

| 维度 | 定义 | 典型特征 | 突破方法 |
|---|---|---|---|
| 符号表征 (HS) | 化学用语写错或读不懂 | 化合价记错、化学式写错、方程式配不平 | 转化学用语与方程式教练做专项；先粒子图后配平 |
| 微观表征 (HM) | 粒子层面说不清 | "受热膨胀是分子变大"；说不出化学变化的微观本质 | 转微观世界想象器重建粒子图景 |
| 宏观概念 (HC) | 物质、变化、性质概念混淆 | 碳酸钠溶液显碱性就当成碱；"降低着火点"灭火 | 概念对照 + 纯净版判断题 |
| 读题与条件 (HR) | 漏读关键限定 | "足量""恰好完全反应""滴加顺序"没用上 | 复述条件训练：先圈出限定词再作答 |
| 实验与探究 (HE) | 装置、操作、现象、方案、安全出错 | 现象写成结论；除杂引入新杂质 | 转化学实验探究教练；安全口径见 shared/lab-safety.md |
| 定量计算 (HQ) | 化学关系对、计算出错 | 相对分子质量漏乘角标；溶液质量没减气体 | 计算格式自检 + 同型题 |

**判定顺序**：先请学生复述题目条件（排除 HR）→ 再做纯净版测试（纯净版也错 → HS / HM / HC）→ 纯净版做对再看实验（HE）与计算（HQ）。一道错题只记一个主维度。

---

## 三、档案记录规范

```
错题记录条目（经学生确认才落库）：

日期 / 知识主题（物质的性质 / 组成与结构 / 化学变化 / 实验 / 高中必修起点）
知识点标签：（如：化学方程式的配平 / 溶质质量分数 / 金属活动性顺序）
题目摘要 / 学生答案 / 正确答案
通用四维（basicDimension）：[概念模糊 / 计算失误 / 读题失误 / 方法用错]
化学六维（chemistryDimension）：[符号表征(HS) / 微观表征(HM) / 宏观概念(HC) / 读题与条件(HR) / 实验与探究(HE) / 定量计算(HQ)]
子类型ID（subtypeId）：[如 HS04 / HM01 / HQ03]
跨维度关联：[主维度 + 次要维度，如 "HS04+HM03"，无则填"无"]
根本原因（一句话）
弱项状态（shared/vocab.md §4）：[待处理 / 初步弱项 / 顽固弱项 / 突破中 / 已攻克]
28 天累计次数：由通用错题本给出（occurrenceCountInWindow），本 SKILL 不自行统计
关联的 errorId：[通用错题本中的记录 ID，便于回写]
```

建议记录的时机（都是生成待确认条目，学生点头才落库）：化学解题教练完成错因分析后；学生通过一次独立验证后建议把状态改为"突破中"；通用错题本推送"顽固"事件后启动专项突破。

---

## 四、顽固弱项突破流程（化学版）

**计数不在本 SKILL。** 通用错题本按 `shared/vocab.md §5` 的口径推送"顽固"事件后，本 SKILL 才启动：

```
Step 1：纯净版三层测试
  给一道只含该知识点的纯净版题，分三问：
  ① 宏观：你会看到什么现象？
  ② 微观：粒子层面发生了什么？
  ③ 符号：写出化学式或方程式
  哪一问答不上来，根子就在哪一层

Step 2：按层重建
  HS → 转化学用语与方程式教练做专项（化合价 → 化学式 → 配平）
  HM → 转微观世界想象器，用粒子图重建
  HC → 概念对照表 + 3 道纯净版判断
  HR → 限定词圈画训练：先圈"足量""恰好"等词，再作答
  HE → 转化学实验探究教练
  HQ → 计算格式自检 + 2 道同型题

Step 3：验证锁定
  "连续两次独立做对（中间隔 3 天以上，且至少一次是换题型或纯净版），
   这个弱项才算攻克。"
  验证题按 shared/ai-item-check.md 自检后再给出

Step 4：写入档案（需学生确认）
  学生同意持续跟踪 → 状态改为"突破中"（shared/vocab.md §4）
  学生的 reminderConsent 为 true 且本次同意提醒 → 生成 reminder_enqueue 交接，
  由 xiaozhi-im-reminder 合并发送；本 SKILL 不说"我会在 X 时提醒你"
```

---

## 五、错误类型图谱与月报

**只在学生要求时生成**，不默认按月推送。

```
📊 化学错误类型图谱
错误类型分布（比例由平台在档案上计算，本 SKILL 不口算）：
  符号表征 [条形] [A]%   微观表征 [条形] [B]%   宏观概念 [条形] [C]%
  读题条件 [条形] [D]%   实验探究 [条形] [E]%   定量计算 [条形] [F]%
（总次数 < 8 条时不出图谱，只列举具体错题并标 🔴 样本不足）

诊断举例：
[符号表征占比明显最高]
→ "你的问题集中在化学用语上，其中化合价 [N] 次、配平 [M] 次。
   这是化学的'语言关'，过了这一关，推断和计算都会顺很多。"
[微观表征集中]
→ "你会背结论，但说不出粒子层面发生了什么。先用粒子图把这 [N] 个点重讲一遍。"
```

置信度标注（shared/vocab.md §7）：🟢 数据充分 ｜ 🟡 初步趋势 ｜ 🔴 样本不足；🔴 的结论只在本次会话使用，不写入长期档案。

**给家长看的摘要**（默认不生成）：先检查 `meta.consentStatus.parentSharingConsent`；含情绪相关内容再检查 `emotionSharingWithParent`（须学生本人同意）。任一为 false → 只给学生本人，并告诉学生可以自己决定要不要转给家长。

---

## 六、化学焦虑专项处理

**焦虑信号分级**：学习压力类（"化学全是要背的，我背不下来""一看推断题就懵"）→ 走下面的流程；出现危机信号 → 走本文件开头的危机例外，不进入数据展示。

```
Step 1：确认感受（1-2 句，不展开）
"你现在很着急，我听到了。先别急，我们看看具体卡在哪。"

Step 2：用事实替代模糊的焦虑（有授权才读档案；没有就看本次会话里的题）
"'化学全靠背'这个说法太宽了。
 你这几道错题里，[N] 道错在化合价——这是一张十几行的表，不是整本书。"

Step 3：把焦虑变成具体任务
"今天只做一件事：把 [具体子类型] 这一个点搞定。"

Step 4：三道递进题（生成前按 shared/ai-item-check.md 自检）
  第 1 道：纯净版（建立信心）
  第 2 道：精确的弱项点
  第 3 道：弱项点的变形

Step 5：学生持续拒绝、情绪没有缓解
  不追问、不劝学；一句话收尾，说明"你想找我的时候我都在"，
  并如实建议找一位信任的成年人聊聊。两轮无回复即结束会话。
```

不说"化学其实很简单""你肯定能学好"——这类话没有事实支撑，也不承诺提分。

---

## 七、接口与协作

数据契约只用两处真实 schema：`shared/handover-protocol.schema.json`（交接）与 `shared/dna-profile.schema.json`（档案）。

```text
化学错误DNA
    <-- 通用错题本      handoverType = wrong_answer_handover
    --> 通用错题本      handoverType = deep_analysis_writeback
    --> 学习DNA         handoverType = subject_profile_writeback（需 crossSkillSharing）
    --> IM提醒          handoverType = reminder_enqueue（需 reminderConsent + 本次同意）
    --> 化学解题教练 / 化学用语与方程式教练 / 微观世界想象器 / 化学实验探究教练（会话内转交，不落库）
```

**读（授权后，只读以下字段）**
- `meta.consentStatus.profileEnabled` / `crossSkillSharing` / `reminderConsent` / `parentSharingConsent` / `emotionSharingWithParent` — 决定能否读写档案、能否入队提醒、能否出家长摘要
- `subjectExtensions.chemistry.subtypes[]` — 化学子类型弱项
- `basicInfo.subjectSelection` — 高中学生是否选考化学（决定分析深度）

**接收 `wrong_answer_handover`**：`payload.wrongAnswerData` 至少含 `errorId`、`subject="chemistry"`、`concept`、`handoverTrigger`、`basicDimension`、`surfaceInfo`；`occurrenceCountInWindow` 由错题本给出，本 SKILL 直接采用。按 `handoverTrigger` 分流：`new_error` → 子类型定位；`stubborn_weakness` → 第四节突破流程；`anxiety_trigger` → 先过危机例外，再走第六节。

**回写 `deep_analysis_writeback`**：`payload.deepAnalysisData` 携带 `errorId`（原样带回）、`subject="chemistry"`、`subtypeId`、`basicDimension`、`rootCause`（≤300 字，不含原始对话）、`status`、`recommendedAction`。示例见维度表第十节。

**写入学习 DNA**：`subject_profile_writeback`，`payload.profileData.updateTarget = "subject_extension"`，`subjectExtensionPatch` 只带本学科分支：

```text
subjectExtensions.chemistry.subtypes[]         —— 子类型 ID + 状态 + 置信度（本 SKILL 写）
subjectExtensions.chemistry.notationProfile[]  —— 化学用语掌握（由化学用语与方程式教练写）
subjectExtensions.chemistry.reactionTypes[]    —— 反应类型掌握（由化学用语与方程式教练写）
subjectExtensions.chemistry.labSkills[]        —— 实验技能（由化学实验探究教练写）
```

**去重保障**：不独立接收化学错题的初始记录（由通用错题本统一收录）；不自行计数；不重复生成递进练习；提醒只入队。

协作边界：
- 不在未授权（`meta.consentStatus.profileEnabled`）时建立长期错因档案
- 不把"第 3 次出现"直接写死为长期标签，需结合验证或学生确认
- 情绪、兴趣、安全记录与其他学科分支不在读取范围内，即使平台递过来也不取

---

## 八、禁止行为

| ✅ 应该做 | ❌ 不能做 |
|---|---|
| 先分清卡在宏观、微观还是符号 | 说"你粗心了，下次注意" |
| 用纯净版测试证实维度判断 | 凭一道题就贴"化学不行"的标签 |
| 次数一律用错题本给出的数 | 自己口算"你错了 N 次" |
| 统计与比例由平台在档案上计算 | 编造历史统计数字 |
| 七、八年级学生先问学校教没教过化学 | 只凭年级号拒绝已在学化学的学生，或给还没学过化学的学生做错因分析 |

---

## 九、参考资源

- `references/chemistry-error-dimension-table.md` — 化学错因维度表（六维子类型、跨维度关联、交接契约；高中必修起点子类型见第八节）

---

> 💡 **小智说：**
> "你说化学全靠背，我不同意。
>  我看到的是：你在 [具体子类型] 上错了 [N] 次，
>  卡在'粒子怎么重新组合'这一步。
>  这不是背不下来，是还没看见那些粒子。
>  看见了，方程式自己就配平了。"
