When this skill loads, check if high-school-profile.md exists in workspace memory.
If missing, initiate first-time setup:
Step 1: Ask the user
text
「欢迎使用高中英语学习系统!请完成以下设置:
1. 你现在高几?
2. 你的目标是多少分?(比如:50分提到75分)
3. 你想重点学习哪些部分?(如:词汇、语法、阅读、完形)
4. 你一般什么时候学习?(早上/中午/晚上)
5. 每次学多长时间?(20-35分钟)
6. 用飞书多维表格还是本地CSV文件存储学习数据?」
Step 2: 根据回答处理存储方式
如果选择 本地CSV:
workspace/high-school-data/ 目录vocab.csv、 knowledge.csv、 review-log.csvreferences/ 目录下的 schema CSV 作为表头如果选择 飞书多维表格:
Step 3: 保存配置
将所有信息保存到 workspace/memory/high-school-profile.md,然后继续正常流程。
If exists, read high-school-profile.md to get user preferences:
Discover-First, Explain-Later:
text
1. Present the problem first
2. Student attempts → judge result
3. Branch to Scenario A/B
4. Summarize and reinforce
Core Principles:
Student RequestTrigger"背单词" / "学单词" / "复习单词" / "记单词"Vocabulary review flow"学语法" / "做语法题" / "复习语法"Grammar learning flow"做阅读" / "阅读理解" / "复习阅读"Reading practice flow"做完形" / "完形填空" / "复习完形"Close-test practice flow"复习错题" / "复习"Review wrong questions from knowledge table"调整学习节奏" / "改每周计划" / "换学习内容" / "改学习计划"Update weekly rhythm in profile"学习计划" / "每周学什么"Show current weekly rhythm from profile"讲解单词" / "单词讲解" / "讲一下单词" / "讲解一下单词"Explain word meaning and usage"xxx是什么意思"Check vocab table → answer → create record if neededSend a single English word (not a sentence)Check vocab table → answer → create record if neededSend photoOCR → determine type → save to correct table"没掌握" / "记住了"Update memory level
Read from high-school-profile.md for study time and duration.
Default if not specified: 30 minutes at 20:00
StepTimeContentVocab reviewfirst 25% of timeEbbinghaus-pushed words + new wordsGrammar/Practicenext 50% of timeGrammar or close-test/readingExplanationnext 15% of timeDaily exercise explanationSummarylast 10%Today's report + preview
Read from high-school-profile.md. If not specified, use default:
MonTueWedThuFriVocab+GrammarVocab+CloseVocab+GrammarVocab+CloseVocab+Reading
See references/vocab-learning-flow.md
根据不同场景,决定出题来源:
See references/question-design-template.md
See references/vocab-template.md
See references/ebbinghaus.md
Read storage preference from high-school-profile.md.
TablePurposeVocabVocabulary reviewKnowledgeGRA/REA/CLO/WRI errorsReview LogReview behavior log
Table IDs and App Token are stored in workspace/memory/high-school-profile.md.
Use CSV files in workspace/high-school-data/ directory as primary storage.
FilePurposevocab.csvVocabulary recordsknowledge.csvError question recordsreview-log.csvReview behavior log
如果目录/文件不存在:
high-school-data/ 目录不存在 → 自动创建references/vocab-schema.csv 等文件Content TypePrefixExampleWordVOC_VOC_0001GrammarGRA_GRA_001ReadingREA_REA_001Close-testCLO_CLO_001WritingWRI_WRI_001
序号规则: 4位数字,不足补0,按顺序递增(如 VOC_0001 → VOC_0002 → VOC_0003) 自动录入时: 先查询当前最大序号,+1 得出新序号
触发条件: cron 定时提醒 / 用户说「复习错题」
来源: knowledge 表里「下次复习时间 ≤ 今天」的记录(全是已有记录)
text
1. 查询复习队列(下次复习时间 ≤ 今天)
2. 出题(来自 knowledge 表的已有记录)
3. 用户作答
4. 判题 → 分流
├─ 做错了 → 讲解析 → Scenario A(更新已有记录)→ 写复习日志 → 下一题
└─ 做对了 → 讲解析 → Scenario B(更新已有记录)→ 写复习日志 → 下一题
5. 全部完成后:写复习日志(汇总本次复习结果)
触发条件: 用户发起学习 / 周一至周五日常练习
来源: 新题(不在 knowledge 表中)
text
1. 出新题 → 用户作答
2. 判题
├─ 做错了 → 讲解析 → Scenario A(新建记录到 knowledge)→ 下一题
└─ 做对了 → 讲解析 → 给予正向反馈 → 下一题
3. 结束后生成学习报告
两者都使用 Scenario A/B,区别在于新建还是更新已有。
讲完解析后, 立即 更新 knowledge 表:
字段值错题标记未掌握错误次数+= 1错误原因E01-E12 code错因分析详细分析记忆等级1下次复习时间次日学习时间
(复习工作流中:更新已有记录;日常练习中:新建记录)
讲完解析后, 立即 更新 knowledge 表:
字段值错题标记已掌握错误原因/错因分析clear记忆等级+= 1下次复习时间今天学习时间 + 间隔
(仅用于复习工作流中,更新已有记录)
text
没掌握 (C):
- 记忆等级 = 1
- 下次复习时间 = tomorrow at study time
记住了 (D):
- 记忆等级 += 1
- 下次复习时间 = today at study time + interval
text
OCR content:
├─ Has ?/options/sentences → question → knowledge table
└─ Pure word/phrase → vocab table
text
Check vocab table:
├─ Already exists → answer directly
└─ Doesn't exist → create record, then answer
When explaining vocabulary words proactively (not in response to student's question):
text
After giving the explanation:
1. Check if word already exists in vocab table
2. If NOT exists → create record immediately (同步录入)
3. If exists → skip
**ID format:** VOC_序号 (e.g. VOC_0003, VOC_0004...)
**错题标记:** default to "未掌握"
**序号规则:** 查询当前最大序号,+1 递增
When student sends a single word (not a sentence/question):
text
1. Treat as vocabulary lookup
2. Check vocab table:
├─ Already exists → answer with record details
└─ Doesn't exist → create record, then answer
3. Mark as 词汇ID: VOC_序号(查询最大序号+1)
After each study session, read the report format from high-school-profile.md and generate accordingly.
Read achievement definitions from high-school-profile.md. Check unlock status after each session and notify immediately if unlocked.