Learn anything with the /teach skill
Learn how to use my /teach skill that creates personalized lessons, tracks progress, and adapts to each learner's zone of proximal development. Perfect for onboarding and independent learning. 0:00 Building a teach skill
Watch on YouTube →Transcript
Chapters11
- Building a teach skill
- Stateful vs stateless skills
- Installing and running teach
- Mission and resources setup
- HTML lessons and interactive content
- Reference materials and glossary
- Continuing a learning session
- Zone of proximal development
- Skill design and philosophy
- Use cases for teach
- Developers as AI first movers
Building a teach skill
00:00I realized the other day I've been teaching stuff for 10 years. I was a voice coach for 6 years and I've been doing this job teaching devs for 4 years. And for a while I've been thinking, wouldn't it be great if I could take everything I know about teaching and put it inside a skill so that anyone could learn anything.
00:14I had a long bus ride to London the other day and I wrote a teach skill and it turns out that it's pretty good. It taught me how to solve a Rubik's cube, which is something, you know, I've always wanted to learn how to do, but I'd never really had the time or inclination to do it.
00:31But with this teach skill, it felt like I had a real teacher who was teaching how I like to be taught and was totally aligned with my mission. And I'm going to show you how I did it. The key
Stateful vs stateless skills
00:40concept when we're looking at a teach skill is some skills can be stateful and some skills can be stateless. If a skill is stateless, it means that it doesn't retain any state from previous runs. it doesn't have any memory of the things that you've done before.
00:52In other words, a stateless skill doesn't save anything on the file system to help it pick up where it left off later. Whereas stateful skills do do that. They save things either to the local file system or they save things to MCP servers. They keep notes that they later track.
01:08Initially, I was thinking about teach as a kind of stateless skill where you would just say, "Teach me this thing." and then it would just find some good resources for you and give you like a an output that would teach you a lesson about that thing.
01:20But I realized that all the good teaching that I do is stateful where I teach you. I being the teacher, I remember where you've got to. I know what you've learned. I know what you can go to next. And I've got a bunch of great resources that I remember from previous times that I've taught this thing to teach you about it.
01:36So I decided that teach had to be a stateful skill. As an example, if you've used my skills repo before, you know that grill me is totally stateless. It just grills you about a topic until you're ready to implement. But then grill with docs is actually stateful.
01:52In other words, it saves some local ADRs, architectural decision records. It saves some other stuff, some uh glosseries to the repo as well. And so Grill with docs is stateful and it gets better over time, whereas grill me is totally stateless.
02:06Now, one of these is not better than the other. They're just useful in different situations. And so when you're designing skills, you need to be careful to think about whether they need to be stateless or stateful. And teach needed to be
Installing and running teach
02:19stateful. The way you install this skill is you go to my skills repo mapper.kills. You go down to this quick start here and you just run the skills.sh installer and you choose the teach skill. Once you do that, you go to an empty directory and you run teach inside your coding agent.
02:34So for instance in this directory which is my Rubik's cube directory I said teach me to how to solve a Rubik's cube. And you'll notice during my journey how many files it has created here. But the first one it created was the mission. I
Mission and resources setup
02:48believe that for a teacher to be effective you need to understand why a student wants to learn the thing. And so I got this skill to create a mission for you. Here it says Matt wants to be able to take a scramble 3x3 Rubik's cube and solve it unaded at least once.
03:01The goal is the achievement itself, not speed, not theory. The next thing it does is it creates a set of resources. So, it goes and searches the web for actual primary source highrust resources that it's going to use to create the lessons out of.
03:15It does this on the first pass when you ask it to teach you something and then it will continue to update these as you go and then it will create your first lesson for you. And lessons are stored in the lessons folder and they're numbered like this and they're all individual HTML files.
03:29HTML is just so
HTML lessons and interactive content
03:31much richer than markdown. It allows it to be so much more expressive, so much more interactive. And this is really the core of what makes this such a good learning experience. And here is my first lesson, anatomy, notation, and the white cross.
03:43And it basically teaches you just what you need to know at that moment. It gives you diagrams, gives you very simple explainers, gives you call outs, and it gives you quizzes, too. One thing I find really important whenever you're teaching anything is to develop a feedback loop.
03:58And quizzes are okay at this. They're basically good if you can't find any richer feedback loop. Again, if we zoom down this, we've got notations, we've got traps, we've got your first skill here. And so, it's giving me the knowledge that I need, but also encouraging me to develop the skills I need, which is slightly different.
04:17And the and the skill itself knows that. Once I completed the lesson and I said, "Yes, I can make the white cross," then it recommended that or rather recorded that inside a learning record here. And these learning records are very simple records that the agent creates when I report how I'm doing.
04:33So this allows it to keep track of how I'm doing and just like a real teacher then tailor the next lesson to what I need. Here's another explainer from slightly further down this course. I suppose it's kind of creating a course as we go based on what I need.
04:49So this one here it was okay. It started to add like little citations now. Again, more quizzes. I mean, I I just find this layout really nice to look at and really useful. I was sort of working on the skill as I was building this to and so I added this little bottom or thing at the bottom.
05:04It says it tries to find uh communities where you can ask questions here because sure you can develop knowledge and skills here, but the only way you're going to be develop wisdom about the thing is actually interacting with a community, testing your ideas out in the
Reference materials and glossary
05:21real world. It also develops reference material for you, too. This was something I noticed that I needed. So there's a glossery. This glossery has the anatomy. It has the notation here. It has the solving grip, the daisy. Sort of anything like weird jargon that we've learned is going to go into the glossery.
05:37This is really useful, especially if you're learning like a coding language using this. It also means that future lessons can be more concise because they're able to reference the term in the glossery and you can look back if you're confused.
05:48It also creates cheat sheets for you. So this is a solve card here where it's basically just giving me the entire solve. If I want just a single place to look at how to create or solve a Rubik's cube, this is the place I can go. And finally, just to explain this notes.md file, this is where the agent can note down any of my preferences, note down any watch outs, and it's just kind of internal note-taking for the agent
Continuing a learning session
06:11itself. So let's imagine that I sit down to a session and I basically want to fill in the teacher on what I've been doing since I last had a session. So, I just say teach and I can basically complete the Rubik's cube now except for the corner cycle which I've still not quite got into memory.
06:28Let's go ahead and see what it says. It starts, of course, because this is an empty context by checking the state of my teaching workspace. It's checking all of the solve cards, seeing how far I've got to. It's now giving me a decent diagnosis for what I'm feeling.
06:42It's saying the concept is solid for the corner cycle, which is a particular al algorithm, but it's the one that hasn't reached muscle memory. Let me look at the existing memorization lesson and one earlier lesson to match the house style. So, we've turned the agent basically into a teacher, and you've got to work with it in the same way that you would any one-to-one teacher.
07:00You tell it what problems you're having, and it will design lessons to find solutions. The model I'm using here is Opus 4.8 with medium effort. By the way, it's also using a key teaching term here. The zone of proximal development, one algorithm, pure muscle memory work.
07:15The zone of
Zone of proximal development
07:17proximal development is this key teaching idea which I am obsessed with. And it's the idea that you should always teach someone in the area where they are perfectly challenged but not intimidated. This means that every lesson has to be concise, compact, and exactly framed at that zone of proximal development.
07:33So the students not bored but also not freaked out. So we can see it's now created this lesson, the corner cycle lesson, and it's created this exact lesson for us. So it's basically just breaking it down, paying more attention to it, giving me new mental models.
07:48One four move phrase played twice. Okay, that is handy. And the idea is I would walk through this lesson. Oh, look at this. Oh my gosh, look at this. So it's actually given me an interactive tap thing I could do. Okay. So, it's U R U prime L prime U RP prime U prime L.
08:01Oh my god, look at this. So, it's got guided mode. So, I can turn off that. Oh, that's that's unreasonably cool. You see what being in HTML gives us here, right? We've got the full power of the browser to mess about with here. So, you get the idea of what these lessons look like.
08:21They are short. They are really focused. And it gives me exactly what to practice now. And this also means because everything has been saved to the file system, I can clear this and every time I run teach again, it will have all the context it needs to keep me in the zone of proximal development.
08:35Let's
Skill design and philosophy
08:36briefly look at the skill itself here. It's really quite simple, although it is one of the longer skills that I've put together. The user has asked you to teach them something. This is a stateful request. They intend to learn the topic over multiple sessions.
08:48It goes into the shape of the teaching workspace, which we've looked at already, and it has a sectional philosophy here. So I really define the terms that the AI should think in. It should think in terms of giving them knowledge from highquality high trust resources, skills, highly relevant interactive lessons and actually developing the skills and then wisdom that comes from interacting from other learners and practitioners.
09:10We go further down here and we touch on the shape of the lessons themselves. We've talked about the mission as well. mission.mmd the zone of proximal development acquiring knowledge and skills how to do that acquiring wisdom which basically when the learner is ready to go out into the world once they've got the knowledge and skills how do you delegate them to the community when the user asks a question that appears to require wisdom your default posture should be to attempt to answer but to ultimately delegate to a community my idea with this teach skill
09:39is not to have you hooked onto the agent for learning everything it's to actually give you the skills you need to feel confident to go out and work with a community and send you out into the world. That's the dream of this stuff. We've also got more material here on reference documents, then finally on notes.md.
09:55But that really is the skill. There's a few little bits of supporting documents for like learning record format, the mission format, the resources format, etc. In terms of
Use cases for teach
10:04engineering, I can imagine this skill being really useful in onboarding people to a codebase. Creating documentation is a real pain in the ass because not only do you need to keep it up to date, but that documentation is probably outside the person's zone of proximal development.
10:18They might have worked with your stack before, they might just need to know the specific problem domain or they might have worked with the problem domain before, but they have no idea what TypeScript is or things like that. So, you can think of teach here as, you know, you start them off in their own workspace.
10:33You point them at the codebase. You teach them how to, you know, they learn independently how to work with the code, what the concepts are, and guess what? You've got a productive employee in record time. For me, I'm excited to use this just on my side projects, on having fun, on just learning stuff that I wouldn't have learned how to do before.
10:50You know, solving this freaking Rubik's cube. I might even dig out a bit of old chess material and see if it can teach me some openings. And I wanted to end here by talking about an idea that I've had for a while that I think this teach skill really proves or rather makes very plain
Developers as AI first movers
11:06to me which is that we the developer community engineers out there are the first people to really experience what AI can do on something that it's really good at. AI is currently better at writing code than it is at almost anything else. There are a few exceptions, but really AI is very good at writing code and developers have an advantage that we're the first people to really get to test AI out on a problem where it's very good at it.
11:31This means that we are the first people really in the world, you know, with a couple of exceptions that get to know AI, that get to build these cool things. And it means that we're the first movers in this new space. we can take the ideas that we develop here, turn them into skills and start bringing them out to the world.
11:49I think that's incredibly exciting and it's something that I'm going to be exploring more. And this teach skill is kind of the first phase of that. So when you're working with claw code or codeex and you're struggling with it and you're losing motivation, you think, "God, this sucks."
12:04Just think that you'll be able to take the skills that you are learning now, the instincts that you're building working with AI and take them outside of coding domains. that I think is going to be an incredibly valuable skill no matter what the future of work looks like.
12:19We're all going to be working with AI and we are the first people to really get to do it. Now, if you're digging my skills, then you should go to AI hero/skills and sign up for my newsletter that lets you know whenever I release a new skill, whenever I have any changes because I do change the skills all the time.
12:35If you want up-to-date information on how to use my skills for engineering and for other stuff, too, then check it out. But overall, thanks for watching. I can't wait to see the languages that you're learning, coding languages or human languages, the new skills that you're developing.
12:49I'm going to get this thing to teach me vocal harmonies as well. It's always a skill that I've wanted to know but never been very good at. And I just can't wait to get using this thing myself and seeing how you're using it, too. But overall, thanks so much for watching and I will see you very