TeachAny SKILL 完全教程:从零到发布一门互动课件
> 本教程遵循 TeachAny 自身的 ABT 叙事、认知负荷与脚手架原则编写。读完即可独立制作并发布课件。
---
零、ABT 开场:为什么你需要这个 SKILL?
And:你已经知道 AI 能做课件。把知识点丢给 Claude,它能吐出一页 HTML,有标题、有段落、末尾附一道选择题。
But:这种课件扁平、无生命、没有教学设计。学生看完没有学习闭环,教师也无法判断学生是否真懂。市面上大多数 AI 教育内容停留在"信息整理"层面,而不是"学习设计"层面。
Therefore:TeachAny SKILL 把六大学习科学理论编码成 AI 的强制生产规范,让每份课件都经过教学设计的校验。它不只生成页面,而是生成有问题锚点、有互动、有反馈、有发布闭环的学习体验。
---
一、何时触发:这个 SKILL 的边界
使用场景:
- 制作/改造/调试 K12 学科课件、互动网页、微课、教学动画
- 制作 PBL 探究课、AI 学伴、TTS 讲解、知识图谱挂树
- 用户提到:课件、教学设计、课标、PBL、学习路径、发布到 Gallery
- 企业培训、成人职业技能课
- 通用网站/App、纯 PPT/Word 格式转换
- 非 K12 展览页
二、安装:一键接入你的 AI 助手
# 稀疏克隆(推荐,~110 MB,不含社区课件)
git clone --filter=blob:none --sparse https://github.com/weponusa/teachany.git
cd teachany
git sparse-checkout set --from-file .sparse-checkout-presets/standard.txt
# 软链到 AI 助手的 skill 目录
ln -sfn "$PWD/skill" ~/.agents/skills/teachany # Claude Code / Cursor / Codex CLI
ln -sfn "$PWD/skill" ~/.codebuddy/skills/teachany # CodeBuddy
国内用户(Gitee 镜像,无需翻墙):
git clone https://gitee.com/weponusa/teachany.git
安装后只需复制 skill/ + data/ 两个目录。data/ 包含 2,399 个知识点、98 个知识图谱、五国课程标准。
---
三、4-Phase 核心流程:课件生产流水线
TeachAny 只有一种模式:完整模式。没有"快速版",没有"先做个简版看看"。
Phase 0 — 定义与检索(课前备课)
回答六问:
| # | 问题 | 决定什么 |
|---|---|---|
| 1 | 学生是谁? | 难度、语言、学段 |
| 2 | 前置知识? | 是否需要诊断测试 |
| 3 | 学生应该能做什么? | 可观察的学习目标 |
| 4 | 真实世界情境? | 学习动机来源 |
| 5 | 通常卡在哪里? | 错误诊断设计 |
| 6 | 如何验证学会? | 评估策略 |
python3 "$TEACHANY_SKILL/scripts/find_nodes.py" "浮力"
# 返回 node_id,用于知识图谱挂树
Phase 1 — 教学骨架(不可跳过)
三个强制输出:
1. 问题锚点:用"为什么沉浮不同?"代替"今天学习浮力"。
2. ABT 叙事:
- And:铁块沉底、木块漂浮——你已观察过
- But:同样大小的铁船却能载人——矛盾在哪?
- Therefore:学浮力,理解密度与排开液体的关系
- 互动:Canvas 拖拽实验(改变物体/液体密度,观察沉浮)
- 评估:逐选项错误诊断(选 B 错因:"你忘了浮力 = 排开液体重量,不是物体重量")
tech/iframe-resources.md,嵌入至少 1 个外部交互工具(PhET / GeoGebra / Desmos / 3Dmol.js)。纯静态图不构成豁免理由。Phase 2 — 构建页面
模板优先:
cp "$TEACHANY_SKILL/templates/course-skeleton-v2.html" "$COURSE_DIR/index.html"
cp "$TEACHANY_SKILL/templates/manifest-template.json" "$COURSE_DIR/manifest.json"
v2 分页模板用于新课件;旧课件维护用 course-skeleton.html(v1 连续滚动)。
必须接入五件套: 1. AI 学伴(标准模块 API) 2. 导师卡片 3. TTS narrator 4. Section hints 5. 知识图谱挂树
Hero 知识结构图:
python3 "$TEACHANY_SKILL/scripts/gen-hero-svg.py" "$COURSE_DIR"
删除占位符:复制模板后必须删除 ` 内的占位符文档注释块。
Phase 3 — 验证交付
运行质检:
node "$TEACHANY_SKILL/scripts/validate-courseware.cjs" "$COURSE_DIR"
18 点质量检查:pedagogy、interaction、accessibility、visual design。
浏览器验证:打开 index.html,确认核心互动可用,控制台无错误,移动端不崩。
交付物清单:
- index.html
- manifest.json
- PLAN.md
- assets/
- tts/(或豁免记录)
Phase 4 — 发布注册
普通用户(无需 GitHub token):
bash "$TEACHANY_SKILL/scripts/publish_course.sh" "$COURSE_DIR"
# 提交到 teachany-community.pages.dev Worker,自动走 PR 质检
维护者(需要 SSH 或 GH_TOKEN):
export GH_TOKEN=ghp_xxxx
bash "$TEACHANY_SKILL/scripts/auto-publish.sh"
# 验证 → rebuild-index → git commit/push → 验证线上 URL 返回 200
---
四、19 项基线:每一门课必须通过的硬指标
详见 references/baseline-rules.md。核心包括:
1. manifest.json 完整 2. 五件套模块接入 3. Hero 知识结构图 4. TTS 讲解 5. 知识图谱正确挂树 6. 问题锚点设计 7. ABT 叙事结构 8. 互动尝试环节 9. 即时反馈机制 10. 总结迁移设计 11. 三级脚手架(全→半→无) 12. 逐选项错误诊断 13. 真实互动(非静态伪装) 14. 地图库优先(历史/地理) 15. 数理化仿真工具嵌入 16. 发布闭环验证 17. 移动端兼容 18. 控制台无错误
唯一豁免情形:某项依赖外部资源,在当前网络环境下反复尝试 ≥2 次、每次间隔 ≥30 秒确实无法连接,且无本地替代方案。必须记录:豁免原因、已尝试次数、后续补齐步骤。
不构成豁免的理由:"用户只是想先看看效果"、"先做简版之后再补"、"这个功能感觉用不上"。
---
五、核心规则速查表
| # | 规则 | 违反后果 |
|---|---|---|
| 1 | 模板优先,不得空白手写 | 平台接线不一致 |
| 2 | 学习闭环优先,视觉炫技不能替代教学设计 | 课件好看但无效 |
| 3 | 标准模块优先,不重复手写 AI 学伴/TTS | 维护困难、体验不统一 |
| 4 | 标题写"互动/实验"就必须可操作 | 虚假宣传 |
| 5 | 知识图谱必须匹配官方 node_id | 无法挂树、无法索引 |
| 6 | 历史/地理优先查 bundled map library | 外部数据依赖过重 |
| 7 | 数理化必须加载仿真工具文档 | 互动质量不达标 |
| 8 | 发布先检测环境,不假设 weponusa/* 可写 | 权限报错 |
| 9 | 依赖豁免须有 curl/HTTP 证据 | 随意跳过导致质量下降 |
| 10 | 说"完成"前必须跑命令或浏览器验证 | 交付不可用 |
| 11 | 修一类问题后检查同类文件同步 | 回归不一致 |
| 12 | 图片资产必须真实,禁止占位图 | 视觉欺骗 |
六、学科专属框架速查
| 学科 | 教学路径 | 强制交互类型 | 评估风格 |
|---|---|---|---|
| 数学 | 直观 → 代数 → 推广 | 作图、拖拽、逐步推导 | 标准 + 解释 |
| 物理 | 观察 → 建模 → 定量 | 参数滑块、实验预测 | 预测 + 计算 + 解释 |
| 化学 | 宏观 → 微观 → 符号 | 实验流程、方程式配平 | 实验解释 |
| 生物 | 结构 → 过程 → 功能 | 标注、排序、流程图 | 图解 + 过程解释 |
| 历史 | 时间线 → 因果 → 证据 | 排序、史料对比 | 史料 + 论述 |
| 地理 | 空间 → 成因 → 比较 | 地图交互、因果链 | 材料 + 比较 |
七、五镜头法:怎么讲透一个难点
对任何难点概念,强制选择 2-3 个镜头:
👁️ See It → 观察现象、例子、数据
🔧 Break It → 拆解结构、步骤、组件
💡 Explain It → 澄清成因、机制、规则
⚖️ Compare It → 与相似/相反/错误案例对比
🎯 Transfer It → 迁移到新情境验证理解
示例(浮力):
- See It:观察铁块沉、木块浮、铁船载人
- Break It:拆解浮力 = 液体密度 × g × 排开体积
- Compare It:对比"物体重量决定沉浮"的错误直觉
- Transfer It:盐水浮鸡蛋——密度变化如何改变浮力?
八、常用脚本清单
# 预检
cd "$COURSE_DIR" && python3 "$TEACHANY_SKILL/scripts/preflight-check.py"
# 定位知识节点
python3 "$TEACHANY_SKILL/scripts/find_nodes.py" "一次函数"
# 生成 Hero 图
python3 "$TEACHANY_SKILL/scripts/gen-hero-svg.py" "$COURSE_DIR"
# TTS 生成
python3 "$TEACHANY_SKILL/scripts/tts-engine.py" \
--text "讲解文本" \
--voice zh-CN-XiaoxiaoNeural \
--output "$COURSE_DIR/tts/s01.mp3"
# 接入标准模块
python3 "$TEACHANY_SKILL/scripts/apply-standard-modules.py" --only "$COURSE_DIR/index.html"
# 查找历史/地理地图
python3 "$TEACHANY_SKILL/scripts/find-map.py" 唐
# 质检
node "$TEACHANY_SKILL/scripts/validate-courseware.cjs" "$COURSE_DIR"
# 发布(普通用户)
bash "$TEACHANY_SKILL/scripts/publish_course.sh" "$COURSE_DIR"
---
九、完整示例:初二物理"浮力"
Phase 0:
python3 "$TEACHANY_SKILL/scripts/find_nodes.py" "浮力"
# 返回 node_id: cn-ms-phy-8-浮力
Phase 1 骨架:
- 问题锚点:"为什么万吨巨轮是铁做的,却能浮在水面?"
- ABT:And(铁块沉底)→ But(铁船漂浮)→ Therefore(浮力与排开液体有关)
- 互动:PhET 浮力仿真 + Canvas 拖拽密度实验
- 评估:三级脚手架 + 逐选项错因诊断
cp "$TEACHANY_SKILL/templates/course-skeleton-v2.html" ./index.html
# 嵌入 PhET iframe(tech/iframe-resources.md 查物理-浮力)
# 接入五件套
# 生成 Hero 图
python3 "$TEACHANY_SKILL/scripts/gen-hero-svg.py" .
Phase 3 验证:
node "$TEACHANY_SKILL/scripts/validate-courseware.cjs" .
# 浏览器打开 index.html,测试拖拽实验、TTS、AI 学伴
Phase 4 发布:
bash "$TEACHANY_SKILL/scripts/publish_course.sh" .
# 获取线上 URL,验证 HTTP 200
---
十、文档路由:按需加载
| 你想知道什么 | 读哪个文件 |
|---|---|
| Phase 完整细节 | phases/workflow.md |
| 打包、Registry、Gallery、Git 发布 | phases/packaging.md |
| TTS、Remotion、视频音频 | phases/video-audio.md |
| 19 项基线与反模式 | references/baseline-rules.md |
| Phase 1 问卷 | references/phase1-checklist.md |
| 互动形态 | guides/interaction-patterns.md |
| PBL/探究课 | guides/project-based.md |
| 练习评估 | guides/assessment.md |
| 页面结构与 CSS | tech/page-structure.md、tech/design-system.md |
| v2 分页模板 | templates/course-skeleton-v2.html |
| 数学动画 | tech/math-animations.md |
| 科学仿真 | tech/science-simulations.md |
| iframe 资源总目录(数理化必读) | tech/iframe-resources.md |
结语
TeachAny SKILL 不是一个 prompt 模板,而是一份教学设计生产规范。它不问你"要不要做好课件",而是强制你必须做好——通过 19 项基线、闭环验证、和反模式黑名单。
读完这篇教程,你已经具备独立制作并发布一门课件的能力。下一步:选一个你熟悉的中小学知识点,跑一遍 4-Phase 流程。
---
> 千寻 | TeachAny SKILL 7.14.1 完全教程 | 基于 skill/SKILL.md` 原始文档编写