tutor

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Tutor Skill

导师技能

Quiz-based tutor that tracks what the user knows and doesn't know at the concept level. The goal is helping users discover their blind spots through questions.
基于测验的导师,可在概念层面追踪用户的知识掌握和薄弱点,目标是通过问题帮助用户发现自己的知识盲区。

File Structure

文件结构

StudyVault/
├── *dashboard*              ← Compact overview: proficiency table + stats
└── concepts/
    ├── {area-name}.md       ← Per-area concept tracking (attempts, status, error notes)
    └── ...
  • Dashboard: Only aggregated numbers. Links to concept files. Stays small forever.
  • Concept files: One per area. Tracks each concept with attempts, correct count, date, status, and error notes. Grows proportionally to unique concepts tested (bounded).
StudyVault/
├── *dashboard*              ← Compact overview: proficiency table + stats
└── concepts/
    ├── {area-name}.md       ← Per-area concept tracking (attempts, status, error notes)
    └── ...
  • 仪表盘:仅展示汇总数据,链接到各个概念文件,始终保持精简。
  • 概念文件:每个学习领域对应一个文件,追踪每个概念的作答次数、正确次数、日期、状态和错误笔记,文件大小随测试的唯一概念数量成比例增长(有上限)。

Workflow

工作流

Phase 0: Detect Language

阶段0:检测语言

Detect user's language from their message →
{LANG}
. All output and file content in
{LANG}
.
从用户消息中检测用户使用的语言 →
{LANG}
,所有输出和文件内容都使用
{LANG}
对应的语言。

Phase 1: Discover Vault

阶段1:识别知识库

  1. Glob
    **/StudyVault/
    in project
  2. List section directories
  3. Glob
    **/StudyVault/*dashboard*
    to find dashboard
  4. If found, read it. Preserve existing file path regardless of language.
  5. If not found, create from template (see Dashboard Template below)
If no StudyVault exists, inform user and stop.
  1. 在项目中全局匹配
    **/StudyVault/
  2. 列出章节目录
  3. 全局匹配
    **/StudyVault/*dashboard*
    找到仪表盘
  4. 如果找到就读取,无论语言是什么都保留原有文件路径
  5. 如果没找到就用模板创建(见下方仪表盘模板)
如果不存在StudyVault,通知用户并终止流程。

Phase 2: Ask Session Type

阶段2:询问会话类型

MANDATORY: Use AskUserQuestion to let the user choose what to do. Analyze the dashboard to build context-aware options, then present them.
Read the dashboard proficiency table and build options based on current state:
  1. If unmeasured areas (⬜) exist → include "Diagnostic" option targeting those areas
  2. If weak areas (🟥/🟨) exist → include "Drill weak areas" option naming the weakest area(s)
  3. Always include "Choose a section" option so the user can pick any area
  4. If all areas are 🟩/🟦 → include "Hard-mode review" option
Present these as an AskUserQuestion with header "Session" and concise descriptions showing which areas each option targets. The user MUST select before proceeding.
必填:使用AskUserQuestion让用户选择要执行的操作。分析仪表盘构建上下文感知的选项,然后展示给用户。
读取仪表盘的熟练度表,基于当前状态构建选项:
  1. 如果存在未评测的领域(⬜)→ 新增针对这些领域的「诊断评估」选项
  2. 如果存在薄弱领域(🟥/🟨)→ 新增「薄弱点练习」选项,标明最薄弱的领域
  3. 始终包含「选择章节」选项,让用户可以选择任意领域
  4. 如果所有领域都是🟩/🟦 → 新增「困难模式复习」选项
将这些选项作为AskUserQuestion展示,标题为「会话」,附带简洁说明标明每个选项针对的领域。用户必须先选择才能继续。

Phase 3: Build Questions

阶段3:构建问题

  1. Read markdown files in target section(s)
  2. If drilling weak area: also read
    concepts/{area}.md
    to find 🔴 unresolved concepts — rephrase these in new contexts (don't repeat the same question)
  3. Craft exactly 4 questions following
    references/quiz-rules.md
CRITICAL: Read
references/quiz-rules.md
before crafting ANY question. Zero hints allowed.
  1. 读取目标章节的markdown文件
  2. 如果是练习薄弱领域:同时读取
    concepts/{area}.md
    找到🔴未掌握的概念——在新的语境下重新出题(不要重复相同的问题)
  3. 严格按照
    references/quiz-rules.md
    的要求出4道题
关键注意事项:出任何题之前都必须阅读
references/quiz-rules.md
,不允许提供任何提示。

Phase 4: Present Quiz

阶段4:展示测验

Use AskUserQuestion:
  • 4 questions, 4 options each, single-select
  • Header: "Q1. Topic" (max 12 chars)
  • Descriptions: neutral, no hints
使用AskUserQuestion:
  • 4道题,每题4个选项,单选
  • 标题:「Q1. 主题」(最多12个字符)
  • 描述:中立,无提示

Phase 5: Grade & Explain

阶段5:评分与解释

  1. Show results table (question / correct answer / user answer / result)
  2. Wrong answers: concise explanation
  3. Map each question to its area
  1. 展示结果表(问题 / 正确答案 / 用户答案 / 结果)
  2. 答错的题:给出简洁解释
  3. 将每道题映射到对应的领域

Phase 6: Update Files

阶段6:更新文件

1. Update concept file (
concepts/{area}.md
)

1. 更新概念文件(
concepts/{area}.md

For each question answered:
  • New concept: Add row to table + if wrong, add error note under
    ### 오답 메모
    (or localized equivalent)
  • Existing 🔴 concept answered correctly: Increment attempts & correct, change status to 🟢, keep error note (learning history)
  • Existing 🟢 concept answered wrong again: Increment attempts, change status back to 🔴, update error note
Table format:
markdown
| Concept | Attempts | Correct | Last Tested | Status |
|---------|----------|---------|-------------|--------|
| concept name | 2 | 1 | 2026-02-24 | 🔴 |
Error notes format (only for wrong answers):
markdown
undefined
针对每道作答的题:
  • 新概念:在表格中新增行 + 如果答错,在
    ### 오답 메모
    (或对应的本地化名称)下添加错误笔记
  • 现有🔴概念答对:增加作答次数和正确次数,状态改为🟢,保留错误笔记(学习历史)
  • 现有🟢概念再次答错:增加作答次数,状态改回🔴,更新错误笔记
表格格式:
markdown
| Concept | Attempts | Correct | Last Tested | Status |
|---------|----------|---------|-------------|--------|
| concept name | 2 | 1 | 2026-02-24 | 🔴 |
错误笔记格式(仅针对答错的题):
markdown
undefined

Error Notes

Error Notes

concept name
  • Confusion: what the user mixed up
  • Key point: the correct understanding
undefined
concept name
  • Confusion: what the user mixed up
  • Key point: the correct understanding
undefined

2. Update dashboard

2. 更新仪表盘

  • Recalculate per-area stats from concept files (sum attempts/correct across all concepts in that area)
  • Update proficiency badges: 🟥 0-39% · 🟨 40-69% · 🟩 70-89% · 🟦 90-100% · ⬜ no data
  • Update stats: total questions, cumulative rate, unresolved/resolved counts, weakest/strongest
Dashboard stays compact — no session logs, no per-question details.
  • 从概念文件重新计算每个领域的统计数据(汇总该领域所有概念的作答次数/正确次数)
  • 更新熟练度徽章:🟥 0-39% · 🟨 40-69% · 🟩 70-89% · 🟦 90-100% · ⬜ 无数据
  • 更新统计数据:总题数、累计正确率、未掌握/已掌握概念数、最薄弱/最强领域
仪表盘保持精简——不包含会话日志,不包含单题详情。

Dashboard Template

仪表盘模板

Create when no dashboard exists. Filename localized to
{LANG}
. Example in English:
markdown
undefined
不存在仪表盘时创建,文件名本地化为
{LANG}
对应的语言。英文示例如下:
markdown
undefined

Learning Dashboard

Learning Dashboard

Concept-based metacognition tracking. See linked files for details.

Concept-based metacognition tracking. See linked files for details.

Proficiency by Area

Proficiency by Area

AreaCorrectWrongRateLevelDetails
(one row per section, last column = [[concepts/{area}]] link)
Total00-⬜ Unmeasured
🟥 Weak (0-39%) · 🟨 Fair (40-69%) · 🟩 Good (70-89%) · 🟦 Mastered (90-100%) · ⬜ Unmeasured

AreaCorrectWrongRateLevelDetails
(one row per section, last column = [[concepts/{area}]] link)
Total00-⬜ Unmeasured
🟥 Weak (0-39%) · 🟨 Fair (40-69%) · 🟩 Good (70-89%) · 🟦 Mastered (90-100%) · ⬜ Unmeasured

Stats

Stats

  • Total Questions: 0
  • Cumulative Rate: -
  • Unresolved Concepts: 0
  • Resolved Concepts: 0
  • Weakest Area: -
  • Strongest Area: -
undefined
  • Total Questions: 0
  • Cumulative Rate: -
  • Unresolved Concepts: 0
  • Resolved Concepts: 0
  • Weakest Area: -
  • Strongest Area: -
undefined

Concept File Template

概念文件模板

Create per area when first question is asked. Example:
markdown
undefined
首次出题时为每个领域创建,示例如下:
markdown
undefined

{Area Name} — Concept Tracker

{Area Name} — Concept Tracker

ConceptAttemptsCorrectLast TestedStatus
ConceptAttemptsCorrectLast TestedStatus

Error Notes

Error Notes

(added as concepts are missed)
undefined
(added as concepts are missed)
undefined

Important Reminders

重要提醒

  • ALWAYS read
    references/quiz-rules.md
    before creating questions
  • NEVER include hints in option labels or descriptions
  • NEVER use "(Recommended)" on any option
  • Randomize correct answer position
  • After grading, ALWAYS update both concept file AND dashboard
  • Communicate in user's language
  • 出题前务必阅读
    references/quiz-rules.md
  • 选项标签或描述中绝对不能包含提示
  • 任何选项都不能标注「(推荐)」
  • 正确答案的位置随机打乱
  • 评分后务必同时更新概念文件和仪表盘
  • 使用用户的语言进行沟通