tk-course 是 mtgvim/tiger-kit 中的课程制作技能,目标是为学习者产出可复用、可离线完成、不依赖持续对话的完整课程。它适合根据学习目标、语料、受众和既有媒体决策来设计并制作课程,也支持对已有产物或多个主题的课程集合做增量编辑与汇总,但明确不用于根据个人回答继续的辅导,也不用于单个概念或情境的简短解释,这些分别由 tk-teach 和 tk-explain 承担。
主要能力与流程:
-
课程设计:从学习者应能解释、判断或执行的内容倒推,规划先修要求、课时顺序、示例、迁移练习和带理由的答案,写入 curriculum.md,并在输出旁保留 sources.md 和 course.json。创建课程不授予提交、推送、PR 或部署权限。
-
资料与来源:调研当前一手资料并保留断言级出处;对每个提供的语料成员标注已使用、部分使用、不可用或省略及原因;关键材料不可用时不宣称完成全语料覆盖。
-
媒体选择:按学习目标为每课选择媒介。分阶段讲解优先使用 HTML/SVG 幻灯片加本地生成的旁白;需要连续运动、真实软件输入或物理过程时才选择视频;不把每套幻灯片都重复做成视频。制作前需确定 TTS 方案(引擎、模型、音色、就绪状态),或明确选择无旁白。
-
构建与验证:使用打包组件和固定播放器,运行 scripts/build_course.py --input <course.json> --output <new-course-dir> 生成课程;默认输出到被忽略的 .tigerkit/courses/<topic>/,尊重显式指定目的地。输出包含单文件 index.html 和可独立阅读的课时页面。
-
检查项:实际阅读/收听顺序、目标与先修覆盖、来源支持、组件溢出、字幕、笔记、问答分离与重试反馈;音频就绪、缺失文件恢复、首次播放即时性、呼吸间隔、显示/跳转状态、字幕大小与不透明度(默认 50%)、明暗/系统主题、设置点击区域、默认静音、音量/速率、进度导入导出。视频成品自带音频、暂停和时间轴,不叠加实时 TTS;手动进度属于课程,不作为辅导证据。运行时检查使用 tk-browser-verify,未执行的检查和待人工试听需如实报告,不得虚构生成的音频。
-
增量与集合:修改已有产物或多主题前先阅读增量编辑和集合相关说明,保留无关课程、学习者笔记和未知进度格式。
-
安全与权限:仅在任务授权时创建产物;写入前读取产物路径规则,应用 Git 排除、安全路径和所有权检查;默认仓库内输出到 .tigerkit/,尊重显式最终目的地。纯对话工作不进行文件或忽略设置。
-
提问与反馈:可研究的事实先解决并复用匹配的授权;只问可回答的决策,批准单独处理。可复用的事故事件可建议 tk-retro,但调用、反馈产物、已安装技能编辑和发布均需各自授权。
-
输出规范:结果摘要需包含成果、实际验证、材料限制和直接交付链接,区分计划/跳过检查与已执行工作,保留未完成的人工检查及真实清理、阻塞或人工操作细节,不声称未验证的完成或清理。使用 ASCII 编号和完整绝对可点击文件路径,保留精确代码、命令、标识符、URL、引文和已验证 UI 标签;多属性聊天对比使用窄 GFM 表格(约四列),否则用列表;渲染 Markdown 正文用连字符表示范围,字面波浪号转义为 ~。
适用场景:需要产出结构完整、可离线完成、带评估与来源标注的课程;需要将多个主题课程组织为首页;需要对已有课程做受控的增量修改。限制:不用于持续问答式辅导或单概念解释;创建不授予提交、推送、PR 或部署权限;安装、下载、发布需单独授权;未执行的检查与未提供的音频不得虚构。