# Vocab Builder

> 从 TXT 文件导入单词，自动生成中文释义和2个英文短句示例，输出为 JSON 文件供 Basic English 闪卡 App 使用

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

---


# vocab-builder — 词库生成器

## 功能
从 TXT 文件批量导入英文单词，自动为每个单词生成：
- 中文释义
- 2 个英文短句示例（使用简单英语，包含该单词）

输出为 JSON 文件，可直接导入 Basic English 闪卡 App 使用。

## 输入格式

TXT 文件，每行一个英文单词：
```
apple
book
cat
```

也支持空行和 `#` 开头的注释行。

## 输出格式

JSON 数组，每个元素包含 word、meaning、examples：
```json
[
  {"word": "apple", "meaning": "苹果", "examples": ["I ate an apple for breakfast.", "The apple is sweet."]},
  {"word": "book", "meaning": "书，书籍", "examples": ["She is reading a book.", "This book is very interesting."]}
]
```

## 执行流程

### 步骤 1：读取 TXT 文件
- 使用 Read 工具读取用户提供的 TXT 文件路径
- 提取所有非空、非注释行的单词
- 去重并转为小写统一处理
- 显示提取到的单词数量

### 步骤 2：分批生成释义和例句
- **每批处理 50 个单词**
- 为每个单词生成：
  - `meaning`: 中文释义（简洁准确，2-4 个汉字优先）
  - `examples`: 2 个英文短句
    - 每句 5-10 个词，使用基础英语
    - 必须包含该单词
    - 实用日常场景
    - 例句风格多样化（陈述句、疑问句、祈使句交替）
- 将生成结果写入临时 JSON 文件（`part_N.json`）

### 步骤 3：合并输出
- 合并所有分批结果为一个大 JSON 数组
- 保存到源 TXT 文件同目录下，文件名与 TXT 相同但扩展名为 `.json`
- 例：`wordlist.txt` → `wordlist.json`
- 同时在 Basic English 项目目录 `C:\Users\JoeHuang\WorkBuddy\basic-english\basic-english-master\` 保存一份副本

### 步骤 4：更新 App 默认数据（可选）
- 如果用户要求，可以更新 app.js 中的 `DEFAULT_WORDS_DATA`
- 使用 Python 脚本替换嵌入数据

### 步骤 5：报告结果
- 输出生成统计：总单词数、有释义数、有例句数
- 输出 JSON 文件路径
- 提示用户可以在 App 中通过"词库管理"→"导入词库"导入该 JSON

## 生成模板

每个单词的生成格式：
```
{"word": "WORD", "meaning": "中文释义", "examples": ["Example sentence 1 with WORD.", "Example sentence 2 with WORD."]}
```

## 注意事项
- 例句必须包含目标单词，且单词形式与词库中一致
- 如果单词有多种含义，取最常用的一个
- 介词、连词等功能词的例句要展示其在句中的用法
- 生成过程中如果某个词无法生成例句，跳过并记录
- 输出必须是合法的 JSON（UTF-8 编码）

