Skip to content

The four dials

Eklavya’s behaviour is four independent settings. Conflating them is the most common confusion, so learn them as four separate questions. All four can sit in your status bar — see eklavya statusline:

DialQuestion it answersValues
modeHow hard does Eklavya push?ambient (default), enforced, off
focusWhat does it teach?concept (default), project, learn
cadenceWhen does it ask?interleaved (default), end
difficultyHow hard may the questions get?auto (default), easy, medium, hard

They combine freely. enforced + learn is an intern who must pass a gate on a topic they chose. ambient + project is a gentle nudge grounded in today’s diff. The one interaction is off: it wins outright and focus is never read.

mode — how hard it pushes

ValueBehaviourReach for it when
ambient default Questions are offered as you work and at the end of a task. Always skippable, never nagging.You are learning a new stack on your own terms.
enforcedThe session quiz must be passed before git commit succeeds — inside Claude Code automatically, and from a bare terminal once you install the git hook.Onboarding, interns, a codebase where shipping unread code is expensive.
offInstalled but dormant. No questions, no gate, no banner.A demo, a deadline, a repo you are only passing through.

focus — what it teaches

ValueAsks aboutGood for
concept default The idea behind the code, phrased so the answer transfers to any codebase. Your diff is the motivation, not the subject.Learning a stack.
projectThe code just written — the file, the line, the decision.Learning a codebase.
learnA topic you name, taught in prerequisite order, using your real code as the worked example wherever the work touches it.Learning something on purpose.

cadence — when it asks

ValueBehaviourGood for
interleaved default One question at a time, the moment a concept is logged. A quiz Eklavya offers is capped at one question under this cadence, the end-of-task sweep included — never a batch.
exceptions enforced mode plans the full remaining budget, because the commit gate needs enough passing answers to open; so does a quiz you asked for by name, or one aimed at a topic or concept you named.
Learning while the agent works — the thing the tool is for.
endNothing until the task is finished, then whatever the budget has left, asked one question at a time.Pairing, demos, deep focus.

interleaved does not mean more questions. It moves the same budget earlier, and caps every quiz it offers at one question — a budget it never reaches is simply not spent, and those concepts come back as review in a later session. If being interrupted is the problem rather than the timing, raise min_minutes_between_checkpoints before switching to end.

difficulty — how hard it may get

This is the one dial you normally earn rather than set. On auto, every project starts at easy and climbs on evidence. Setting a literal value pins the band and stops progression. See Levels and tiers.

Changing a dial

Two ways, both equivalent:

In Claude Code
/eklavya:mode # show all four, then change any of them
/eklavya:mode project # set focus to project
/eklavya:level medium # pin this project's difficulty band
From a terminal
eklavya config set mode enforced # for you, everywhere
eklavya config set mode enforced --repo # for this project only
eklavya config set focus learn --topic caching
eklavya config set cadence end