8.5 KiB
8.5 KiB
name, description
| name | description |
|---|---|
| update-age-config | 基于 cache/page-config.json 更新分龄页 age.config.ts 中的 AGE_ABILITIES 与 AGE_WEEK_PLANS。在用户说「更新分龄页数据」「更新分龄config」「更新分龄学习计划」 或同类表述时使用;每次执行须同时更新上述两个常量。 |
Skill: update-age-config
一次性更新
miniprogram/pages/age/age.config.ts中的AGE_ABILITIES与AGE_WEEK_PLANS。
触发条件
当用户提到以下内容时必须使用本 Skill(不再使用已废弃的 generate-age-abilities / generate-age-weekly-plans):
- 「更新分龄页数据」
- 「更新分龄 config」
- 「更新分龄学习计划」
- 含义相同的表述(更新分龄能力目标 + 周计划)
角色与范围
你是一位拥有 25 年经验的儿童早教专家,专注于 3-8 岁儿童的认知发展和学习能力培养。你需要基于当前系统中已上线的所有 worksheet(打印练习册)内容,为 5 个固定年龄段生成:
- 精准的能力目标(
AGE_ABILITIES) - 科学的 4 周学习路线(
AGE_WEEK_PLANS)
每次执行本 Skill,必须同时完成以上两部分,不得只更新其一。
不可改动的约束
- 只修改
AGE_ABILITIES与AGE_WEEK_PLANS两个常量的对象内容。 - 禁止修改:
AGE_TAB_SUB、类型定义、age.ts逻辑、其他 export。 - 两个常量的 key 必须且仅能为以下 5 个(与
AgeBandKey一致,顺序建议保持一致):'3-4'、'4-5'、'5-6'、'6-7'、'7-8'
- 禁止新增、删除或重命名年龄段 key。
Step 1:读取 worksheet 数据源
唯一数据源(必须): cache/page-config.json(项目根目录下,非 .cache)。
- 读取该文件;若不存在,提示用户先同步云存储到
cache/page-config.json后重试,不要编造 worksheet。 - 从 JSON 汇总全部 worksheet:
- 优先遍历
home.sections[].items[](按分类聚合的主列表) - 可对
home.featured[]、home.hot[]做去重合并(以id为准,避免遗漏仅出现在推荐位的条目)
- 优先遍历
- 从每个 item 提取:
id(写入周计划时作为_id)title、subtitle、pathcategory、ageBand、difficulty- 若有:
ageMin/ageMax、downloads、likes
执行后先向用户简报:worksheet 总数、各 category 数量、各年龄段可匹配数量,请用户确认数据为最新。
年龄段匹配规则
数据源中 ageBand 多为「3-5岁」「4-6岁」等区间文案。映射到 config key 时:
- 使用
core/data/difficulty.ts中AGE_BANDS的minAge/maxAge - 若 item 的适龄区间与某
AgeBandKey有重叠,则归入该段(一条 worksheet 可属于多个年龄段) - 无重叠时跳过,不要强行编造
分类体系(参考)
| category | 含义 |
|---|---|
math |
数感启蒙 |
puzzle |
益智游戏 |
pinyin |
汉语拼音 |
chinese |
识字练字 |
english |
英语启蒙 |
craft |
创意手工 |
Step 2:生成 AGE_ABILITIES
为每个年龄段生成 3 个核心能力维度(AbilityItem[])。
生成原则
- 基于实际内容:必须反映该年龄段在数据源中真实存在的 worksheet,禁止空谈
- 发展阶梯性:5 个年龄段之间能力描述有明显递进
- 具体可衡量:落到可练习技能点,避免笼统
- 简洁有力:每个
desc≤ 10 个汉字,顿号分隔 2–3 个技能点
能力维度选择参考(可按实际 worksheet 调整)
- 🔢 数感(数字认知、计算)
- ✏️ 书写(笔画、汉字、拼音书写)
- 🧩 思维(逻辑推理、空间想象、专注力)
- 🔤 语言(拼音、英语启蒙)
- 🎨 创造(手工、绘画,若该段有 craft 内容)
若某年龄段内容集中在特定领域,可调整维度名称以更贴合实际。
输出数据结构
export const AGE_ABILITIES: Record<AgeBandKey, AbilityItem[]> = {
'3-4': [
{ icon: '🔢', title: '数感', desc: '认读 1-5、点数对应' },
{ icon: '✏️', title: '书写', desc: '涂鸦线条、简单描红' },
{ icon: '🧩', title: '思维', desc: '找相同、简单配对' },
],
'4-5': [
/* 3 项 */
],
'5-6': [
/* 3 项 */
],
'6-7': [
/* 3 项 */
],
'7-8': [
/* 3 项 */
],
};
能力目标验证
- 每个 key 下恰好 3 项
desc字数合规- 五段递进合理
icon为合适 emoji- 符合
AbilityItem类型
Step 3:生成 AGE_WEEK_PLANS
为每个年龄段设计 4 周学习计划(WeekPlan[]),每周 3 个练习(WeekExercise)。
编排原则
- 由易到难:第 1 周偏入门,逐周提升
- 跨领域覆盖:4 周合计覆盖该段可用的多个
category - 主题连贯:每周有明确
theme(4–6 个汉字) - 基于实际内容:每条练习必须来自数据源,禁止虚构
_id/path - 合理搭配:每周 3 个练习尽量来自不同分类
- 第 4 周综合:综合巩固前 3 周核心技能
主题命名规范
- 4–6 个汉字,体现当周重点
- 示例:数感启蒙、形状与连线、趣味专注、综合练习、拼音入门
worksheet 不足时
- 不足 12 条(4×3)时,允许同一条在不同周出现,但同一年龄段内尽量少重复
- 某段完全无匹配项时,可选用相邻年龄段且 ageBand 最接近 的真实条目,并在回复中说明
- 仍须使用数据源中的真实
id→_id、title、subtitle、path
选题优先级
在同一年龄段内,优先 downloads + likes 较高、难度与周次匹配的 worksheet。
输出数据结构
export type WeekExercise = {
_id: string; // = 数据源 item.id
title: string;
subtitle: string;
path: string; // 与数据源完全一致,可含 query
};
export const AGE_WEEK_PLANS: Record<AgeBandKey, WeekPlan[]> = {
'3-4': [
{
week: 1,
theme: '数感启蒙',
exercises: [
{
_id: 'number-find',
title: '找数字,涂一涂',
subtitle: '找出目标数字并涂色',
path: '/mathPages/mathDraw/mathDraw?id=number-find',
},
// 共 3 条
],
},
// week: 2, 3, 4
],
// '4-5' … '7-8'
};
周计划数据规范
- 每个年龄段 4 个
WeekPlan,week为 1–4 - 每个
WeekPlan3 个exercises - 四字段齐全:
_id、title、subtitle、path _id、path、subtitle与cache/page-config.json逐字一致
周计划验证
- 结构:5 段 × 4 周 × 3 练习 = 60 条
- 抽查
_id/path可在数据源中找到 - 难度与年龄段匹配
- 同段跨周尽量少重复同一
_id - 符合
WeekPlan/WeekExercise类型
Step 4:写入 age.config.ts
- 读取
miniprogram/pages/age/age.config.ts - 仅替换
AGE_ABILITIES、AGE_WEEK_PLANS两个常量的完整对象字面量 - 保持文件其余部分不变(import、类型、注释风格与周边代码一致)
- 勿改动
AGE_WEEK_PLANS上方关于数据源的注释含义,可将.cache字样改为cache/page-config.json(若仍存在旧路径描述)
Step 5:交付说明
完成后用中文简要汇报:
- 数据源 worksheet 数量
- 各年龄段入选周计划条数
- 能力目标是否有维度调整(相对旧版)
- 是否有个别年龄段 worksheet 不足及处理方式
相关文件
| 文件 | 说明 |
|---|---|
cache/page-config.json |
唯一 worksheet 数据源 |
miniprogram/pages/age/age.config.ts |
写入目标 |
miniprogram/pages/age/age.ts |
分龄页引用(只读) |
miniprogram/core/data/difficulty.ts |
AGE_BANDS / AgeBandKey |
miniprogram/core/data/categories.ts |
分类定义 |
docs/分龄页内容管理方案.md |
方案文档(若有) |
已废弃 Skill(勿再使用)
skills/generate-age-abilities/→ 已合并至本 Skillskills/generate-age-weekly-plans/→ 已合并至本 Skill