Learn anything with the /teach skill

Matt Pocock| 00:13:04|Jun 8, 2026
Chapters11
The chapter reflects on a decade of teaching experience and the idea of encoding teaching into a skill so anyone can learn anything, including a Rubik's cube, proving the teach skill aligns with the author’s mission.

Matt Pocock unveils a stateful “teach” skill that personalizes learning with lessons, resources, and progress tracking built into your workspace.

Summary

Matt Pocock presents a practical framework for turning teaching into a reusable skill. He explains why a teach skill must be stateful—remembering what a student has learned and what comes next—unlike grill me, which is stateless. The video walks through how teach creates a mission, gathers high-quality resources, and generates focused HTML lessons with quizzes, diagrams, and interactive prompts. Pocock highlights features like learning records, a glossary, cheat sheets, and notes to tailor each session to the learner’s zone of proximal development. He demonstrates how the Rubik’s Cube workflow is powered by this approach, showing how the agent saves progress, adapts lessons, and even provides a guided mode in the interactive HTML interface. The talk also covers practical engineering ideas: onboarding codebase teams, keeping documentation current, and applying AI-assisted teaching to broader domains. He ends with a broader vision that developers are early adopters of AI-powered learning, able to export these skills to real-world communities. If you’re curious about making AI-assisted tutoring practical and scalable, this is a compelling blueprint from Matt Pocock.

Key Takeaways

  • Stateful vs. stateless: teach is designed to remember learner progress, store ADRs and glossaries, and adapt future lessons accordingly.
  • Lessons are HTML-based for richer interaction, with diagrams, callouts, quizzes, and interactive practice like the Rubik's Cube example.
  • Learning records track learner progress, enabling the tutor to tailor subsequent lessons to the user’s needs and muscle memory.
  • Zone of proximal development is central: lessons stay concise, challenging but not intimidating, matching the learner's current capability.
  • Glossary and cheat sheets stay in the workspace to support concise future lessons and quick reference.
  • The system creates a mission for each learner, clarifying goals like solving a specific scramble to improve motivation and direction.
  • Onboarding and documentation use cases: the teach skill can speed up codebase onboarding by aligning tutorials with the learner’s background.

Who Is This For?

Developers and tech educators interested in building AI-assisted, stateful teaching workflows that adapt to a learner’s progress. Great for teams looking to onboard new codebases or codify knowledge into interactive, browse-enabled lessons.

Notable Quotes

"I realized the other day I've been teaching stuff for 10 years."
Matt introduces his long track record and sets the stage for a formalized teaching skill.
"Teach needed to be stateful."
Core design decision contrasting stateless templates with a stateful teaching workflow.
"HTML is just so much richer than markdown."
Justifies using HTML for interactive, expressive lessons.
"The zone of proximal development is this key teaching idea… teach someone in the area where they are perfectly challenged but not intimidated."
Foundation for lesson design and pacing.
"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."
Demonstrates persistence and context retention across sessions.

Questions This Video Answers

  • How does a stateful teach skill adapt lessons based on progress?
  • What is the zone of proximal development and how is it applied to AI tutoring?
  • Can you onboard a codebase with an AI-powered teaching workflow?
  • What makes HTML-based lessons more effective than Markdown for learning?
  • How can learning records and glossaries improve long-term skill retention?
Teach skillStateful skillStateless vs StatefulGrill me vs Grill with docsZone of proximal developmentLearning recordsHTML lessonsGlossaryADRs (Architecture Decision Records)Onboarding with AI
Full Transcript
I 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. I 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. But 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 concept 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. In 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. Initially, 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. But 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. So 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. In 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. Now, 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 stateful. 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. So 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 believe 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. The 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. It 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. HTML is just so much 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. And 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. And 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. And 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. So 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. So 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. It 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 real 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. This 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. It 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 itself. 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. Let'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. It'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. You 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. The zone of proximal 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. So 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. One 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. Oh 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. They 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. Let's briefly 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. It 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. We 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 is 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. But 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 engineering, 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. They 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. You 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. You 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 to 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. This 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. I 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." Just 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. We'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. If 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. I'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

Get daily recaps from
Matt Pocock

AI-powered summaries delivered to your inbox. Save hours every week while staying fully informed.