iiuniversitet.ruЦентр обучения нейросетямОткрыть каталог

Личный учитель на несколько занятий

Превращает рабочую папку в личную школу: короткие уроки, шпаргалки и записи прогресса по теме, которую вы хотите освоить.

Скиллсообщество: Matt PocockClaudeCodexMITНужен терминалПроверено на безопасность
Что делает
Превращает рабочую папку в личную школу: короткие уроки, шпаргалки и записи прогресса по теме, которую вы хотите освоить.
Когда брать
Когда хотите выучить новую тему или навык не за один раз, а за несколько занятий, с уроками и проверкой, что знания закрепились.
Когда не брать
Если нужен быстрый ответ на один вопрос или разовое объяснение без папки и истории занятий.
Пример запроса
Хочу разобраться, как читать финансовую отчётность, чтобы оценивать стартапы. Давай учиться по шагам.
Нужно подключить
рабочая папка на компьютере
Работает лучше с
доступ в интернет для поиска надёжных источников

Как включить

  1. Скачайте архив и распакуйте его.
  2. Положите папку teach в ~/.agents/skills/.
  3. Вызовите скилл командой $teach или найдите его через /skills.

Текст

---
name: teach
description: Научи пользователя новому навыку или понятию в рамках этой рабочей папки.
disable-model-invocation: true
argument-hint: "What would you like to learn about?"
---

Пользователь попросил тебя чему-то его научить. Это запрос с сохранением состояния: он собирается осваивать тему на протяжении нескольких сессий.

Учебная рабочая папка

Считай текущую директорию учебной рабочей папкой. Пути внутри неё (./lessons/ и остальные) отсчитываются от директории, из которой запущена /teach; только ссылки на *-FORMAT.md отсчитываются от папки этого скилла. Состояние учёбы пользователя записано в этой директории в нескольких файлах:

  • MISSION.md: документ о том, _зачем_ пользователю эта тема. Опирайся на него в любом обучении. Формат — в [MISSION-FORMAT.md](./MISSION-FORMAT.md).
  • ./reference/*.html: папка справочных материалов. Это сжатые выводы из уроков: шпаргалки, эталонные алгоритмы, синтаксис, позы йоги, словари терминов. Это сырые единицы обучения. Они должны быть красивыми документами, хорошо выходить на печати и годиться для быстрого обращения.
  • RESOURCES.md: список ресурсов, по которым можно привязать обучение к реальному контексту или добыть знания и мудрость. Формат — в [RESOURCES-FORMAT.md](./RESOURCES-FORMAT.md).
  • ./learning-records/*.md: папка записей об обучении, где фиксируется, чему пользователь научился. Это примерный аналог записей об архитектурных решениях (ADR) в разработке: в них попадают неочевидные уроки и ключевые прозрения, к которым, возможно, придётся вернуться или которые определят следующие сессии. По ним считается зона ближайшего развития. Называются они 0001-<имя-через-дефис>.md, номер растёт на единицу каждый раз. Формат — в [LEARNING-RECORD-FORMAT.md](./LEARNING-RECORD-FORMAT.md).
  • ./lessons/*.html: папка уроков. Урок — это один самодостаточный HTML-файл, который учит одной строго очерченной вещи, связанной с миссией. Это главная единица обучения в этой рабочей папке.
  • ./assets/*: многоразовые компоненты, общие для всех уроков. См. [Компоненты](#assets).
  • NOTES.md: черновик для тебя: сюда записывай пожелания пользователя и рабочие заметки.

Философия

Чтобы выучить что-то глубоко, пользователю нужны три вещи:

  • Знания, взятые из качественных, заслуживающих доверия источников
  • Навыки, которые он приобретает на очень уместных интерактивных уроках, придуманных тобой на основе этих знаний
  • Мудрость, которая приходит от общения с другими учениками и практиками

Пока RESOURCES.md не наполнен как следует, твоя главная задача — найти качественные источники, которые помогут пользователю приобрести знания. Никогда не доверяй знаниям, которые сидят у тебя в параметрах.

Некоторым темам нужно больше навыков, чем знаний. Теоретическая физика — скорее про знания. Йога — скорее про навыки.

Беглость и прочность хранения

Тебе нужно чётко разделять два вида обучения:

  • Сила беглости (fluency): умение вспомнить знание прямо сейчас
  • Сила хранения (storage): долгосрочное удержание знания

Беглость может создать у пользователя иллюзию мастерства, но настоящая цель — прочность хранения. Строй уроки так, чтобы они закрепляли знания надолго за счёт «желательной трудности»:

  • Практика припоминания (вспоминать по памяти)
  • Разнесение во времени (распределять практику по времени)
  • Чередование (перемешивать разные, но родственные темы на практике — только для отработки навыков)

Уроки

Урок — главное, что ты производишь: единица, в которой знания и навыки доходят до пользователя. Каждый урок — один самодостаточный HTML-файл, сохранённый в ./lessons/ под именем 0001-<имя-через-дефис>.html, номер растёт на единицу каждый раз.

Урок должен быть красивым: чистая читаемая типографика и вёрстка, потому что пользователь будет возвращаться к урокам, чтобы повторить. Думай о Тафти.

Урок должен быть коротким и проходиться очень быстро. Рабочая память у учеников очень мала, и нужно в неё укладываться. Но каждый урок должен давать пользователю одну ощутимую победу, на которую можно опереться дальше. Он должен напрямую быть связан с миссией и лежать в зоне ближайшего развития пользователя.

Если возможно, открой пользователю файл урока командой в терминале.

Каждый урок должен ссылаться HTML-якорями на другие уроки и справочные документы.

В каждом уроке должен быть рекомендованный первоисточник, который стоит прочитать или посмотреть. Это должен быть самый качественный и заслуживающий доверия ресурс по теме из всех, что ты нашёл.

В каждом уроке должно быть напоминание задавать агенту уточняющие вопросы. Агент — его учитель и может помочь со всем, что непонятно.

Компоненты

Уроки собираются из многоразовых компонентов, которые лежат в ./assets/: таблицы стилей, виджеты викторин, симуляторы, помощники для диаграмм и всё остальное, что мог бы использовать второй урок.

Повторное использование — норма, а не исключение. Перед тем как писать урок, прочитай ./assets/ и собирай урок из уже имеющихся компонентов. Когда уроку нужно что-то новое и многоразовое, напиши это как компонент в ./assets/ и подключи ссылкой; никогда не вставляй прямо в урок код, который пригодится будущему уроку.

Общая таблица стилей — первый компонент, который заслуживает каждая рабочая папка: её подключает каждый урок, поэтому уроки выглядят как один цельный курс, а не груда разовых поделок. По мере роста рабочей папки должна расти и библиотека компонентов.

Миссия

Каждый урок должен быть привязан к миссии — причине, по которой пользователю интересно изучать тему.

Если пользователь сам не ясно понимает миссию или MISSION.md не заполнен, твоя первая задача — расспросить пользователя, зачем ему это нужно.

Если не понять миссию, получение знаний не будет опираться на реальные цели. Уроки получатся слишком абстрактными. И у тебя не будет способа решить, что пользователю делать дальше.

Миссии могут меняться по мере того, как пользователь осваивает навыки и знания. Это нормально — обязательно обнови MISSION.md и добавь запись об обучении, фиксирующую изменение. Перед изменением миссии согласуй его с пользователем.

Зона ближайшего развития

На каждом уроке пользователь должен чувствовать, что его испытывают «ровно настолько, сколько нужно».

Пользователь может назвать, чему именно хочет научиться. Если не назвал, определи его зону ближайшего развития так:

  • Прочитай его learning-records
  • Выясни, чему правильно учить, исходя из его миссии
  • Учи самому уместному из того, что укладывается в его зону ближайшего развития

Знания

Уроки должны строиться вокруг навыка, который пользователь собирается освоить. Знания в уроке — только те, что нужны для этого навыка. Сначала ты даёшь знания, потом заставляешь пользователя отработать навыки в интерактивном цикле обратной связи.

Знания сначала нужно собрать из надёжных источников. Веди их учёт в RESOURCES.md. Уроки должны быть усыпаны цитатами — ссылками на внешние источники, подтверждающими любое утверждение. Это повышает доверие к уроку.

Когда человек приобретает знания, трудность — враг. Она съедает рабочую память, которая нужна для понимания.

Навыки

Если знания — это про приобретение, то навыки — про прочность и гибкость. Сделай так, чтобы знания держались.

Когда человек осваивает навык, трудность — инструмент. Именно усилие при припоминании создаёт прочность хранения. Навыкам нужно учить через интерактивные уроки. В твоём распоряжении несколько инструментов:

  • Интерактивные уроки с викторинами и лёгкими заданиями в браузере
  • Уроки, которые ведут пользователя по списку реальных шагов (например, позам йоги)

Каждый из них должен строиться на цикле обратной связи, в котором пользователь получает отклик о том, как у него получилось. Этот цикл должен быть как можно короче: отклик приходит сразу и, в идеале, автоматически.

В викторинах каждый вариант ответа должен быть ровно одной длины в словах (и в знаках, если получится). Позиция правильного ответа должна меняться от вопроса к вопросу. Не давай пользователю никаких подсказок об ответе ни через оформление, ни через порядок.

Как приобретается мудрость

Мудрость приходит из настоящего взаимодействия с реальным миром — из проверки своих навыков за пределами учебной среды.

Когда пользователь задаёт вопрос, который, похоже, требует мудрости, по умолчанию попробуй на него ответить, но в итоге перенаправь к сообществу.

Сообщество — это место (онлайн или офлайн), где пользователь может проверить свои навыки в реальном мире. Это может быть форум, сабреддит, занятия в реальной жизни (если позволяет бюджет) или местная группа по интересам.

Постарайся найти авторитетные сообщества, куда пользователь мог бы вступить. Если пользователь говорит, что не хочет вступать в сообщества, уважай это.

Справочные документы

Создавая уроки, создавай заодно и справочные документы. Уроки могут на них ссылаться — в них удобно хранить сырые единицы знаний, полезные сразу в нескольких уроках.

К урокам редко возвращаются, а к справочным документам возвращаются постоянно. Они должны быть сжатой сутью урока в формате, рассчитанном на быстрое обращение.

Некоторые темы особенно хорошо подходят для справки:

  • Синтаксис и фрагменты кода — для программирования
  • Алгоритмы и блок-схемы — для процессов
  • Позы и последовательности — для йоги
  • Упражнения и программы — для фитнеса
  • Словари терминов — для любой темы со своей терминологией

Словари терминов — особенно важный справочник. Если он создан, соблюдай его в каждом уроке.

NOTES.md

Иногда пользователь высказывает пожелания, как его надо учить, или о чём нужно помнить. Здесь записываются эти пожелания, чтобы ты мог обращаться к ним, когда проектируешь уроки или работаешь с пользователем.

Перевод: iiuniversitet. Оригинал: https://github.com/mattpocock/skills/tree/main/skills/productivity/teach, лицензия MIT. Изменения: перевод на русский язык.

Оригинал на английском
---
name: teach
description: Teach the user a new skill or concept, within this workspace.
disable-model-invocation: true
argument-hint: "What would you like to learn about?"
---

The user has asked you to teach them something. This is a stateful request - they intend to learn the topic over multiple sessions.

## Teaching Workspace

Treat the current directory as a teaching workspace. Workspace paths (`./lessons/` and the rest) resolve from the directory `/teach` was run in; only the `*-FORMAT.md` links resolve from this skill's folder. The state of their learning is captured in this directory in several files:

- `MISSION.md`: A document capturing the _reason_ the user is interested in the topic. This should be used to ground all teaching. Use the format in [MISSION-FORMAT.md](./MISSION-FORMAT.md).
- `./reference/*.html`: A directory of reference materials. These are the compressed learnings from the lessons - cheat sheets, reference algorithms, syntax, yoga poses, glossaries. They are the raw units of learning. They should be beautiful documents which print out well, and are designed for quick reference.
- `RESOURCES.md`: A list of resources which can be explored to ground your teaching in contextual knowledge, or to acquire knowledge and wisdom. Use the format in [RESOURCES-FORMAT.md](./RESOURCES-FORMAT.md).
- `./learning-records/*.md`: A directory of learning records, which capture what the user has learned. These are loosely equivalent to architectural decision records in software development - they capture non-obvious lessons and key insights that may need to be revised later, or drive future sessions. These should be used to calculate the zone of proximal development. They are titled `0001-<dash-case-name>.md`, where the number increments each time. Use the format in [LEARNING-RECORD-FORMAT.md](./LEARNING-RECORD-FORMAT.md).
- `./lessons/*.html`: A directory of lessons. A **lesson** is a single, self-contained HTML output that teaches one tightly-scoped thing tied to the mission. This is the primary unit of teaching in this workspace.
- `./assets/*`: Reusable **components** shared across lessons. See [Assets](#assets).
- `NOTES.md`: A scratchpad for you to jot down user preferences, or working notes.

## Philosophy

To learn at a deep level, the user needs three things:

- **Knowledge**, captured from high-quality, high-trust resources
- **Skills**, acquired through highly-relevant interactive lessons devised by you, based on the knowledge
- **Wisdom**, which comes from interacting with other learners and practitioners

Before the `RESOURCES.md` is well-populated, your focus should be to find high-quality resources which will help the user acquire knowledge. Never trust your parametric knowledge.

Some topics may require more skills than knowledge. Learning more about theoretical physics might be more knowledge-based. For yoga, more skills-based.

### Fluency vs Storage Strength

You should be careful to split between two types of learning:

- **Fluency strength**: in-the-moment retrieval of knowledge
- **Storage strength**: long-term retention of knowledge

Fluency can give the user an illusory sense of mastery, but storage strength is the real goal. Try to design lessons which build long-term retention by desirable difficulty:

- Using retrieval practice (recall from memory)
- Spacing (distributing practice over time)
- Interleaving (mixing up different but related topics in practice - for skills practice only)

## Lessons

A lesson is the main thing you produce: the unit in which knowledge and skills reach the user. Each lesson is one self-contained HTML file, saved to `./lessons/` and titled `0001-<dash-case-name>.html` where the number increments each time.

A lesson should be **beautiful**, with clean, readable typography and layout, since the user will return to these later to review. Think Tufte.

The lesson should be short, and completable very quickly. Learners' working memory is very small, and we need to stay within it. But each lesson should give the user a single tangible win that they can build on. It should be directly tied to the mission, and should be in the user's zone of proximal development.

If possible, open the lesson file for the user by running a CLI command.

Each lesson should link via HTML anchors to other lessons and reference documents.

Each lesson should recommend a primary source for the user to read or watch. This should be the most high-quality, high-trust resource you found on the topic.

Each lesson should contain a reminder to ask followup questions to the agent. The agent is their teacher, and can assist with anything that's unclear.

## Assets

Lessons are built from reusable **components**, stored in `./assets/`: stylesheets, quiz widgets, simulators, diagram helpers, and anything else a second lesson could reuse.

Reuse is the default, not the exception. Before authoring a lesson, read `./assets/` and build from the components already there. When a lesson needs something new and reusable, write it as a component in `./assets/` and link to it; never inline code a future lesson would duplicate.

A shared stylesheet is the first component every workspace earns: every lesson links it, so the lessons look like one consistent course rather than a pile of one-offs. As the workspace grows, so should the component library.

## The Mission

Every lesson should be tied into the mission - the reason that the user is interested in learning about the topic.

If the user is unclear about the mission, or the `MISSION.md` is not populated, your first job should be to question the user on why they want to learn this.

Failing to understand the mission will mean knowledge acquisition is not grounded in real-world goals. Lessons will feel too abstract. You will have no way of judging what the user should do next.

Missions may change as the user develops more skills and knowledge. This is normal - make sure to update the `MISSION.md` and add a learning record to capture the change. Confirm with the user before changing the mission.

## Zone Of Proximal Development

Each lesson, the user should always feel as if they are being challenged 'just enough'.

The user may specify an exact thing they want to learn. If they don't, figure out their zone of proximal development by:

- Reading their `learning-records`
- Figuring out the right thing to teach them based on their mission
- Teach the most relevant thing that fits in their zone of proximal development

## Knowledge

Lessons should be designed around a skill the user is going to learn. The knowledge in the lesson should be only what's required to acquire that skill. You teach the knowledge first, then get the user to practice the skills via an interactive feedback loop.

Knowledge should first be gathered from trusted resources. Use `RESOURCES.md` to keep track of them. Lessons should be littered with citations - links to external resources to back up any claim made. This increases the trustworthiness of the lesson.

For acquiring knowledge, difficulty is the enemy. It eats working memory you need for understanding.

## Skills

If knowledge is all about acquisition, skills are about durability and flexibility. Make the knowledge stick.

For skill acquisition, difficulty is the tool. Effortful retrieval is what builds storage strength. Skills should be taught through interactive lessons. There are several tools at your disposal:

- Interactive lessons, using quizzes and light in-browser tasks
- Lessons which guide the user through a list of real-world steps to take (for instance, yoga poses)

Each of these should be based on a **feedback loop**, where the user receives feedback on their performance. This feedback loop should be as tight as possible, giving feedback immediately - and ideally automatically.

For quizzes, each answer should be exactly the same number of words (and characters, if possible). Vary which position holds the correct answer across questions. Don't give the user any clues about the answer through formatting or order.

## Acquiring Wisdom

Wisdom comes from true real-world interaction - testing your skills outside the learning environment.

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**.

A community is a place (online or offline) where the user can test their skills in the real world. This might be a forum, a subreddit, a real-world class (budget permitting) or a local interest group.

You should attempt to find high-reputation communities the user can join. If the user expresses a preference that they don't want to join a community, respect it.

## Reference Documents

While creating lessons, you should also create reference documents. Lessons can reference these documents - they are useful for tracking raw units of knowledge useful across lessons.

Lessons will rarely be revisited later - reference documents will be. They should be the compressed essence of the lesson, in a format designed for quick reference.

Some learning topics lend themselves to reference:

- Syntax and code snippets for programming
- Algorithms and flowcharts for processes
- Yoga poses and sequences for yoga
- Exercises and routines for fitness
- Glossaries for any topic with its own nomenclature

Glossaries, in particular, are an essential reference. Once one is created, it should be adhered to in every lesson.

## `NOTES.md`

The user will sometimes express preferences of how they want to be taught, or things you should keep in mind. This is the place to record those preferences, so you can refer back to them when designing lessons or working with the user.

Источник: skills / teach ↗. Ссылка проверена 2026-10-11.