Sage
Built for driven self-learners

An AI tutor for serious self-learners.

Sage runs inside Claude Code and turns study into active recall, Socratic coaching, verified explanations, spaced review, and durable local learning records.

SM-2

SRS scheduling

Local

learning files

6

specialist agents

Real Session

/sage asynchronous programming

verified

Sage

You said the caller waits for the await to complete. I won't tell you if that's right — predict: log 3, call foo(), log 4, where foo logs 1, awaits, then logs 2.

Learner

3, 1, 4, 2 — the code before the await is synchronous, but 4 still logs before 2.

Sage

Right — and that contradicts your own model. If the caller waited, 4 would come after 2. await suspends the function, not the caller.

System

Weak Spot WS-3 logged. Card scheduled. Savepoint will resume at the asyncio contrast.

Demo

Follow a real first Session from prompt to checkpoint.

Every step below is from one real first Sage Session on asynchronous programming: a fresh start, verified curriculum, a wrong prediction, three Weak Spots, six verified Cards, and a Savepoint. The terminal lines are quotes; each file panel summarises an Artifact that Session actually wrote.

From a real first Session — condensed, not staged.

Sage starts from what you actually know — not a blank script.

A fresh Learning Root: no prior topics, nothing assumed. Sage maps your territory from your own self-report.

You

/sage asynchronous programming

Sage

Fresh start confirmed — let's map your learning territory before I build a plan.

You

I've used callbacks, promises, and async/await in JS and Python, and asyncio — but a lot of the time I wasn't sure what the order of execution was.

Sage

Your real gap isn't syntax — it's the model. You can write async/await; you can't yet predict what runs when.

System

Anchor language set to JavaScript. No prior topics found — starting fresh.

cross-refs/INDEX.md

Prior topics

fresh start

None — this is a fresh Learning Root

Overlaps with

none

— nothing to cross-reference yet

Starting point

mapped

Built from the learner's self-report, not an assumed baseline

Why Sage

It makes learning observable.

A normal chat can feel productive while leaving no durable trace. Sage turns each Session into evidence: what you recalled, where you struggled, what must return, and where to resume.

Questions before answers

Sage pushes recall, prediction, and explanation before it fills in missing pieces.

Spaced review built in

Cards are scheduled with an SRS engine so hard-won concepts come back before they fade.

Fact-checked teaching

Claims, examples, and card answers are verified before Sage commits them to your learning record.

Artifacts you own

Plans, journals, Knowledge Maps, Cards, Weak Spots, and Savepoints live as local markdown and JSON.

Install

Add Sage to Claude Code.

Install the plugin, choose a Learning Root on first run, then start a Topic with a single slash command.

Claude Code
/plugin marketplace add 0-BSCode/sage
/plugin install sage@sage
/sage async programming

FAQ

Questions serious learners ask first.

Who is Sage for?

Sage is for serious self-learners who use Claude Code and want active coaching, durable recall, and a record of what they have actually mastered.

What does Sage create?

Each Topic gets local Artifacts such as a plan, journal entries, a Knowledge Map, Cards, Weak Spots, Coach Errors, metrics, and Savepoints.

Can I stop and resume later?

Yes. Every Session ends with a Savepoint, and resume starts by loading prior Artifacts, due Cards, active Weak Spots, and the next step.

Where does my learning data go?

Your learning data stays on your machine in human-readable markdown and JSON under your configured Learning Root.

Does Sage only work for programming topics?

No. The coaching loop is topic-agnostic, though verification is strongest for technical subjects with authoritative sources.

What Claude Code plan should I use?

Sage is designed for deeper sessions and subagent work, so the Max plan is recommended for the smoothest experience.