feat: 更新生成age.config.ts 的skill

This commit is contained in:
R524809
2026-05-20 17:57:39 +08:00
parent 51650db04e
commit e86e5f5aa7
7 changed files with 580 additions and 649 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

+1
View File
File diff suppressed because one or more lines are too long
+4
View File
@@ -0,0 +1,4 @@
{
"envId": "cloud1-9gifs7a2756e2c87",
"version": "2.0"
}
+332 -332
View File
@@ -30,38 +30,38 @@ export const AGE_TAB_SUB: Record<AgeBandKey, string> = {
'7-8': '知识拓展',
};
/** 各年龄段能力目标(初版,可由 AI Skill 更新 */
/** 各年龄段能力目标(由 update-age-config Skill 基于 cache/page-config.json 生成 */
export const AGE_ABILITIES: Record<AgeBandKey, AbilityItem[]> = {
'3-4': [
{ icon: '🔢', title: '数感', desc: '认读 1-5、点数对应' },
{ icon: '✏️', title: '书写', desc: '涂鸦线条、简单描红' },
{ icon: '🧩', title: '思维', desc: '找相同、简单配对' },
{ icon: '🔢', title: '数感', desc: '找数字涂色、数物对应' },
{ icon: '✏️', title: '书写', desc: '识字涂色、字母描红' },
{ icon: '🧩', title: '思维', desc: '线条识别、图形配对' },
],
'4-5': [
{ icon: '🔢', title: '数感', desc: '10 以内数数、比大小' },
{ icon: '✏️', title: '书写', desc: '笔画模仿、图形描边' },
{ icon: '🧩', title: '思维', desc: '规律排序、图形分类' },
{ icon: '🔢', title: '数感', desc: '比大小、数字排序' },
{ icon: '✏️', title: '书写', desc: '拼音描红、字母入门' },
{ icon: '🧩', title: '思维', desc: '方位涂色、连线专注' },
],
'5-6': [
{ icon: '🔢', title: '数感', desc: '10以内加减法、凑十法' },
{ icon: '✏️', title: '书写', desc: '练字帖、拼音入门' },
{ icon: '🧩', title: '思维', desc: '方格推理、格子仿画 5×5' },
{ icon: '🔢', title: '数感', desc: '凑十法、数的分合' },
{ icon: '✏️', title: '书写', desc: '拼音描默、识字涂色' },
{ icon: '🧩', title: '思维', desc: '方格推理、译码连线' },
],
'6-7': [
{ icon: '🔢', title: '数感', desc: '20 以内运算、应用题启蒙' },
{ icon: '✏️', title: '书写', desc: '常用字书写、词语积累' },
{ icon: '🧩', title: '思维', desc: '逻辑填空、空间想象' },
{ icon: '🔢', title: '数感', desc: '凑十分解、数字排序' },
{ icon: '✏️', title: '书写', desc: '拼音默写、字母书写' },
{ icon: '🧩', title: '思维', desc: '方格推理、方位专注' },
],
'7-8': [
{ icon: '🔢', title: '数感', desc: '乘除启蒙、巧算练习' },
{ icon: '✏️', title: '书写', desc: '段落抄写、古诗诵读' },
{ icon: '🧩', title: '思维', desc: '数独入门、综合推理' },
{ icon: '🔢', title: '数感', desc: '凑十法、数的分合' },
{ icon: '✏️', title: '书写', desc: '拼音默写、每日打卡' },
{ icon: '🧩', title: '思维', desc: '译码连线、综合推理' },
],
};
/**
* 4 周路线(初版):每项含 _id / subtitle / path,与线上 worksheet 或本地分类兜底一致。
* AI Skill 生成时应从 .cache/page-config.json 的 category.items[] 复制 id→_id、title、subtitle、path。
* 4 周路线:每项含 _id / subtitle / path,与 cache/page-config.json 一致。
* AI Skill 生成时应从 cache/page-config.json 的 home.sections[].items[] 复制 id→_id、title、subtitle、path。
*/
export const AGE_WEEK_PLANS: Record<AgeBandKey, WeekPlan[]> = {
'3-4': [
@@ -72,130 +72,38 @@ export const AGE_WEEK_PLANS: Record<AgeBandKey, WeekPlan[]> = {
{
_id: 'number-find',
title: '找数字,涂一涂',
subtitle: '在数字方阵中找出目标数字并涂色',
subtitle: '找出目标数字并涂色',
path: '/mathPages/mathDraw/mathDraw?id=number-find',
},
{
_id: 'addition-5',
title: '5以内加法',
subtitle: '图形化展示 5 以内加法',
path: '/mathPages/mathDraw/mathDraw?id=addition-5',
},
{
_id: 'counting-matching',
title: '数一数,连一连',
subtitle: '连线配对数字和对应数量图形',
subtitle: '连线配对数字和数量',
path: '/mathPages/mathDraw/mathDraw?id=counting-matching',
},
],
},
{
week: 2,
theme: '形状与连线',
exercises: [
{
_id: 'shape-recognition',
title: '识别形状',
subtitle: '识别形状,涂一涂',
path: '/focusPages/focusDraw/focusDraw?id=shape-recognition',
},
{
_id: 'line-recognition',
title: '线条识别',
subtitle: '认识不同线条,画出颜色对应的线条',
path: '/focusPages/focusDraw/focusDraw?id=line-recognition',
},
{
_id: 'dot-connect',
title: '数字点连线',
subtitle: '按数字顺序连点成图',
path: '/focusPages/focusDraw/focusDraw?id=dot-connect',
},
],
},
{
week: 3,
theme: '趣味专注',
exercises: [
{
_id: 'color-pattern',
title: '颜色找规律',
subtitle: '观察颜色规律,在空白图形中涂色',
path: '/focusPages/focusDraw/focusDraw?id=color-pattern',
},
{
_id: 'grid-drawing-3x3',
title: '格子仿画 3×3',
subtitle: '简单有趣,培养专注力',
path: '/focusPages/focusDraw/focusDraw?id=grid-drawing-3x3',
},
{
_id: 'match-connect',
title: '连连看',
subtitle: '根据物品连一连',
path: '/focusPages/focusDraw/focusDraw?id=match-connect',
},
],
},
{
week: 4,
theme: '综合练习',
exercises: [
{
_id: 'addition-10',
title: '10以内加法',
subtitle: '图形化展示 10 以内加法',
path: '/mathPages/mathDraw/mathDraw?id=addition-10',
},
{
_id: 'word-recognition',
title: '识字卡',
subtitle: '输入或选字生成涂色识字卡',
path: '/pages/index/index',
},
{
_id: 'number-coloring',
title: '按数字,涂颜色',
subtitle: '按指定数字给对应圆圈涂色',
subtitle: '按指定数字涂色',
path: '/mathPages/mathDraw/mathDraw?id=number-coloring',
},
],
},
],
'4-5': [
{
week: 1,
theme: '数数与比较',
exercises: [
{
_id: 'counting-fill',
title: '数一数,填一填',
subtitle: '数出物品数量,填写数字',
path: '/mathPages/mathDraw/mathDraw?id=counting-fill',
},
{
_id: 'compare',
title: '数一数,比大小',
subtitle: '比较数量,填入 ><=',
path: '/mathPages/mathDraw/mathDraw?id=compare',
},
{
_id: 'number-object-match',
title: '数物连线',
subtitle: '连线相同数量的物品和数字',
path: '/mathPages/mathDraw/mathDraw?id=number-object-match',
},
],
},
{
week: 2,
theme: '线条与形状',
exercises: [
{
_id: 'number-write',
title: '看数字,写一写',
subtitle: '按笔画顺序练习书写数字',
path: '/mathPages/mathDraw/mathDraw?id=number-write',
_id: 'line-recognition',
title: '线条识别',
subtitle: '认识不同线条,画对应线条',
path: '/focusPages/focusDraw/focusDraw?id=line-recognition',
},
{
_id: 'dot-connect',
title: '数字点连线',
subtitle: '按数字顺序连点成图',
path: '/focusPages/focusDraw/focusDraw?id=dot-connect',
},
{
_id: 'shape-symbol',
@@ -203,24 +111,36 @@ export const AGE_WEEK_PLANS: Record<AgeBandKey, WeekPlan[]> = {
subtitle: '根据图形画对应符号',
path: '/focusPages/focusDraw/focusDraw?id=shape-symbol',
},
{
_id: 'counting-matching',
title: '数一数,连一连',
subtitle: '连线配对数字和对应数量图形',
path: '/mathPages/mathDraw/mathDraw?id=counting-matching',
},
],
},
{
week: 3,
theme: '规律与分类',
theme: '识字涂色',
exercises: [
{
_id: 'color-pattern',
title: '颜色找规律',
subtitle: '观察颜色规律,在空白图形中涂色',
path: '/focusPages/focusDraw/focusDraw?id=color-pattern',
_id: 'word-coloring-grid',
title: '网格涂色',
subtitle: '田字格涂色识字练习',
path: '/chinesePages/wordColoring/wordColoring?id=word-coloring-grid',
},
{
_id: 'word-coloring-find',
title: '找字涂色',
subtitle: '在字海中找到目标字并涂色',
path: '/chinesePages/wordColoring/wordColoring?id=word-coloring-find',
},
{
_id: 'position-coloring',
title: '方位涂涂乐',
subtitle: '观察位置,在方格中涂色',
path: '/focusPages/focusDraw/focusDraw?id=position-coloring',
},
],
},
{
week: 4,
theme: '综合练习',
exercises: [
{
_id: 'number-sort',
title: '数字排序',
@@ -228,34 +148,114 @@ export const AGE_WEEK_PLANS: Record<AgeBandKey, WeekPlan[]> = {
path: '/mathPages/mathDraw/mathDraw?id=number-sort',
},
{
_id: 'color-shape-match',
title: '根据颜色画图形',
subtitle: '根据颜色画出对应图形',
path: '/focusPages/focusDraw/focusDraw?id=color-shape-match',
_id: 'handwriting-sheet',
title: '自定义练字帖',
subtitle: '自定义田字格练字帖',
path: '/chinesePages/handwritingSheet/handwritingSheet?id=handwriting-sheet',
},
{
_id: 'letter-tracing-single',
title: '默认字帖',
subtitle: '配图、例句与描红',
path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-single',
},
],
},
],
'4-5': [
{
week: 1,
theme: '数感入门',
exercises: [
{
_id: 'number-coloring',
title: '按数字,涂颜色',
subtitle: '按指定数字涂色',
path: '/mathPages/mathDraw/mathDraw?id=number-coloring',
},
{
_id: 'counting-matching',
title: '数一数,连一连',
subtitle: '连线配对数字和数量',
path: '/mathPages/mathDraw/mathDraw?id=counting-matching',
},
{
_id: 'number-find',
title: '找数字,涂一涂',
subtitle: '找出目标数字并涂色',
path: '/mathPages/mathDraw/mathDraw?id=number-find',
},
],
},
{
week: 2,
theme: '排序与连线',
exercises: [
{
_id: 'number-sort',
title: '数字排序',
subtitle: '写出正确的数字顺序',
path: '/mathPages/mathDraw/mathDraw?id=number-sort',
},
{
_id: 'dot-connect',
title: '数字点连线',
subtitle: '按数字顺序连点成图',
path: '/focusPages/focusDraw/focusDraw?id=dot-connect',
},
{
_id: 'shape-symbol',
title: '图形符号配对',
subtitle: '根据图形画对应符号',
path: '/focusPages/focusDraw/focusDraw?id=shape-symbol',
},
],
},
{
week: 3,
theme: '观察与专注',
exercises: [
{
_id: 'line-recognition',
title: '线条识别',
subtitle: '认识不同线条,画对应线条',
path: '/focusPages/focusDraw/focusDraw?id=line-recognition',
},
{
_id: 'position-coloring',
title: '方位涂涂乐',
subtitle: '观察位置,在方格中涂色',
path: '/focusPages/focusDraw/focusDraw?id=position-coloring',
},
{
_id: 'word-coloring-grid',
title: '网格涂色',
subtitle: '田字格涂色识字练习',
path: '/chinesePages/wordColoring/wordColoring?id=word-coloring-grid',
},
],
},
{
week: 4,
theme: '综合提升',
theme: '书写启蒙',
exercises: [
{
_id: 'code-connect',
title: '译码连线',
subtitle: '按数字顺序将数字对应颜色连线',
path: '/focusPages/focusDraw/focusDraw?id=code-connect',
_id: 'pinyin-tracing',
title: '拼音描红练习',
subtitle: '跟着描红学拼音字母',
path: '/pinyinPages/pinyinDictation/pinyinDictation?id=pinyin-tracing',
},
{
_id: 'match-connect',
title: '连连看',
subtitle: '根据物品连一连',
path: '/focusPages/focusDraw/focusDraw?id=match-connect',
_id: 'letter-tracing-single',
title: '默认字帖',
subtitle: '配图、例句与描红',
path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-single',
},
{
_id: 'addition-10',
title: '10以内加法',
subtitle: '图形化展示 10 以内加法',
path: '/mathPages/mathDraw/mathDraw?id=addition-10',
_id: 'handwriting-sheet',
title: '自定义练字帖',
subtitle: '自定义田字格练字帖',
path: '/chinesePages/handwritingSheet/handwritingSheet?id=handwriting-sheet',
},
],
},
@@ -263,25 +263,25 @@ export const AGE_WEEK_PLANS: Record<AgeBandKey, WeekPlan[]> = {
'5-6': [
{
week: 1,
theme: '加减入门',
theme: '数感巩固',
exercises: [
{
_id: 'addition-5',
title: '5以内加法',
subtitle: '图形化展示 5 以内加法',
path: '/mathPages/mathDraw/mathDraw?id=addition-5',
_id: 'number-sort',
title: '数字排序',
subtitle: '写出正确的数字顺序',
path: '/mathPages/mathDraw/mathDraw?id=number-sort',
},
{
_id: 'addition-10',
title: '10以内加法',
subtitle: '图形化展示 10 以内加法',
path: '/mathPages/mathDraw/mathDraw?id=addition-10',
_id: 'counting-matching',
title: '数一数,连一连',
subtitle: '连线配对数字和数量',
path: '/mathPages/mathDraw/mathDraw?id=counting-matching',
},
{
_id: 'subtraction-10',
title: '10以内减法',
subtitle: '图形化展示 10 以内减法',
path: '/mathPages/mathDraw/mathDraw?id=subtraction-10',
_id: 'number-coloring',
title: '按数字,涂颜色',
subtitle: '按指定数字涂色',
path: '/mathPages/mathDraw/mathDraw?id=number-coloring',
},
],
},
@@ -292,7 +292,7 @@ export const AGE_WEEK_PLANS: Record<AgeBandKey, WeekPlan[]> = {
{
_id: 'make-ten',
title: '凑十法练习',
subtitle: '20 以内进位加法',
subtitle: '20以内进位加法',
path: '/mathPages/mathDraw/mathDraw?id=make-ten',
},
{
@@ -301,133 +301,35 @@ export const AGE_WEEK_PLANS: Record<AgeBandKey, WeekPlan[]> = {
subtitle: '把数字分一分,合一合',
path: '/mathPages/mathDraw/mathDraw?id=number-decompose',
},
{
_id: 'one-digit-addition',
title: '一位数加法',
subtitle: '通过圆点学习一位数加法运算',
path: '/mathPages/mathDraw/mathDraw?id=one-digit-addition',
},
],
},
{
week: 3,
theme: '逻辑与推理',
exercises: [
{
_id: 'grid-reasoning',
title: '方格推理',
subtitle: '推理出合并方格并连线',
path: '/focusPages/focusDraw/focusDraw?id=grid-reasoning',
},
{
_id: 'grid-drawing-5x5',
title: '格子仿画 5×5',
subtitle: '创意挑战,提升观察力',
path: '/focusPages/focusDraw/focusDraw?id=grid-drawing-5x5',
},
{
_id: 'missing-number',
title: '填上缺少的数字',
subtitle: '在数列中找出并填写缺失数字',
path: '/mathPages/mathDraw/mathDraw?id=missing-number',
},
],
},
{
week: 4,
theme: '综合应用',
exercises: [
{
_id: 'addition-subtraction-10',
title: '10以内加减法',
subtitle: '加减法混合运算',
path: '/mathPages/mathDraw/mathDraw?id=addition-subtraction-10',
},
{
_id: 'practice-addition',
title: '加法运算',
subtitle: '10/20/50/100 以内加法',
path: '/mathPages/mathDraw/mathDraw?id=practice-addition',
},
{
_id: 'copybook',
title: '练字帖',
subtitle: '选字生成田字格笔顺练字帖',
path: '/pages/copyBook/copyBook',
},
],
},
],
'6-7': [
{
week: 1,
theme: '20 以内运算',
exercises: [
{
_id: 'practice-addition',
title: '加法运算',
subtitle: '10/20/50/100 以内加法',
path: '/mathPages/mathDraw/mathDraw?id=practice-addition',
},
{
_id: 'practice-subtraction',
title: '减法运算',
subtitle: '10/20/50/100 以内减法',
path: '/mathPages/mathDraw/mathDraw?id=practice-subtraction',
},
{
_id: 'practice-mixed',
title: '混合运算',
subtitle: '10/20/50/100 以内加减法混合',
path: '/mathPages/mathDraw/mathDraw?id=practice-mixed',
},
],
},
{
week: 2,
theme: '识字与词语',
exercises: [
{
_id: 'copybook',
title: '练字帖',
subtitle: '选字生成田字格笔顺练字帖',
path: '/pages/copyBook/copyBook',
},
{
_id: 'match-connect',
title: '连连看',
subtitle: '根据物品连一连',
path: '/focusPages/focusDraw/focusDraw?id=match-connect',
},
{
_id: 'word-recognition',
title: '识字卡',
subtitle: '输入或选字生成涂色识字卡',
path: '/pages/index/index',
},
],
},
{
week: 3,
theme: '逻辑与空间',
theme: '拼音与识字',
exercises: [
{
_id: 'grid-reasoning',
title: '方格推理',
subtitle: '推理出合并方格并连线',
path: '/focusPages/focusDraw/focusDraw?id=grid-reasoning',
_id: 'pinyin-tracing',
title: '拼音描红练习',
subtitle: '跟着描红学拼音字母',
path: '/pinyinPages/pinyinDictation/pinyinDictation?id=pinyin-tracing',
},
{
_id: 'position-coloring',
title: '方位涂涂乐',
subtitle: '观察位置,在方格中涂色',
path: '/focusPages/focusDraw/focusDraw?id=position-coloring',
_id: 'pinyin-tracing-v2',
title: '拼音描红 8 列',
subtitle: '跟写描红,声韵分块',
path: '/pinyinPages/pinyinDictation/pinyinDictation?id=pinyin-tracing-v2',
},
{
_id: 'code-connect',
title: '译码连线',
subtitle: '按数字顺序将数字对应颜色连线',
path: '/focusPages/focusDraw/focusDraw?id=code-connect',
_id: 'word-coloring-find',
title: '找字涂色',
subtitle: '在字海中找到目标字并涂色',
path: '/chinesePages/wordColoring/wordColoring?id=word-coloring-find',
},
],
},
@@ -436,78 +338,78 @@ export const AGE_WEEK_PLANS: Record<AgeBandKey, WeekPlan[]> = {
theme: '综合提升',
exercises: [
{
_id: 'break-ten',
title: '破十法练习',
subtitle: '20 以内退位减法',
path: '/mathPages/mathDraw/mathDraw?id=break-ten',
_id: 'pinyin-dictation',
title: '拼音默写练习',
subtitle: '空白格子默写拼音字母',
path: '/pinyinPages/pinyinDictation/pinyinDictation?id=pinyin-dictation',
},
{
_id: 'flat-ten',
title: '平十法练习',
subtitle: '20 以内退位减法',
path: '/mathPages/mathDraw/mathDraw?id=flat-ten',
_id: 'letter-tracing-case-pairing',
title: '大小写对照',
subtitle: '半组字母左大写右小写',
path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-case-pairing',
},
{
_id: 'number-decompose-20',
title: '20以内数的分与合',
subtitle: '数字分一分,合一合',
path: '/mathPages/mathDraw/mathDraw?id=number-decompose-20',
_id: 'code-connect',
title: '译码连线',
subtitle: '数字顺序连线',
path: '/focusPages/focusDraw/focusDraw?id=code-connect',
},
],
},
],
'7-8': [
'6-7': [
{
week: 1,
theme: '乘除启蒙',
theme: '运算进阶',
exercises: [
{
_id: 'multiplication-table',
title: '九九乘法表',
subtitle: '学习九九乘法口诀',
path: '/mathPages/mathDraw/mathDraw?id=multiplication-table',
_id: 'make-ten',
title: '凑十法练习',
subtitle: '20以内进位加法',
path: '/mathPages/mathDraw/mathDraw?id=make-ten',
},
{
_id: 'practice-addition',
title: '加法运算',
subtitle: '10/20/50/100 以内加法',
path: '/mathPages/mathDraw/mathDraw?id=practice-addition',
_id: 'number-decompose',
title: '10以内数的分与合',
subtitle: '把数字分一分,合一合',
path: '/mathPages/mathDraw/mathDraw?id=number-decompose',
},
{
_id: 'practice-subtraction',
title: '减法运算',
subtitle: '10/20/50/100 以内减法',
path: '/mathPages/mathDraw/mathDraw?id=practice-subtraction',
_id: 'number-sort',
title: '数字排序',
subtitle: '写出正确的数字顺序',
path: '/mathPages/mathDraw/mathDraw?id=number-sort',
},
],
},
{
week: 2,
theme: '巧算与策略',
theme: '拼音书写',
exercises: [
{
_id: 'make-ten',
title: '凑十法练习',
subtitle: '20 以内进位加法',
path: '/mathPages/mathDraw/mathDraw?id=make-ten',
_id: 'pinyin-tracing-v2',
title: '拼音描红 8 列',
subtitle: '跟写描红,声韵分块',
path: '/pinyinPages/pinyinDictation/pinyinDictation?id=pinyin-tracing-v2',
},
{
_id: 'borrow-ten',
title: '借十法练习',
subtitle: '20 以上退位减法',
path: '/mathPages/mathDraw/mathDraw?id=borrow-ten',
_id: 'pinyin-dictation',
title: '拼音默写练习',
subtitle: '空白格子默写拼音字母',
path: '/pinyinPages/pinyinDictation/pinyinDictation?id=pinyin-dictation',
},
{
_id: 'practice-mixed',
title: '混合运算',
subtitle: '10/20/50/100 以内加减法混合',
path: '/mathPages/mathDraw/mathDraw?id=practice-mixed',
_id: 'handwriting-sheet',
title: '自定义练字帖',
subtitle: '自定义田字格练字帖',
path: '/chinesePages/handwritingSheet/handwritingSheet?id=handwriting-sheet',
},
],
},
{
week: 3,
theme: '综合推理',
theme: '逻辑专注',
exercises: [
{
_id: 'grid-reasoning',
@@ -518,38 +420,136 @@ export const AGE_WEEK_PLANS: Record<AgeBandKey, WeekPlan[]> = {
{
_id: 'code-connect',
title: '译码连线',
subtitle: '按数字顺序将数字对应颜色连线',
subtitle: '按数字顺序连线',
path: '/focusPages/focusDraw/focusDraw?id=code-connect',
},
{
_id: 'dot-connect',
title: '数字点连线',
subtitle: '按数字顺序连点成图',
path: '/focusPages/focusDraw/focusDraw?id=dot-connect',
_id: 'position-coloring',
title: '方位涂涂乐',
subtitle: '观察位置,在方格中涂色',
path: '/focusPages/focusDraw/focusDraw?id=position-coloring',
},
],
},
{
week: 4,
theme: '能力拓展',
theme: '综合衔接',
exercises: [
{
_id: 'pinyin-daily',
title: '拼音每日打卡',
subtitle: '四宫格每日打卡练习',
path: '/pinyinPages/pinyinDictation/pinyinDictation?id=pinyin-daily',
},
{
_id: 'letter-tracing-half',
title: '13字母半表',
subtitle: '每行一个字母,13 字母半表',
path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-half',
},
{
_id: 'letter-tracing-two-column',
title: '两列练习',
subtitle: '左 A-M、右 N-Z,大小写配对描红',
title: '两列描红',
subtitle: '左 AM、右 NZ 配对描红',
path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-two-column',
},
],
},
],
'7-8': [
{
_id: 'word-recognition',
title: '识字卡',
subtitle: '输入或选字生成涂色识字卡',
path: '/pages/index/index',
week: 1,
theme: '巧算思维',
exercises: [
{
_id: 'make-ten',
title: '凑十法练习',
subtitle: '20以内进位加法',
path: '/mathPages/mathDraw/mathDraw?id=make-ten',
},
{
_id: 'practice-mixed',
title: '混合运算',
subtitle: '10/20/50/100 以内加减法混合',
path: '/mathPages/mathDraw/mathDraw?id=practice-mixed',
_id: 'number-decompose',
title: '10以内数的分与合',
subtitle: '把数字分一分,合一合',
path: '/mathPages/mathDraw/mathDraw?id=number-decompose',
},
{
_id: 'grid-reasoning',
title: '方格推理',
subtitle: '推理出合并方格并连线',
path: '/focusPages/focusDraw/focusDraw?id=grid-reasoning',
},
],
},
{
week: 2,
theme: '拼音精进',
exercises: [
{
_id: 'pinyin-dictation-v2',
title: '拼音默写 8 列',
subtitle: '空白默写,声韵分块',
path: '/pinyinPages/pinyinDictation/pinyinDictation?id=pinyin-dictation-v2',
},
{
_id: 'pinyin-dictation',
title: '拼音默写练习',
subtitle: '空白格子默写拼音字母',
path: '/pinyinPages/pinyinDictation/pinyinDictation?id=pinyin-dictation',
},
{
_id: 'pinyin-tracing',
title: '拼音描红练习',
subtitle: '跟着描红学拼音字母',
path: '/pinyinPages/pinyinDictation/pinyinDictation?id=pinyin-tracing',
},
],
},
{
week: 3,
theme: '译码与字母',
exercises: [
{
_id: 'code-connect',
title: '译码连线',
subtitle: '按数字顺序连线',
path: '/focusPages/focusDraw/focusDraw?id=code-connect',
},
{
_id: 'letter-tracing-case-pairing',
title: '大小写对照',
subtitle: '半组字母左大写右小写',
path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-case-pairing',
},
{
_id: 'letter-tracing-half',
title: '13字母半表',
subtitle: '每行一个字母,13 字母半表',
path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-half',
},
],
},
{
week: 4,
theme: '综合拓展',
exercises: [
{
_id: 'pinyin-daily',
title: '拼音每日打卡',
subtitle: '四宫格每日打卡练习',
path: '/pinyinPages/pinyinDictation/pinyinDictation?id=pinyin-daily',
},
{
_id: 'letter-tracing-daily-checkin',
title: '每日打卡',
subtitle: '四宫格每日字母打卡练习',
path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-daily-checkin',
},
{
_id: 'handwriting-sheet',
title: '自定义练字帖',
subtitle: '自定义田字格练字帖',
path: '/chinesePages/handwritingSheet/handwritingSheet?id=handwriting-sheet',
},
],
},
-149
View File
@@ -1,149 +0,0 @@
# 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` — 方案文档
-168
View File
@@ -1,168 +0,0 @@
# 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` 字段)
- `title``subtitle``path`
- 可选辅助:`ageMin` / `ageMax``category``difficulty``downloads``likes`
**方式二:通过微信开发者工具下载**
如果本地缓存不存在,提示用户按以下步骤获取:
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:按年龄段分组和分析
1. 将所有 worksheet 按年龄段(`ageBand`)分组
2. 在每个年龄段内,按分类统计 worksheet 数量
3. 记录每个 worksheet 的难度等级(`difficulty`
4.`downloads + likes` 排序,优先选择受欢迎的 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:设计 4 周学习路线
以早教专家视角,为每个年龄段设计 4 周学习计划。
**编排原则:**
1. **由易到难**:第 1 周以基础入门为主,逐周提升难度
2. **跨领域覆盖**:4 周合计应覆盖该年龄段可用的多个学科分类,避免单一
3. **主题连贯**:每周设定一个明确的学习主题(如"数感启蒙""形状与空间""趣味文字"等)
4. **基于实际内容**:每个练习必须对应系统中实际存在的 worksheet,**必须**带上真实的 `_id``subtitle``path`(与数据源一致,禁止手写虚构 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`,与小程序分龄页跳转一致):**
```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` 示例片段:**
```ts
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[]` 元素必须四字段齐全:`_id``title``subtitle``path`
- `_id``path` 必须与 `.cache/page-config.json`(或云函数拉取结果)中对应 worksheet **逐字一致**
- `theme` 简洁描述本周学习主题
- 列表 `wx:key` 使用 `_id`,避免同 title 重复导致渲染异常
### Step 5:验证
1. **结构完整性**:5 个年龄段 × 4 周 × 3 练习 = 60 个练习项
2. **内容真实性**:抽查每条 `_id``path``subtitle` 是否与数据源一致(可复制粘贴比对)
3. **递进合理性**:确认每个年龄段的内容难度符合该年龄段认知水平
4. **跨周不重复**:尽量避免同一 worksheet 在同一年龄段的不同周重复出现
5. **主题覆盖度**:检查 4 周主题是否覆盖了该年龄段的主要学科
6. **类型匹配**:确认数据结构与 `WeekPlan``WeekExercise` 类型定义一致
## 相关文件
- `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` — 方案文档
+243
View File
@@ -0,0 +1,243 @@
---
name: update-age-config
description: >-
基于 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 个固定年龄段**生成:
1. 精准的能力目标(`AGE_ABILITIES`
2. 科学的 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`)。
1. 读取该文件;若不存在,提示用户先同步云存储到 `cache/page-config.json` 后重试,**不要**编造 worksheet。
2. 从 JSON 汇总全部 worksheet
- 优先遍历 `home.sections[].items[]`(按分类聚合的主列表)
- 可对 `home.featured[]``home.hot[]` 做去重合并(以 `id` 为准,避免遗漏仅出现在推荐位的条目)
3. 从每个 item 提取:
- `id`(写入周计划时作为 `_id`
- `title``subtitle``path`
- `category``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[]`)。
### 生成原则
1. **基于实际内容**:必须反映该年龄段在数据源中**真实存在**的 worksheet,禁止空谈
2. **发展阶梯性**5 个年龄段之间能力描述有明显递进
3. **具体可衡量**:落到可练习技能点,避免笼统
4. **简洁有力**:每个 `desc` ≤ 10 个汉字,顿号分隔 2–3 个技能点
### 能力维度选择参考(可按实际 worksheet 调整)
- 🔢 数感(数字认知、计算)
- ✏️ 书写(笔画、汉字、拼音书写)
- 🧩 思维(逻辑推理、空间想象、专注力)
- 🔤 语言(拼音、英语启蒙)
- 🎨 创造(手工、绘画,若该段有 craft 内容)
若某年龄段内容集中在特定领域,可调整维度名称以更贴合实际。
### 输出数据结构
```ts
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. **由易到难**:第 1 周偏入门,逐周提升
2. **跨领域覆盖**4 周合计覆盖该段可用的多个 `category`
3. **主题连贯**:每周有明确 `theme`46 个汉字)
4. **基于实际内容**:每条练习必须来自数据源,**禁止**虚构 `_id` / `path`
5. **合理搭配**:每周 3 个练习尽量来自不同分类
6. **第 4 周综合**:综合巩固前 3 周核心技能
### 主题命名规范
- 46 个汉字,体现当周重点
- 示例:数感启蒙、形状与连线、趣味专注、综合练习、拼音入门
### worksheet 不足时
- 不足 12 条(4×3)时,允许同一条在不同周出现,但同一年龄段内尽量少重复
- 某段完全无匹配项时,可选用相邻年龄段且 **ageBand 最接近** 的真实条目,并在回复中说明
- 仍须使用数据源中的真实 `id``_id``title``subtitle``path`
### 选题优先级
在同一年龄段内,优先 `downloads + likes` 较高、难度与周次匹配的 worksheet。
### 输出数据结构
```ts
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` 为 14
- 每个 `WeekPlan` **3**`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`
1. 读取 `miniprogram/pages/age/age.config.ts`
2. **仅替换** `AGE_ABILITIES``AGE_WEEK_PLANS` 两个常量的完整对象字面量
3. 保持文件其余部分不变(import、类型、注释风格与周边代码一致)
4. 勿改动 `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/` → 已合并至本 Skill
- `skills/generate-age-weekly-plans/` → 已合并至本 Skill