---
name: hp-source-texts
description: >
  Поиск и извлечение исходных текстов (английский оригинал и русский перевод Росмэн)
  для конкретной главы Гарри Поттера. Используй этот skill, когда нужно найти английский
  оригинал или русский перевод Росмэн для сравнения с ивритским текстом, для секции
  «Литературный перевод» или для анализа различий переводов. Также используй при упоминании
  файлов вида «HP_en_ch*.md» или «HP_rosmen_ch*.md», или когда другой skill требует
  английский/русский текст главы как зависимость.
---

# Поиск исходных текстов Гарри Поттера

## 1. Назначение

Этот skill — утилита для поиска английского оригинала и русского перевода (Росмэн) нужной главы Гарри Поттера. Используется как зависимость другими skill'ами (прежде всего `hp-translate`), а также может вызываться напрямую.

### Зачем нужны исходные тексты

- **Английский оригинал** — для секции «Различия ивритского и русского переводов»: позволяет понять, как каждый переводчик интерпретировал оригинал (напр. «lemon drop» → иврит «крембо», русский «шербетная долька»).
- **Русский перевод Росмэн** — для секции «Литературный перевод»: цитируется как канонический русский текст.

---

## 2. Конвенция имён файлов

Файлы исходных текстов хранятся в **Project Knowledge** и именуются по следующей схеме:

```
HP_en_ch{номер_главы}.md     — английский оригинал главы
HP_rosmen_ch{номер_главы}.md  — русский перевод Росмэн
```

Примеры:
- `HP_en_ch1.md` — английский оригинал главы 1
- `HP_rosmen_ch1.md` — русский перевод Росмэн главы 1
- `HP_en_ch2.md` — английский оригинал главы 2

Каждый файл содержит **полный текст одной главы**.

---

## 3. Формат файлов

### Английский оригинал (`HP_en_ch{N}.md`)

```markdown
# Chapter {N}. {Title}

{полный текст главы на английском}

{абзацы разделены пустыми строками}
```

### Русский перевод Росмэн (`HP_rosmen_ch{N}.md`)

```markdown
# Глава {N}. {Название}

{полный текст главы по изданию Росмэн}

{абзацы разделены пустыми строками}
{прямая речь — через тире, как в русской типографской традиции}
```

### Требования к содержимому

- Текст — **plain text** в markdown, без специальной разметки
- Абзацы разделены пустыми строками
- Прямая речь сохраняет пунктуацию оригинального издания
- Никаких номеров страниц — только сплошной текст главы
- Имена и названия — точно по соответствующему изданию

---

## 4. Алгоритм поиска

### Шаг 1: Поиск в Project Knowledge

Выполнить `project_knowledge_search` с запросами:

```
HP_en_ch{номер_главы}
```
```
HP_rosmen_ch{номер_главы}
```

Если файлы найдены — перейти к шагу 3.

### Шаг 2: Fallback — запрос у пользователя

Если файлы не найдены в Project Knowledge, сообщить пользователю:

> Не удалось найти исходные тексты для главы {N} в Project Knowledge.
> Для работы нужны файлы:
> - `HP_en_ch{N}.md` — английский оригинал
> - `HP_rosmen_ch{N}.md` — русский перевод Росмэн
>
> Вы можете:
> 1. Загрузить эти файлы в Project Knowledge
> 2. Прикрепить их к сообщению
> 3. Вставить нужный фрагмент текстом

Дождаться ответа пользователя и продолжить с предоставленными данными.

### Шаг 3: Извлечение нужного фрагмента

Файлы содержат полную главу, а для работы нужен только фрагмент, соответствующий обрабатываемым страницам ивритской книги.

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

**Ориентиры для сопоставления:**
- Имена персонажей (דַּמְבֶּלְדוֹר = Dumbledore = Дамблдор)
- Прямая речь — самый надёжный маркер
- Ключевые события и действия
- Начало/конец сцен

---

## 5. Что возвращает skill

Два фрагмента текста:

1. **Английский фрагмент** — часть оригинала, соответствующая обрабатываемым страницам
2. **Русский фрагмент (Росмэн)** — соответствующая часть перевода Росмэн

Эти фрагменты используются вызывающим skill'ом для:
- Секции «Литературный перевод» (русский текст Росмэн)
- Секции «Различия ивритского и русского переводов» (сравнение всех трёх: иврит ↔ английский ↔ русский)

---

## 6. Справочник имён и названий

Для сопоставления фрагментов — ключевые соответствия имён:

| Иврит | English | Росмэн |
|-------|---------|--------|
| דַּמְבֶּלְדוֹר | Dumbledore | Дамблдор |
| מֶקְגוֹנֶגֶל | McGonagall | Макгонагалл |
| הָאגְרִיד | Hagrid | Хагрид |
| פּוֹטֶר | Potter | Поттер |
| וֹולְדֶמוֹרְט | Voldemort | Волан-де-Морт |
| הָארִי | Harry | Гарри |
| מַגְלִים | Muggles | магглы |
| הוֹגְווֹרְטְס | Hogwarts | Хогвартс |

---

## 7. Использование другими skill'ами

### Пример вызова из hp-translate

При обработке страниц 30–35 главы 1 skill `hp-translate` должен:

1. Вызвать `hp-source-texts` с параметрами: глава 1, страницы 30–35
2. Получить английский и русский фрагменты
3. Использовать русский фрагмент для секции «Литературный перевод»
4. Использовать оба фрагмента для секции «Различия ивритского и русского переводов»
