---
name: hp-chapter-style
description: >
  Генерация illustration style guide для одной главы Гарри Поттера.
  Принимает текст главы на русском (перевод Росмэн), анализирует персонажей,
  локации и сцены, выдаёт CHAPTER_N_STYLE.md — дельту для иллюстраций.
  Используй этот skill когда пользователь просит: создать стайл для главы,
  подготовить главу к иллюстрированию, сгенерировать chapter style,
  проанализировать главу для картинок, или загружает текст главы ГП
  и просит его обработать для иллюстраций. Также используй при любом
  упоминании «chapter style», «стайл главы», «стиль для иллюстраций».
---

# HP Chapter Style Generator

Skill для создания поглавного иллюстрационного стайл-гайда по тексту Гарри Поттера.

## Структура skill'а

```
hp-chapter-style/
├── SKILL.md                — этот файл
└── references/             — примеры готовых стайл-гайдов
    ├── BOOK_1_CHAPTER_1_STYLE.md
    └── BOOK_1_CHAPTER_2_STYLE.md
```

## Когда использовать

Пользователь загружает текст одной главы ГП (русский перевод Росмэн) и просит подготовить его для иллюстрирования.

## Входные данные

1. **Текст главы на русском** — файл `HP_rosmen_ch{N}.md` (перевод издательства Росмэн)
   - Полный текст одной главы из Project Knowledge
   - Искать через `project_knowledge_search` по имени `HP_rosmen_ch{N}`
   - Если файл не найден — запросить у пользователя (загрузить в PK или вставить текстом)

2. **master_style_framework.md** — выход скила `hp-master-style`
   - Неизменяемый каркас визуального стиля проекта из Project Knowledge
   - Если не найден — предложить пользователю запустить `hp-master-style` с командой `create`

3. **Номер книги и главы** — пользователь указывает или определяется из текста

## Примеры выходных файлов

В папке `references/` лежат готовые стайл-гайды, сгенерированные этим skill'ом:

- `BOOK_1_CHAPTER_1_STYLE.md` — глава 1 «Мальчик, который выжил»
- `BOOK_1_CHAPTER_2_STYLE.md` — глава 2 «Исчезнувшее стекло»

**Перед генерацией нового стайл-гайда обязательно прочитай оба примера** — они задают уровень детализации, формат таблиц, стиль описаний и гранулярность разбивки на сцены. Новый файл должен соответствовать этим примерам по качеству и структуре.

## Выходной файл

```
BOOK_{N}_CHAPTER_{M}_STYLE.md
```

Пример: `BOOK_1_CHAPTER_1_STYLE.md`

Дельта-документ, содержащий **только** то, что специфично для этой главы. Общие правила проекта (философия, стиль, запреты, шкала магии) живут в MASTER_STYLE и не дублируются.

Выходной файл — вход для скила `hp-generate-image`.

---

## Место в пайплайне

Этот skill — **первый этап** иллюстрационной ветки. Он работает один раз на всю главу, заранее.

```
  ┌─────────────────┐
  │ hp-master-style  │  ← ШАГ 0 (setup, один раз на проект)
  └────────┬────────┘
           │
           ▼
  master_style_framework.md  (в Project Knowledge)
           │
           │   + Текст главы (Росмэн)
           │
           ▼
  ┌─────────────────┐
  │ hp-chapter-style │  ← ЭТОТ SKILL
  └────────┬────────┘
           │
           ▼
  BOOK_N_CHAPTER_M_STYLE.md  (дельта: персонажи, локации, сцены с ID)
           │
           │   + master_style_framework.md (из Project Knowledge)
           │   + кусок текста от преподавателя
           │
           ▼
  ┌──────────────────┐
  │ hp-generate-image │  ← СЛЕДУЮЩИЙ SKILL
  └────────┬─────────┘
           │
           ▼
  Промпт для генерации иллюстрации
```

Второй skill получит конкретный кусок текста и сопоставит его со сценами по ID из chapter style. Поэтому важно, чтобы сцены были достаточно гранулярными — лучше больше мелких сцен, чем мало крупных.

---

## Алгоритм работы

### Шаг 0: Загрузить контекст

Загрузить оба входных файла (см. «Входные данные» выше):
- `master_style_framework.md` — каркас проекта (секции I–III, V–VI, VIII). Все решения в chapter style должны быть совместимы с ним.
- `HP_rosmen_ch{N}.md` — полный текст главы на русском.

### Шаг 1: Прочитать главу и составить инвентарь

Прочитай весь текст главы и выпиши:

**Персонажи:**
- Кто появляется впервые? (нужен полный эталон)
- Кто упоминается, но не появляется физически? (заглушка)
- Кто появляется повторно из предыдущих глав? (только если есть визуальные изменения)

**Локации:**
- Какие места описаны? Новые или уже знакомые?
- Для каждого места: время суток, погода, освещение, ключевые предметы

**Сцены:**
- Разбить главу на визуальные эпизоды (смена места, действия, настроения)
- Для каждого эпизода: кто, где, что делает, какое настроение

### Шаг 2: Написать секцию «Персонажи главы»

Для каждого персонажа, **впервые появляющегося** в этой главе, создать полный эталон:

```markdown
### Имя Персонажа

| Параметр | Описание |
|---|---|
| **Телосложение** | ... |
| **Лицо** | ... |
| **Волосы** | ... |
| **Одежда (базовая)** | ... |
| **Поза/Пластика** | ... |
| **Настроение** | ... |
```

**Правила эталона:**
- Описывать ТОЛЬКО визуальное — то, что видно на картинке
- Одежда — та, в которой персонаж появляется впервые или чаще всего в главе
- Если персонаж описан мало (мелькнул, упомянут) — краткая заглушка в 2–3 строки
- Метафоры из текста переводить в конкретные визуальные инструкции (например: «глаза как жуки» → «маленькие, блестящие, тёмные глаза»)
- НЕ добавлять то, чего в тексте нет. Если цвет глаз не назван — не придумывать

Для персонажей, **только упомянутых** (не появляющихся физически):

```markdown
### Имя Персонажа

- Упоминается только по имени / в контексте...
- Визуального описания пока нет
- Не визуализировать до появления в тексте
```

### Шаг 3: Написать секцию «Локации главы»

Для каждой новой локации:

```markdown
### Название локации

| Параметр | Описание |
|---|---|
| **Уровень магии** | 1 / 2 / 3 (по шкале из MASTER_STYLE, секция VI) |
| **Палитра** | В рамках общего стиля — никаких кислотных цветов |
| **Освещение** | ... |
| **Ключевые детали** | Конкретные предметы, архитектура, текстуры |
| **Настроение** | ... |
```

**Правила:**
- Палитра ВСЕГДА в рамках общего стиля (тёплая, приглушённая, сепийная)
- Если локация имеет разные состояния (день/ночь) — подварианты или диапазон
- Уровень магии обязательно привязывать к шкале

### Шаг 4: Написать секцию «Сцены и ситуации»

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

Каждая сцена получает **ID** формата `S{номер}` (S1, S2, S3...) — порядковый номер по хронологии главы. Этот ID используется для связки: когда второй skill получит конкретный кусок текста, он сопоставит его с одной или несколькими сценами по ID.

#### 4a: Список сцен главы (хронологический)

```markdown
## Сцены главы (обзор)

| ID | Название сцены | Локация | Персонажи | Уровень магии |
|---|---|---|---|---|
| S1 | Обычное утро Дурслей | Privet Drive, интерьер | Вёрнон, Петуния | 1 |
| S2 | Дорога на работу | Автомобиль → улицы | Вёрнон | 1 |
| ...| ... | ... | ... | ... |
```

Эта таблица — оглавление всех визуальных эпизодов главы. Она помогает второму skill быстро найти нужную сцену.

#### 4b: Детальное описание по персонажам

Группировка **по персонажам**. Для каждого персонажа — хронологический список его сцен с ссылкой на ID:

```markdown
### Имя Персонажа

#### [{S1}] Краткое название сцены

| Параметр | Описание |
|---|---|
| **Локация** | Название из секции «Локации» |
| **Уровень магии** | 1 / 2 / 3 |
| **Одежда** | Эталон / описание отличий |
| **Эмоциональный тон** | Динамика эмоций через сцену |
| **Ключевые детали** | Конкретные жесты, позы, предметы из текста |
| **Отличия от эталона** | Нет / конкретные визуальные отличия |
```

**Правила:**
- Сцены хронологически внутри каждого персонажа, с ID из обзорной таблицы
- «Отличия от эталона» — самое важное поле. Здесь всё, что генератору иллюстраций нужно знать ПОМИМО базового описания
- Если ничего не отличается — «Нет» или «Эталон»
- Эмоциональный тон описывать как ДИНАМИКУ, не статику: «самодовольство → нарастающее раздражение», а не просто «раздражён»
- «Ключевые детали» — конкретные физические детали из текста: жесты, позы, предметы в руках, характерные действия
- Один персонаж может участвовать в нескольких сценах — у каждой свой блок

**Что считать отдельной сценой:**
- Смена локации (вышел из дома → сел в машину)
- Смена состава персонажей (остался один → пришёл кто-то)
- Смена действия (разговор → физическое действие)
- Резкая смена настроения (спокойствие → конфликт)
- НЕ считать: мелкие паузы внутри одного разговора, внутренние мысли без смены обстановки

### Шаг 5: Собрать файл

Финальная структура `BOOK_{N}_CHAPTER_{M}_STYLE.md`:

```markdown
# BOOK {N} · CHAPTER {M} — Illustration Style Guide

> Дельта-документ. Общие правила проекта (стиль, запреты, шкала магии) — см. master_style_framework.md в Project Knowledge.

**Книга:** {название}
**Глава:** {номер} — {название главы}
**Источник текста:** перевод Росмэн

---

## Персонажи главы

{эталоны новых персонажей}
{заглушки упомянутых}

---

## Локации главы

{описания локаций}

---

## Сцены главы (обзор)

| ID | Название сцены | Локация | Персонажи | Уровень магии |
|---|---|---|---|---|
| S1 | ... | ... | ... | ... |

---

## Сцены и ситуации (по персонажам)

{детальные описания сцен, сгруппированные по персонажам, со ссылками на ID}

---

## Сводка главы для иллюстратора

{2–3 абзаца: общая атмосфера главы, ключевой визуальный контраст,
 главный эмоциональный вектор, на что обращать внимание}
```

### Проверка выхода

Перед сохранением проверить:

- [ ] Все персонажи из главы учтены (впервые появляющиеся — полный эталон, упомянутые — заглушка)
- [ ] Визуальные описания основаны на тексте, а не на фильмах/фанарте
- [ ] Метафоры из текста переведены в конкретные визуальные инструкции
- [ ] Уровни магии (1/2/3) проставлены для каждой сцены и локации
- [ ] Сцены достаточно гранулярные (каждая смена места/персонажей/настроения = отдельная сцена)
- [ ] Эмоциональный тон описан как динамика, не статика
- [ ] Секции I-VIII из MASTER_STYLE не дублируются

### Шаг 6: Сохранить и отдать пользователю

Сохранить файл в `/mnt/user-data/outputs/BOOK_{N}_CHAPTER_{M}_STYLE.md` и показать через `present_files`.

---

## Принципы качества

### Что ОБЯЗАТЕЛЬНО
- Все визуальные описания основаны на тексте, а не на фильмах/фанарте
- Метафоры из текста переведены в конкретные визуальные инструкции
- Уровни магии проставлены для каждой сцены и локации
- Эмоциональный тон описан как динамика, не статика
- Конкретные физические детали (жесты, предметы, позы) зафиксированы

### Чего НЕ делать
- Не придумывать визуальные детали, которых нет в тексте
- Не дублировать секции I–III, V–VIII из MASTER_STYLE
- Не добавлять «красивые» детали ради красоты — только то, что обосновано текстом
- Не писать промпты для генерации картинок — это отдельный этап

### Особое внимание
- **Первое появление персонажа в книге** (не только в главе): полный эталон, который будет каноном для всех последующих глав
- **Переходные сцены**: смена локации, времени суток, настроения — ценны для иллюстратора
- **Тихие моменты**: не всё в главе — действие. Моменты тишины, ожидания, одиночества — часто лучшие иллюстрации

---

## Секция «Сводка главы для иллюстратора»

Это финальная секция, которая помогает иллюстратору «схватить» главу целиком. Пиши от третьего лица, как арт-директор:

- **Атмосфера**: доминирующее визуальное ощущение главы (одним предложением)
- **Ключевой контраст**: что с чем сталкивается визуально (обыденность vs. странность, тепло vs. холод, масштаб vs. интимность)
- **Эмоциональная дуга**: как глава ощущается от начала к концу
- **Визуальные якоря**: 3–5 конкретных образов, которые определяют главу (предметы, жесты, моменты)
- **Чего избегать**: визуальные клише или моменты, которые в этой главе НЕ стоит иллюстрировать
