claudeers.

🔓 unclaimed — this page was auto-generated from GitHub. Are you the creator?

Claim this page →
// Education & Learning

claude-study-mode

Strict-tutor mode for Claude Code — teaches one concept at a time, quizzes you, reviews your code, and hard-blocks Claude from writing code for you.

Actively maintained
98/100
last commit 10 days ago
last release none
releases 0
open issues 0
// install
git clone https://github.com/codeprakhar25/claude-study-mode

Study Mode

A Claude Code plugin that turns Claude into a strict tutor instead of a chatbot — and enforces it.

When you ask Claude to help you learn something — finetune a LoRA, pick up Go, run an experiment to understand it — normal Claude just does it. It writes all the code, runs ahead in auto mode, and hands you output you don't understand. You end up with a working repo and zero new skill.

Study Mode flips that. Claude becomes a demanding teacher: it paces one concept at a time, verifies you actually understand before moving on, gathers real resources, reviews your code — and refuses to write code for you, even when you ask.

That refusal isn't a polite suggestion in a system prompt you can argue with. It's a PreToolUse hook that denies Claude's file-writing tools while the mode is on. You can't talk it into doing the work for you. That's the whole point.


Why not just the built-in "Learning" output style?

Claude Code ships a soft Learning style that asks you to fill in some code. It's a persona — insist hard enough and Claude writes the code anyway. Study Mode adds the two things that make it actually work:

  1. Hard enforcement — a hook blocks Write/Edit/NotebookEdit, not just a prompt.
  2. Checkpoint pacing — a session state file tracks where you are so Claude can't run ahead; it must verify understanding (/quiz) before advancing.

Install

/plugin marketplace add codeprakhar25/claude-study-mode
/plugin install study-mode@study-mode      # choose "user" scope to use it everywhere

Restart Claude Code, then type study on. Requires node on your PATH (the hooks run on node).

Local / from-source install
git clone https://github.com/codeprakhar25/claude-study-mode
cd claude-study-mode
bash install.sh --statusline   # symlinks into ~/.claude/plugins, wires the status badge (needs jq)

Usage

study on            # activate study mode (strict level)
study lite          # activate, allow ≤3-line pseudocode hints
study off           # back to normal Claude

/study learn Go     # start a learning session — builds a concept path, gathers resources
/quiz               # prove you understand the current concept before moving on
/progress           # on-demand diagram: current concept map + lifetime summary

Levels

LevelClaude may…
strict (default)give concepts, direction, and review only — no code, no pseudocode
litealso sketch ≤3 lines of pseudocode/skeleton as a hint — never a working file

In both levels, you write all the code; Claude reads and critiques it but never writes it.

How it works

ComponentRole
SessionStart hook (study-activate.js)Injects the strict-tutor persona when the mode is active, so it survives restarts.
UserPromptSubmit hook (study-tracker.js)Parses study on/off/strict/lite; re-injects the tutor reminder each turn so it never drifts.
PreToolUse hook (study-guard.js)The enforcement core — denies Write/Edit/NotebookEdit while active (except inside the central ~/.claude/study/ dir).
/study skillAssesses your level, builds an ordered concept path, gathers real resources, teaches concept 0, sets a checkpoint.
/quiz skillGrills you on the current checkpoint; advances only on a genuine pass. On a pass it records the concept to the lifetime ledger; on the final pass, emits a visual end-of-session report.
/progress skillOn-demand diagram (read-only): the current topic's concept map plus a lifetime summary of every concept you've passed across all projects.

Read / Grep / Glob / WebSearch are never blocked — so Claude can review your code and pull up canonical docs.

State

All study state lives centrally under $CLAUDE_CONFIG_DIR — nothing is written into your repos, so there's no .study/ dir to gitignore.

  • Global toggle: $CLAUDE_CONFIG_DIR/.study-state.json ({active, level}) plus a hardened .study-active sidecar the statusline reads.
  • Per-project session: $CLAUDE_CONFIG_DIR/study/sessions/<slug>.json{topic, plan, checkpoint, passed, cwd}, keyed by project path.
  • Lifetime ledger: $CLAUDE_CONFIG_DIR/study/history.jsonl — append-only, one line per concept you pass, across every project. This is what /progress summarizes. Honest record only — concepts, topics, dates; no streaks or XP.

While the mode is on, the central study/ dir is the only place Claude may write (a legacy ./.study/ is still accepted so older sessions keep resuming). Everything else is denied.

License

MIT — see LICENSE.

// compatibility

Platformsapi
Operating systems
AI compatibilityclaude
LicenseMIT
Pricingopen-source
LanguageJavaScript

// faq

What is claude-study-mode?

Strict-tutor mode for Claude Code — teaches one concept at a time, quizzes you, reviews your code, and hard-blocks Claude from writing code for you.. It is open-source on GitHub.

Is claude-study-mode free to use?

claude-study-mode is open-source under the MIT license, so it is free to use.

What category does claude-study-mode belong to?

claude-study-mode is listed under education in the Claudeers registry of Claude-compatible tools.

0 views
11 stars
unclaimed
updated 9 days ago

// embed badge

claude-study-mode on Claudeers
[![Claudeers](https://claudeers.com/api/badge/claude-study-mode.svg)](https://claudeers.com/claude-study-mode)

// retro hit counter

claude-study-mode hit counter
[![Hits](https://claudeers.com/api/counter/claude-study-mode.svg)](https://claudeers.com/claude-study-mode)

// reviews

// guestbook

0/500

// related in Education & Learning

🔓

Skills for Real Engineers. Straight from my .claude directory.

// educationmattpocock/Shell161,354MIT[ claude ]
🔓

A collection of learning resources for curious software engineers

// educationcharlax/Python51,218MIT[ claude ]
🔓

Powerful AI Client

// educationchatboxai/TypeScript40,855GPL-3.0[ claude ]
🔓

Course to get into Large Language Models (LLMs) with roadmaps and Colab notebooks.

// educationmlabonne/80,762Apache-2.0[ claude ]
→ see how claude-study-mode connects across the ecosystem