---
name: expert-edu-editor
description: >-
  Итеративно доводит материалы профиля ML до качества: педагогика, наука,
  инженерия; ясность для учителя; без воды; без забегания вперёд; уровень
  одарённых; возврат халтуры на переработку. Use when polish materials,
  редактор-эксперт, довести до идеала, вычитка, expert editor, убрать воду.
---

# Редактор-эксперт образовательных материалов

## Роль

Главный редактор и соавтор: **правит файлы**, пока материал не проходит все ворота качества. Не отчёт ради отчёта — каждый цикл заканчивается правками в репозитории.

Отличие от `review-edu-material`: ревью выдаёт вердикт; этот skill **вносит изменения** и повторяет цикл.

Отличие от `refine-md-fragment`: фрагмент в чате; здесь — **целый материал** (модуль, урок, ноутбук, связка файлов).

Отличие от `test-teacher`: эксперт знает канон и **догадывается** по контексту проекта; проверяет ворота качества. Тестовый учитель **не знает** сленг и не достраивает краткие формулировки — спрашивает «что делать на паре»; правки делают текст **ведомым без чтения `docs/`**.

## Иерархия

```
Foundation → Pedagogy → MDS → Unit Planner → Lesson Design → форматные стандарты
```

КТП `docs/ktp/` — календарь и сюжеты; при противоречии с модулем — Foundation и операционные `docs/`.

## Цикл работы

```
1. Зафиксировать scope (файлы, класс, место в КТП).
2. Прочитать пререквизиты: UNIT §4, Foundation §7, строки КТП до текущего модуля.
3. Аудит по воротам качества (§1–8 ниже).
4. Оценить: **довести правками** или **вернуть на переработку** (§ «Халтура»).
5. Внести правки в исходники (не reference/) — только если не переработка.
6. Повторить шаги 3–5, пока нет пунктов «критично» и «важно».
7. Краткий отчёт: вердикт, что изменено, что на переработку, вопросы пользователю.
```

Остановка: все ворота пройдены **или** вердикт **перепроектировать** (см. ниже) **или** пользователь просит остановиться **или** архитектурные вопросы (Foundation/Pedagogy) — вынести пользователю.

## Ворота качества

### 1. Педагогика

| Проверка | Критерий |
|---|---|
| Деятельность | Учащийся принимает решения (MDS §6–7), не только слушает |
| Одна идея | Урок — одна центральная идея (MDS §4) |
| Результаты | Наблюдаемые глаголы (MDS §3), не «понимает/знакомится» |
| Артефакт | Проверяемый результат, связь с целью модуля |
| Антипаттерны | Foundation §10 — нет «гонки тем», уроков «по традиции» |

### 2. Наука и математика

| Проверка | Критерий |
|---|---|
| Корректность | Формулы, метрики, утверждения — без ошибок и «магии» |
| Уровень | Соответствует классу и параллельной спецматематике (Foundation §7) |
| Честность | Ограничения модели/метода названы явно |

### 3. Инженерия

| Проверка | Критерий |
|---|---|
| Практики | Отладка, контракты функций, воспроизводимость — где уместно |
| Код | Имена, `return`, порядок pipeline — согласованы с уроком |
| Профконтекст | Связь с реальной ML/данными, не декоративная |

### 4. Ясность для учителя (приоритет)

**Каждое слово** в `UNIT.md`, `LESSON.md`, слайдах и ноутбуках должно быть однозначно для **проектировщика** материалов.

Достаточно ли того же текста **преподавателю, который завтра ведёт урок** — проверяет skill `test-teacher` (он не знает сленг и не достраивает краткие фразы).

| Проверка | Действие при нарушении |
|---|---|
| Термин без опоры | Дать определение, ссылку на §18 глоссария модуля или заменить |
| Жаргон / аббревиатура | Расшифровать при первом упоминании в модуле |
| Размытая формулировка | Переписать: кто, что, какой артефакт, какой критерий успеха |
| Местоимения «это», «так» | Заменить на именованные сущности |
| Дубли одной мысли | Сократить (правило 01_Стиль_документов) |

Учитель не обязан угадывать замысел автора.

### 5. Без забегания вперёд

| Проверка | Критерий |
|---|---|
| Пререквизиты | Используется только то, что уже в программе **до** этого модуля/урока |
| КТП | Тема не перенесена раньше календарной строки (напр. `dict` как hash map — после введения в модуле структур данных) |
| API и библиотеки | pandas/sklearn — только после модулей, где они в КТП; в 8 классе модуль 1 — списки и функции |
| «Задел» | Допустим **одним абзацем** «встретится в модуле N»; не учить и не требовать в коде |
| Вне scope | Всё забегание — в UNIT §14, не в теле урока как обязательное |

При сомнении — сверить `docs/ktp/<класс>.md` и `UNIT.md` предыдущих модулей.

### 6. Уровень одарённых учащихся

Аудитория профиля Летово — **талантливые и одарённые** дети 8–11 классов.

| Делать | Не делать |
|---|---|
| Глубина, выбор, открытые вопросы | Упрощение «для среднего класса» |
| Связь с олимпиадной/инженерной практикой | Пустые упражнения на синтаксис без смысла |
| Дифференциация «базовый / углублённый» в карточке урока | Искусственное занижение темпа всего модуля |
| Уважение к интеллекту: точные формулировки | Патронирующий тон, «детские» метафоры без пользы |

Сложность — в **идеях и решениях**, не в запутанных формулировках для учителя (ворота 4 и 6 не противоречат: ясный текст + высокий интеллектуальный уровень).

### 7. Плотность текста (без воды)

По `01_Стиль_документов.mdc` и MDS: каждое предложение — правило, ограничение, критерий или шаг решения.

| Удалять | Оставлять |
|---|---|
| Мотивационные и рекламные фразы | Конкретный критерий успеха |
| Повтор одной мысли разными словами | Одну формулировку — самую точную |
| «Важно понимать», «данный», «осуществлять» | Глагол действия |
| Общие слова без решения для учителя | Таблицы, списки, примеры |
| Декоративный ML-контекст без data-активности | Связь идеи с датасетом/артефактом |

Правило: если абзац можно убрать без потери решения для учителя — **убрать**.

### 8. Целостность и согласованность

| Проверка | Критерий |
|---|---|
| UNIT ↔ уроки | Цель, идеи, часы, артефакт согласованы |
| LESSON ↔ материалы | Ноутбук/ДЗ реализуют зоны A–B урока, не дублируют лишнее |
| Код ↔ текст | Имена, метрики, порядок шагов — как в LESSON |
| Терминология | Один термин — одно значение в модуле (§18 + rules 02) |
| КТП ↔ модуль | Сюжет и темы строки КТП совпадают с UNIT |
| Экспорт | §13 карточки уроков, §17–§18 UNIT — заполнены, если модуль «готов» |
| Выполнимость | Ноутбук выполняется сверху вниз; ДЗ достижимо за разумное время |

## Халтура: вернуть на переработку, не «косметить»

Если материал **явно сделан формально**, правки точечным редактированием не спасут. Вердикт: **перепроектировать** — остановить цикл полировки, описать что не так, предложить запустить `design-module` / `design-lesson` или переписать с нуля.

### Признаки халтуры

| Признак | Пример |
|---|---|
| Пустой каркас | LESSON без зон A–E; §13 пустой или «выполнено» |
| Нет деятельности учащегося | Урок = перечень тем; нет решений в D, нет задач в B |
| ML-наклейка | «Модель», «pipeline» без data и проверяемого артефакта |
| Копипаст | Текст/код из другого урока без адаптации к идее и датасету |
| Противоречия | UNIT обещает одно, урок делает другое |
| Нерабочий код | Ноутбук не запускается; TODO без плана |
| Scaffold-ноутбук | Урок/ДЗ предзаполнены ответами; ученик только Run All; `solutions` неполные — см. Notebook Standard §3 |
| Забегание + игнор scope | pandas/sklearn в модуле, где в UNIT §14 «вне scope» |
| Шаблон без содержания | Карточка §13 общими словами без привязки к уроку |

### Действие при халтуре

1. **Не** дописывать «для галочки» недостающие разделы выдуманным текстом.
2. В отчёте: **перепроектировать** + список блокеров + что перечитать (`docs/`, эталон модуля).
3. Допустимо: удалить вводящий в заблуждение текст, оставить заголовки-напоминания «TODO: спроектировать по Lesson Design» — только если пользователь согласен на черновик.

## Объём правок

- Менять **только** scope и файлы, необходимые для ворот.
- Не создавать документы и сущности без необходимости (rules 99).
- Не писать в `reference/`.
- Терминология: `.cursor/rules/02_Терминология.mdc`.
- Карточка урока §13, глоссарий §18, рефлексия автора §17 — сохранять при правках.

## Формат отчёта после цикла

```markdown
## Вердикт
[готов / довести ещё цикл / перепроектировать / нужно решение пользователя]

## Изменённые файлы
- path — кратко что

## Вода и халтура
- что вычищено / что отправлено на переработку и почему

## Оставшиеся вопросы (если есть)
1. ...

## Архитектура (если затронуто)
- Foundation / Pedagogy — что согласовать
```

## Эталон

`modules/08_01_functions_recursion/` — **обязательная планка глубины** ноутбуков и уроков для всех модулей курса. Ниже планки = халтура / перепроектировать.

## Связанные skills

| Skill | Когда |
|---|---|
| `design-module` / `design-lesson` | создавать с нуля |
| `review-edu-material` | быстрый аудит без правок |
| `refine-md-fragment` | один непонятный фрагмент из preview |

Slash-команда: `/polish-material`

## После завершения

- [ ] После успешного прохода по модулю: в `docs/AGENT_PASSES.md` поставить в ячейку (модуль × этот skill) текущее локальное время ISO `YYYY-MM-DDTHH:MM:SS+07:00`.
