下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/user_8add3940--info-tech-prep.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_8add3940/info-tech-prep。- 信息科技备课助手(Node.js版)。支持湘教版和湘科版《信息科技》教材。用户要求制作某节课的任何一份资料(教案/课件/任务单)时,自动生成全套四件套(PPT课件+教学设计+学生任务单+互动HTML工具),除非该资料之前已生成。用户首次使用时确认教材版本,一旦用户说过"
- 湘教版"
- 或"
- 湘科版"
- ,永久记住不再询问。全Node.js实现,可共享到SkillHub。触发词:信息科技备课、湘教版备课、湘科版备课、xxkj、做课件、信息科技课件、信息科技教案、信息科技任务单、互动工具、做教案、备课助手、六下第几课、六下第几活动。
阅读全文 (展开查看完整说明)
概述
概述
支持湘教版和湘科版《信息科技》教材的一站式备课解决方案。结合《义务教育信息科技课程标准(2022年版)》核心素养理念,自动生成完整备课资料包(五件套)。
默认版本:湘教版。首次使用时询问用户确认;一旦用户在任意会话中说过"湘教版"或"湘科版",将选择永久记录到 USER.md,后续所有会话不再询问,直接使用已记录的版本。
✅ 全 Node.js 实现,可打包共享到 SkillHub。
湘教版 vs 湘科版 区别:
项目 湘教版 湘科版 每册单元数 3个单元 4个单元 每单元课数 4课(共12课) 4活动(共16活动) 课程称谓 "第X课" "第X活动"(活动=课)
生成内容(五件套)
| 文件 | 格式 | 说明 |
|---|---|---|
课件.pptx | PPT | 图文并茂,15页标准结构,深蓝科技风格(pptxgenjs) |
教学设计.docx | Word | 含九章节完整结构(docx,v2深蓝格式,推荐) |
学生任务单.docx | Word | 含预习任务、课堂任务、课后练习(docx) |
互动教学工具.html | HTML | 知识学习+拖拽分类+随堂测验三模块 |
(可选)思维导图.html | HTML | 课程知识结构可视化 |
教材版本选择(重要)
激活时,先检查 USER.md 中是否已记录 教材版本 偏好:
step 1: 读取 C:UsersAdministrator.workbuddyUSER.md
step 2: 查找"教材版本"字段
step 3:
- 已记录(如"湘教版")→ 直接使用,不询问
- 未记录(真正首次)→ 询问用户,确认后写入 USER.md 永久保存首次使用询问模板:
您好!我是信息科技备课助手,支持以下两个教材版本:
1. 湘教版(3单元×4课=12课/册)
2. 湘科版(4单元×4活动=16活动/册)
请问您使用的是哪个版本?
(确认后我会记住您的选择,以后不再询问)确认后写入 USER.md:
在 USER.md 的## 教学设计偏好章节下新增一行:
- **教材版本**:湘教版(已确认,无需重复询问)后续会话行为:
- USER.md 中已有版本记录 → 直接使用,回复中注明"教材版本:湘教版(已记忆)"
- 用户临时切换版本(如说"湘科版 六下第5活动")→ 按用户本次指定的版本处理,并更新 USER.md 中的记录
课次/活动自动计算规则(重要)
湘教版(默认)
每册教材结构:3个单元,每单元4课,共12课。
当用户说"X年X下第N课"时,自动转换为单元+课次:
单元计算:unit = ceil(N / 4) → 第unit单元
课次计算:lesson = N - (unit-1)*4 → 第unit单元第lesson课| 用户说 | 自动识别为 |
|---|---|
| 六下第1课 | 六年级下册 第一单元第1课 |
| 六下第2课 | 六年级下册 第一单元第2课 |
| 六下第3课 | 六年级下册 第一单元第3课 |
| 六下第4课 | 六年级下册 第一单元第4课 |
| 六下第5课 | 六年级下册 第二单元第1课 |
| 六下第6课 | 六年级下册 第二单元第2课 |
| 六下第7课 | 六年级下册 第二单元第3课 |
| 六下第8课 | 六年级下册 第二单元第4课 |
| 六下第9课 | 六年级下册 第三单元第1课 |
| 六下第10课 | 六年级下册 第三单元第2课 |
| 六下第11课 | 六年级下册 第三单元第3课 |
| 六下第12课 | 六年级下册 第三单元第4课 |
同理适用于:三上/三下/四上/四下/五上/五下/六上/六下 等所有册次。
湘科版
每册教材结构:4个单元,每单元4活动,共16活动。(湘科版教材中"活动"即"课",两者含义相同)
当用户说"X年X下第N活动"时,自动转换为单元+活动次:
单元计算:unit = ceil(N / 4) → 第unit单元
活动计算:activity = N - (unit-1)*4 → 第unit单元第activity活动| 用户说 | 自动识别为 |
|---|---|
| 六下第1活动 | 六年级下册 第一单元第1活动 |
| 六下第2活动 | 六年级下册 第一单元第2活动 |
| 六下第3活动 | 六年级下册 第一单元第3活动 |
| 六下第4活动 | 六年级下册 第一单元第4活动 |
| 六下第5活动 | 六年级下册 第二单元第1活动 |
| 六下第6活动 | 六年级下册 第二单元第2活动 |
| 六下第7活动 | 六年级下册 第二单元第3活动 |
| 六下第8活动 | 六年级下册 第二单元第4活动 |
| 六下第9活动 | 六年级下册 第三单元第1活动 |
| 六下第10活动 | 六年级下册 第三单元第2活动 |
| 六下第11活动 | 六年级下册 第三单元第3活动 |
| 六下第12活动 | 六年级下册 第三单元第4活动 |
| 六下第13活动 | 六年级下册 第四单元第1活动 |
| 六下第14活动 | 六年级下册 第四单元第2活动 |
| 六下第15活动 | 六年级下册 第四单元第3活动 |
| 六下第16活动 | 六年级下册 第四单元第4活动 |
同理适用于:三上/三下/四上/四下/五上/五下/六上/六下 等所有册次。
确认流程(通用)
收到课次/活动简写后,必须先向用户确认识别结果,例如:
湘教版:"好的,我理解为:六年级下册 第二单元第1课,是这个吗?"
湘科版:"好的,我理解为:六年级下册 第二单元第1活动,是这个吗?"
确认后再读取对应版本的课程大纲匹配具体课题。
工具脚本(Node.js)
scripts/
├── generate_ppt.js # PPT生成工具(pptxgenjs,15页深蓝科技风格)
├── generate_teaching_design_v2.js # 教案生成工具(docx,v2深蓝九章节格式)
├── generate_html.js # 互动HTML工具生成器(三模块)
├── generate_doc.js # Word文档入口(学生任务单)
├── doc_builder.js # 底层Word组件库(docx)
├── html_builder.js # 底层HTML组件库
└── templates/ # 模板目录(预留)依赖(已安装):
node_modules/
├── pptxgenjs/ # PPT生成(npm install pptxgenjs)
└── docx/ # Word生成(npm install docx@9)参考资料目录:
references/
├── 湘教版信息科技教材课程大纲_含目标内容.md # 湘教版大纲(含教学目标,优先用于湘教版)
├── 湘科版信息科技教材课程大纲.md # 湘科版大纲(每册4单元×4活动=16活动)
├── 信息科技备课教案模板.docx # 空白教案模板
└── 教案示例_推荐算法.docx # 已生成示例(参考)完整备课流程(五件套)
Step 1:解析用户需求(版本判断 + 课次计算 + 全套生成)
⚡ 全套默认生成规则(核心行为,v3.3.0 新增):
当用户要求制作某节课的任何一份资料(教案/课件/任务单/互动HTML)时:
- 自动生成全套四件套:PPT课件 + 教学设计 + 学生任务单 + 互动HTML工具
- 跳过已存在的文件:生成前检查当前目录下是否已有对应文件,只生成缺失的
- 除非用户明确要求只生成某一份:如用户说"只需要教案",则只生成教案
检查文件存在性的方法(Node.js):
const fs = require('fs');
const topic = '课题名'; // 如 '推荐算法'
const grade = '五年级下册'; // 如 '五年级下册'
const prefix = `${grade}${topic}`; // 如 '五年级下册推荐算法'
const needed = ['课件', '教学设计', '学生任务单', '互动工具'];
const extensions = ['.pptx', '_教案.docx', '_学生任务单.docx', '_互动工具.html'];
const toGenerate = [];
for (let i = 0; i < needed.length; i++) {
if (!fs.existsSync(prefix + extensions[i])) {
toGenerate.push(needed[i]);
}
}
if (toGenerate.length === 0) {
console.log('所有文件已存在,无需重复生成!');
} else {
console.log('需要生成:', toGenerate.join('、'));
}版本判断 + 课次计算:
- 判断教材版本(首次使用已询问,后续直接使用已记录版本)
- 按对应规则计算单元+课次/活动次:
- 湘教版:3单元×4课=12课,公式
unit=ceil(N/4), lesson=N-(unit-1)*4 - 湘科版:4单元×4活动=16活动,公式
unit=ceil(N/4), activity=N-(unit-1)*4
- 湘教版:3单元×4课=12课,公式
- 向用户确认:年级 + 单元 + 课次/活动次 + 将生成的全套资料列表
- 根据用户确认,读取对应版本的课程大纲文件匹配课题名、教学目标、主要内容
术语注意:湘科版称"活动",不称"课",但两者含义相同,计算逻辑一致。
Step 2:读取课程大纲
根据已确认的教材版本,选择对应的大纲文件:
| 版本 | 大纲文件 |
|---|---|
| 湘教版(默认) | references/湘教版信息科技教材课程大纲_含目标内容.md |
| 湘科版 | references/湘科版信息科技教材课程大纲.md |
const fs = require('fs');
const path = require('path');
const skillDir = 'C:\Users\Administrator\.workbuddy\skills\信息科技备课助手';
// 根据版本选择大纲文件
const version = '湘教版'; // 或 '湘科版',根据用户输入确定
const outlineFile = version === '湘科版'
? '湘科版信息科技教材课程大纲.md'
: '湘教版信息科技教材课程大纲_含目标内容.md';
const outline = fs.readFileSync(
path.join(skillDir, 'references', outlineFile),
'utf-8'
);
// 搜索对应课题内容(年级+单元+课次/活动次)Step 3:生成 PPT 课件
使用 generate_ppt.js 中的 PPTGenerator 类,pptxgenjs,深蓝科技风格,15页标准结构:
const { PPTGenerator } = require('./scripts/generate_ppt.js');
const path = require('path');
const config = {
topic: '课题名',
grade: '六年级下册',
unit: '第二单元第1课 课题名',
duration: '1课时(40分钟)',
objectives: [
['知识与技能', '了解xxx概念n掌握xxx方法', 'BLUE'],
['过程与方法', '通过实践探究n培养解决问题的能力', 'TEAL'],
['情感与素养', '体会技术价值n培养信息科技核心素养', 'ORANGE'],
],
intro: '情境导入文字(思考题/生活情境)',
sections: [
{ title: '知识点1标题', content: '概念说明', points: ['要点1', '要点2', '要点3'] },
{ title: '知识点2标题', content: '概念说明', points: ['要点1', '要点2'] },
// 最多5个知识点
],
activity: {
title: '实验/活动标题',
materials: ['材料1', '材料2', '材料3'],
steps: ['步骤1', '步骤2', '步骤3', '步骤4'],
},
summary: '方法总结文字',
expand: ['拓展应用1', '拓展应用2', '拓展应用3'],
exercises: [
['选择题', '1. 下列说法正确的是:n A. 选项1 B. 选项2 C. 选项3', 'BLUE'],
['判断题', '2. 判断正误:n ( )', 'TEAL'],
['应用题', '3. 请设计一个解决方案', 'ORANGE'],
],
board: '板书设计文字',
gains: [
['收获1', '描述1', 'BLUE'],
['收获2', '描述2', 'TEAL'],
['收获3', '描述3', 'GREEN'],
['收获4', '描述4', 'ORANGE'],
],
homework: {
required: ['必做任务1', '必做任务2'],
optional: ['选做任务1', '选做任务2'],
},
};
const outputPath = path.join(process.cwd(), '课题名_课件.pptx');
const gen = new PPTGenerator();
gen.generate(config, outputPath);PPT结构(15页):
- 封面 – 深蓝背景,课题+单元+年级
- 学习目标 – 三栏卡片(知识技能/过程方法/情感素养)
- 情境导入 – 思考题/生活情境
4-8. 新知讲解 – 每页一个知识点(最多5页)
- 实验活动 – 左侧材料准备+右侧步骤
- 方法总结 – 知识框架
- 拓展应用 – 生活中的信息科技
- 课堂练习 – 选择题/判断题/应用题
- 板书设计 – 核心概念框架
- 课堂小结 – 四格收获卡
- 作业布置 – 必做+选做
Step 4:生成教案(Word)
使用 generate_teaching_design_v2.js,docx 库,深蓝主题(#1F6BB7),九章节完整结构:
const { generateTeachingDesign, makeConfig } = require('./scripts/generate_teaching_design_v2.js');
const path = require('path');
const cfg = makeConfig({
title: '课题名',
grade: '六年级下册',
unit: '第二单元第1课 课题名',
period: '1课时(40分钟)',
class_type: '新授课',
curriculum_points: '课标要点说明...',
student_analysis: {
knowledge: '已有知识技能基础...',
habits: '学生学习习惯与认知特点...',
experience: '相关生活经验...',
difficulty: '预期学习难点...',
},
objectives: {
knowledge: ['知识技能目标1', '知识技能目标2'],
process: ['过程方法目标1', '过程方法目标2'],
emotion: ['情感素养目标1', '情感素养目标2'],
},
key_points: ['重点1', '重点2'],
difficult_points: ['难点1', '难点2'],
preparation: {
teacher: ['教师准备1', '教师准备2', '教师准备3'],
student: ['学生准备1', '学生准备2'],
},
process_summary: [
{ 环节: '情境导入', 时长: '约3′', 教师活动: '...', 学生活动: '...', 设计意图: '...' },
{ 环节: '新知讲解', 时长: '约15′', 教师活动: '...', 学生活动: '...', 设计意图: '...' },
{ 环节: '实践探究', 时长: '约15′', 教师活动: '...', 学生活动: '...', 设计意图: '...' },
{ 环节: '总结评价', 时长: '约7′', 教师活动: '...', 学生活动: '...', 设计意图: '...' },
],
process_details: {
'环节1 情境导入(3分钟)': [
{ type: 'text', text: '【教师活动】教师播放...' },
{ type: 'text', text: '【教师提问】同学们,...' },
{ type: 'text', text: '【预设回答】学生回答...' },
{ type: 'text', text: '【教师小结】...' },
],
},
assignments: {
basic: ['基础任务1', '基础任务2'],
advanced: ['提升任务1', '提升任务2'],
},
board_design: [
['课题名', '副标题'],
['一、核心概念:', true],
['具体内容...', false],
],
reflection: [
['目标达成情况', '评价问题...'],
['课堂亮点', '描述...'],
['待改进之处', '描述...'],
['下次改进计划', '描述...'],
],
});
const outputPath = path.join(process.cwd(), '课题名_教案.docx');
await generateTeachingDesign(cfg, outputPath);九章节教案结构:
| 章节 | 内容要求 |
|---|---|
| 一、基本信息 | 教材版本、年级学期、单元课题、课时、课型、课标要点 |
| 二、学情分析 | 已有知识技能、学习习惯认知特点、生活经验、预期学习难点 |
| 三、三维教学目标 | 知识与技能、过程与方法、情感态度与核心素养 |
| 四、教学重点与难点 | 重点3条左右、难点2条左右 |
| 五、教学准备 | 教师准备4条左右、学生准备3条左右 |
| 六、教学过程 | 简表(五列)+ 详案(分环节详述) |
| 七、分层作业 | 基础任务(全体)+ 提升任务(学有余力) |
| 八、板书设计 | 核心概念框架图 |
| 九、教学反思 | 四维度反思框架 |
Step 5:生成学生任务单(Word)
使用 doc_builder.js 中的 generateTaskSheet() 函数,docx,A4竖版,标准五段结构:
const { generateTaskSheet } = require('./scripts/doc_builder.js');
const path = require('path');
const taskInfo = {
title: '课题名',
grade: '六年级下册',
objectives: [
'能说出xxx的概念和特点',
'能使用xxx方法完成实践活动',
'体验信息技术的价值与趣味',
],
preview: [
['思考探索', '生活中哪些地方用到了xxx技术?请举3个例子'],
['预习填空', '___是指___,它的主要特点是___'],
],
explore: [
['活动一:认识xxx', '参考教材第xx页,完成以下步骤:n1. ...n2. ...n3. ...',
['编号', '现象/结果', '原因分析'], 4],
],
knowledge: [
'xxx的定义:___是指___',
'xxx的特点:① ___ ② ___ ③ ___',
],
exercises: [
['选择题', '下列关于xxx说法正确的是( )', ['A. 说法1', 'B. 说法2']],
['判断题', '( )xxx一定比yyy更好', null],
],
extension: '和家长讨论后写下你的想法',
};
const outputPath = path.join(process.cwd(), '课题名_学生任务单.docx');
await generateTaskSheet(taskInfo, outputPath);任务单结构(五段):
- 顶部:蓝色标题栏(课题名)+ 副标题(年级)+ 班级/姓名/日期填写行
- 学习目标:深蓝横幅 + 勾选框目标列表(最多4条)
- 课前预习:青色横幅 + 每项预习任务 + 填写横线
- 课堂探究:蓝色横幅 + 活动步骤说明 + 记录表格(可选)
- 知识整理:绿色横幅 + 填空式概念整理
- 巩固练习:灰色横幅 + 选择/判断/应用题
- 课后拓展:淡紫色横幅 + 延伸任务
Step 6:生成互动教学工具(HTML)
使用 generate_html.js 中的 HTMLGenerator 类,三模块互动工具:
const { HTMLGenerator } = require('./scripts/generate_html.js');
const path = require('path');
const htmlConfig = {
topic: '课题名',
knowledge_title: '本节核心知识',
knowledge_content: '知识点介绍文字(支持换行)',
quiz: [
{ q: '问题1?', options: ['A. 选项1', 'B. 选项2', 'C. 选项3', 'D. 选项4'], answer: 0 },
{ q: '问题2?', options: ['A. 选项1', 'B. 选项2', 'C. 选项3'], answer: 2 },
],
drag_items: [
{ text: '概念A', category: '类别1' },
{ text: '概念B', category: '类别2' },
{ text: '概念C', category: '类别1' },
],
categories: ['类别1名称', '类别2名称'],
};
const outputPath = path.join(process.cwd(), '课题名_互动工具.html');
const gen = new HTMLGenerator(htmlConfig);
gen.generate(outputPath);HTML工具三模块:
- 模块1:知识学习 — 核心知识点展示,配图说明
- 模块2:拖拽分类 — 概念/案例拖拽分类互动练习,自动评分
- 模块3:随堂测验 — 单选题测验,即时反馈正确答案
模糊匹配规则
当用户提到模糊关键词(如"小夜灯"、"系统组成"):
- 搜索课程大纲找到所有相关条目
- 列出所有匹配结果请用户确认
- 用户确认后再生成
配色规范
教案(Word)
- 主色:#1F6BB7(深蓝,用于章节标题横幅)
- 表头底:#D6E4F7(浅蓝,用于表格标签列)
- 章节底:#EEF4FB(极浅蓝,用于内容区分)
- 边框:#A0BFE0(淡蓝边框)
PPT
- 背景:#1A233A(深蓝背景,封面)
- 主蓝:#1A73E8(标题栏)
- 青色:#00BFD8(副标题/强调)
- 橙色:#FF6D00(实验活动)
- 绿色:#00C853(拓展应用)
HTML
- 主色:#00796b(深绿青)
- 辅色:#004d40(深色标题)
- 强调:#ef6c00(橙色按钮)
核心素养要求
| 素养维度 | 说明 |
|---|---|
| 信息意识 | 感受信息重要性,能识别有用信息 |
| 计算思维 | 抽象、分解、建模、算法思维 |
| 数字化学习 | 用数字工具解决问题 |
| 信息社会责任 | 安全、隐私、伦理、版权意识 |
教学原则
- 问题驱动:真实情境导入,激发探究欲望
- 项目式学习:以任务/项目为载体,做中学
- 跨学科融合:与数学、科学、艺术等结合
- 螺旋递进:衔接已学概念,逐步深化
每次完成后必须告知用户的使用方法
每次完成备课资料生成后,在回复末尾附上以下提示:
💡 信息科技备课助手使用方法(v3.4.0 Node.js版)
⚡ 全套默认生成:
- 用户要求制作某节课的任何一份资料时,自动生成全套四件套
- 已存在的文件自动跳过,不重复生成
- 如只需某一份,请明确说明"只需要教案"
教材版本(已记忆,不再重复询问):
- 首次使用时确认版本,确认后永久记录在 USER.md
- 后续所有会话直接使用已记录版本,不再询问
- 如需切换版本,请主动说明,如:
湘科版 六下第5活动- 湘教版:3单元×4课=12课/册;湘科版:4单元×4活动=16活动/册
- 湘科版称"活动"不称"课",两者含义相同
触发方式(任选一种):
- 湘教版说课次:
六下第5课、五下第3课(自动识别单元)- 湘科版说活动:
六下第5活动(自动识别单元)- 说课题名:
帮我做推荐算法的课件- 选择功能:
做六下第7课的教案、生成五下第2课的任务单支持生成的内容:
内容 触发关键词 PPT课件 课件、PPT、幻灯片 教学设计/教案 教案、教学设计、备课 学生任务单 任务单、导学案 互动HTML工具 互动工具、HTML、互动页面 全套四件套 全套、四件套、完整备课 课次/活动速查规则:
湘教版(3单元×4课=12课):
- 第1-4课 → 第一单元第1-4课
- 第5-8课 → 第二单元第1-4课
- 第9-12课 → 第三单元第1-4课
湘科版(4单元×4活动=16活动):
- 第1-4活动 → 第一单元第1-4活动
- 第5-8活动 → 第二单元第1-4活动
- 第9-12活动 → 第三单元第1-4活动
- 第13-16活动 → 第四单元第1-4活动
✅ Node.js 全量实现,可共享到 SkillHub