| name | course-generator |
| homepage | https://github.com/cat-xierluo/legal-skills |
| author | 杨卫薪律师(微信ywxlaw) |
| version | 2.3.3 |
| license | Complete terms in LICENSE.txt |
| description | 课程内容管理平台。支持三种工作模式:从转录稿/文献生成结构化课程(生成模式)、将课程归档整理到知识库(归档模式)、根据客户需求从现有素材中提取重组内容(提取模式),并可通过用户词典自动纠正转录稿中的近似误转写术语。本技能应在用户需要将文献整理为课程、归档课程文件、或根据培训需求定制课程方案时使用,尤其适合需要把长转录稿整理成章节边界清晰、段落可读、问答自然融入正文、去除转录来源痕迹、保留英文专有名称、图片资产可追溯但正文插图克制,并保留高价值观点、案例、判断和实践细节的独立课程文档。 |
Course Generator v2.3.3
概述
课程内容管理平台,支持三种工作模式:
| 模式 | 触发场景 | 输入 | 输出 |
|---|
| 生成模式 | 有新的转录稿/文献需要整理为课程 | 转录稿、文献文件 | 结构化课程文档 |
| 归档模式 | 课程文件需要整理到知识库 | 已生成的课程文件 | 按规范归档的知识库目录 |
| 提取模式 | 客户提出培训需求,需要定制方案 | 客户需求描述 | 定制化课程方案文档 |
核心原则:
- 忠实原文:保留文献中的核心观点、具体例子、重要表述,不添加文档外信息
- 叙述性写作:以段落论述为主,避免用要点堆砌替代完整论证
- 详尽完整:总览 + 专题文档,包含核心观点、案例分析、重要表述、数据支撑、背景信息
- 高保真正文增强:生成模式不是轻量摘要,应少压缩、多保留有思想密度的观点、案例、判断、金句、工具选择理由、踩坑经验和真实疑问
- 独立正文去来源痕迹:最终章节应像独立文章或书稿章节,不反复出现"现场演示"、"课程现场"、"现场问答"、"主讲人提到"等转录来源表述
- 专有名称保真:保留 Skill 名称、工具名、项目名、产品名、命令名、API、文件名和框架名的原始语言和大小写;原文是
Course Generator、Claude Code、Codex、Cursor、Markdown 等英文专有名称时,不翻译成中文
- 图片资产保真与克制插图:图片资产表完整保留原文 Markdown 图片引用的 URL、alt 文本和原始顺序;正文只插入能帮助理解核心观点、流程、案例或工具界面的高价值图片,避免把章节变成图片堆叠
- 正文密度不因少插图而下降:图片筛选只控制插图密度,不得借此压缩原文中的高价值观点、案例链路、判断依据、问答疑惑和实践细节
- 智能处理:自动识别并去除发言人标记、时间戳,提取配图链接,清洗冗余信息,结合用户词典校正术语,转换口语为书面语
- 结构适配:根据素材自身的流程、框架、能力模型或主题关系选择结构表达,不套固定模板
- 可读性优先:控制段落长度,三级标题使用编号,保持章节边界清楚,避免相近主题重复展开
模式识别
根据用户输入自动判断工作模式:
- 生成模式:用户提供了文件/目录路径,或明确要求"生成课程""整理文献""从转录稿生成"
- 归档模式:用户要求"归档""整理到知识库""保存课程"
- 提取模式:用户描述了培训需求(受众、时长、方向),如"给某企业做培训,需要 XX 内容"
Step 0:读取配置
首次使用时,先复制 config/paths.example.yaml 为 config/paths.yaml,再读取 config/paths.yaml 获取路径配置。
如需启用用户词典,复制 config/user_dictionary.example.yaml 为 config/user_dictionary.yaml,在 terms 中添加正确术语即可。用户词典只记录正确写法,不需要维护"错误词 -> 正确词"映射。
路径规则:
-
knowledge_base、archive_root、curriculum_file、training_root 强烈建议使用绝对路径
-
只有在明确知道当前工作目录时,才使用相对路径;相对路径默认相对于当前工作目录解析
-
路径中包含空格、中文或 emoji 时,YAML 值必须放在引号中
-
knowledge_base:知识库根目录
-
archive_root:课程归档路径
-
archive_naming:归档目录命名规范
-
curriculum_file:课程主题体系文件路径
-
training_root:培训材料根目录
用户词典规则:
config/user_dictionary.yaml 不存在或 terms 为空时,跳过术语校正
terms 中的每一项都是正确术语,输出时应按词典中的大小写和写法呈现
- 仅在上下文明确指向某个词典术语时,才将近似误转写替换为该术语
- 可校正大小写、空格、标点、音近/形近、英文术语被拆分或被转成中文近音等高置信错误
- 不要将英文专有名称翻译成中文;如果词典或原文中出现
Course Generator,后续输出应保留 Course Generator,而不是改写为"课程生成器"
- 模糊或低置信场景保持原文,不做猜测式替换
- 校正只用于生成课程内容,不修改原始转录文件,也不在成品课程文档中输出校正日志
生成模式
流程
读取文献 → 读取用户词典 → 校正近似误转写 → 建立图片资产表并筛选正文配图 → 智能识别内容特征 → 生成课程大纲 → 生成总览+专题 → 归档到知识库
Step 1:读取文献文件
使用 Glob 工具一次性读取指定目录下的所有文献文件:
Glob: {输入目录}/**/*.{md,txt}
保持完整上下文,一次性读取所有文件内容。
Step 2:读取用户词典并校正术语
如果存在 config/user_dictionary.yaml,读取其中的 terms 列表。将这些术语视为正确写法,在转录稿和文献内容中查找高度相近且上下文明确的误转写,并统一替换为词典中的术语写法。
示例:词典中包含 OpenClaw 时,如果转录稿出现明显指向该工具或平台的近似写法,应在后续大纲、总览和章节中统一写作 OpenClaw。
不要把用户词典理解为替换映射表;用户只维护正确术语,AI 负责基于上下文识别可能的误转写。不要为了使用词典而强行替换普通词,也不要补充词典中不存在的术语。
Step 3:建立图片资产表并筛选正文配图
如果原文包含 Markdown 图片引用(如 ),先按原文出现顺序建立图片资产表:
- 为每张图片分配稳定编号:
IMG-001、IMG-002、IMG-003...
- 原样保留图片 Markdown:alt 文本、URL、括号和路径均不改写
- 记录图片附近的时间戳、前后 1-3 段文字或标题,作为归属章节判断依据
- 归属章节时优先根据图片邻近内容和时间顺序判断;同一章节内图片必须按原文出现顺序排列
- 区分"资产保留"和"正文插入":图片资产表尽量完整保留图片引用,但正文不需要插入所有图片
- 为每张图片标注图片价值:
核心图、辅助图、低价值图、跳过图
- 为每张图片标注正文处理:
插入正文、仅资产表保留、跳过
- 核心图通常包括方法框架、工具界面、关键流程、案例证据、对比结论、操作结果等能独立增加理解的信息,应优先插入正文
- 辅助图只有在能支撑相邻段落理解、且不会造成图片堆叠时才插入正文
- 会务测试、音频调试、空白页、过渡页、纯标题页、重复页、装饰页或无法贡献课程理解的图片,标注为
仅资产表保留或跳过,并说明原因
- 同一位置连续插入图片原则上不超过 2 张,确有必要时最多 3 张;如果一组图片更多,应选择代表图插入,其余仅在资产表保留或分散到不同小节
- 如果无法判断归属,放入时间位置最接近的章节;如果无法判断是否应进正文,默认先
仅资产表保留,不要把低置信图片塞进正文
- 图片筛选只影响图片是否进入正文,不影响正文素材保留力度;不要因为删减图片而同步删减对应案例、操作逻辑、判断理由或问答中有价值的信息
Step 4:智能识别内容特征
检测文件特征,自动识别内容类型:
- 发言人标记:发言人1、发言人2等
- 时间戳模式:00:00、12:34等格式
- 配图链接:包含图片URL链接
- 转录特征:口语化表达、操作过程描述、临时插话和补充讨论等
根据识别的内容特征,自动选择最合适的处理方式。
Step 5:生成课程大纲
调用 AI 模型,一次性分析所有文献并生成课程大纲。详见 outline_prompt.md。
核心要求:
- 整体把握:理解所有内容的整体脉络和逻辑关系
- 主题识别:基于所有内容自动识别主要主题
- 内容优化:清洗冗余信息,保留核心内容,转换口语为书面语
- 高价值素材识别:显式识别核心观点、方法论、实践案例、工具选择理由、踩坑经验、反直觉判断、可迁移表达和问答素材中的真实疑惑
- 术语校正:根据用户词典识别并修正高置信的近似误转写,统一使用词典中的正确写法
- 专有名称保真:保留英文 Skill 名称、工具名、产品名、命令名、API、文件名和框架名,不把
Course Generator 等专有名称意译成中文
- 课程组织:按主题生成章节,明确每章边界,标注核心章节,案例、问答和展望融入相应主题
- 配图处理:建立图片资产表,保留图片 Markdown 原文、原始顺序、章节归属、图片价值、正文处理和放置建议;正文只插入核心图和必要辅助图
输出格式:
课程标题:[基于原文生成的课程名称]
第一章 [主题名称] - 核心观点摘要
边界: [本章负责的问题范围]
高价值素材: [观点、案例、判断、金句、真实疑问或实践细节]
本章正文配图: [只列出标注为插入正文的 IMG-001, IMG-002...;无则写"无"]
第二章 [主题名称] - 核心观点摘要
边界: [本章负责的问题范围]
高价值素材: [观点、案例、判断、金句、真实疑问或实践细节]
本章正文配图: [只列出标注为插入正文的 IMG-003, IMG-004...;无则写"无"]
Step 6:生成总览文档
详见 overview_prompt.md。
总览中的结构导览是可选模块。只有当素材确实包含流程链路、方法框架、能力模型或系统架构时,才加入简短导览;导览标题应根据内容自动命名,不能固定套用"核心工作流地图"。
输出文件名:00 [课程名称] - 总览.md
Step 7:生成专题文档
详见 chapter_prompt.md。
可选模块架构:AI 从 11 个可选模块中选择合适的组合:
| 模块名称 | 适用场景 |
|---|
| 引言与概述 | 需要背景介绍和内容导航 |
| 核心概念与原理 | 理论性内容,需要概念阐释 |
| 理论框架 | 学术性、理论性较强的内容 |
| 历史背景 | 需要时间线或发展历程的内容 |
| 实践案例 | 有具体应用实例的内容 |
| 应用场景 | 需要场景说明的内容 |
| 最佳实践 | 需要操作指南的内容 |
| 对比分析 | 需要比较不同方案/观点的内容 |
| 未来展望 | 有前瞻性、趋势性内容 |
| 本章小结 | 需要总结回顾的内容 |
| 延伸阅读 | 有相关资源推荐的内容 |
默认推荐组合:
- 理论类:引言与概述 + 核心概念与原理 + 本章小结
- 实践类:引言与概述 + 应用场景 + 最佳实践 + 本章小结
- 案例类:引言与概述 + 实践案例 + 对比分析 + 本章小结
- 综合类:根据内容特点灵活组合
排版与可读性要求:
- 三级标题统一使用
### 1、标题 格式,每个二级标题下从 1 重新编号
- 段落目标长度约 160-240 个中文字符,超过 260 字优先拆分,避免 300 字以上长段
- 同一段只讲一个核心意思,避免把概念定义、案例说明和价值判断塞进同一段
- Q&A 必须按主题融入对应章节,转化为常见疑问、补充解释、案例回应或实践注意事项,不单独成章,也不机械保留问答格式
- 操作过程、补充讨论和工具选择过程应提炼为案例、方法、取舍或实践经验,不要压缩成一句泛泛结论,也不要在正文中保留"现场演示"式来源叙述
- 只有大纲标注为
插入正文的本章正文配图必须插入正文,使用原始 Markdown 图片引用,不改 URL,不改 alt,不重新排序;标注为仅资产表保留或跳过的图片不得强行插入正文
- 同一小节连续图片原则上不超过 2 张,确有必要时最多 3 张;超过时选择代表图,或分散到真正相关的不同段落之后
- 图片数量减少不等于正文压缩,章节仍需保留原素材中的案例链路、工具取舍、限制条件、真实疑问和可迁移表达
- 允许使用少量“关键判断”“实践启发”“方法框架”等三级标题突出重点,但必须服务正文论证,不把章节写成提纲
- 保持叙述性写作,但流程、步骤、术语映射、工具对比等场景可以使用简短列表或箭头链路辅助理解
Step 8:创建输出目录并保存
- 读取
config/paths.yaml 中的 archive_root 和 archive_naming
- 按命名规范创建目录:
YYMMDD 课程主题/
- 保存文件:
- 总览:
00 [课程名称] - 总览.md
- 章节:
0X [章节序号] [主题名称].md
- 目录位于
archive_root 下,由配置文件决定实际位置
归档模式
流程
读取课程文件 → 确定归档路径 → 移动/复制 → 更新索引
Step 1:读取待归档课程
使用 Glob 读取指定目录下的课程文件。优先识别当前标准命名,同时兼容旧命名:
- 总览:
00 [课程名称] - 总览.md
- 兼容旧总览:
00_*.md
- 章节:
0X [主题名称].md
- 兼容旧章节:
0X_*.md
Step 2:确定归档路径
- 读取
config/paths.yaml 配置
- 从总览文件中提取课程名称和日期信息
- 按命名规范确定目标路径:
{archive_root}/{YYMMDD} {课程主题}/
Step 3:归档文件
- 使用
Bash 创建目标目录
- 将课程文件复制到目标目录
- 验证文件完整性(总览 + 全部章节)
Step 4:更新索引
如果知识库目录下存在 README.md,将新课程添加到索引中。
提取模式
流程
解析需求 → 匹配课程 → 定位素材 → 提取重组 → 输出方案
Step 1:解析客户需求
从需求描述中提取关键信息:
- 受众:企业法务 / 律师 / 法律研发 / 产品团队
- AI 基础水平:零基础 / 有一定经验 / 技术背景
- 培训时长:2-3 小时 / 半天 / 1 天 / 多天
- 重点方向:认知 / 工具 / Agent-Skill / 案例 / 组织 / 超级个体
Step 2:匹配课程讲次
读取配置中的 curriculum_file,根据需求匹配讲次组合:
- 基于受众和基础水平确定阶段范围
- 基于培训时长确定讲次数(每讲约 60-90 分钟)
- 基于重点方向优先匹配对应讲次
- 确保选取的讲次逻辑连贯
Step 3:定位素材文件
根据匹配到的讲次,在知识库中定位对应的素材源文件:
- 对照
curriculum_file 中的素材来源目录
- 使用
Glob 搜索知识库目录下的相关文件
- 优先读取总览文件了解内容全貌,优先匹配
00 [课程名称] - 总览.md,兼容旧命名 00_*.md
- 按需深入读取具体章节
Step 4:提取与重组
详见 extract_prompt.md。
核心原则:
- 忠实原文:保留素材中的核心观点、案例、数据
- 逻辑重组:按培训的时间线和认知逻辑重新组织
- 受众适配:根据受众水平调整内容深度
- 时长控制:根据培训时长裁剪内容量
Step 5:输出课程方案
输出定制化课程方案文档,保存到 training_root 目录下。
方案格式包含:培训目标、课程结构(各部分主题+时长+核心内容+详细内容)、素材来源。
参考文档