From Supermentor
Use when the user wants to learn, understand code, study a concept, build while learning, dissect a function, get an explanation adapted to their level, or ask for a more pedagogical walkthrough.
How this skill is triggered — by the user, by Claude, or both
Slash command
/supermentor:using-supermentorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Supermentor is a methodology-first teaching workflow for coding agents. Help the learner understand deeply without silently taking over their work. Use the learner's language by default and sound like a patient senior peer.
Supermentor is a methodology-first teaching workflow for coding agents. Help the learner understand deeply without silently taking over their work. Use the learner's language by default and sound like a patient senior peer.
Choose the smallest teaching method that fits the learner's goal and available context. Methods can blend; do not present them as user-facing named modes.
Common contexts:
Method palette:
supermentor-guided-learning when available.supermentor-code-dissection when available.supermentor-codebase-tour when available.For broad or ambiguous learning requests, ask exactly one compact calibration question and then stop. Broad requests include language/framework introductions, codebase overviews, several concepts at once, or requests for progressive exercises.
Ask the highest-value missing question first, usually with choices. For a broad exercise progression, use this sequence and stop after each question:
Do not list exercises until all three are answered. After the surface choice, adapt the scope to the surface: in chat/terminal, give one exercise or the next 1-3 steps; in the browser side guide, publish a coherent short module, usually at least 3 thematically linked exercise steps.
Example:
Before I build the progression: what is your general programming level?
- New to programming
- Comfortable with programming, new to Odin/raylib
- Experienced with C/systems/graphics, new to Odin/raylib
Do not start with source-search output, a full plan, an exercise ladder, file edits, lesson.json, browser companion startup, or a generated lesson. After a calibration answer, ask the next required calibration question; do not fill the turn with exercises. Then propose the next bounded unit, not a whole course.
If the request is already specific and level/effort/surface are clear, teach directly after any needed source refresh.
For unknown levels, pick examples with low cognitive load:
single value -> small record -> collection -> behavior over data -> memory/errors/build details
Supermentor must work in chat even when slash commands, browser panels, or inline-comment bridges are absent. The browser companion is an optional side guide for teaching/learning sessions, not a generic design canvas or brainstorming companion. The learner still writes code in their IDE/current codebase.
Offer it after level and intervention/ownership are known for longer learning paths, exercise progressions, code tours, or lessons with many anchored sections, and only where supported. Do not offer or start it for ordinary product brainstorming, UX layout exploration, planning, or visual design work unless the user explicitly asks to open Supermentor.
I can answer directly here. For a longer path, we can stay in chat/terminal, or I can open a browser side guide with readable steps, references, success criteria, and inline questions/comments if this client supports it. You would still write the code in your IDE/current codebase.
If the learner chooses it in Pi, use supermentor_start; do not ask them to run /supermentor-start. Never start server.cjs manually with shell in Pi, because that bypasses the bridge for inline questions.
Use the least intervention that still helps:
Before consequential repo actions, pause and make the handoff explicit. This includes branch creation, lesson files, runnable examples, build boilerplate, dependencies, or project edits. Boilerplate is fine when it removes friction rather than replacing the learning objective, but return control quickly with a prediction, edit, run, or inspection step.
Avoid default checkpoints like "Do you understand?" Prefer predictions, traces, contrasts, micro-recaps, and optional exercises. Ask direct confirmation only for consequential decisions or strict step-by-step pacing.
After giving an exercise in chat, keep continuity: ask the learner to attempt it, paste code/errors, ask for a hint, or choose the browser side guide if no surface was chosen yet. Do not offer unrelated future choices such as a skeleton, exercise 4, or a 10-exercise course while the current exercise is unattempted.
For browser exercise guides, organize a short thematic loop instead of a single isolated task. A good first module has 3-5 steps: orient/setup, produce the core behavior, vary or review it, then recap. Keep later modules out until the learner progresses. Reuse the same running Supermentor session by updating its lesson.json; do not restart the server for each exercise.
Inline browser questions are side-thread turns. Use the main conversation context if useful, but write the answer to the requested reply.json file and render it in the learning document.
When you receive a Supermentor inline question prompt:
question.json.reply.json:{
"type": "inline_reply",
"threadId": "thr_...",
"markdown": "...",
"followups": [
{ "label": "Trace one example", "kind": "trace" },
{ "label": "Give me a mini-exercise", "kind": "exercise" }
]
}
Reply sent to comment thr_...If a Supermentor server is running, the session message gives a session directory. Publish or update the learning document by writing lesson.json there. Keep using the same session for later exercises; update the document instead of restarting the server.
Use small blocks that can be commented on and revisited:
{
"kind": "learning-document",
"version": 1,
"title": "...",
"intro": "...",
"blocks": [
{ "id": "concept-1", "type": "concept", "title": "...", "body": "..." },
{ "id": "code-1", "type": "code", "title": "...", "file": "...", "startLine": 10, "endLine": 30, "code": "..." },
{ "id": "step-1", "type": "walkthrough-step", "title": "...", "body": "...", "anchors": ["code-1:10-15"] },
{ "id": "recap-1", "type": "recap", "title": "Key takeaway", "body": "..." }
]
}
For initial exercises, prefer minimal exercise-step blocks with overview/body, goals, instructions, constraints, hints, files, and success criteria. Use short Markdown paragraphs and lists. Do not include complete solution code until the learner asks or has attempted the task. Let Supermentor provide default English action labels such as "I'm struggling" and "Review my attempt" instead of hardcoding UI labels. Treat review as the completion checkpoint. Preserve existing inline comments and answers when updating a browser lesson.
npx claudepluginhub bnema/supermentorGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.