---
name: hebrew-homework-pipeline
description: >
  Запускать полный конвейер обработки нового PPTX-урока иврита: извлечь содержимое,
  создать грамматическую шпаргалку, автоматически решить все упражнения и задания,
  собрать DOCX обеих веток и сложить полный комплект в общую выходную директорию. Использовать только
  по явному запросу на полный цикл: «обработай урок целиком», «запусти весь конвейер»,
  «сделай шпаргалку и реши все задания», «full Hebrew homework pipeline».
  Не использовать для одиночного этапа, например только извлечения или только DOCX.
---

# Полный конвейер урока иврита

Оркестрировать пять специализированных скиллов от PPTX до готовых MD/DOCX-артефактов.
Один явный запрос на полный конвейер авторизует все этапы ниже без дополнительных подтверждений.

Перед началом прочитать `references/artifact-contract.md`. Перед каждым этапом полностью прочитать
актуальный `SKILL.md` соответствующего соседнего скилла и следовать ему; не копировать его правила
из памяти и не продолжать по устаревшей версии.

## Вход

Обязателен один PPTX-файл нового урока иврита. Предыдущие шпаргалки того же урока опциональны
и используются для кумулятивных таблиц частей 2+.

Если PPTX отсутствует, запросить его. Если загружено несколько PPTX и целевой файл неочевиден,
уточнить выбор. В остальных случаях не останавливать конвейер ради необязательных вопросов.

## Результаты

Создать директорию `урок_{N}_часть_{M}_result/` в рабочей директории пользователя:

```text
урок_{N}_часть_{M}_result/
├── урок_{N}_часть_{M}_extracted/
│   ├── урок_{N}_часть_{M}_extracted.md
│   └── images/
├── Шпаргалка_по_{N}_уроку_{M}_часть.md
├── Шпаргалка_по_{N}_уроку_{M}_часть.docx
├── ДЗ_урок_{N}_часть_{M}_слайды_{СЛАЙДЫ}.md
└── ДЗ_урок_{N}_часть_{M}_слайды_{СЛАЙДЫ}.docx
```

Если заданий нет, не создавать пустые файлы ДЗ; сформировать шпаргалку и отметить это в отчёте.

## Правила оркестрации

- Выполнять этапы последовательно до готовности их зависимостей.
- Не запрашивать подтверждение между этапами; давать краткие progress-обновления.
- Не подменять специализированные workflow общими PowerPoint или document-authoring процессами.
- Использовать bundled Python-скрипты extract/docx как авторитетные реализации.
- Разрешать общему document workflow только выбор workspace runtime; специализированные DOCX
  builders остаются источником истины для оформления.
- Останавливать зависимую ветку при провале её validation gate; не выдавать частичный файл как готовый.
- Сохранять все выходы в рабочей директории пользователя, не в репозитории скиллов.

## Этап 1. Извлечение

Применить `hebrew-lesson-extract` к исходному PPTX:

1. Запустить `scripts/extract_pptx.py`.
2. Проверить полноту слайдов, таблицы, классификацию и изображения.
3. Обработать `image_task` и удалить все маркеры `<!-- AGENT: ... -->`.
4. Оставить extracted Markdown и `images/` в поддиректории
   `урок_{N}_часть_{M}_extracted/`.

Не продолжать при пропущенных слайдах или повреждённом Markdown.

## Этап 2. Шпаргалка

Применить `hebrew-lesson-enrich` к extracted Markdown:

1. Использовать предыдущие шпаргалки частей 1..M-1, если они доступны.
2. Создать `Шпаргалка_по_{N}_уроку_{M}_часть.md`.
3. Проверить грамматику, парадигмы, никуд, словарь и кумулятивные таблицы.

## Этап 3. Автоматический выбор заданий

По структуре extracted Markdown выбрать все слайды категорий:

- `exercise_*`;
- `reading`;
- `joke`;
- `image_task`.

Также включить слайд `other`, если после проверки классификации он содержит явное задание.
Исправить его категорию в extracted Markdown до решения.

Отсортировать номера, удалить дубликаты и сформировать компактный суффикс:

- последовательность `25, 26, 27` → `25-27`;
- разрывы → подчёркивание: `25-27_30_33-35`.

В полном конвейере не спрашивать пользователя о номерах слайдов.

## Этап 4. Решение всех заданий

Применить `hebrew-homework-solve` в режиме `all_tasks`:

1. Передать extracted Markdown, шпаргалку и автоматически выбранные номера.
2. Инвентаризировать пункты каждого упражнения до решения.
3. Решить все выбранные слайды без тихого усечения.
4. Проверить форматирование, переводы и никуд.
5. Создать Markdown ДЗ с суффиксом всех выбранных слайдов.

## Этап 5. DOCX обеих веток

После готовности соответствующих Markdown:

1. Применить `hebrew-lesson-docx` к шпаргалке.
2. Применить `hebrew-homework-docx` к решённому ДЗ, если задания существуют.
3. Выполнить предусмотренную соответствующим DOCX-скиллом структурную проверку.

## Этап 6. Сбор результатов

Проверить, что все финальные файлы находятся в `урок_{N}_часть_{M}_result/`, а временные файлы
вынесены в отдельную временную директорию.

## Финальная проверка

- Все слайды исходного PPTX присутствуют в extracted Markdown.
- Все найденные задания решены; количество пунктов совпадает с источником.
- Шпаргалка и ДЗ прошли профильные проверки никуд и структуры.
- Каждый созданный DOCX прошёл профильную структурную проверку.
- Имена файлов соответствуют конвенциям.
- Выходная директория содержит только финальные артефакты и поддиректорию
  `урок_{N}_часть_{M}_extracted/`.

Вернуть ссылки на основные DOCX и Markdown. Указать путь к общей выходной директории и extracted
материалам, не перегружая итоговое сообщение.
