# English Exam Generator

> 英语试卷生成器 - 智能交互式英语测试系统。通过对话收集用户需求，利用AI能力自动生成高质量英语试题，或处理用户提供的自定义题目，生成交互式在线试卷网站（中文界面，美观现代）。支持单选/多选/填空/阅读理解等多种题型，具有计时、即时评分、对错检查功能。当用户需要：(1) 创建英语练习试卷 (2) 生成在线英语测试 (3) 提供英语题目进行练习 (4) 需要带计时和评分的英语考试系统 (5) 想要AI帮忙出英语题时触发此Skill

- Skill: `boshi-xixixi/english-exam-generator` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add boshi-xixixi/english-exam-generator`
- Raw SKILL.md: https://api.skillmd.com/api/skills/boshi-xixixi/english-exam-generator/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: boshi-xixixi (https://skillmd.com/u/boshi-xixixi)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/boshi-xixixi/english-exam-generator

---


# 英语试卷生成器 Skill

## 核心理念

这是一个**交互式智能出题系统**。当用户触发此Skill时，你需要：

1. ✅ **与用户对话** - 收集考试需求
2. ✅ **智能出题** - 使用AI能力生成高质量题目（或处理用户提供的题目）
3. ✅ **生成网页** - 输出美观的中文界面试卷
4. ✅ **启动服务** - 让用户立即开始答题

---

## 🎯 工作流程（必须按顺序执行）

### Phase 1: 需求收集（与用户对话）

当用户说类似以下的话时触发此Skill：
- "帮我生成一个英语试卷"
- "我想做个英语测试"
- "帮我出一些英语题"
- "我有一些英语题目想做"
- "创建一个英语练习"

#### 必须询问的问题（使用AskUserQuestion工具）：

**问题1：题型选择**
```
您希望包含哪些题型？（可多选）
选项：
A. 单选题（推荐）
B. 多选题
C. 填空题
D. 阅读理解
E. 混合所有类型（推荐新手）
```

**问题2：题目来源**
```
您希望如何提供题目？
A. 由AI根据我的要求自动智能生成（推荐）
B. 我自己有题目要提供（请粘贴）
```

如果选择B，请用户提供题目内容。

**问题3：基本参数**
```
请设置考试参数：
- 题目数量：（默认10题，范围1-50）
- 考试时间：（默认30分钟，范围1-180分钟）
- 难度等级：初级 / 中级 / 高级
```

> 💡 **提示**：对于新用户，建议使用默认值或推荐"混合题型+AI生成+中级难度"。

---

### Phase 2: 题目生成/处理

#### 场景A：用户选择AI自动生成

**你的任务**：
1. 根据用户选择的题型和难度，**调用AI能力生成高质量的英语题目**
2. 将生成的题目转换为标准JSON格式（见下方格式规范）
3. 确保题目难度符合用户要求
4. 题目内容必须是英文，但题目说明可以是中英双语

**AI出题示例**（你应该这样生成）：

```javascript
// 单选题示例
{
  "type": "multiple_choice",
  "question": "What is the past tense of 'go'?",
  "options": ["goed", "gone", "went", "going"],
  "answer": "went"
}

// 填空题示例
{
  "type": "fill_blank",
  "question": "She ___ (go) to school every day.",
  "answer": "goes"
}

// 阅读理解示例
{
  "type": "reading_comprehension",
  "passage": "Climate change is one of the most pressing issues...",
  "questions": [
    {
      "question": "文章中提到的气候变化的主要原因是什么？",
      "options": ["自然周期", "人类活动", "太阳辐射", "火山爆发"],
      "answer": "人类活动"
    }
  ]
}
```

**出题质量要求**：
- ✅ 题目语法正确
- ✅ 选项干扰项合理
- ✅ 难度匹配用户选择
- ✅ 涵盖不同知识点（词汇、语法、阅读等）

#### 场景B：用户提供自定义题目

**你的任务**：
1. 接收用户提供的题目（可能是文本、图片描述等）
2. 解析并转换为标准JSON格式
3. 验证格式正确性
4. 如有问题，主动询问用户确认

---

### Phase 3: 生成试卷网页

#### 步骤1：准备HTML文件

使用Skill自带的模板文件作为基础：
```
路径：assets/exam-generator.html
```

#### 步骤2：注入题目数据

修改HTML文件第626行的`EXAM_DATA`数组，填入生成的题目JSON。

---

### Phase 4: 启动服务

```bash
# 启动服务器
./start.sh [端口号]

# 或手动启动
python3 -m http.server 8080

# 访问 http://localhost:8080/assets/exam-generator.html
```

---

## 📋 题目JSON格式规范

### 单选题 (multiple_choice)
```json
{
  "type": "multiple_choice",
  "question": "英文问题文本",
  "options": ["选项A", "选项B", "选项C", "选项D"],
  "answer": "正确答案文本"
}
```

### 多选题 (multiple_select)
```json
{
  "type": "multiple_select",
  "question": "英文问题（提示多选）",
  "options": ["选项A", "选项B", "选项C", "选项D"],
  "answer": ["正确答案1", "正确答案2"]
}
```

### 填空题 (fill_blank)
```json
{
  "type": "fill_blank",
  "question": "She ___ (go) to school every day.",
  "answer": "goes"
}
```

### 阅读理解 (reading_comprehension)
```json
{
  "type": "reading_comprehension",
  "passage": "完整的英文文章内容...",
  "questions": [
    {
      "question": "问题1（中文或英文）",
      "options": ["A", "B", "C", "D"],
      "answer": "正确答案"
    }
  ]
}
```

---

## 🎨 界面特性

### 设计亮点
- ✨ **现代化UI** - 清新青绿色调（#0D9488），卡片式设计，流畅动画
- 🇨🇳 **全中文界面** - 除题目本身外，所有UI文字都是中文
- 📱 **响应式布局** - 完美支持手机、平板、电脑
- ⏱️ **实时计时** - 显示已用时间，支持时间限制
- 📊 **进度追踪** - 可视化答题进度条
- ✅❌ **即时反馈** - 正确绿色高亮，错误红色标记
- 🎉 **成绩展示** - 百分制评分 + 等级评价 + 详细统计

### 设计理念
- **纯试卷模式** - 无配置页面，打开即答
- **对话式交互** - 像聊天一样简单，降低使用门槛
- **青绿色配色** - 清新护眼，告别俗套紫色渐变

---

## 💡 使用示例

### 示例1：完全交互式流程

**用户**: "我想做一个英语测试"

**你**:
1. 询问："您希望包含哪些题型？"
   - 用户选择："混合题型"
2. 询问："题目来源？"
   - 用户选择："AI自动生成"
3. 询问："参数设置？"
   - 用户回答："15道题，40分钟，中级难度"
4. **执行**:
   - 调用AI生成15道混合型中级英语题
   - 更新HTML文件中的题目数据
   - 设置默认参数为15题、40分钟、中级
   - 启动服务器
5. **回复用户**:
   ```
   ✅ 英语试卷已生成完成！
   
   📍 访问地址：http://localhost:8080/assets/exam-generator.html
   
   📝 试卷信息：
   - 题目数量：15道（混合题型）
   - 考试时间：40分钟
   - 难度等级：中级
   
   💡 使用方法：
   1. 打开上述链接
   2. 开始答题，系统会自动计时
   3. 完成后点击提交查看成绩
   
   祝您考试顺利！🍀
   ```

---

## 🔧 技术实现

### 前端技术栈
- HTML5 + CSS3 + JavaScript（纯前端，无依赖）
- Google Fonts (DM Sans + Fraunces)
- CSS Grid & Flexbox 布局
- CSS Animations & Transitions
- 响应式设计 (Mobile-first)

### 核心功能函数
| 函数名 | 功能 |
|--------|------|
| `initExam()` | 初始化考试，加载EXAM_DATA |
| `renderQuestions()` | 渲染题目界面 |
| `startTimer()` | 启动倒计时 |
| `submitExam()` | 提交并评分 |
| `showResults()` | 显示成绩报告 |
| `resetExam()` | 重置考试状态 |

---

## 🎓 出题指南（AI生成时参考）

### 初级难度 (Easy)
- 基础词汇（常用1000词）
- 简单时态（一般现在时、一般过去时）
- 基础语法（主谓一致、be动词）
- 日常话题（家庭、学校、食物）

### 中级难度 (Medium) ⭐ 推荐
- 中级词汇（常用3000词）
- 复杂时态（完成时、进行时）
- 从句（定语从句、状语从句）
- 虚拟语气、被动语态
- 学术/社会话题

### 高级难度 (Hard)
- 高级词汇（学术/专业词汇）
- 复杂语法结构
- 长难句理解
- 推理判断题
- 抽象概念/哲学话题

---

## ❓ 常见问题

**Q: 可以离线使用吗？**
A: 可以！HTML文件完全独立，只需浏览器即可运行。

**Q: 如何保存答题记录？**
A: 当前版本不支持保存，刷新后会重置。如需此功能可以后续扩展。

**Q: 支持打印吗？**
A: 支持！使用浏览器的打印功能(Ctrl+P/Cmd+P)即可打印试卷。

**Q: 手机上可以使用吗？**
A: 完美支持！采用响应式设计，手机体验同样流畅。

---

## ✨ 最佳实践

### 与用户交互时：
1. **友好耐心** - 引导用户明确需求
2. **主动建议** - 为新手推荐合理配置
3. **质量保证** - AI生成的题目必须经过验证
4. **及时反馈** - 每个步骤都要告知用户进展
5. **完整交付** - 不仅生成文件，还要启动服务并教会用户使用

### 生成题目时：
1. **难度准确** - 严格按照用户选择的难度级别
2. **覆盖全面** - 涵盖不同知识点
3. **选项合理** - 干扰项要有迷惑性但不荒谬
4. **语言地道** - 英语表达自然准确
5. **文化适宜** - 避免敏感或有争议的内容

---

**记住**：这个Skill的核心价值在于**AI与用户的智能交互** + **高质量题目生成** + **美观易用的界面**。不只是生成一个HTML文件，而是提供完整的英语学习体验！🎯
