# Journal To Vedomost

> Генерация зачётных ведомостей (.docx) на основе скриншотов электронного журнала. Используй этот навык когда нужно: создать зачётную ведомость из журнала; перенести оценки из журнала в ведомость; оцифровать журнал в docx; сформировать ведомость по группе; зачётная ведомость docx; журнал оценки в word; итоговые оценки ведомость; учебная практика ведомость. Triggers: "зачётная ведомость", "перенести оценки", "ведомость из журнала", "сформировать ведомость", "журнал в word", "итог оценки docx".

- Skill: `kirrrkaz-org/journal-to-vedomost` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add kirrrkaz-org/journal-to-vedomost`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kirrrkaz-org/journal-to-vedomost/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: Kirrrkaz-ORG (https://skillmd.com/u/kirrrkaz-org)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/kirrrkaz-org/journal-to-vedomost

---


# Навык: Генерация зачётных ведомостей из журнала

## Когда применять

- Пользователь скидывает скриншот электронного журнала (Мой Класс, Сетевой Город и др.)
- Нужно создать `.docx` зачётную ведомость по группе
- Нужно перенести итоговые оценки (столбец ИТОГ) в официальный документ
- Нужно оформить ведомость с шапкой (группа, дисциплина, преподаватель, дата)

---

## Процедура

### Шаг 1 — Попросить скриншот журнала

Попроси пользователя скинуть скриншот журнала с видимым **столбцом ИТОГ**.

**Что должно быть видно на скриншоте:**

```
┌─────────────────────────────────────────────────────────────────────┐
│ Журнал УП.04 Учебная практика / 23ИСд-24 / Курс 2 / 09.02.07       │
│                                                                      │
│  Список студентов    │ ... даты занятий ... │ ИТОГ │ по теме │ Ср.  │
│──────────────────────┼─────────────────────┼──────┼─────────┼──────│
│ 1  Амонбеков Муиз    │  5₃  ...  5₃        │  5   │  5,00   │ 4,76 │
│ 2  Борзова Вероника  │  н н н н н н        │ А/З  │         │ 0,00 │
│ 3  Бузанов Семён     │  5₃  ...  5₃        │  5   │  5,00   │ 5,00 │
└─────────────────────────────────────────────────────────────────────┘
```

> **Пример скриншота журнала:**
> ![Пример журнала](./assets/example_journal.png)

---

### Шаг 2 — Извлечь метаданные из заголовка журнала

Из заголовка страницы читаем:

| Поле | Где искать | Пример |
|------|-----------|--------|
| Дисциплина | Заголовок журнала | `УП.04 - Учебная практика` |
| Группа | Заголовок | `23ИСд-24` |
| Курс | Заголовок | `Курс 2` |
| Специальность | Заголовок | `09.02.07` |
| Последняя дата | Последнее число в шапке дат | `06.03.2026` |
| Преподаватель | Уточнить у пользователя | `Фролова Кира Алексеевна` |

> ⚠️ **Семестр** определяем по месяцу:
> - Сентябрь–Январь → Семестр 1
> - Февраль–Июнь → Семестр 2

---

### Шаг 3 — Прочитать столбец ИТОГ

Читаем **крайний правый** столбец перед колонками «по теме ср. балл» и «Ср.»

Возможные значения:
- `5`, `4`, `3`, `2` — оценка
- `А/З` — отсутствовал / не зачтено (выделяем красным фоном в ведомости)
- `НЗЧ` или `н/з` — не зачтено (обрабатываем как А/З)

**Правило проверки:** если `Ср. = 0,00` → скорее всего А/З. Если `Ср. > 0` → есть оценка, читаем ИТОГ.

Перед генерацией — **подтвердить список у пользователя**, особенно если есть нестандартные оценки.

---

### Шаг 4 — Уточнить у пользователя

Перед генерацией спросить (если не указано на скриншоте):
1. ФИО преподавателя (может быть несколько)
2. Точная дата проведения (если последнее число неразборчиво)

---

### Шаг 5 — Сгенерировать .docx

Использовать скрипт [make_vedomost.py](./scripts/make_vedomost.py).

Запустить из папки проекта:
```bash
python make_vedomost.py
```

Файл сохраняется в папку `Зачётные ведомости/` автоматически.

**Структура документа:**
- Заголовок: `ЗАЧЁТНАЯ ВЕДОМОСТЬ`
- Подзаголовок: дисциплина
- Реквизиты: курс, группа, семестр, специальность, дата, ФИО преподавателя
- Таблица: № п/п | ФИО | Оценка | Подпись преподавателя
  - Шапка: синий фон (`BDD7EE`)
  - Строки А/З: красный фон (`FFE0E0`)
- Строка подписи внизу

---

### Шаг 6 — Переместить в папку Зачётные ведомости

Документ сохраняется сразу в `Зачётные ведомости/` — дополнительных действий не требуется.

---

## Стандарт именования файлов

```
<Группа>_<Дисциплина>_зачётная_ведомость.docx
```

Примеры:
- `23ИСд-24_УП.04_зачётная_ведомость.docx`
- `32ИСд-23_УП.15_зачётная_ведомость.docx`
- `1ИСд-25_УП.02_зачётная_ведомость.docx`

Если несколько групп одной дисциплины — добавлять суффикс `_гр2`, `_гр3`.

---

## Стандартные цвета ведомости

| Элемент | HEX |
|---------|-----|
| Заголовок таблицы | `BDD7EE` (синий) |
| Строки А/З | `FFE0E0` (красный) |

---

## Зависимости Python

```
python-docx  — генерация .docx
```

Установка:
```bash
pip install python-docx
```

