Tutor
Interactive quiz tutor for Obsidian StudyVault learning.
Install
npx skills add bevibing/tutor-skills --skill tutor -g -a claude-code -y- Repository
- bevibing/tutor-skills1.4k
- Category
- Testing
- Updated
- 8mo ago
- License
- MIT
- Context cost
- Lightabout 1,286 tokens
- Runs scripts
- No, instructions only
What it does
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", "학습", "퀴즈", "평가".
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
- Glob
**/StudyVault/in project - List section directories
- Glob
**/StudyVault/*dashboard*to find dashboard - If found, read it. Preserve existing file path regardless of language.
- 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:
- If unmeasured areas (⬜) exist → include "Diagnostic" option targeting those areas
- If weak areas (🟥/🟨) exist → include "Drill weak areas" option naming the weakest area(s)
- Always include "Choose a section" option so the user can pick any area
- 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.


