---
name: yiran-playground-template-use
description: AI Playground 课程模板库。存储模板、维护索引、提供搜索，并对外暴露两个脚本入口：playgrounds 一条龙，以及指定 workspace 的 deploy / deploy+tui。适用于"我要用 A100""帮我打开模板103""把 A100 放到 playgrounds"这类场景。
---

# yiran-playground-template-use

这个 skill 负责模板的**存储、搜索和使用**，是模板生命周期的后半段。

模板的生产由 `yiran-course-template-pipeline` 完成，生产完成后移入本 skill 的 `templates/`。

## 能做什么

1. **搜索模板**：按系列/编号或关键词找到合适的模板
2. **playgrounds 一条龙**：自动准备 playgrounds、复制模板、并发起 tui
3. **指定 workspace 投放**：支持只 deploy，或 deploy 后继续 tui

## 如何搜索

两种方式：

- AI 驱动：使用 `search-agent-prompt.md` + `template-index.json`
- 脚本驱动：`python3 scripts/query_template.py --series A --number 100`

说明：
- `query_template.py` 是唯一查询主入口
- 先按系列 + 编号查
- 没有明确编号时，再按关键词、标签和索引内容匹配

## 对外脚本入口

### 参数总表

| 脚本 | 模式 | 调用方式 | 必填参数 | 可选参数 | 是否自动 tui |
|---|---|---|---|---|---|
| `run_playgrounds_flow.py` | A + B + C | `python3 scripts/run_playgrounds_flow.py <template_path>` | `template_path` | 无 | 是 |
| `deploy_to_workspace.py` | 单独 B | `python3 scripts/deploy_to_workspace.py <template_path> <workspace_path>` | `template_path` `workspace_path` | 无 | 否 |
| `deploy_to_workspace.py` | B + C | `python3 scripts/deploy_to_workspace.py <template_path> <workspace_path> --with-tui` | `template_path` `workspace_path` | `--with-tui` | 是 |

### 入口 1，playgrounds 一条龙
```bash
python3 scripts/run_playgrounds_flow.py <template_path>
```

特点：
- 只收 1 个参数：模板路径
- 内部自动执行 A + B + C
- 固定使用 `playgrounds`
- 自动执行 `mc new playgrounds`
- 自动复制到 `workspace-playgrounds/remix/实例名`
- 自动发起 `mc tui playgrounds`

### 入口 2，指定 workspace 投放
```bash
python3 scripts/deploy_to_workspace.py <template_path> <workspace_path>
python3 scripts/deploy_to_workspace.py <template_path> <workspace_path> --with-tui
```

特点：
- 只 deploy 时，不进入 tui
- 加 `--with-tui` 时，deploy 后继续发起 tui
- 不暴露 `--agent`
- 不暴露 `--session`
- agent 从 `workspace-xxx` 自动推导

## 统一规则

- `实例名 = 目标文件夹名 = session 名`
- 实例名在 deploy 阶段生成
- 命名规则默认是：`月日_原模板名_时分`
- 如果同一分钟同名冲突，会自动加 `_2`、`_3`
- 学生作品主文件是 `index.html`，`__XXX__` 文件（`__demo__.html` 等）为只读参考，不修改

## 内部脚本分层

- `scripts/prepare_playgrounds.py`：内部 A 阶段，playgrounds 准备
- `scripts/deploy_to_workspace.py`：内部 B / C 阶段，指定 workspace deploy / optional tui
- `scripts/run_playgrounds_flow.py`：对外 A+B+C 一条龙入口
- `scripts/deploy_template.py`：兼容转发到默认 playgrounds workspace

## 目录结构

- `SKILL.md`：本说明
- `search-agent-prompt.md`：AI 搜索指引
- `template-index.json`：模板索引（由 pipeline 生成并同步，不手改）
- `templates/`：模板库，每个子文件夹是一个独立模板
- `scripts/query_template.py`：查询主脚本
- `scripts/prepare_playgrounds.py`：内部准备脚本
- `scripts/deploy_to_workspace.py`：对外 workspace 投放脚本
- `scripts/run_playgrounds_flow.py`：对外 playgrounds 一条龙脚本
- `prompts/remix-handoff.txt`：交接提示词模板

## 索引维护

`template-index.json` 由 `yiran-course-template-pipeline` 的 publish 流程统一生成和上传 CDN，本 skill 不负责维护。
