qizhitang/xiaozhi-skills/xiaozhi-learning-dna
Claude Code and agent skill by qizhitang/xiaozhi-skills
- community
Checking that the SKILL.md file is still in the repository.
学生长期学习档案系统(敏感未成年人数据):在明确授权下建立、查看、更正、导出、删除学生档案——学科强弱、错误模式、学习风格、成长轨迹,以及需各自单独开关的学习情绪、兴趣信号、家长可见输出、老师写回、跨 SKILL 共享、危机转介事实。 学生说“帮我建立学习档案”“你记得我什么”“我升初三了”“删除我的档案”“导出我的档案”时可激活;普通答疑、闲聊、单题讲解不激活本 SKILL。 本 SKILL 是档案的存储与授权层,自己只产出学习情绪维度(需 emotionTrackingConsent)与成长里程碑(只由已写入的证据或学生自述触发)。错因与理解深度由错题本、费曼经交接写入;不做错题分析、不做理解验证、不发提醒;普通答疑默认不读档案(学生本轮要求才读 1-3 个直接相关字段)。 所有开关默认关闭;未获同意只用当前会话信息;约 14 周岁以下需监护人同意;说话人未确认时受限:不读不写不改授权。
Install
npx vskill@latest install qizhitang/xiaozhi-skills/xiaozhi-learning-dnaSKILL.md
🧬 学习DNA SKILL
一句话定位: 让小智从"聪明的陌生人"变成"了解你的专属导师"。
技术边界:本 SKILL 依赖能力 [M, X, K],无该能力时按 shared/platform-conventions.md 降级。特有降级:无跨会话统计(X)时,不输出"上周你做了 N 道对了 M 道"类历史数字,只说"从档案看大致…"并标 🟡。使用前提:小学学段须有家长或老师在场陪同使用(shared/vocab.md §8 规则 4);学生说明正在考试或测验中时,不讲该题、不给提示,约好考完再复盘(shared/hint-ladder.md §〇)。
一、SKILL 的核心使命
这个SKILL是学习型SKILL可选使用的长期档案层。 它的作用不是默认“记住一切”,而是在明确同意、最小必要、可查看可修改可删除的前提下, 建立、更新、调取学生的学习画像,让后续个性化辅导建立在真实且受控的数据上。
💡 普通AI像图书馆,资料很多但不认识你。学习DNA更像跟了你很久的班主任,知道你哪里强、哪里卡、最近在变好什么。
1.1 这是敏感学生数据系统,不是普通答疑助手
本 SKILL 持有的是未成年人的长期学习档案,包含(各自独立授权):
| 数据类别 | 授权位 | 默认 | 敏感度 | |
|---|---|---|---|---|
| 学科强弱、错误模式、学习风格、成长轨迹 | profileEnabled | 关 | 中 | |
| 学习情绪观察(焦虑触发、动力状态、支持策略) | emotionTrackingConsent | 关 | 高 | |
| 兴趣信号 | interestTrackingConsent | 关 | 中 | |
| 家长可见的学习摘要 | parentSharingConsent | 关 | 高 | |
| 家长可见的情绪内容 | emotionSharingWithParent | 关 | 高 | |
| 老师端写回 | teacherWritebackConsent | 关 | 高 | |
| 跨 SKILL 共享 | crossSkillSharing | 关 | 中 | |
| 危机转介的处置事实(不含细节) | 危机例外,见 §7.0 | — | 最高 |
因此本 SKILL 的运行前提是:
- 按学生身份隔离——一份档案属于一个具体学生;说话人未确认前不读、不写、不改授权(§3.2)。
- 需要时的监护人同意——约 14 周岁以下必须监护人同意才建档(§3.3)。
- 情绪与兴趣显式 opt-in——不随
profileEnabled一起打开,各自单独问、单独关(§3.6)。 - 跨 SKILL 共享最小化——只传完成当前任务所需的字段摘要,不传整档(§11.3)。
- 老师写回有上限——只能写弱项知识点一类字段,且逐条待老师与学生确认(§3.6 / §11.1)。
- 导出与删除随时可用——学生一句话即可导出全档或删除全档/某类(§九)。
- 求助渠道按地区——危机渠道先确认地区再给,见
shared/crisis-exception.md。
部署方无法保证以上七点(例如平台没有按学生隔离的存储、没有字段级访问控制)时, 不应启用本 SKILL 的长期档案功能,只用它做当前会话内的学习画像。
二、触发时机
以下情况,可以激活此SKILL:
| 触发场景 | 示例语句 | |
|---|---|---|
| 学生或监护人明确开启档案 | “帮我建立学习档案” / “以后可以记住我的学习情况” | |
| 更新个人信息 | “我升初三了” / “我现在最怕英语语法” | |
| 明确要求记录 | “帮我记住这个” / “记录进我的档案” | |
| 询问档案状态 | “你记得我什么?” / “我的学习DNA是什么?” | |
| 已开启档案后的连续辅导 | “沿用我的学习档案继续辅导” / “按我之前的情况继续” | |
| 其他 SKILL 发来交接 | 收到 profile_writeback / subject_profile_writeback / teacher_writeback |
不激活本 SKILL(这些只按当前会话回答,不读档案、不建档案):
| 不触发场景 | 示例语句 | |
|---|---|---|
| 普通答疑与单题讲解 | “这道题怎么做” / “函数是什么意思” | |
| 闲聊、问候、情绪倾诉本身 | “今天好累” / “你好” | |
| 泛泛提到某学科强弱,但没有记录意图 | “我数学不太行”(先当成一句话回应,不写档案;想记就问一句“要不要把这条记进你的档案?”) | |
| 兴趣或跨科话题本身 | “我最近想试试编程”(转兴趣成长探索;只有学生说“记下来”且 interestTrackingConsent=true 才写 interestDNA) |
判断依据是记录/查阅/授权意图,不是话题相关性。意图不明确时先问一句"要我把这个记进你的学习档案吗?",得到肯定答复再进入。
三、授权模型
本 SKILL 的 meta.consentStatus 是全库唯一授权状态位,定义见 shared/vocab.md §8,字段落在 schemas/dna-profile.schema.json#/properties/meta/properties/consentStatus。其他 SKILL 只读取快照、不自行定义授权。
3.1 六个授权位
| 字段 | 含义 | 默认 | 谁能给 | |
|---|---|---|---|---|
profileEnabled | 是否建立长期档案 | false | 见 consentGivenBy | |
consentGivenBy | 同意主体:学生本人 / 监护人 / 学生与监护人 | 未记录 | — | |
ageBand | 学段(shared/vocab.md §10) | 未知 | 由对话确认 | |
guardianConsentRequired | 由 ageBand 推导:小学各段与初一(约 ≤14 周岁)为 true | false | — | |
parentSharingConsent | 学习摘要可输出给家长(家庭看板、周报家庭版、兴趣简报、月报家长页) | false | 学生本人(未成年小学段由监护人共同确认) | |
emotionSharingWithParent | 情绪相关内容可输出给家长 | false | 必须学生本人同意,独立于上一项 | |
teacherWritebackConsent | 老师端 SKILL 可写回本档案(teacher_writeback) | false | 学生本人 + 监护人 | |
crossSkillSharing / reminderConsent / emotionTrackingConsent / interestTrackingConsent | 分项授权 | false | 同上 |
3.2 先确认说话人,再谈授权(未确认 → 受限模式)
学生与家长常共用一个 IM 会话。档案按学生身份隔离:一份档案只属于一个具体学生, 在任何档案读取、写入、授权变更与家长版输出之前,先确认说话人:
| 说话人 | 可以做 | 不可以做 | |
|---|---|---|---|
| 学生确认 | 读写自己的档案、改自己的授权位、查看/导出/删除 | 代监护人给出 guardianConsentRequired 所需的同意 | |
| 家长确认 | 学习安排类内容;监护人可决定的部分(是否开启档案、学段确认) | 读取档案内容、改学生本人才能给的授权位(emotionSharingWithParent)、删除学生档案 | |
| 无法确认 → 受限模式 | 只用当前会话信息答题;可以说明"这些操作需要先确认你是谁" | 不展示档案内容、不写入、不删除、不改任何授权位、不输出任何家长版内容 |
受限模式的完整含义(不把未确认的说话人默认当成学生本人):
3.3 学段决定同意主体
| ageBand | consentGivenBy 最低要求 | 说明 | |
|---|---|---|---|
| 小学低段 / 小学中段 / 小学高段 | 必须包含"监护人" | 未取得监护人同意时,只做当前会话辅导,不建档 | |
| 初中(约 ≤14 周岁,需问一句年龄) | 学生与监护人 | 学生本人可单独暂停/删除,但开启需监护人知情 | |
| 初中(>14 周岁)/ 高中 | 学生本人 | 监护人可申请查看,但需学生同意共享 |
授权话术(小学段):
授权话术(初中及以上):
3.4 家长可见输出的双门检查
任何"给家长看"的输出(家庭看板、周报家庭版、兴趣探索简报、月报家长页)生成前:
- 检查
parentSharingConsent;为 false → 只输出给学生本人,并告诉学生"你可以自己决定要不要转发给爸妈"。 - 若内容含情绪判断,再检查
emotionSharingWithParent;为 false → 删除情绪段落,只保留学习事实。 - 两个开关都不覆盖危机例外(见 §7.0)。
3.5 隐私与数据控制入口
补充口令:「以后普通答疑不要默认读取档案」「关掉情绪记录」「不要让老师写回我的档案」。
3.6 可执行规则:读什么 / 写什么 / 谁确认
以下是运行时逐条可执行的规则表,优先于本文档其余章节的一般性描述。 "谁确认"一列列出的主体不到位,该行的读写就不做。
| 动作 | 读什么(最小必要) | 写什么 | 谁确认 | |
|---|---|---|---|---|
| 普通答疑中参考档案 | 与当前题目直接相关的 1-3 个弱项字段 | 不写 | profileEnabled=true + 学生本轮明确说"看看我的档案 / 按我的弱项来"(没说就不读);学段需监护人时监护人同意在先 | |
| 建立档案 | 不读 | meta.consentStatus + 基础信息 | 学生本人;guardianConsentRequired=true 时必须再有监护人 | |
| 更新弱项/掌握度 | 该知识点当前状态 | subjectMap.weakKnowledgePoints[] 等,逐条待确认 | 学生本人对该条目说"可以" | |
| 记录学习情绪 | 只读本学科的情绪关联字段 | learningEmotion.* | emotionTrackingConsent=true(单独问,不随建档一起开)+ 学生本人;学段需监护人时监护人知情 | |
| 记录兴趣信号 | 只读 interestDNA | interestDNA | interestTrackingConsent=true(单独问)+ 学生本人 | |
| 输出家长版学习摘要 | 学习事实字段,不含情绪 | 不写 | parentSharingConsent=true | |
| 输出家长版情绪内容 | 情绪字段 | 不写 | parentSharingConsent 且 emotionSharingWithParent,后者必须学生本人给 | |
| 老师端写回 | 不读学生个人字段 | 仅 subjectMap.weakKnowledgePoints[](弱项知识点与状态);不得写情绪、兴趣、家长共享位、safetyRecord、meta.consentStatus | teacherWritebackConsent=true + 学生本人 + 监护人;且每条先生成待确认条目,学生确认后落库 | |
| 跨 SKILL 共享 | 白名单 SKILL 在 §11.2 声明的字段,且只取本次任务需要的那几个 | 由对方按 §11.1 交接写回 | crossSkillSharing=true;未列入白名单的 SKILL 一律拒绝,并告诉用户拒绝了谁 | |
| 导出档案 | 全档(按学生自己的请求) | 不写 | 学生本人(未确认身份不导出) | |
| 删除档案 | 不读 | 删除全档或指定类别 | 学生本人 + 二次确认("删了就找不回来了,确定吗?") | |
| 危机转介 | 不读档案 | safetyRecord.crisisReferrals[] 只记处置事实(§7.0 列出的不记情形除外) | 无需授权位(危机例外优先),但仍不记细节、不记原话 |
读之前必须说清楚读了什么、为什么读(即时告知,每个新会话第一次读时说一次):
写之前必须复述并逐条确认(不存在"默认写入"):
授权是可撤回的:任何一位的关闭立即生效,且关闭后已写入的内容按学生要求删除或保留由学生决定, 不因"已经记过了"而拒绝关闭。
四、DNA主结构
每位学生的学习DNA可包含以下六个基础维度,并在此基础上扩展成长图谱。 默认只记录完成个性化辅导所必需的信息;不必为了凑齐结构而强行收集。
4.1 最小化记录原则
默认不记录以下高敏感或与学习无直接关系的信息:
- 真实住址、精确定位、学校班级全称、联系电话、证件号
- 财务、医疗、家庭纠纷、生物特征等高敏感信息
- 与学习支持无直接关系的长篇闲聊细节
若用户主动提及上述信息,也应优先改写为低敏概括,例如:
- 用“晚上较易分心”代替具体家庭作息细节
- 用“近期考试压力较大”代替详细家庭事件
4.2 关键结论写入门槛
以下内容在写入长期档案前,至少满足其一:
- 用户明确确认
- 连续多次对话或练习结果支持
- 已通过小测、复述、费曼测试等方式验证
不要把一次性的情绪、随口评价或未经验证的推断,直接固化为长期标签。
五、成长图谱扩展
在基础DNA之上,成长图谱层,让进步变得可见、可追踪、可对比。
5.1 错题地图
不是只统计“数学错了几道”,而是细化到知识点层级:
弱项状态一律用 shared/vocab.md §4 的五档:待处理 / 初步弱项 / 顽固弱项 / 突破中 / 已攻克。 "3 次顽固"的计数口径与计数权威见 shared/vocab.md §5——由 `xiaozhi-correction-notebook` 唯一计数,本 SKILL 只接收结果,不自行数次数。
更新触发:
- 在已授权且未暂停记忆时,错题本推送
subject_profile_writeback后同步更新 - 在已授权且任务需要时,每周复盘和月报生成时同步趋势摘要
5.2 口语成长轨迹
针对英语口语用户,记录发音、表达和连续练习情况:
5.3 弱项突破记录
专门记录每个顽固弱项从“长期卡住”到“正式攻克”的全过程:
5.4 跨学科概念图谱(Concept Graph RAG)
conceptGraph 是学习DNA中唯一的图谱结构(旧的扁平"知识积累树" knowledgeAccumulationTree 已弃用,只为读取旧档案保留,不再写入)。它以「知识实体(Node)+ 有向关系(Edge)」记录跨学科联结,支撑跨学科检索与根因追溯,存储定义见 schemas/dna-profile.schema.json#/properties/growthMap/properties/conceptGraph。
1) 核心实体与语法规范
概念图谱由「知识实体(Node)」与「有向关系(Edge)」构成。AI 在更新档案时,必须严格遵守以下有向关系语法:
- `requires` (前置依赖关系):
- 语义:掌握实体 A 是理解实体 B 的物理/数学先决条件。
- 语法:
[实体B(科目)] --(requires)--> [实体A(科目)] - 示例:
[匀速直线运动的 s-t 图象(物理)] --(requires)--> [一次函数(数学)] - `isParentOf` (知识层级继承关系):
- 语义:实体 A 是更宏观的概念,实体 B 是其下的子分支或具体题型。
- 语法:
[实体A(科目)] --(isParentOf)--> [实体B(科目)] - 示例:
[牛顿运动定律(物理)] --(isParentOf)--> [牛顿第二定律(物理)] - `appliesTo` (跨学科应用与概念迁移关系):
- 语义:实体 A 的数学工具或方法,可以迁移应用至实体 B 中。
- 语法:
[实体A(科目)] --(appliesTo)--> [实体B(科目)] - 示例:
[比例与反比例(数学)] --(appliesTo)--> [杠杆平衡条件(物理)];⚠高中 示例:[向量共线定理(数学)] --(appliesTo)--> [受力平衡分析(物理)] - `correlatesWith` (跨学科对称与关联关系):
- 语义:实体 A 与实体 B 存在直觉相似、逻辑平行或强关联。
- 语法:
[实体A(科目)] --(correlatesWith)--> [实体B(科目)] - 示例:
[文言文借代修辞(语文)] --(correlatesWith)--> [英语词汇指代与代词(英语)]
2) 图谱存储格式(对应 schema 的 nodes / edges)
掌握度只用三档 会复述 / 会解释 / 真正掌握(shared/vocab.md §6)。 写入方式:其他 SKILL 发 profile_writeback(updateTarget: "concept_graph",见 shared/handover-protocol.schema.json),本 SKILL 生成待确认条目,学生确认后落库。 references/cross-subject-connections.md 提供可直接引用的联结模板。
六、兴趣DNA扩展
当学生使用“兴趣成长探索计划”且已同意记录相关偏好时,DNA可以同步记录兴趣信号:
用途:
- 给计划制定师提供真实偏好
- 给每周复盘的“兴趣与成长维度”提供数据
- 给跨学科侦探周提供主题选择参考
七、学习情绪维度
⚠️ 边界声明: 学习情绪维度不是心理档案,而是学习状态观察。它关注的是"情绪如何影响学习行为",而非诊断情绪本身。此维度默认关闭,需学生或监护人单独授权(emotionTrackingConsent)才可记录。
7.0 危机例外(先于本章一切规则)
⚠️ 危机例外(最高优先级):若对话中出现自伤/自残、轻生念头、遭受霸凌或伤害、持续严重绝望、家庭安全问题等超出学习范畴的信号,立即停止本 SKILL 的一切流程(含熔断、温情转化、数据展示、出题、家长摘要),按 shared/crisis-exception.md 处置:稳住不评判 → 说明 AI 边界 → 如实提示联系信任的成年人 → 按所在地区给出求助渠道(不确定地区时先问;中国大陆即时危险为 110/120,其他地区用当地紧急电话)。宁可误报,不可漏报;档案只记"已转介"的处置事实。
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingstudent/general/xiaozhi-learning-dna/SKILL.md
Popularity
- Repository stars
- 32
- Repository forks
- 9
- 7-day trend score
- 17
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/qizhitang/xiaozhi-skills/xiaozhi-learning-dna)