Back to Discover

claude-tutor

plugin

kirilxd

Turn Claude Code into your personal tutor — personalized learning plans, adaptive quizzes, SM-2 spaced repetition, and a web dashboard. Works with any topic.

View on GitHub
109 starsMITSynced Aug 2, 2026

Install to Claude Code

/plugin marketplace add kirilxd/claude-tutor

README

claude-tutor logo

claude-tutor

Turn Claude Code into your personal tutor — with spaced repetition.

MIT License Claude Code 2.0+ Node.js 18+


Dashboard overview


Get started in 10 seconds

/plugin marketplace add kirilxd/claude-tutor
/plugin install claude-tutor@kirilxd-plugins

Then just say:

teach me about Kubernetes

What it does

Claude Tutor creates personalized learning plans, quizzes you with adaptive difficulty, and schedules reviews using SM-2 spaced repetition — all inside Claude Code. Works with any topic: programming, system design, DevOps, languages, science, history, music theory.

No slash commands needed. Just talk naturally:

Say thisClaude does this
"teach me about recursion"Creates a learning plan with curated resources
"quiz me on networking"Adaptive quiz targeting your weak areas
"how well do I know Python"Progress report with study recommendations
"find me resources on Rust"Curated materials grouped by module
"open dashboard"Launches web UI at localhost:3847

The learning cycle

plan → study → quiz → review → repeat
  1. Plan/learn researches your topic and builds a structured plan with modules, concepts, and curated resources
  2. Study — Claude teaches each module interactively with analogies, examples, and comprehension checks
  3. Quiz/quiz tests you with mixed formats (MCQ, true/false, short answer, fill-in-blank) that adapt to your level
  4. Review — SM-2 spaced repetition schedules concept reviews at optimal intervals (1d → 6d → 15d → ...)
  5. Repeat/review shows progress and recommends what to study next

Key features

FeatureDetails
🧠SM-2 spaced repetitionIndustry-standard algorithm schedules reviews right before you forget
📊Adaptive difficultyQuestions get harder as you improve, easier when you struggle
🎯Weak area targetingQuizzes prioritize concepts you've gotten wrong before
👤Learner profilesRemembers your style (hands-on, visual, theory-first) across all topics
🔍Diagnostic assessmentCalibrates your actual level so you skip what you already know
🔔Session-start remindersShows overdue reviews every time you open Claude Code
🛡️Schema enforcementPreToolUse hooks prevent data corruption automatically
🌐Web dashboardFull visual interface — create plans, take quizzes, view calendar

Web dashboard

A local web UI at http://localhost:3847 with everything you need:

ViewWhat it does
OverviewAll topics, stats, overdue alerts, study recommendations
Create TopicBuild a learning plan via form — Claude researches and generates it
Take QuizInteractive MCQ/True-False quiz with instant feedback
Plan ViewerBrowse modules, reorder them, view resources
ProgressScore trend chart, quiz history, spaced repetition schedule
CalendarMonthly view of upcoming and overdue reviews
ProfileEdit learning style and background preferences

The dashboard and CLI share the same data. Switch between them freely.

Learning plan
Learning plan view
Progress tracking
Progress tracking view
Review calendar
Review calendar view

Commands

CommandDescriptionExample
/learn <topic>Create a learning plan with web research/learn Kubernetes
/quiz [topic]Take an adaptive quiz/quiz or /quiz DNS
/review [topic]View progress and recommendations/review
/resources <topic>Get curated learning resources/resources system design
/dashboardLaunch the web dashboard/dashboard

Your data stays local

All data is stored on your machine. Nothing is sent to external services.

~/.claude/learning/
├── index.json              # topic registry
├── profile.json            # learner preferences
├── plans/
│   └── <topic>-<date>.json # learning plans
└── progress/
    └── <topic>.json        # quiz results, spaced repetition schedules

Development

claude-tutor/
├── .claude-plugin/
│   ├── plugin.json         # plugin manifest
│   └── marketplace.json    # marketplace definition
├── commands/               # slash command definitions
├── skills/                 # skill instructions (SKILL.md files)
│   ├── learn/
│   ├── quiz/
│   ├── review/
│   ├── resources/
│   └── dashboard/server/   # Express server + vanilla JS frontend
├── hooks/                  # PreToolUse + SessionStart hooks
├── tests/                  # hook unit tests
└── evals/                  # trigger + functional evaluations

Running tests

node tests/test-hooks.js                              # hook unit tests (27 tests)
./evals/run-trigger-eval.sh                           # trigger evals (17 prompts)
./evals/run-functional-eval.sh                        # end-to-end evals (21 checks)
node skills/dashboard/server/tests/dashboard.test.js  # dashboard tests (30 scenarios)

Known limitations

LimitationDetails
Quiz formatsDashboard supports MCQ and True/False only. Short answer and fill-in-blank are CLI-only.
AskUserQuestionCLI may fall back to plain text depending on Claude Code version.
CLI schema driftClaude occasionally invents field names. Dashboard normalizes on read; hook blocks common errors.

Uninstalling

/plugin uninstall claude-tutor@kirilxd-plugins
/plugin marketplace remove kirilxd-plugins

To remove learning data: rm -rf ~/.claude/learning/

License

MIT

Rendered live from kirilxd/claude-tutor's GitHub README — not stored, always reflects the source repo.

1 Plugin

NameDescriptionCategorySource
claude-tutorInteractive learning companion — plans, quizzes, spaced repetition, web dashboardkirilxd/claude-tutor

0 Comments

Login required
Log in to post a comment or update on this repo.

No comments yet — be the first to share an update.