Tutor

bevibing/tutor-skills/skills/tutor

作者 bevibing397110c9fefb無授權條款1.3K 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫7 個月前更新

Interactive quiz tutor for Obsidian StudyVault learning. Use when the user wants to: (1) Take a diagnostic assessment of their knowledge, (2) Study or review specific sections/topics, (3) Drill weak areas identified in previous sessions, (4) Check their learning progress or dashboard, or says things like "quiz me", "test me", "let's study", "/tutor", "학습", "퀴즈", "평가".

AI 產生的概覽

以測驗為基礎的輔導技能,在 Obsidian StudyVault 中依概念追蹤掌握情況並針對弱點練習。

功能
此技能會針對存放在 Obsidian StudyVault 中的 Markdown 學習素材進行互動式選擇題測驗。它會尋找學習庫與儀表板,提供診斷、弱點加強、自選章節或高難度複習等工作階段類型,並依照測驗規則每次產生四道題目。評分後,它會講解答錯的題目,並更新各領域的概念檔案,以及包含作答次數、答對數、狀態標記與錯題筆記的精簡儀表板。
適用情境
適合學習者想被測驗或考查學習素材、進行診斷評估、複習特定章節或主題、加強先前較弱的環節,或透過儀表板查看學習進度時使用。
執行需求
需要專案中已有包含 Markdown 章節檔案的 Obsidian StudyVault,以及隨附的 references/quiz-rules.md。此技能僅為指示文件,不附帶指令碼;它依賴代理的檔案搜尋、讀取與寫入工具,以及用於工作階段與測驗互動的 AskUserQuestion。

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).

Workflow

Phase 0: Detect Language

Detect user's language from their message → {LANG}. All output and file content in {LANG}.

Phase 1: Discover Vault

  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.

Phase 2: Ask Session Type

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.

Phase 3: Build Questions

  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.

Phase 4: Present Quiz

Use AskUserQuestion:

  • 4 questions, 4 options each, single-select
  • Header: "Q1. Topic" (max 12 chars)
  • Descriptions: neutral, no hints

Phase 5: Grade & Explain

  1. Show results table (question / correct answer / user answer / result)
  2. Wrong answers: concise explanation
  3. Map each question to its area

Phase 6: Update Files

1. Update concept file (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
### Error Notes
**concept name**- Confusion: what the user mixed up- Key point: the correct understanding
2. Update dashboard
  • 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.

Dashboard Template

Create when no dashboard exists. Filename localized to {LANG}. Example in English:

markdown
# Learning Dashboard
> Concept-based metacognition tracking. See linked files for details.
---
## Proficiency by Area
| Area | Correct | Wrong | Rate | Level | Details ||------|---------|-------|------|-------|---------|(one row per section, last column = [[concepts/{area}]] link)| **Total** | **0** | **0** | **-** | ⬜ Unmeasured | |
> 🟥 Weak (0-39%) · 🟨 Fair (40-69%) · 🟩 Good (70-89%) · 🟦 Mastered (90-100%) · ⬜ Unmeasured
---
## Stats
- **Total Questions**: 0- **Cumulative Rate**: -- **Unresolved Concepts**: 0- **Resolved Concepts**: 0- **Weakest Area**: -- **Strongest Area**: -

Concept File Template

Create per area when first question is asked. Example:

markdown
# {Area Name} — Concept Tracker
| Concept | Attempts | Correct | Last Tested | Status ||---------|----------|---------|-------------|--------|
### Error Notes
(added as concepts are missed)

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

來源與署名

來源:bevibing/tutor-skills位於skills/tutor提交397110c

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架