Skip to main content

expert-mentor

Turn any LLM — Claude, ChatGPT, Gemini, or a local Ollama / llama.cpp model — into a professional teacher for any field.

expert-mentor generates a calibrated expert-mentor system prompt for a field and level, runs the tutoring session directly, remembers what you've mastered across sessions, and reviews your progress from the transcript.

CI PyPI Python versions License: MIT


Why

Most "tutor" prompts are a persona and a vibe. This one is a system: a teaching contract grounded in learning science (retrieval practice, spacing, scaffolding), provider-native request handling, and a persistent learner model. The mentor teaches to the standard a real senior practitioner would recognise — one concept at a time, checking understanding, and never fabricating sources.

Highlights

  • Provider-native prompts — XML-shaped, prompt-cached system blocks for Claude; developer role, max_completion_tokens, and reasoning_effort for ChatGPT reasoning models; correct handling for Gemini, Ollama, and llama.cpp.
  • Live tutoring sessions over Anthropic, OpenAI, Ollama, and llama.cpp — standard library only, no runtime dependencies.
  • Persistent learner memory — mastered / shaky / misconceptions / open questions, injected into every future session.
  • Model-assisted review — turn a session transcript into an updated profile.
  • Spaced repetition — generate flashcards from a session and review them with an SM-2-lite scheduler (mentor cards / mentor quiz).
  • Curriculum design — a structured, sequenced multi-week plan for any field.
  • Usable as an agent skill — ships with SKILL.md for Claude Code / opencode.

Install

# from PyPI (once published)
pipx install expert-mentor        # or: pip install expert-mentor

# from source
git clone https://github.com/voidstackloop/expert-mentor
cd expert-mentor
./install.sh                      # installs `mentor` + links the skill, or:
pipx install .

No install needed: run it in place with ./bin/mentor ... or python3 scripts/expert_mentor.py ....

Quick start

# Generate a system prompt for a field
mentor --field "quantum computing" --level beginner

# Run a live tutoring session (local model)
mentor run --field "Rust" --provider ollama --model qwen2.5:7b

# Run with Claude, remembering progress between sessions
mentor run --field "Rust" --provider claude --remember

# Build a curriculum
mentor curriculum --field "Rust" --duration "6 weeks, 5h/week"

Live sessions

# Claude — system prompt is cached and XML-shaped; optional extended thinking
mentor run --field "contract law" --provider claude --model claude-sonnet-5 --thinking

# ChatGPT — reasoning effort, developer role, usage reported per turn
mentor run --field "Rust" --provider chatgpt --model gpt-5.6 --reasoning-effort high

# Local — Ollama or a llama.cpp / LM Studio server
mentor run --field "music theory" --provider ollama --host http://localhost:11434

Credentials come from the environment or a .env file (ANTHROPIC_API_KEY, OPENAI_API_KEY). See docs/providers.md.

Remembering a learner

# Persist progress automatically (named from the field)
mentor run --field "Rust" --provider claude --remember

# Inspect or curate the profile
mentor learners
mentor progress rust --add-mastered ownership --add-shaky lifetimes --goal "ship idiomatic Rust"

# Assess the last session and update the profile
mentor review rust --apply

# Turn the session into flashcards and review them over time
mentor cards rust --generate
mentor quiz rust

Profiles, transcripts, prompts, and cards live under ~/.config/expert-mentor/ as plain JSON/markdown you can read and edit.

Commands

Command Purpose
mentor --field F [...] generate a teaching prompt
mentor run [NAME] live tutoring session (cloud or local)
mentor save/show/saved store and reuse mentor prompts
mentor curriculum sequenced multi-week curriculum prompt
mentor models list / discover Claude & ChatGPT models
mentor fields / providers curated field profiles / providers
mentor learners / progress / sessions / transcript / review learner memory & assessment
mentor cards / quiz spaced-repetition flashcards
mentor config saved defaults
mentor doctor health check
mentor interactive build a profile by answering prompts

Full reference: docs/commands.md.

Documentation

Requirements

Python 3.8+. No third-party runtime dependencies. A local Ollama or llama.cpp server is optional (for offline use).

Contributing

See CONTRIBUTING.md. Run make test before opening a PR.

License

MIT © expert-mentor contributors.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

expert_mentor-0.6.1.tar.gz (69.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

expert_mentor-0.6.1-py3-none-any.whl (50.4 kB view details)

Uploaded Python 3

File details

Details for the file expert_mentor-0.6.1.tar.gz.

File metadata

  • Download URL: expert_mentor-0.6.1.tar.gz
  • Upload date:
  • Size: 69.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for expert_mentor-0.6.1.tar.gz
Algorithm Hash digest
SHA256 850b695345c8da0391843d19e088eddf3047ec4054620b4c164295e70345b87a
MD5 e787e0e4c4730f8161dd6bbe4c5a9081
BLAKE2b-256 bcd8ddbeb6854ecd9c176885bd4eac713972a38d7f0cfa2e63582836361899ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for expert_mentor-0.6.1.tar.gz:

Publisher: release.yml on voidstackloop/expert-mentor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file expert_mentor-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: expert_mentor-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 50.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for expert_mentor-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 39839c882d7d555a547bc8d6f552ae0847560fffcfbbe64e3a7859afac378d3b
MD5 114303224a7fb5af02a9cfcf547c0f6f
BLAKE2b-256 0da14b14e0d94ebc8e68ffd5fe1130abdaeba29662457972495aa1d6a2ade7be

See more details on using hashes here.

Provenance

The following attestation bundles were made for expert_mentor-0.6.1-py3-none-any.whl:

Publisher: release.yml on voidstackloop/expert-mentor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.6.1 This release

2 files

0.6.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page