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

7.0 KiB
Raw Blame History

Skill: generate-age-weekly-plans

生成分龄页各年龄段的「4 周推荐学习路线」,更新 age.config.ts 中的 AGE_WEEK_PLANS

触发条件

当用户提到以下内容时触发:

  • "生成学习路线"、"更新学习路线"、"更新周计划"、"generate weekly plans"
  • "更新分龄页第三部分"、"更新分龄路线"

任务描述

你是一位拥有 15 年经验的儿童早教专家,专注于 3-8 岁儿童的系统化学习规划。你需要基于当前系统中已上线的所有 worksheet(打印练习册),为 5 个年龄段设计科学的 4 周学习路线,确保每周推荐的练习都是系统中实际存在的 worksheet。

执行步骤

Step 1:获取 worksheet 数据

page-config.json 存储在微信云存储中(路径:/content/page-config.json),本地项目中不存在此文件。按以下优先级获取数据:

方式一:读取本地缓存(优先)

  1. 使用 Glob 搜索 .cache/page-config.json 是否存在
  2. 如果存在,读取 category.categories 数组,提取每个分类下的 items[]
  3. 从每个 item 中提取关键信息(与 pageContentBuild 下发的 category.items[] 一致):
    • id(云 worksheet _id,写入配置时作为 _id 字段)
    • titlesubtitlepath
    • 可选辅助:ageMin / ageMaxcategorydifficultydownloadslikes

方式二:通过微信开发者工具下载

如果本地缓存不存在,提示用户按以下步骤获取:

  1. 打开微信开发者工具
  2. 进入「云开发控制台」→「存储」
  3. 找到 /content/page-config.json 文件,点击下载
  4. 将文件保存到项目根目录的 .cache/page-config.json
# 确保 .cache 目录存在
mkdir -p .cache
# 用户手动将下载的文件放入:.cache/page-config.json

方式三:通过云函数调用获取

如果用户已安装 tcb CLI(腾讯云开发 CLI),可以直接下载:

mkdir -p .cache
tcb storage:download /content/page-config.json .cache/page-config.json

重要:请在获取数据后告知用户文件中有多少个 worksheet,以及覆盖了哪些分类和年龄段,让用户确认数据是最新的。

Step 2:按年龄段分组和分析

  1. 将所有 worksheet 按年龄段(ageBand)分组
  2. 在每个年龄段内,按分类统计 worksheet 数量
  3. 记录每个 worksheet 的难度等级(difficulty
  4. downloads + likes 排序,优先选择受欢迎的 worksheet

当前系统的分类体系:

  • math - 数感启蒙
  • puzzle - 益智游戏
  • pinyin - 汉语拼音
  • chinese - 趣味识字
  • english - 英语启蒙
  • craft - 创意手工

年龄段定义(来自 core/data/difficulty.ts):

  • 3-43-4 岁
  • 4-54-5 岁
  • 5-65-6 岁
  • 6-76-7 岁
  • 7-87-8 岁

Step 3:设计 4 周学习路线

以早教专家视角,为每个年龄段设计 4 周学习计划。

编排原则:

  1. 由易到难:第 1 周以基础入门为主,逐周提升难度
  2. 跨领域覆盖:4 周合计应覆盖该年龄段可用的多个学科分类,避免单一
  3. 主题连贯:每周设定一个明确的学习主题(如"数感启蒙""形状与空间""趣味文字"等)
  4. 基于实际内容:每个练习必须对应系统中实际存在的 worksheet,必须带上真实的 _idsubtitlepath(与数据源一致,禁止手写虚构 path)
  5. 合理搭配:每周 3 个练习应尽量来自不同分类,提供多元学习体验
  6. 第 4 周综合:最后一周安排综合练习,涵盖前 3 周的核心技能

主题命名规范:

  • 简洁明了,4-6 个汉字
  • 体现该周的学习重点
  • 示例:数感启蒙、形状与连线、趣味专注、综合练习、拼音入门、创意手工

当 worksheet 不足时的处理:

  • 如果某个年龄段的 worksheet 不足 12 个(4 周 × 3 个),允许同一 worksheet 在不同周出现
  • 如果某个年龄段完全没有 worksheet,使用相邻年龄段的内容并标注
  • 若某年龄段可用 worksheet 不足,可放宽年龄筛选,但每条仍须来自数据源中的真实 id/title/subtitle/path不要编造 _id 或 path

Step 4:更新 age.config.ts

  1. 读取 miniprogram/pages/age/age.config.ts 文件
  2. 找到 AGE_WEEK_PLANS 常量(如果不存在则在现有代码中 MOCK_WEEKS 的位置创建)
  3. 替换为新生成的数据

WeekExercise 输出结构(写入 age.config.ts,与小程序分龄页跳转一致):

export type WeekExercise = {
    _id: string;      // 等于数据源 item.id(即云 worksheets._id
    title: string;   // item.title
    subtitle: string; // item.subtitle
    path: string;    // item.path,可含 query;点击「去练习」将按 path 跳转
};

AGE_WEEK_PLANS 示例片段:

export const AGE_WEEK_PLANS: Record<AgeBandKey, WeekPlan[]> = {
    '3-4': [
        {
            week: 1,
            theme: '数感启蒙',
            exercises: [
                {
                    _id: 'xxxxxxxx',
                    title: '找数字,涂一涂',
                    subtitle: '在数字方阵中找出目标数字并涂色',
                    path: '/mathPages/mathDraw/mathDraw?id=number-find',
                },
                // ...
            ],
        },
        // week 24
    ],
    // '4-5' … '7-8'
};

数据规范:

  • 每个年龄段必须有 4 个 WeekPlan
  • 每个 WeekPlan 必须有 3 个 exercises
  • 每个 exercises[] 元素必须四字段齐全:_idtitlesubtitlepath
  • _idpath 必须与 .cache/page-config.json(或云函数拉取结果)中对应 worksheet 逐字一致
  • theme 简洁描述本周学习主题
  • 列表 wx:key 使用 _id,避免同 title 重复导致渲染异常

Step 5:验证

  1. 结构完整性:5 个年龄段 × 4 周 × 3 练习 = 60 个练习项
  2. 内容真实性:抽查每条 _idpathsubtitle 是否与数据源一致(可复制粘贴比对)
  3. 递进合理性:确认每个年龄段的内容难度符合该年龄段认知水平
  4. 跨周不重复:尽量避免同一 worksheet 在同一年龄段的不同周重复出现
  5. 主题覆盖度:检查 4 周主题是否覆盖了该年龄段的主要学科
  6. 类型匹配:确认数据结构与 WeekPlanWeekExercise 类型定义一致

相关文件

  • 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 — 方案文档