Why I built a coding agent skill that teaches you things
The honest answer to why \"explain X to me\" is a bad prompt, and what a structured course skill does about it.
I use Claude Code and Codex every day. They write my code, fix my tests, and refactor things I was too tired to touch. But every time I wanted to learn something new, say the actual mechanics of async/await in JavaScript, or how CSS flexbox really works, or the math behind a normal distribution, I fell back on the same sources everyone else uses. YouTube. A blog post. A textbook chapter I gave up on after page four.
The agent was right there. It could search the web, summarize what it found, and explain things back to me. Why was I still going outside it to learn?
The honest answer is that "explain X to me" is a bad prompt. It gives you a blob. You read it, feel like you understood, and a week later you can't recall any of it. This is not a model problem. It's a structure problem. Learning needs prerequisites, pacing, worked examples, and some way to check whether the knowledge actually went in. A single chat reply gives you none of that.
So I built a skill that does give you that.
What it does
You tell your agent "I want to learn X." The skill takes over from there. It researches authoritative sources (using the agent's own search and browse tools, cited, not invented), cuts an outline with prerequisites mapped as a directed graph, caps each lesson at seven new concepts, and writes the lessons through a teaching framework (Gagné's nine events, if you care: hook, explain, worked example, faded practice, independent practice, recap). The output is a folder of Markdown files on your machine.
It also starts a local Next.js reading site, so you're not reading lessons inside a terminal. There's a glossary, footnotes, term hovers, interactive blocks for tracing variables or predicting output, and review sessions that generate fresh questions instead of recycling flashcards.
The whole thing lives on your disk. No account, no cloud, no one reading your learning history. If you bring your own API key for the hosted parts (in-place answers, web research during a lesson, course podcasts), those calls go straight to your provider. You pay them directly. I don't touch that money.
Why a skill and not a web app
I went back and forth on this. A web app is easier to distribute. People can try it without installing anything. SEO works. You can put a free trial in front of it.
But a web app also means your courses live on someone else's server. It means the learning happens in a browser tab that competes with forty other tabs. It means the agent, the thing you already use to write code, is not the thing doing the teaching.
The skill runs inside the agent you already have. Your Claude Code or Codex or opencode reads the SKILL.md, follows the workflow, and produces the course files right where you are. When you finish a lesson and want to practice, you stay in the same agent. When you want to publish a course so other people can read it without installing anything, that's a separate command, and it publishes to a hosted URL. The local learning and the public sharing are two different things on purpose.
There are tradeoffs. A skill is harder to try before you buy. There's no free tier where you poke around a UI for five minutes. You read what it does, you buy it, you install it, and then you're in it. I priced it at $29.90 one-time because I didn't want to charge a subscription for something that runs on your own machine.
Who it's for
People who already use a coding agent and want to learn something that isn't just "how to use the agent." The sample courses that ship with it are things like git basics, CSS flexbox, HTTP fundamentals, JavaScript async/await, regex, music theory, personal finance, terminal basics, and a meta course on how to put an agent to work. The two languages (English and Chinese) are mirrors of the same course, not separate courses.
It's not for someone who wants a polished LMS with progress badges and a leaderboard. The reading site is clean and the typography is good, but there are no streaks, no XP, no owl. The review system schedules sessions by interval and writes new questions each time, which is the part I actually cared about. Flashcard apps that show you the same card until you memorize it test recall, not understanding.
What I'd do differently
I spent too long trying to make the course generation work with every agent at once. The skill format is an open standard now (Claude Code, Codex, Gemini CLI, Cursor, and others all read the same SKILL.md structure), but the host agent's search and browse capabilities vary a lot. Codex has solid built-in web retrieval. Claude Code works fine if you pair it with a search skill. Some setups need you to paste source links manually. I should have picked one agent, made it perfect there, and expanded.
I also underestimated how much of the work would be in the review and practice loop, not the course generation. Writing a course is a one-time effort. Making sure someone actually learned from it is the harder problem, and it's where most of the engineering time went. The question generation runs through a hosted model and grades your answers locally, which means the grading logic is auditable and the model only sees the question, not your entire course.
Where it is now
It's been a few months. The base works, the publishing pipeline works, the review loop works. Nine sample courses are readable right now at agentmentor.dev without buying anything. If you're on the fence, read one of those first. The install takes about two minutes if you decide to.