---
name: yiran-course-template-pipeline
description: 面向中文课堂的小专题课程模板流水线。适用于把一个题目灵感或设计角度，先生成 demo 页面，再先后整理成 __student__.json 和 __teacher__.json，最后通过脚本生成页面、整理目录、沉淀模板资产并构建模板索引。
---

# 课程模板流水线

这个 skill 支持的是一条完整工作流，而不是单点产出。


## 四阶段流程

### 1）灵感 -> demo 页面
当用户先给出题目灵感、设计角度或课堂切入点时，优先生成 demo 页面。

这一阶段优先使用：
- `prompts/阶段1-demo生成.md`

### 2）生成 __student__.json
这个阶段最重要的目标是：
先把学生任务的步骤和评价结构 JSON 确立下来。

这一阶段优先使用：
- `prompts/阶段2-student生成.md`
- `references/student-fields.md`
- `references/student-example.json`
- `references/student-scaffold.json`

### 3）生成 __teacher__.json
在 __student__.json 已经明确后，再整理教师侧信息。

这一阶段优先使用：
- `prompts/阶段3-teacher生成.md`
- `references/teacher-fields.md`
- `references/teacher-scaffold.json`

### 阶段一到三的工作目录规则
阶段一到阶段三产出的文件，统一放在：
**当前工作目录下新建的 `任务名称/` 文件夹里。**

也就是说，这几个中间产物先写在当前工作目录的任务文件夹内：
- `__demo__.html`
- `__student__.json`
- `__teacher__.json`

### 4）JSON -> HTML，并按目录打包
第4阶段拆成三个独立脚本：
- `scripts/build_template_views.py`
- `scripts/move_template_task.py`
- `scripts/publish_template.py`

其中：
- build 负责在原目录生成 `__student-view__.html`、`__teacher-view__.html` 和 `index.html`
- `index.html` 采用固定脚本规则：左边展示”评价目标”，右边展示”步骤”，不显示任务标题和一句话说明
- move 负责把任务文件夹移动到 `yiran-playground-template-use` skill 的 `templates/`，并自动触发索引重建
- publish 负责把模板文件夹内所有资源上传到七牛 CDN，并重写 HTML 中的资源引用为 CDN 绝对地址（见 `cdn-convention.md`）

**推荐发布入口（内容确认后）：**
```bash
python3 scripts/release_template.py <模板目录>
```
`release_template.py` 自动依次执行 build → move → publish，对新目录和已入库的 vN/ 目录均适用。

## 原则

- 先做 demo
- 再定 __student__.json
- 再定 __teacher__.json
- 阶段一到三先在当前工作目录的任务文件夹里完成
- publish 脚本把模板文件夹内所有文件上传到 CDN，CDN 路径规则见 `prompts/阶段4-打包落盘.md`
- 第4阶段拆成 build、move、publish 三个独立脚本
- templates 作为 skill 的资产目录统一维护
- 模板有变化后，要重新构建索引
- 全部内容优先中文
