Teach
A free Claude Code skill that turns Claude into a stateful personal tutor for any topic.
Before & after
Same prompt, same agent — the only difference is the skill.
I'd be happy to teach you TypeScript generics. Let me start with a quick overview. Generics are a way to write flexible, reusable code that can work with different types. The basic idea is that instead of writing the same function multiple times for different types, you can write it once with a generic type parameter. We could start with simple examples and build up to more complex cases. I'll explain how angle-bracket syntax works, how constraints work, and how to use generics in functions, classes, and interfaces. Do you have any background with other programming languages? That would help me pitch the explanation at the right level.
TYPEWRITER GENERICS: STATEFUL LEARNING WORKSPACE MISSION → You will master TypeScript generics through scaffolded lessons that build: generic syntax → constraints → practical patterns → real-codebase application → Progress tracked session-to-session (resumable) → Daily vocabulary checkpoint (glossary); weekly validation test STARTING POINT → Background: You know basic TypeScript (interfaces, types, function signatures) → Goal: Write a reusable API client using generics by day 7 → Current lesson: none (first lesson will deploy tomorrow) LESSON PLAN (saved, numbered) Lesson 1: Generic Syntax Basics → generic function with single type param Lesson 2: Multi-parameter Generics → function with input + output types Lesson 3: Constraints → limiting what types can be used (extends keyword) Lesson 4: Keyof Operator → reading object shapes Lesson 5: Conditional Types → branching logic on type structure Lesson 6: Patterns → common real-world uses (API responses, data transformers) Lesson 7: Capstone → build a mini API client (exercises 1-6 integrated) LEARNING RECORD → Lesson 1: not started → Glossary entries: none → Test schedule: Friday (day 7, capstone exam) → Previous sessions: none NEXT: I'll build Lesson 1 now. You'll work through it, and when you return tomorrow, this workspace remembers exactly where you left off. No re-explaining, no starting over.
About this skill
name: teach-skill description: Use when A free Claude Code skill that turns Claude into a stateful personal tutor for any topic.
Teach
The /teach skill saves a persistent teaching workspace (mission, resources, numbered lessons, learning records, glossary) so Claude always knows where you left off and builds the next lesson on purpose, instead of one-off answers. github.com/mattpocock/skills
What you get
- A stateful personal-tutor skill for Claude Code.
Customize your output
- N/A
Example output
A structured, saved lesson plan that continues across sessions on any topic.
Best for
Anyone learning a new skill, framework or concept who wants Claude to track progress.
SKILL.md preview
---
name: teach-skill
description: Use this skill to turn Claude into a stateful personal tutor for any topic, tracking lessons and progress across sessions.
version: 1.0.0
category: Development / Learning
author: AgentVolt
license: proprietary
tags:
- development
- learning
- standard
---
# Teach
Maintains a persistent teaching workspace, mission, resources, numbered lessons, and a glossary, so each session picks up where the last one left off instead of restarting from scratch.
## When to use
… (sign up to view the full skill)More development skills
View all Development skills →Business Automation Stack
A connected set of agents that handle the repetitive ops work — follow-ups, summaries, and handoffs.
Generate
Scaffold code, tests, and boilerplate from a short spec.
Performance Profiler
Systematic performance profiling for Node.js, Python, and Go applications.
Chaos Engineer
Designs controlled failure experiments — from a single fault injection to a full game day — and produces the runbook, rollback plan.