Skip to content

Levels and tiers

A tier describes one question’s depth. A level sets the range of tiers available in a project.

Tiers: how hard one question is

TierLabelWhat you need to explain
1RecallWhat the concept is.
2MechanismHow it works.
3JudgementWhy this choice fits here.
4Failure modesWhat breaks and how to detect it.
5DesignWhen to choose a different approach.

The status line shows your level. The dashboard records the exact tier of each answered question.

Levels: the band of tiers a project is allowed to use

LevelTiersEmphasis
easy1–2Recognise ideas and explain their mechanisms.
medium2–4Explain choices and failure modes.
hard3–5Evaluate trade-offs and design alternatives.

Every project starts at easy with difficulty: auto. The planner still chooses a tier for each concept, constrained to the project’s band.

How a project is promoted

All three conditions must hold at the current level in that project:

  1. 100 passing answers, each grade 3 or higher (level_up_after). A miss at this level that you correct from its explainer page counts as one, and a correction can complete the promotion on its own.
  2. 70% accuracy across answered questions (level_up_accuracy). Declines are excluded. A corrected miss from this level counts as right here too, so its accuracy recovers as you fix those mistakes; the correction does not add an answer.
  3. 15 distinct concepts among those passes, counting only answers passed when asked, not corrections.

Changing level_up_after also scales the distinct-concept minimum to max(1, min(15, ceil(level_up_after / 3))). Promotion starts a new answer count for the next band. Eklavya never demotes you automatically.

Why it is per project

A new codebase starts easy even if another is already hard. Worktrees contribute to the main checkout’s level, settings and progress. Two separate clones are separate projects because they have different paths.

Concept mastery is shared across projects; the level measures your readiness to handle harder questions in this particular codebase.

Pinning a level

In Claude Code
/eklavya:level
/eklavya:level medium
/eklavya:level auto
In a terminal
eklavya config set difficulty easy --project

A pin selects the band and stops promotion. auto resumes from the project’s existing earned level. /eklavya:level shows your standing, the remaining promotion conditions, or the file responsible for a pin.