A Claude skill + MCP server Beta

Practise DSA without being handed the answer.

The tutor takes each problem through twelve stages and asks one question at a time. You write the pseudo code, find your own bugs and write every line of the code.

MCP serverhttps://dsa-progress-mcp.onrender.com/mcp
claude codeEXAMPLE
# once: the skill, then the server
$ unzip dsa-learning-skill.zip -d ~/.claude/skills/
$ claude mcp add --transport http -s user dsa-progress https://dsa-progress-mcp.onrender.com/mcp

# then, in a session
> Coach me through a sliding window problem.# stage 00 · profile loaded, problem picked
Title       Longest Substring Without Repeating Characters
Difficulty  medium
Problem     Given a string s, find the length of the longest
            substring that contains no repeating characters.
Examples    "abcabcbb" → 3 · "bbbbb" → 1 · "pwwkew" → 3

Any questions about the problem before we start?
One problem, start to finish

A session, stage by stage.

Taken from the example write-up in the repo: Longest Substring Without Repeating Characters, in Python.

00Setup

Press ⌘K to jump to any stage.

00 · Setup
get_learner_profileexample values
{
  "onboarded": true,
  "totalSolved": 12,
  "revisitsDue": 2,
  "preferences": { "preferredLanguage": "Python", "learningMode": "roadmap", "currentTopic": "Sliding Window" }
}

Returning learners skip the setup questions. A due revisit is offered first.

01 · The problem
TutorMedium

Longest Substring Without Repeating Characters. Given a string s, find the length of the longest substring with no repeating characters.

InputOutput
"abcabcbb"3
"bbbbb"1
"pwwkew"3
02 · Intuition
Test cases, by handMistake recorded
YouFor "pwwkew" the answer is 4, "pwke".
TutorDoes "pwke" appear exactly as written inside "pwwkew"?
YouNo. A substring has to be contiguous. So 3, "wke".
03 · Technical approach
Your answerChecked
Data structureHash set of the characters in the current window. O(1) average lookup.
RejectedA plain list: membership is O(window size), back to O(n²).
04 · Pseudo code
Written by youNot corrected yet

Hidden on this page on purpose. The tutor doesn’t hint or correct at this stage, even if it has bugs.

05 · Dry run & debugging
Bug found by youTest: "bbbbb"
best = max(best, right - left)
best = max(best, right - left + 1)

Expected 1, got 0. Dry running right = 0, left = 0 showed a one-character window counted as length 0.

06 · Code
TutorRun locally

Run these on your machine and tell me the outputs.

InputExpected
""0
"dvdf"3
"abba"2

A failing case sends you back to stage 05.

07 · Complexity
Your answerExact, not vague
TimeO(n)
SpaceO(min(n, k)), where k is the size of the character set
08 · Optimisation
TutorBack to 04
TutorWhich part of the program does the most work? Can the left edge jump instead of stepping?

You found a better approach, so the cycle restarts at stage 04 and runs again as Pass 2.

09 · Submission
PlatformAccepted

The same statement and constraints were found on LeetCode (#3), so you submit there. Without a match, you get a fresh set of local tests, including the largest inputs.

10 · Feedback
From an interviewer’s view3–5 points

Each point names the stage and the moment it came from: what to fix and why it would cost you in an interview, plus at least one strength to keep.

11 · Documentation
record_solved_problemSaved · PDF
{
  "title": "Longest Substring Without Repeating Characters",
  "difficulty": "medium",
  "language": "Python",
  "result": "accepted",
  "revisit": false
}

The write-up records every mistake: what you said, why it was wrong, how you fixed it. It becomes your revision PDF.

Between sessions

It remembers where you left off.

With the optional MCP server, the tutor keeps your preferences, the problems you’ve solved and the ones due for a revisit. Sign in with Google once; your progress follows your account between Claude and other agents.

Without the server the skill still works, and starts fresh each conversation.

Revisits

A problem comes back 7 days after it’s recorded if you needed an answer revealed, or didn’t fully solve it.

Roadmap

52 topics in 13 sections, from Array Basics to Segment Trees. Hover a section.

You move on after three accepted problems in a topic, at least one medium or hard. Or pick one topic and stay there.

Rules of engagement

What happens after you answer.

The tutor doesn’t move to the next question until the current one is right.

CorrectIt confirms and moves on.
Partially correctIt doesn’t point out the mistake. It asks follow-up questions until you find it. After 5 attempts it treats the answer as incorrect.
IncorrectIt asks a narrower question and builds back up. After two narrowing attempts it gives that answer, explains it, and marks the problem to come back in 7 days.
Install

Pick your client.

Then ask: “Coach me through a sliding window problem.”

Download the skill (.zip)

SKILL.md and its two reference files. The MCP server is optional and remembers your progress.

Add the server
claude mcp add --transport http -s user dsa-progress https://dsa-progress-mcp.onrender.com/mcp
Install the downloaded skill
unzip dsa-learning-skill.zip -d ~/.claude/skills/
Or clone it, to update with git pull
git clone https://github.com/tushar-nebhnani/dsa-learning-skill.git
ln -s "$(pwd)/dsa-learning-skill/dsa-learning-skill" ~/.claude/skills/dsa-learning-skill

Then run /mcp, choose dsa-progress → Authenticate.