Install
openclaw skills install @flyboat403/teaching-plan-generator生成 40 分钟三段式课堂教案(MD + DOCX),适配职业院校两种学情(统一型/分层型)。 当用户提到教案、教学设计、分层教学、课堂教学设计、备课、分层教案、教学流程设计时使用, 也适用于用户提供课程内容文档、已有教案或企业岗位手册作为参考材料需要生成教案的场景。
openclaw skills install @flyboat403/teaching-plan-generator40分钟三段式教案生成工具,输出 MD + DOCX。支持手动输入和参考材料两种路径,自动根据学情选择统一或分层模板。
在生成教案前,始终对齐以下三层逻辑:
这三点决定每一个字段的取舍。
在生成教案前,先收集以下 9 项参数。将已有信息和缺失项一次性展示,让教师补充:
| # | 参数 | 必填 | 示例 |
|---|---|---|---|
| 1 | 课程名称 | ✅ | 汽车发动机构造与维修 |
| 2 | 课题名称 | ✅ | 发动机怠速不稳的故障诊断 |
| 3 | 授课班级 | ✅ | 2025级汽修2班 |
| 4 | 授课人数 | ✅ | 35人 |
| 5 | 学段 | ✅ | 中职二年级 |
| 6 | 教育类型 | ✅ | 职业教育 |
| 7 | 使用教材 | ✅ | 《汽车发动机维修》第3版 |
| 8 | 教学课时 | ❌ | 默认 1课时 / 40分钟 |
| 9 | 授课类型 | ✅ | 理论新课 / 实操技能课 / 复习考核课 |
同时请教师描述学情(自然语言即可),用于后续学情类型判断。
根据教师的学情描述判断使用哪个模板:
学情描述包含以下关键词之一:
"分层" "混课时" "深度学习" "基础弱" "两极分化"
"一部分...另一部分" "%" "差异大"
├─ 是 → 追问分层比例(如"60%基础 / 40%进阶")→ 加载 references/layered-template.md
├─ 否 → 加载 references/uniform-template.md
└─ 无法判断(描述模糊或无学情描述)→ 询问:
"班级学情更接近哪种?
A. 学生水平基本一致,统一备课即可
B. 存在明显分层,需要区分基础要求和进阶要求"
→ 选 A 加载 uniform-template.md,选 B 追问比例后加载 layered-template.md
如果教师提供了参考材料(课程文档/已有教案/企业手册),在收集参数前先执行材料解析。处理完成后展示预填结果,教师确认后进入 Step 1。
若无参考材料,直接进入 Step 1。
材料来源处理:
详见 Reference Material Processing 章节。
收集 9 项参数。若有 Step 0 预填结果,仅展示未预填的必填字段要求补充。缺失必填项则追问补齐。
按 Decision: 学情类型判断 决策树执行。确定模板后,必须完整读取对应的 reference 文件(不要设置 range limit):
references/uniform-template.md — 统一学情(4列表格,无分层标注列)references/layered-template.md — 分层学情(5列表格,含分层标注列)仅加载匹配决策结果的那个模板,不要同时加载两个。
按 Field Generation Rules 逐字段生成。教学流程严格遵循 教学流程结构定义。生成时先输出 MD 格式预览给教师确认。
教师确认后,输出两个文件:
[课程名称]_[课题名称]_教学设计.md 和 .docx生成后逐项执行 Quality Checklist,不符合则修复后重新输出。
当教师提供参考材料时,按以下流程处理:
根据文件扩展名和内容特征判断材料类型:
| 类型代码 | 材料类型 | 典型特征 | 主要影响字段 |
|---|---|---|---|
| A | 课程内容文档 | 含知识点/章节结构/学习目标 | 课程名称、课题名称、教材、教学目标、重难点 |
| B | 已有教案参考 | 含教学流程/方法/板书/评价 | 教学方法、学习方法、板书设计、评价设计、教学思路 |
| C | 企业岗位手册 | 含技能清单/工具清单/岗位案例 | 教学重点、开场案例、教学资源 |
| 文件格式 | 解析方式 |
|---|---|
使用 pdfplumber 或 PyMuPDF 提取文本;若失败则提示用户 | |
| DOCX | 使用 python-docx 提取文本 |
| MD / TXT | 直接读取 |
| 图片 (JPG/PNG) | 使用 pytesseract 或 EasyOCR 执行 OCR;对低置信度(<70%)文本标注提醒 |
从材料中提取可预填字段(课程名称、课题名称、教材名称、教学目标候选、重难点候选、教学资源候选),一次性展示给教师。
展示格式:
**从参考材料中提取的预填信息:**
- 课程名称:XXX(来源:材料A,文件名)
- 课题名称:XXX(来源:材料A,第3章标题)
- 教材:XXX(来源:材料A,前言)
- 教学目标候选:[列出提取到的学习目标/技能要求]
- 重难点候选:[列出提取到的重点/难点]
请确认或修改以上信息,确认后将继续补充授课班级、人数等参数。
若多份材料对同一字段有不同信息:
按以下顺序逐一生成 21 个字段。
直接填入教师确认后的值。第 8 教学课时默认 1课时/40分钟。
使用 ABCD 法 + SMART 原则,对齐"保底拔高"理念——先写出最弱学生必须达到的下限,再向上拉伸上限。生成三项子目标:
分层版额外拆分:
**基础目标**(全体学生达到)
- 知识:...
- 技能:...
- 素养:...
**进阶目标**(深度学习学生达到)
- 知识:...
- 技能:...
- 素养:...
基于教师描述的学情推断三项:
分层版额外注明:"本班学情分层:基础学生约占 X%,进阶学生约占 Y%"
基于授课类型自动推荐:
| 授课类型 | 推荐教学方法 | 推荐学习方法 |
|---|---|---|
| 理论新课 | 案例教学法、讲授法 | 笔记整理、思维导图 |
| 实操技能课 | 任务驱动法、演示法 | 小组协作、实操练习 |
| 复习考核课 | 练习法、讨论法 | 自查互测、错题整理 |
若教师提供了已有教案参考(B 类材料),优先模仿其教学风格。
对齐"岗位导向"理念——每个重点之所以是重点,是因为它在岗位实操中最常用或出错代价最高;每个难点之所以是难点,是因为学生缺少对应的岗位经验。格式:
**教学重点**
1. XXX —— 解决措施:XXX
2. XXX —— 解决措施:XXX
**教学难点**
1. XXX —— 突破措施:XXX
2. XXX —— 突破措施:XXX
按类别列出所需资源:
阐述本课的教学理念与策略(偏理论层面,不与教学流程重复)。2-3 段,包含:教学理念选型、策略设计依据、与课程目标的关系。
核心字段,严格按 教学流程结构定义 生成。对齐"认知节奏"理念——每个模块的时间分配贴合职业院校学生的注意力波峰/波谷(开场抓注意→中段攻坚→末段实操),不是随意切分。
对齐"保底拔高"理念——评价不是一刀切的尺子,而是基础生和进阶生用不同的尺子量。生成评价量规表:
| 评价维度 | 评价指标 | 评价标准(分值) | 评价主体 | 评价方式 |
|---|---|---|---|---|
| 过程评价 | (动态) | (动态) | 教师/互评/企业导师 | 观察/记录/任务检查 |
| 结果评价 | (动态) | (动态) | 教师/企业导师 | 作品评分/测试 |
| 合计 | 100分 |
按三部分结构生成:
**主板书面**:[核心知识框架/逻辑图/流程图,用缩进表示层级关系]
**副板书**:[关键词、公式、要点列表]
**布局示意**:[简述黑板分区,如"左上主板书,右侧副板书"]
仅输出占位符:
(课后填写)
10 (模块一) + 3 (缓冲一) + 10 (模块二) + 3 (缓冲二) + 10 (模块三) + 4 (终局复盘) = 40 min
教学流程共 6 个段落。三个核心模块使用段落描述 + 内嵌表格,缓冲和终局使用简洁文字。
第一模块:破冰筑基(0-10分钟)
[一句话描述本模块目标]
| 时间/环节 | 教师活动 | 学生活动 | 设计意图 | 分层标注 |
|---|---|---|---|---|
| 0-2min 导入锚定 | (用真实行业场景/企业问题切入) | (听、思考、回应) | (快速抓注意力) | 全体 |
| 2-8min 核心授课 | (仅讲1个基础概念/操作框架) | (听讲、记笔记) | (交付最低门槛知识) | 基础 |
| 8-10min 小结 | (一句话提炼核心 + 抛简单问题) | (回答、巩固) | (完成第一轮闭环) | 全体 |
第一次缓冲(10-13分钟)
[一句话,不讲新知识。三选一:随机提问 / 行业小段子 / 快速复盘]
第二模块:重难点攻坚(13-23分钟)
[一句话描述本模块目标,串联第一模块]
| 时间/环节 | 教师活动 | 学生活动 | 设计意图 | 分层标注 |
|---|---|---|---|---|
| 13-15min 衔接与价值锚定 | (串联模块一 + 讲清重难点的岗位价值) | (建立认知连接) | (唤醒进阶动机) | 全体 |
| 15-21min 重难点精讲 | (难点逻辑拆解/易错点对比/真题分析) | (深度思考、提问) | (突破核心考点) | 进阶 |
| 21-23min 深度提问 | (抛1个开放探究问题,不给标准答案) | (自主思考) | (激发主动学习) | 进阶 |
第二次缓冲(23-26分钟)
[一句话,不讲新知识。三选一:同桌互测 / 框架梳理 / 举手提问汇总]
第三模块:落地实操(26-36分钟)
[一句话描述本模块目标,快速串联前两模块]
| 时间/环节 | 教师活动 | 学生活动 | 设计意图 | 分层标注 |
|---|---|---|---|---|
| 26-28min 知识串联 | (串联整节课知识框架) | (建立全局认知) | (知识结构化) | 全体 |
| 28-34min 案例实操 | (带做案例/错题拆解/技能模拟) | (动手操作) | (知识→能力转化) | 基础/进阶(拆两行) |
| 34-36min 分层梳理 | (明确基础要求和进阶要求) | (对照自身定位) | (两头兼顾) | 全体 |
终局复盘(36-40分钟)
违反以下任一条将直接导致教案不合格:
scripts/generate_docx.py——始终通过 JSON 文件调用它。输出 21 个字段,按以下标题格式逐字段输出(完整字段列表参见模板文件):
# 《[课程名称]》「[课题名称]」教学设计
## 一、课程名称 ## 八、教学课时 ## 十五、教学难点及突破措施
## 二、课题名称 ## 九、授课类型 ## 十六、教学资源
## 三、授课班级 ## 十、教学目标 ## 十七、教学思路
## 四、授课人数 ## 十一、学情分析 ## 十八、教学流程
## 五、学段 ## 十二、教学方法 ## 十九、评价设计
## 六、教育类型 ## 十三、学习方法 ## 二十、板书设计
## 七、使用教材 ## 十四、教学重点及解决措施 ## 二十一、教学反思
使用 python-docx 库和本技能内置的 scripts/generate_docx.py 脚本生成。
运行 python scripts/generate_docx.py <input.json> <output.docx>(依赖 python-docx)。将教案字段按下方 JSON 结构写入临时文件,生成后删除临时文件。
JSON 输入结构:
{
"title": "《课程名称》「课题名称」教学设计",
"fields": [
{"heading": "一、课程名称", "content": "办公软件应用"},
{"heading": "二、课题名称", "content": "图片环绕方式"},
...
{"heading": "十、教学目标", "content": [
{"text": "基础目标(全体学生达到)", "bold": true},
{"text": "知识:...", "indent": true},
{"text": "技能:...", "indent": true},
{"text": "素养:...", "indent": true}
]},
...
{"heading": "十八、教学流程", "type": "tables", "content": [
{"header": ["时间/环节","教师活动","学生活动","设计意图","分层标注"],
"rows": [["0-2min导入锚定","...","...","...","全体"], ...]}
]},
...
]
}
content 字段支持三种类型:
type: "text"(默认):"content": "字符串" — 渲染为正文段落;或 "content": [{"text":"...","bold":true/false,"indent":true/false}] — 结构化段落列表type: "tables":"content": [{"header":[...],"rows":[[...],...]}] — 渲染带表头的表格注意:不要每次重新编写 DOCX 生成脚本。始终调用 scripts/generate_docx.py,通过 JSON 传入内容。
生成教案后逐项自检,不符合则修复:
根据学情判断结果,读取对应模板文件:
references/uniform-template.md — 占位符格式模板,含4列教学流程表格,无分层标注references/layered-template.md — 占位符格式模板,含5列教学流程表格(多「分层标注」列),双目标/双标准使用方式:读取模板后,将 {{占位符}} 替换为本次课题的具体内容。模板中的注释({{#each}}...{{/each}})表示可重复区块,按实际条目数量展开。
| 依赖 | 用途 | 安装命令 |
|---|---|---|
python-docx | DOCX 文件生成 + DOCX 参考材料读取 | pip install python-docx |
pdfplumber | PDF 参考材料文本提取(首选) | pip install pdfplumber |
PyMuPDF | PDF 参考材料文本提取(备选) | pip install PyMuPDF |
pytesseract | 图片格式参考材料 OCR 识别 | pip install pytesseract(需安装 Tesseract 引擎) |
Pillow | 图片预处理(缩放、去噪) | pip install Pillow |