Files
doodle-mini/skills/generate-age-abilities/SKILL.md
T
2026-05-06 17:28:51 +08:00

150 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Skill: generate-age-abilities
> 生成分龄页各年龄段的「能力目标」数据,更新 `age.config.ts` 中的 `AGE_ABILITIES`。
## 触发条件
当用户提到以下内容时触发:
- "生成能力目标"、"更新能力目标"、"generate age abilities"
- "更新分龄页第二部分"、"更新分龄能力"
## 任务描述
你是一位拥有 15 年经验的儿童早教专家,专注于 3-8 岁儿童的认知发展和学习能力培养。你需要基于当前系统中已上线的所有 worksheet(打印练习册)内容,为 5 个年龄段(3-4 岁、4-5 岁、5-6 岁、6-7 岁、7-8 岁)生成精准的能力目标描述。
## 执行步骤
### Step 1:获取 worksheet 数据
`page-config.json` 存储在微信云存储中(路径:`/content/page-config.json`),本地项目中不存在此文件。按以下优先级获取数据:
**方式一:读取本地缓存(优先)**
1. 使用 Glob 搜索 `.cache/page-config.json` 是否存在
2. 如果存在,读取 `category.categories` 数组,提取每个分类下的 `items[]`
3. 从每个 item 中提取:`id``title``description``category``ageBand``difficulty`
**方式二:通过微信开发者工具下载**
如果本地缓存不存在,提示用户按以下步骤获取:
1. 打开微信开发者工具
2. 进入「云开发控制台」→「存储」
3. 找到 `/content/page-config.json` 文件,点击下载
4. 将文件保存到项目根目录的 `.cache/page-config.json`
```bash
# 确保 .cache 目录存在
mkdir -p .cache
# 用户手动将下载的文件放入:.cache/page-config.json
```
**方式三:通过云函数调用获取**
如果用户已安装 `tcb` CLI(腾讯云开发 CLI),可以直接下载:
```bash
mkdir -p .cache
tcb storage:download /content/page-config.json .cache/page-config.json
```
> **重要**:请在获取数据后告知用户文件中有多少个 worksheet,以及覆盖了哪些分类和年龄段,让用户确认数据是最新的。
### Step 2:分析 worksheet 内容
1. 将所有 worksheet 按年龄段(`ageBand`)分组
2. 在每个年龄段内,按分类(`category`)统计覆盖的知识领域
3. 分析每个年龄段的 worksheet 主要涉及哪些能力维度
当前系统的分类体系:
- `math` - 数感启蒙(数字认知、计算、数学思维)
- `puzzle` - 益智游戏(逻辑推理、空间想象、专注力)
- `pinyin` - 汉语拼音(拼音认读、拼写)
- `chinese` - 趣味识字(汉字书写、识字、词语)
- `english` - 英语启蒙(字母、单词、简单句型)
- `craft` - 创意手工(动手能力、创造力)
年龄段定义(来自 `core/data/difficulty.ts`):
- `3-4`3-4 岁
- `4-5`4-5 岁
- `5-6`5-6 岁
- `6-7`6-7 岁
- `7-8`7-8 岁
### Step 3:生成能力目标
以早教专家视角,为每个年龄段生成 **3 个核心能力维度**
**生成原则:**
1. **基于实际内容**:能力目标必须反映系统中实际存在的 worksheet 内容,不能脱离实际可练习的内容空谈
2. **发展阶梯性**:5 个年龄段的能力描述应体现明显的递进关系
3. **具体可衡量**:描述要具体到可练习的技能点,避免笼统表述
4. **简洁有力**:每个 `desc` 控制在 10 个汉字以内,用顿号分隔 2-3 个技能点
**能力维度选择参考(可根据实际 worksheet 内容调整):**
- 🔢 数感(数字认知、计算能力)
- ✏️ 书写(笔画、汉字、拼音书写)
- 🧩 思维(逻辑推理、空间想象)
- 🔤 语言(拼音、英语启蒙)
- 🎨 创造(手工、绘画、创意表达)
如果某个年龄段的 worksheet 内容集中在特定领域,可以调整能力维度以更准确地反映实际内容。
### Step 4:更新 age.config.ts
1. 读取 `miniprogram/pages/age/age.config.ts` 文件
2. 找到 `AGE_ABILITIES` 常量(如果不存在则在现有代码中 `MOCK_ABILITY` 的位置创建)
3. 替换为新生成的数据
**输出数据结构:**
```ts
export const AGE_ABILITIES: Record<AgeBandKey, AbilityItem[]> = {
'3-4': [
{ icon: '🔢', title: '数感', desc: '认读 1-5、点数对应' },
{ icon: '✏️', title: '书写', desc: '涂鸦线条、简单描红' },
{ icon: '🧩', title: '思维', desc: '找相同、简单配对' },
],
'4-5': [
{ icon: '🔢', title: '数感', desc: '10 以内数数、比大小' },
{ icon: '✏️', title: '书写', desc: '笔画模仿、图形描边' },
{ icon: '🧩', title: '思维', desc: '规律排序、图形分类' },
],
'5-6': [
{ icon: '🔢', title: '数感', desc: '10以内加减法、凑十法' },
{ icon: '✏️', title: '书写', desc: '练字帖、拼音入门' },
{ icon: '🧩', title: '思维', desc: '方格推理、格子仿画 5×5' },
],
'6-7': [
{ icon: '🔢', title: '数感', desc: '20 以内运算、应用题启蒙' },
{ icon: '✏️', title: '书写', desc: '常用字书写、词语积累' },
{ icon: '🧩', title: '思维', desc: '逻辑填空、空间想象' },
],
'7-8': [
{ icon: '🔢', title: '数感', desc: '乘除启蒙、巧算练习' },
{ icon: '✏️', title: '书写', desc: '段落抄写、古诗诵读' },
{ icon: '🧩', title: '思维', desc: '数独入门、综合推理' },
],
};
```
### Step 5:验证
1. 确认每个年龄段都有 3 个能力维度
2. 确认 `desc` 简洁(≤10 个汉字)
3. 确认 5 个年龄段之间有明显的能力递进
4. 确认 `icon` 使用了合适的 emoji
5. 确认数据结构与 `AbilityItem` 类型匹配
## 相关文件
- `miniprogram/pages/age/age.config.ts` — 输出目标文件
- `miniprogram/pages/age/age.ts` — 分龄页逻辑(引用 config)
- `miniprogram/core/data/difficulty.ts` — AGE_BANDS 定义
- `miniprogram/core/data/categories.ts` — CATEGORY_LIST 分类定义
- `.cache/page-config.json` — worksheet 数据本地缓存(从云存储下载)
- 云存储 `/content/page-config.json` — worksheet 数据源(Source of Truth
- `cloudfunctions/worksheetsQuery/` — 查询 worksheet 的云函数(备选数据源)
- `docs/分龄页内容管理方案.md` — 方案文档