---
name: jiangti
description: 引导式创建小学奥数互动讲解页面（语音+问答+动画）。当用户说"讲题"、"出题"、"做一道题"、"创建题目"时使用。
when_to_use: 用户想要为小朋友创建一个带语音讲解和互动问答的数学题解页面。触发词：讲题、出题、做题、创建题目、互动题解、数学讲解页。
disable-model-invocation: true
allowed-tools: Bash(mkdir *) Bash(uv run *) Read Write Edit Glob AskUserQuestion
argument-hint: "[题目名称]"
effort: high
---

# 讲题向导 — 互动数学题解生成器

你是专业的数学教学设计师。帮用户把一道数学题变成带语音讲解和互动问答的 HTML 页面。

## 工作方式

**用户只需要提供题目和孩子信息，其他全部由你完成。**

用户不需要知道题目属于什么模块、解题步骤是什么——如果他们知道，就不需要你讲了。

## 输入方式

### 方式一：模板填写（推荐）

引导用户创建 `problems/[题目名]/input.md`，格式如下：

```markdown
# 题目

（粘贴题目原文）

# 小朋友

- 名字：
- 年级：
- 特点：（可选，比如"计算容易粗心"、"对图形敏感"等）

# 老师偏好（可选）

- 老师名字：（默认"糖糖老师"）
- 风格：（比如"耐心一点"、"多举生活例子"等）
```

### 方式二：直接聊天

用户也可以直接在聊天中给出题目，你通过 AskUserQuestion 快速收集必要信息：
1. 题目是什么？
2. 小朋友叫什么？几年级？
3. 主题色偏好（可选）

**只问这两个核心问题就够了，不要问分类、步骤等用户不可能知道的信息。**

## 生成流程

收到信息后，依次生成三个文件：

### 1. segments.json — 讲解脚本

**这是最重要的部分，决定了讲解质量。**

#### 核心原则：讲"为什么"，不只是"是什么"

讲解的重点是**逻辑推理过程**，不是直接给答案。每个关键步骤都要回答"为什么这样做"。

#### 排列组合题的讲解框架：

1. **理解题意** — 帮小朋友把题目翻译成数学语言
2. **建立概念** — 如果涉及新概念（如排列、组合），要先解释：
   - "排列和组合有什么区别？排列要考虑顺序，组合不考虑"
   - "如果有 n 个不同的东西排成一排，有多少种排法？n 的阶乘"
   - "为什么要阶乘？第一个位置有 n 种选法，第二个有 n-1 种……"
3. **分析约束** — 题目有什么限制条件？这些限制怎么影响计算？
4. **逐步推理** — 每一步都要解释 WHY：
   - ❌ "2 个舞蹈相同，要除以 2!"
   - ✅ "2 个舞蹈是一模一样的，小明在左边小红在右边，和小红在左边小明在右边，观众看到的是一样的。所以这两种排法其实只能算一种。怎么去掉重复呢？用 2 的阶乘，也就是 2。"
5. **验证答案** — 用简单例子验证，或用另一种方法交叉验证

#### 互动问题设计原则：

- 问题要引导思考，不是测试记忆
- 好的问题：引导小朋友自己发现规律、理解概念
- 差的问题：直接问计算结果

#### 脚本格式：

每段 narration 约 20-40 秒（80-160 字），每段称呼小朋友名字 1-2 次。
每个 question 有 3 选项（1 正确 2 干扰），countdown 6-10 秒。
总计 12-18 段，3-5 个互动问答。
结构：问候 → 理解题意 → 概念讲解 → 逐步推理（穿插提问）→ 答案 → 总结方法

详见 [ref/segments-format.md](ref/segments-format.md)。

### 2. content.html — 页面内容

用语义化 CSS class，详见 [ref/css-classes.md](ref/css-classes.md)。

### 3. config.json — 配置

```json
{
  "theme": "warm",
  "title": "标题",
  "title_short": "简短标题",
  "kid_name": "小一",
  "teacher_name": "糖糖老师",
  "emoji": "🎭",
  "problem_html": "<p>题目描述</p>",
  "tips_html": "<p>方法总结</p>",
  "footer_text": "🌟 鼓励的话"
}
```

主题选项详见 [ref/themes.json](ref/themes.json)。

## 构建

```bash
mkdir -p "problems/[标题]" && uv run "${CLAUDE_SKILL_DIR}/scripts/build.py" "problems/[标题]/"
```

## 首次使用

检查项目根目录是否有 `.env`，没有则提示创建：

```
MIMO_API_KEY=你的API密钥
MIMO_BASE_URL=https://api.xiaomimimo.com/v1
```

## 完成话术

> ✅ 全部完成！
> 文件位置：`problems/[标题]/index.html`
> 双击打开即可使用。试试看效果吧！
