---
name: anki-daria
description: Создать Anki карточки из фото с рукописными словами от Даши (репетитор немецкого)
disable-model-invocation: true
argument-hint: [path-to-image]
model: sonnet
---

# Создание Anki карточек из фото

## Задача

Распознать рукописный текст с немецкими словами с фотографии и создать CSV для импорта в Anki.

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

Путь к изображению передаётся как аргумент: `$ARGUMENTS`

Если аргумент не указан, покажи последние файлы из `course/daria/lesson-words/2026/` по убыванию, пронумеруй, пометь какой файл последний и спроси какой обработать.

## Алгоритм

1. **Прочитай изображение** с помощью Read tool
2. **Распознай слова** — обычно формат: немецкое слово — русский перевод
3. **Найди уже добавленные слова** и пометь их как уже добавленные
4. **Покажи результат** пользователю для проверки в виде таблицы
5. **После подтверждения** - добавь CSV-сниппет в конец файла [009-daria.csv](../../../app/anki/import/009-daria.csv) оставив над сниппетом пустую строку

## Поиск уже добавленных слов

- Постарайся использовать комманды sed, grep или аналогичные для поиска по файлам
- Проверяй, есть ли немецкое слово в файлах
  - `app/anki/import/001-conjunctions.csv`
  - `app/anki/import/009-daria.csv`
  - `app/anki/import/012-daria-star.csv`
  - `app/anki/import/016-exam-b1-book-words.csv`
  - `app/anki/import/021-flashcard-bot-01.csv`
- Если слово уже есть, пометь его в таблице как "уже добавлено" при показе пользователю
- При сохранеии в CSV для добавленных слов
  - добавляй их в самый конец списка, после всех новых слов
  - отдели уже добавленные слова от новых пустой строкой

## Отображение результата в виде таблицы

- Если слово с отделяемой приставкой, то отделяй приставку символом ·

## Формат вывода CSV

```
немецкое слово;русский перевод;;;;;;;;
```

Колонки: `Front;Back;Example;ExampleTranslation;Notes;Synonym;Context;ContextTranslation;FrontNoSeparator;`

- Для базовых слов заполняем только Front, Back, Example и ExampleTranslation, остальное пустое.
- В конце строки всегда точка с запятой
  
### Формат колонок

- Front - всегда начинается с маленькой буквы
  - Если это существительное, обязательно указывается артикль.
  - Если указан предлог и падеж, то предлог надо обернуть в html-тег <b></b>, а падеж в <i></i> 
  - Если это слово с отделяемой приставкой, то приставку надо отделить символом ·
  - Если это echte reflexive Verb (собственно-возвратный глагол), то его нужно записать с местоимением sich вначале.
  - Если глагол может быть и возвратным, и невозвратным, то его нужно записать без местоимения, а в колонке Notes указать, что он может быть возвратным с местоимением sich
- Back - всегда начинается с маленькой буквы
- Example - пример с использованием этого слова. Слово обернуто в html-тег <b></b>
- ExampleTranslation - перевод Example. Слово обернуто в html-тег <b></b>
- FrontNoSeparator - если в Front есть символ ·, то в FrontNoSeparator его нет. Иначе FrontNoSeparator пустой

### Колонка Example и ExampleTranslation

- Примеров должно быть минимум 2, они разделены html-тегом <br />. Вокруг тега нет пробелов
- Должен быть пример в настоящем и пример в Perfekt времени
- Если это глагол, то
  - примеров должно быть минимум 3 формы: настоящее, Perfekt и Präteritum
  - если есть отделяемая приставка
    - то в примере она должна быть отделена символом ·
    - также один пример должен быть с отделённой приставкой, а другой пример - с приставкой на конце, чтобы показать оба варианта
- Если это существительное, должен быть пример в единственном и во множественном числе

## Примеры распознавания

Рукописный текст часто содержит:
- Артикли: der, die, das
- Тире или дефис между словом и переводом
- Несколько значений через запятую
- Дополнительную информацию об использовании предлога и падежа

```
Вход: "Die Witze - шутка"
Выход: die Witze;шутка;Wir haben den ganzen Abend über seinen <b>Witz</b> gelacht.<br />Er erzählt immer gute <b>Witze</b>.;Он всегда рассказывает хорошие <b>шутки</b>.<br />Мы весь вечер смеялись над его <b>шуткой</b>.;;;;;;
```

```
Вход: "froh - рад, счастливый"
Выход: froh;рад, счастливый;Ich bin sehr <b>froh</b>, dich zu sehen.<br />Ich bin <b>froh</b>, dass wir den Termin verschoben haben.;Я очень <b>рад</b> тебя видеть.<br />Я <b>рад</b>, что мы перенесли встречу.;;;;;;
```

```
Вход: "bestehen aus + Dat - состоять из чего-либо"
Выход: bestehen <b>aus</b> + <i>Dat</i>;состоять из чего-либо;Das Team <b>besteht aus</b> fünf Personen.<br />Die Prüfung hat nur aus drei Fragen <b>bestanden</b>.<br />Das alte Haus <b>bestand aus</b> Holz und Stein.;Команда <b>состоит из</b> пяти человек.<br />Экзамен <b>состоял</b> всего из трёх вопросов.<br />Старый дом <b>состоял из</b> дерева и камня.;;;;;;
```

```
Вход: "an·bieten - предлагать (вещь, помощь, услугу)"
Выход: an·bieten;предлагать (вещь, помощь, услугу);Kann ich Ihnen etwas zu trinken <b>an·bieten</b>?<br />Ich <b>biete</b> dir meine Hilfe <b>an</b>.<br />Er hat mir einen Kaffee <b>an·ge·boten</b>.<br />Gestern <b>bot</b> er mir einen Job <b>an</b>.;Могу ли я вам <b>предложить</b> что-нибудь попить?<br />Я <b>предлагаю</b> тебе свою помощь.<br />Он <b>предложил</b> мне кофе.<br />Вчера он <b>предложил</b> мне работу.;;;;;anbieten;
```

```
Вход: "freuen - радоваться"
Выход: sich freuen;радоваться;Ich <b>freue</b> mich auf den nächsten Urlaub.<br />Ich habe mich sehr über dein Geschenk <b>gefreut</b>.<br />Früher <b>freute</b> er sich über jede Kleinigkeit.;Я <b>радуюсь</b> (предвкушаю) следующий отпуск.<br />Я очень <b>обрадовался</b> твоему подарку.<br />Раньше он <b>радовался</b> каждой мелочи.;;;;;;
```

```
Вход: "freuen sich - радоваться"
Выход: sich freuen;радоваться;Ich <b>freue</b> mich auf den nächsten Urlaub.<br />Ich habe mich sehr über dein Geschenk <b>gefreut</b>.<br />Früher <b>freute</b> er sich über jede Kleinigkeit.;Я <b>радуюсь</b> (предвкушаю) следующий отпуск.<br />Я очень <b>обрадовался</b> твоему подарку.<br />Раньше он <b>радовался</b> каждой мелочи.;;;;;;
```

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

Скажи пользователю:
- Скопировать CSV и добавить в `app/anki/import/009-daria.csv`
- Или использовать команду для добавления в файл
