Command reference
Ten skill commands are available inside Claude Code when the plugin is loaded, and the quiz panel adds one more, /eklavya-panel. Use the table to choose a task, or ask in ordinary conversation.
| Command | Use it to |
|---|---|
/eklavya:quiz [topic] | Take a quiz now. |
/eklavya:mode [value] | Show or change when and what you learn. |
/eklavya:skip | Skip questions for the rest of this session. |
/eklavya:learn <topic> | Work through a short lesson. |
/eklavya:level [auto|easy|medium|hard] | See your level or pin the difficulty. |
/eklavya:pack [domain or repo] | Add a domain or concepts from your codebase. |
/eklavya:progress | Review mastery, skipped questions and due reviews. |
/eklavya:memory | Search past work, save notes or correct a memory. |
/eklavya:gate | Check why a commit is blocked. |
/eklavya:setup | Check your installation without changing settings. |
/eklavya:quiz [topic]
Starts questions immediately. With no topic, it covers the work this session logged since you last came back after more than an hour away first, then earlier questions from this project that you declined, did not know or got wrong and that are due again. A question you answered correctly does not come back this way. Concepts that were logged but never asked are not carried into later sessions. Outside a git repository, reviews come only from the topics the current session touched. If other projects have waiting questions, it may name up to three of them without asking their questions here.
/eklavya:quiz/eklavya:quiz caching/eklavya:quiz web-auth/eklavya:quiz csrf jwt-structureA topic selects a domain or one or more concept slugs for this quiz only. When no domain has the name you give and every word is a concept slug, such as csrf jwt-structure, it quizzes those concepts. Any other topic is matched loosely, as learn focus matches its topic: first a domain made of the same words (auth finds web-auth), else up to 40 concepts with a word in their slug or name that starts with it. A topic longer than five letters loses an -ing, -es, -ed or -s ending first, so caching finds static-site-cache-headers. Matching is by whole words, so redux does not land on a ux domain. A bare /eklavya:quiz reviews only the current project’s backlog. A topic or slug list works from any folder and puts concepts due for review first. The dashboard’s review page gives you this slug form for one concept at a time, with a cd into the right project (Starting your reviews). Prerequisites come first; ordinary plans exclude mastered concepts and concepts already answered this session. An unmet enforced gate can revisit taught misses. Questions arrive one at a time, with a grade before the next. A topic that matches no domain and no due concept gets the closest existing domain offered instead; a quiz never adds concepts, so use /eklavya:learn to learn something new.
An explicit quiz bypasses normal spacing and the as-you-go one-question cap. Each requested round can plan up to max_questions_per_task questions (four by default), even after the automatic session budget is spent. It still respects disabled questions and needs eligible concepts; an unmet gate can offer taught misses as retries. When nothing can be asked, it gives a specific reason:
| Reason | Next step |
|---|---|
already_covered | This session is covered; try a topic. |
nothing_logged | Build something first, or name a topic. |
no_candidates | The topic is mastered and no review is due. |
quiz_disabled | Turn questions on with /eklavya:mode. |
panel_question_open | A question is already waiting in the quiz side panel; answer it there. |
session_off | Ask to turn Eklavya back on for this session. |
no_topic | Set a topic for learn focus. |
topic_unknown | Choose the suggested domain or add a pack. |
With the experimental quiz.panel setting on and the panel showing, the quiz appears in the side panel instead of the question card; Next question there asks for the next question of the round.
/eklavya:mode [value]
With no argument, shows quiz, focus, cadence, difficulty and memory settings, including any project overrides and the file that sets them.
/eklavya:mode enforced/eklavya:mode concept/eklavya:mode end/eklavya:mode learn caching/eklavya:mode off --sessionThe value identifies the dial: on, off or enforced for questions; concept, project or learn <topic> for focus; as-you-go or end for timing. Difficulty uses /eklavya:level.
It asks for global or project scope when unclear. Project settings are personal files under ~/.eklavya/projects/, shared by that checkout’s worktrees. Enabling enforcement also offers the git hook needed for commits outside Claude Code.
/eklavya:skip
A shortcut for /eklavya:mode off --session. Questions, checkpoints, the banner and the status line stay silent until this session ends. It changes no configuration file, so other sessions in the same project, open now or started later, still ask as usual.
/eklavya:skipMemory keeps recording and recalling. Concepts logged while skipped are not asked later: once the session is over, a later session start removes logged work that no question reached. An enforced commit gate still applies. To resume sooner, run /eklavya:mode on --session or ask to turn Eklavya back on.
/eklavya:learn <topic>
Teaches up to five concepts per session, in prerequisite order, with an explanation and a check for each. Already mastered concepts are referenced rather than re-taught.
/eklavya:learn caching/eklavya:learn react hooksFor an unknown topic, it offers a nearby domain or builds from first principles. It offers once to save the topic as focus: learn; declining leaves your standing settings unchanged. A saved focus chooses the subject of future questions, while cadence still chooses their timing.
/eklavya:level [auto|easy|medium|hard]
With no argument, shows your project’s level, the passing answers and other conditions needed for promotion, and the next band. A pinned level names the file responsible instead of showing a promotion countdown.
/eklavya:level auto/eklavya:level mediumeasy, medium and hard pin a band and stop automatic promotion. auto resumes progression from your project’s existing record. See Levels and tiers.
/eklavya:pack [domain or repo]
Creates a concept pack with concepts, tiers and prerequisites. It asks for global or project scope, checks the existing graph, writes the JSON under your home directory, then runs eklavya doctor to apply it.
/eklavya:pack rust/eklavya:pack this repoCreating a pack does not start a quiz. Use /eklavya:learn <topic> to begin learning it.
/eklavya:progress
A read-only overview of your projects, learned concepts, declined and unknown answers, due reviews, weak areas and mastery. It uses the context of your actual work to explain concept names and keeps the response to about 20 lines.
For full question histories, session details and project comparisons, open the dashboard. An unseen concept in the catalogue is an available topic, not an obligation to learn it.
/eklavya:memory
Searches this project’s recorded work. It reads unless you ask it to save, correct or delete something.
| Ask about | Result |
|---|---|
| A topic or past decision | Search results and the entries that answer your question. |
| “What happened last week?” | A timeline. |
“What changed in src/auth.ts?” | That file’s history. |
| “Is memory recording?” | Capture, queue and provider health. |
| “Remember why we chose argon2id…” | A new note. |
| “That entry is wrong…” | A correction that preserves the old entry in the audit trail. |
Name another project to search it. Recalled entries are dated evidence to verify against the code, not instructions or guaranteed current facts. See Memory for capture and privacy controls.
/eklavya:gate
Shows whether enforcement is enabled, whether the gate has passed, and how many more passing answers it needs. It offers a quiz without starting one automatically.
The required passes are ceil(required concepts × pass_threshold). Only answers about the work that set the gate count toward it; extra review questions can increase your answer total without reducing the gate. See Commit gate.
/eklavya:setup
Checks Node, the running server and the database. It keeps your saved settings and asks no setup questions. Safe to repeat. See Check your setup.
/eklavya-panel
Opens the experimental quiz side panel and shows the question waiting in it, if any. Use it after you close the panel, or when the terminal was too narrow for the panel to open itself. With quiz.panel off it opens nothing and says so. It is a command of the panel, not a skill, so it has no eklavya: prefix. It exists only on the Claude Code terminal CLI and the Desktop Code tab; Cowork has no panel, so there it answers “Unknown skill”.
Or just ask
The installer adds a user skill at ~/.claude/skills/eklavya/SKILL.md, so you can ask Claude:
- “Space out Eklavya’s questions.”
- “Turn on Eklavya’s commit gate for this repo only.”
- “Have Eklavya teach me database indexing.”
- “Open my Eklavya dashboard.”
- “Eklavya’s quiz panel is denied by auto mode; allow it.”
- “That question about retries was wrong. File feedback for Eklavya.”
This skill uses the same settings and CLI as the commands and reports what changed and where. It works in Claude Code even when a project has not loaded the plugin; it activates when you mention Eklavya or its settings. It manages the tool rather than teaching or quizzing.
When you report a wrong question, a bad grade or a bug in Eklavya, it also drafts a GitHub issue for you: it removes paths, project names, secrets and project code, shows the exact title and body, and files it only after you say yes (with gh or a GitHub tool, or else it prints the draft and a prefilled link and says nothing was posted). See How do I report a problem with Eklavya?.
The artifacts skill
A second user skill, ~/.claude/skills/eklavya-artifacts/SKILL.md, turns an explanation into an HTML page with diagrams, coloured code blocks, a print theme, and PDF and HTML download buttons. Each page carries the Eklavya mark as its favicon, a header and footer that link to this website, and title and description tags for link previews.
Explain refresh-token rotation as an Eklavya artifact.
Pages are saved under ~/.eklavya/artifacts/<project>/, listed in the Artifacts dashboard and opened there as a tab, starting the background dashboard if needed. When dashboard_autostart is off or no background dashboard answers, the file opens in your browser. Worktrees use the main checkout’s folder. The skill works with or without the plugin loaded.
Diagrams are inline SVG, and the skill picks the type from the idea: a step flow, sequence, decision, swimlane, layered architecture, state machine, before/after split, bar chart, tree, timeline, loop, quadrant, funnel, schema or matrix. It also states the diagram’s one takeaway before drawing, and each diagram carries a title and description for screen readers. Colour names a group, such as an actor or a layer, with five category hues that adapt to the dark and light grounds. Every coloured shape also carries a text label, so a diagram still reads in print and without colour. A page about what happened in a session, such as an incident or a bug hunt, is held to the same depth as any good artifact: the skill has the agent list the real ids, dates, counts and verdicts first, then draw them as item tiles (one per real file or row, the faulty ones marked), a to-scale timeline, a confirmed/likely/unknown status table and action cards. If the host has the artifact-design and artifact-diagramming skills, it reads them first; only the theme is Eklavya’s.
Pages stay on disk; nothing is published. Opened on its own, the template loads web fonts and falls back to system fonts offline; framed in the dashboard viewer it uses system fonts. Dashboard-served pages are sandboxed; opening a file directly does not add that sandbox.
By default, explain_on_wrong has the explainer agent create these pages in the background after wrong or unknown answers. Each page starts with the question as asked: every option with its one-line note, your pick marked in red and the right answer highlighted. Then come a short answer, written to be at most three sentences (what the idea does, then what it means for the code in the question), where your answer went wrong (skipped after “I don’t know”), how it works with a diagram, an example, and the rule that carries over to other code. When the background dashboard is running, the page opens in its viewer, and when the tutor recorded the right option it has a Correct your answer button. Skips and declines do not create a page; set the key to false to stop them. The installer preserves an existing user skill with the same name and reports the conflict through eklavya doctor.