CSP课件制作技能
这个技能用于为信息学/CSP竞赛 C++ 课程(小学高年级到初中竞赛班)生成完整的教学资料套件:游戏化趣味课件(.pptx)、详细教案(.docx)、学生任务单(.docx)、代码示例(.cpp)以及网页版互动闯关游戏(.html)。支持单课制作和批量(从PDF教材)批量生成全套课程资料。当用户需要制作 C++/CSP/信奥/NOIP 编程课课件、教案、任务单,或需要从PDF教材批量生成课程资料时应使用此技能。触发词:CSP课件、信奥课件、NOIP课件、C++课件、编程课件、CSP教案、信奥教案、做课件、做教案、做任务单、PPT三件套、批量生成课件、PDF转课件。
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/ahao2001/csp-courseCSP课件制作技能
技能简介
为信息学 / CSP / NOIP C++ 课程生成完整教学资料套件,支持单课手动制作和批量 PDF→全套资料两种模式:
| 产出物 | 格式 | 说明 |
|---|---|---|
| 🎮 游戏化趣味课件 | .pptx | pptxgenjs 生成,闯关主线 |
| 📄 详细教案 | .docx | 默认 40 分钟课时,可指定课时长度 |
| 📝 学生任务单 | .docx | 递进式练习,填空+补代码+追踪 |
| 💻 代码示例 | .cpp | UTF-8 BOM,含注释 |
| 🎯 网页闯关游戏 | .html | 单文件,无依赖,双击可用 |
适用范围:小学高年级零基础 / 初中普通班 / CSP-J/S 竞赛班,均可通过年级参数切换难度风格。
触发场景
- "帮我做 C++ 课件" / "做一节信息学课的课件"
- "做 CSP / NOIP / 信奥 课件"
- "生成教案和任务单" / "做 PPT 三件套"
- "把这些 PDF 做成课件"(批量模式)
- "做一节排序算法的课件" / "讲 STL 的课件"
- "重新制作课件" / "帮我更新教案"
- 涉及 C++ 任意知识点(变量/循环/函数/数组/指针/STL/图论/DP 等)的课程制作需求
- 涉及竞赛算法(贪心/搜索/动态规划/图论/树结构等)的讲解课件制作
工作流程
模式 A:单课制作
步骤 1:收集需求
若用户未指定,询问:
- 课件风格:活泼游戏化 / 专业简洁 / 科技暗色
- 适用年级:
- 小学高年级(零基础,多比喻,少公式)
- 初中普通班(兼顾趣味与严谨)
- CSP-J/S 竞赛班(算法导向,代码优先)
- 知识点:函数/变量/循环/数组/字符串/STL/图论/DP 等
- 课时长度(可选,默认 40 分钟):40 / 45 / 60 分钟
⚠️ 重要:确认输出目录(绝对路径),避免文件散落。推荐格式:
D:\课程资料\第XX课_知识点名\
步骤 2:生成 PPT
以 assets/make_ppt.js 为模板:
- 修改标题、主题色、关卡数量、内容文字
- 小学版用比喻(榨汁机=函数、盒子=变量、侦探=判断)
- 代码用 Consolas 字体 +
#0D1117深色背景 - 输出文件名加
_v2避免覆盖已打开文件 - 运行:
node make_ppt.js
步骤 3:生成教案 + 任务单
以 assets/make_docs.js 为模板:
- 教案:目标/重难点/教学过程(逐分钟)/板书/评价量规
- 任务单:圈数 → 填空 → 补代码 → 追踪表 → 挑战题
- 运行:
node make_docs.js
步骤 4:生成代码示例
将课件中所有代码片段保存为 .cpp:
const fs = require('fs');
fs.writeFileSync('代码示例.cpp', '\uFEFF' + content, 'utf8'); // UTF-8 BOM
步骤 5:生成网页闯关游戏
以 references/game_template.html 为起点:
- 每关对应一个知识点,包含知识展示+交互题目
- 题型:选择题、判断题、填空题
- 功能:自动判对错、进度条、星级评价、通关彩纸动画
- 全部题答对才解锁下一关
- 单 HTML 文件,无需网络,双击即用
步骤 6:整理文件夹
# ⚠️ Windows 路径用双反斜杠或正斜杠,避免转义错误
$topic = "函数"
$dest = "D:\课程资料\$topic"
New-Item -ItemType Directory -Path $dest -Force | Out-Null
Move-Item -Path ".\*.pptx", ".\*.docx", ".\*.cpp", ".\*.html" -Destination $dest
Write-Host "✅ 文件已整理到:$dest"
模式 B:批量 PDF → 全套课程资料
当用户提供多个 PDF 教材文件并要求批量生成时使用此模式。
步骤 1:安装依赖
# Python 依赖(PDF 提取)
python -m pip install pdfplumber
# Node.js 依赖(PPT/Word 生成)
npm install pptxgenjs docx
说明:Windows 下优先使用
python,如提示命令不存在则改用python3。Node.js 需 v16+,建议全局安装。
步骤 2:创建目录结构
# 示例:31课完整课程
$base = "C:\...\C++"
$courses = @("第00课_信息学竞赛介绍", "第01课_计算机中的数制", ...)
foreach ($c in $courses) {
New-Item -ItemType Directory -Path "$base\$c" -Force | Out-Null
}
步骤 3:批量提取 PDF 内容
使用 scripts/extract_pdf_content.py 提取所有 PDF 文本:
# Windows 下使用 PowerShell 执行
python scripts/extract_pdf_content.py `
--input_dir "E:\课程\信奥初级教程\" `
--output "course_content.json"
脚本输出标准 JSON 格式,供后续生成脚本使用。参见 references/course_schema.md 了解 JSON 结构。
⚠️ 若 PDF 为扫描版(无文本层),pdfplumber 会返回空内容,需先用 OCR 工具处理(见常见问题)。
步骤 4:批量生成 PPT
为每课分别运行 make_ppt.js(修改课程数据参数):
- 以
assets/make_ppt.js为模板,将课程数据参数化 - 每课输出到对应子文件夹:`第XX课_课题名/课题名_...
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-ahao2001-csp-course": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
teaching-materials
中小学教学文档智能生成工具。当用户需要制作课件(PPT)、编写教学设计(教案)、或创建学生任务单(导学案)时使用此技能。支持数学、语文等学科的备课、课堂巩固、课后作业等教学场景的文档生成。
universal-autostart
Cross-platform auto-start service manager for Windows and macOS. Supports installing, uninstalling, starting, stopping, and monitoring services with automatic restart. Use when you need to set up persistent background services that survive system reboots on Windows (sc/schtasks) or macOS (launchd).
teacher-ai-preparing-lesson
中小学教师智能备课助手。当用户需要准备课件(PPT)、教案(教学设计)、学生任务单(导学案)时使用此技能。支持数学、语文、英语等学科的备课、课堂巩固、课后作业等教学场景的文档生成。本技能会自动生成完整的备课资料包,包括课件、教案、任务单、参考资料下载和辅助教学HTML工具。激活词:tapl、备课、备课助手、做课件、写教案、教学助手、teaching、设计任务单、导学案。
zhouyi-divination
基于《周易》的完整占卜系统,支持铜钱起卦 + 八字排盘 + 综合解读