name: knowledge-teaching
description: "Use this skill for any request to learn, teach, or explain a topic in depth — 生成系统化、全面、事实准确的深度知识教学文章/教程,不限领域(编程、数学、科学、人文社科)。用户想'真正学懂'某个知识时就该用:'帮我讲讲 X''写一篇 X 教程''系统学习 X''X 入门到精通''给小白科普 X''整理 X 的知识体系',即使没提'教程'二字,只要是全面、系统、有深度的知识讲解都触发。特点:大纲先行的由浅入深结构、事实联网核实+编号引用+存疑标注、统一美观的 Markdown 排版,可导出 Word/PDF(大纲导航+页码)。纯执行类任务(写个函数、写邮件、翻译、整理纪要)不触发,除非用户要求讲解原理。Triggers: 教学文章, 教程, 科普, 系统学习, 知识讲解, 入门到精通, tutorial, teaching article, explain in depth, 知识整理。"
metadata:
version: "1.1.0"
status: stable
系统化知识教学文章生成器
把任意主题的知识写成系统、全面、准确、美观的教学文章。适合用户想要「真正学懂一个知识」的场景:教程、科普、知识整理、系统学习笔记。
核心原则(四条铁律)
1. 系统性:大纲先行,由浅入深
用户抱怨 AI 内容「不系统」的根源,是想到哪写到哪。这个 skill 的做法:
- 动笔前先规划知识大纲(章节树);复杂主题(预计 4 章以上)先展示大纲让用户确认,再写正文
- 内容按「直观理解 → 核心概念 → 机制原理 → 实践应用 → 进阶」分层递进
- 每讲一个概念,立即跟上示例;概念之间要有逻辑衔接,不跳跃
- 文末给「知识地图」:要点回顾 + 下一步该学什么
2. 准确性:核实、引用、标注
用户抱怨「知识点不真实」的根源,是模型凭记忆写。这个 skill 的做法:
- 动笔前列出「待核实清单」:所有关键事实(数字、日期、专名、API、命令)用 WebSearch 核实
- 引用他人结论时标注来源 [1],文末附参考链接
- 核实不了的内容,明确标注「⚠️ 待核实」,绝不编造,并降低断言语气
- 技术文章示例必须可运行,标注环境/版本
详见 references/fact-checking.md。
3. 全面性:讲透,不注水
- 「全面」指覆盖读者学习路径上需要的全部环节:前置知识、核心内容、常见误区、练习——不是堆砌字数
- 每句话要有信息量;宁愿分章节展开,也不省略读者会困惑的环节
- 边缘情况、常见坑、FAQ 是「全面」的关键,不能省
4. 美观:统一排版
工作流程
第 1 步:快速澄清需求
只问必要信息,信息足够就直接开始,不要问太多问题:
- 主题是什么
- 读者水平(默认:入门者;用户说明了就给对应层次)
- 输出格式(默认 Markdown 文件;用户要 Word/PDF 就做转换)
- 深度偏好(默认:系统全面;用户要求简短就精简)
第 2 步:规划知识大纲
- 读 references/article-structure.md,了解教学文章的标准结构
- 用 WebSearch 快速浏览该主题的权威资料,建立知识地图(这也是核实的一部分)
- 复杂主题(章节 >4):把大纲展示给用户确认再写;简单主题直接写
- 大纲格式:章节树 + 每章一句话说明要讲什么
- 无人值守时不等待:在子代理/批量/自动化场景(无人可交互)下,直接按默认规划继续写,不要停下等确认——在正文前注明「大纲已按默认规划生成」即可
第 3 步:核实关键事实
按 references/fact-checking.md:
- 列出待核实清单 → WebSearch 核实(官方文档/权威来源优先)
- 写作中发现任何不确定,立即停下来查,不要凭记忆写
- 核实要聚焦:只搜索「会写进文章的关键断言」,一次搜索尽量覆盖多项;不要对主题做漫游式浏览(既费时又费 token)
- 技术文章必查版本与时效(特性引入版本、放宽/废弃时间、信息截止日期),见 fact-checking.md
网络不可用时(降级,不中断):WebSearch 报错、超时或返回空结果时:
- 换关键词重试 1 次;仍失败就进入降级模式,绝不让整个任务因网络卡死
- 降级模式:继续写作,但所有未能联网核实的断言标「⚠️ 未能核实」,降低断言语气,不写死数字/日期等硬事实(确实需要的,标注「以官方最新文档为准」)
- 文章开头或结尾附一行「核实情况说明」:如实告诉读者哪些内容已联网核实、哪些没有——绝不假装核实过
- 交付时把核实情况转告用户,让用户知情,而不是让用户自己发现
第 4 步:撰写正文
第 5 步:输出文件
- 默认:写到项目目录,文件名用「主题名.md」(中文、简洁)
- 先保存 .md 再转换:Markdown 文件是交付底线,转换永远在 .md 落盘之后进行
- 用户要 Word/PDF:运行转换脚本(见下)
- 转换失败不阻塞交付:脚本报错时,把脚本打印的友好提示转述给用户(缺什么依赖、怎么装、.docx 是否已生成),文章本身照常交付——不要让用户自己去翻 traceback
第 6 步:自我检查(交付前必做)
- [ ] 结构完整:导语/学习目标/正文分层/示例/误区/练习/总结/参考资料,缺一不可(简单主题可省略练习与误区)
- [ ] 每个概念:先直观后严谨、有示例、术语首次出现有解释
- [ ] 所有关键事实已核实或有标注;引用编号与文末列表一一对应
- [ ] 技术文章的版本/年代限定已对照核实(特性引入版本、放宽/废弃时间、信息截止日期)
- [ ] 代码示例可运行(本机有对应语言就执行验证);格式规范(标题层级、语言标注、中英空格)
- [ ] 没有注水段落;交付说明里告诉用户哪些点未核实到
输出格式转换(Word/PDF)
转换脚本 scripts/convert.py,需要 Python + python-docx(docx 模式);pdf 模式额外需要 pywin32 和本机 Word/WPS。
先探测 Python 环境,不要想当然:
# 按顺序尝试,找到能 import docx 的 Python 就用它:
python -c "import docx" 2>/dev/null && PY=python \
|| py -3 -c "import docx" 2>/dev/null && PY="py -3" \
|| PY="C:/Users/Hovekd/AppData/Local/Programs/Python/Python313/python.exe" # 常见安装路径兜底
"$PY" scripts/convert.py docx 文章.md
"$PY" scripts/convert.py pdf 文章.md
常见情况
- 主题范围 — 不限领域。技术、数学、科学、人文社科均可,流程相同。
- 用户只想快速了解,不要长文 — 简化结构:导语 + 核心概念 + 一个示例 + 总结,并在文末提示可扩展为完整教程。
- 查不到可靠资料 — 按 fact-checking.md 的「无法核实时的兜底」流程:标注待核实 + 说明检索情况,让用户知情。
- 网络不可用/搜索报错 — 按第 3 步的降级流程:重试 1 次 → 标注「⚠️ 未能核实」继续写 → 附「核实情况说明」。绝不卡死、绝不假装核实过。
- 转换脚本报错 — 先确认 .md 已保存,把脚本的友好提示转述给用户(缺依赖/缺 Word 的补救方法),文章照常交付。
- 无人值守环境 — 大纲不等待确认,直接按默认规划写;核实与转换的降级规则同样适用。
- 不同平台对 Markdown 支持不同 — formatting-guide.md 里有平台兼容注意事项(知乎/公众号/CSDN/GitHub)。
- 用户指定了发表平台 — 按该平台的兼容性调整(见 formatting-guide.md),并在交付时提醒差异。