Install
openclaw skills install @43622283/li-record-lecture-video通用录播课学习计划表生成器 v2.0.2。适用于任何培训认证课程(ISO27001/TOGAF/DevOps/ITIL等), 基于已录视频清单(标题+时长)按天分组生成学习计划Excel。 支持三种模式:用户上传自定义Excel模板(占位符或自动检测)、内置11列通用默认模板。 兼容 opencode、hermes、WorkBuddy 等多种智能体。
openclaw skills install @43622283/li-record-lecture-video当用户提供已录好的视频课程清单(含视频标题和时长),并要求生成按天分组的学习计划Excel时触发。
典型触发词:录播课学习计划、按天安排学习、视频时长分组、生成学习计划表、学习计划Excel、录播课排期
⚠️ Agent 在调用本 Skill 时必须执行以下安全检查,不可跳过。
| 约束项 | 规则 |
|---|---|
| 输入来源 | 仅接受用户明确提供的文件或文字;不主动扫描用户文件系统 |
| 输出路径 | 禁止写入系统目录(/etc, /bin, C:\Windows 等);禁止路径遍历(../) |
| 参数范围 | daily_hours: 0.25–16h;视频数量: ≤500;标题长度: ≤300字符 |
| 数据脱敏 | 视频标题自动防 Excel 公式注入(= + - @ 前缀转义) |
| 日志安全 | 脚本不输出完整文件路径到 stdout |
| 用途限制 | 仅用于教育培训场景的学习计划生成,不用于其他目的 |
| 用户确认 | 生成前向用户确认课程名称、每日学习上限、输出位置 |
用户提供包含「视频标题」和「视频时长」列的 .xlsx 文件。
脚本自动读取并解析时长(支持 timedelta 和数值格式)。
用户通过聊天发送视频清单,格式灵活:
课程导入.mp4 16分钟
1.1 信息安全定义.mp4 22分钟
...
Agent 需先解析为结构化数据(标题、分钟数),再写入临时 JSON 供脚本读取。
用户提供 Excel 视频清单 + 口头补充课程信息(如考试说明)。
用户可以提供自己的 Excel 模板,Skill 读取模板后在数据区插入按天分组的视频数据。模板中的所有样式、配色、列宽、合并规则将被保留。
在模板的 Excel 中,在数据区第一行的任意单元格写入 {{DAILY_DATA}}。Skill 会自动找到该标记,删除该行,并在该位置插入分组数据。
模板中还可使用以下占位符(可选):
{{COURSE_TITLE}} — 课程大标题{{REGISTRATION_INFO}} — 报名阶段文字{{PHASE_TITLE}} — 精讲阶段标题{{EXAM_INFO}} — 考试介绍{{EXAM_PHASE}} — 考试阶段{{SCORE_INFO}} — 成绩查询如果模板不含占位符,Skill 会扫描表头行自动匹配列名。支持的列名关键词:
| 字段 | 匹配关键词 |
|---|---|
| 时间安排 | 时间安排、日期、天次 |
| 学习时长 | 学习时长、时长、课时 |
| 学习章节 | 学习章节、章节、课程内容 |
| 学习目标 | 学习目标、目标 |
| 目标验证 | 验证方式、目标验证 |
| 学习内容 | 学习内容、知识点 |
| 课后作业 | 课后作业、作业 |
| 学习要求 | 学习要求、学习方法 |
| 学习资料 | 学习资料、资料 |
不提供模板时,使用内置 11 列通用标准模板(适用于各类培训认证课程场景)。所有现有 v1.x 用法无需改动。
{
"course_name": "课程名称",
"daily_hours": 2,
"template": "path/to/user_template.xlsx",
"videos": [["视频.mp4", 30.0]],
"guide": {"视频.mp4": ["目标", "验证", "内容"]},
"registration_info": "...",
"exam_info": "...",
"output": "output/学习计划.xlsx"
}
| 参数 | 说明 | 默认值 |
|---|---|---|
| 课程名称 | 大标题(如 "APMG ISO/IEC 27001 Foundation") | 必须提供 |
| 每日学习上限 | 小时数(0.25–16) | 2 |
| 视频清单 | 标题+时长 | 必须提供 |
| 精讲阶段日期 | "X月XX日-X月XX日" | X月XX日-X月XX日 |
| 学习指引 | 每视频的(目标/验证/重点)映射 | 可选,无则留空 |
| 考试信息 | 考试介绍/阶段/成绩查询 | 可选,使用默认模板 |
| 注册说明 | 报名阶段文字 | 可选,使用默认模板 |
| 课后作业 | 统一文字 | "完成本章节课后练习题" |
scripts/auto_guide.py 提供的 build_guide_map() 函数python scripts/generate_study_plan.py --config <config.json> [--template <模板路径>]present_files 展示生成的 .xlsx场景 A — 简单模式(无学习指引):视频清单来自 Excel,不需要填写学习目标/验证/内容。
直接用 input_excel 字段,脚本自动读取视频:
{
"course_name": "课程名称",
"daily_hours": 2,
"phase_name": "精讲阶段",
"phase_dates": "X月XX日-X月XX日",
"input_excel": {
"path": "用户提供的Excel路径",
"title_col": 1,
"dur_col": 2,
"header_row": 1
},
"output": "output/学习计划.xlsx"
}
场景 B — 完整模式(含学习指引):需要填写每视频的学习目标/验证/内容。
先用 Python 读取 Excel 提取视频标题和时长,构造 videos 数组,再用关键词匹配自动生成 guide 映射(见下一节),最终构建完整 config:
{
"course_name": "...",
"daily_hours": 2,
"phase_name": "...",
"phase_dates": "...",
"videos": [["标题.mp4", 16.5], ["另一个.mp4", 22.0]],
"guide": {
"标题.mp4": ["学习目标", "验证方式", "学习内容"],
"另一个.mp4": ["目标", "验证", "内容"]
},
"exam_info": "考试信息...",
"score_info": "成绩查询...",
"output": "output/学习计划.xlsx"
}
场景 C — 模板模式(v2.0 新增):用户提供了自定义 Excel 模板。
{
"course_name": "课程名称",
"daily_hours": 2,
"template": "path/to/user_template.xlsx",
"phase_name": "精讲阶段",
"phase_dates": "X月XX日-X月XX日",
"videos": [["标题.mp4", 16.5]],
"guide": {"标题.mp4": ["目标", "验证", "内容"]},
"registration_info": "注册说明...",
"exam_info": "考试信息...",
"exam_phase": "考试阶段...",
"score_info": "成绩查询...",
"output": "output/学习计划.xlsx"
}
先用 Python 读取 Excel 提取视频标题和时长,构造 videos 数组,再用关键词匹配自动生成 guide 映射(见下一节),最终构建完整 config:
{
"course_name": "...",
"daily_hours": 2,
"phase_name": "...",
"phase_dates": "...",
"videos": [["标题.mp4", 16.5], ["另一个.mp4", 22.0]],
"guide": {
"标题.mp4": ["学习目标", "验证方式", "学习内容"],
"另一个.mp4": ["目标", "验证", "内容"]
},
"exam_info": "考试信息...",
"score_info": "成绩查询...",
"output": "output/学习计划.xlsx"
}
当用户未提供每视频的学习目标/验证/内容时,Agent 应使用内置 scripts/auto_guide.py 模块自动生成 guide 映射。
import sys
sys.path.insert(0, r'<skill_root>/scripts')
import auto_guide
# 从视频标题列表生成 guide 映射
guide = auto_guide.build_guide_map([title for title, _ in videos])
# 验证覆盖率
missing = auto_guide.validate_coverage(guide, [title for title, _ in videos])
auto_guide.print_coverage_report(guide, [title for title, _ in videos])
import auto_guide
# 定义课程专属关键词规则
my_rules = [
auto_guide.make_simple_rule('DevOps', ['devops', 'dev ops'],
('掌握DevOps核心概念', '能说明DevOps定义与价值', 'DevOps原则与实践')),
auto_guide.make_multi_rule('流水线', ['流水线', 'pipeline', 'CI/CD'],
('掌握持续交付流水线', '能设计部署流水线', 'CI/CD流程与工具')),
]
# 用自定义规则构建
guide = auto_guide.build_guide_map(videos, rules=my_rules)
auto_guide.py 内置了三组通用规则模板(COMMON_RULES),Agent 也可以基于视频标题主题自行构建 auto_guide.build_guide_map(course='iso27001'|'devops'|'general') 快速生成。
脚本接受一个 JSON 配置文件,包含所有课程参数和视频数据。
python scripts/generate_study_plan.py --config /path/to/config.json
# 或使用自定义模板
python scripts/generate_study_plan.py --config config.json --template my_template.xlsx
配置文件结构见 references/template-spec.md。
如果只有视频清单和课程名,Agent 可直接构造最小 config:
{
"course_name": "课程名称",
"daily_hours": 2,
"videos": [["视频标题.mp4", 16.5], ["另一个视频.mp4", 22.0]],
"phase_name": "精讲阶段",
"phase_dates": "X月XX日-X月XX日",
"registration_info": "默认注册说明",
"exam_info": "默认考试信息",
"exam_phase": "默认考试阶段",
"score_info": "默认成绩查询",
"guide": {},
"output": "output/学习计划.xlsx"
}
其中 videos 为 [[标题, 分钟数], ...]。
.xlsx 文件,按用户选择的模式输出:
与智能体无关:脚本是纯 Python + openpyxl,任何能执行 Python 的 agent(opencode、hermes、WorkBuddy 等)均可使用。Agent 的职责只是收集参数、构造 config JSON、调用脚本、展示结果。
功能简介:通用录播课学习计划生成工具。适用于任何培训认证课程(ISO27001、TOGAF、DevOps、ITIL 等),将已录好的视频课程清单(标题+时长)自动生成按天分组的学习计划 Excel 表格。
三种使用方式:
{{DAILY_DATA}},工具自动填入分组数据,保留模板全部样式使用步骤:
视频名 时长 格式的列表示例:
我有一个 ISO27001 的录播课,视频清单在 videos.xlsx 里,每天学 2 小时,帮我生成学习计划
用我这个 Excel 模板生成学习计划,视频数据在 videos.xlsx
安全提示:脚本仅读取您指定的文件,输出受限目录外写入,视频标题自动防 Excel 注入。不访问网络,不上传数据。
Overview: A universal recorded-course study plan generator. Works with any training/certification course (ISO27001, TOGAF, DevOps, ITIL, etc.). Automatically generates a day-by-day study plan Excel from a recorded video list (title + duration).
Three Modes:
{{DAILY_DATA}} in the data area, and the tool fills in grouped daily data — preserving all of your template's stylingSteps:
video_name duration pairs directly in chatExample:
I have an ISO27001 recorded course, the video list is in videos.xlsx, 2 hours per day. Generate a study plan.
Use my Excel template to generate a study plan, with video data from videos.xlsx
Security: The script only reads files you explicitly provide. Output is restricted from system directories. Video titles are automatically sanitized against Excel formula injection. No network access, no data upload.
Aperçu : Un générateur universel de plans d'étude pour cours enregistrés. Fonctionne avec tout type de formation/certification (ISO27001, TOGAF, DevOps, ITIL, etc.). Génère automatiquement un plan d'étude Excel jour par jour à partir d'une liste de vidéos (titre + durée).
Trois Modes :
{{DAILY_DATA}} dans la zone de données, l'outil remplit les données groupées par jour — en conservant tout le style de votre modèleÉtapes :
nom_vidéo durée directement dans le chatExemple :
J'ai un cours enregistré ISO27001, la liste des vidéos est dans videos.xlsx, 2 heures par jour. Générez un plan d'étude.
Utilisez mon modèle Excel pour générer un plan d'étude, avec les données vidéo de videos.xlsx
Sécurité : Le script lit uniquement les fichiers que vous fournissez explicitement. La sortie est limitée aux répertoires non-système. Les titres des vidéos sont automatiquement protégés contre l'injection de formules Excel. Pas d'accès réseau, pas de téléchargement de données.