--- name: add-book description: Добавить книгу в Obsidian vault. Используй когда пользователь пишет "/add-book" или просит добавить книгу с конкретными данными. version: 3.0.0 --- Добавь книги в Obsidian vault по данным: $ARGUMENTS ## Что сделать ### Шаг 1 — Всё параллельно с первого хода Запусти **одновременно**: - Glob `Библиотека/Книги/*.md` — проверка дубликата - WebSearch `site:labirint.ru <название книги> <автор>` — поиск метаданных - WebSearch `"<название книги>" <автор> краткое содержание ключевые идеи цитаты` — поиск идей После Glob: если книга уже есть — сообщи и остановись. ### Шаг 2 — Извлечь метаданные без WebFetch Из результатов поиска labirint.ru: - Возьми URL вида `https://www.labirint.ru/books//` - **Cover URL** строится сразу: `imo10.labirint.ru/books//cover.jpg/500-0` — **не нужен WebFetch** - **Число страниц** — ищи в сниппете поиска (часто есть в формате "XXX стр."). Если нет в сниппете — используй curl: ```bash curl -s -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36" \ "https://www.labirint.ru/books//" | grep -oE '[0-9]+ стр' | head -1 ``` Если curl тоже не дал — ищи число страниц в сниппетах chitai-gorod.ru или book24.ru. **Если labirint.ru не нашёл книгу** — WebSearch на `site:chitai-gorod.ru <название> <автор>` или `site:book24.ru <название> <автор>`. Для обложки: ищи CDN-ссылку в HTML через curl. ### Шаг 3 — Скачать обложку и создать файл (параллельно) ```bash curl -s -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36" \ -L "https://imo10.labirint.ru/books//cover.jpg/500-0" \ -o "/Users/ksv741/Obsidian/Knowledges/Библиотека/Книги/covers/.jpg" & wait ``` Сразу после запуска curl создай файл книги (Write tool) — они работают параллельно. ### Шаг 4 — Определить тип и создать файл - **Художественная** (роман, повесть, рассказы, фантастика, детектив, классика) → шаблон для художественных - **Нехудожественная** (техническая, научпоп, бизнес, саморазвитие) → основной шаблон Правила файла: - Путь: `Библиотека/Книги/<Название>.md` (абсолютный путь) - `Ссылка` — всегда пусто - `Прогресс` = кол-во страниц если статус `Прочитано`, иначе `0` - Сразу после `# <Название>` вставь `![[covers/.jpg]]` **Не делай git-операций** --- ## Шаблон для нехудожественных книг ```markdown --- Тип: Книга Статус: <статус> Название: <название> Автор: - <автор> Количество страниц: <число> Прогресс: <число> Формат: <формат> Обложка: Библиотека/Книги/covers/.jpg Начата: <год> Закончена: <год> Оценка: Сложность: Теги: - <тег> Категории: - <категория> Источник: Ссылка: --- # <Название> ![[covers/.jpg]] ## 📖 О книге ## 🧠 Ключевые идеи ## 💬 Важные цитаты ## 💡 Как применить в моих проектах ## 🔗 Связанные заметки ``` ## Шаблон для художественных книг ```markdown --- Тип: Книга Статус: <статус> Название: <название> Автор: - <автор> Количество страниц: <число> Прогресс: <число> Формат: <формат> Обложка: Библиотека/Книги/covers/.jpg Начата: <год> Закончена: <год> Оценка: Категории: - <категория> Ссылка: --- # <Название> ![[covers/.jpg]] ## 📖 О книге ## 🧠 Ключевые темы ## 💬 Важные цитаты ``` --- **Статус:** `Запланировано` | `Хочу прочитать` | `В процессе` | `Прочитано` | `Заброшена` **Формат:** `Бумажная` | `Электронная` | `Аудио` ## Fallback-цепочка | Что ищем | 1й выбор | Fallback | |----------|----------|----------| | Страница книги | labirint.ru | chitai-gorod.ru → book24.ru | | Обложка | `imo10.labirint.ru/books//cover.jpg/500-0` | curl grep CDN на piter.com | | Число страниц | Сниппет поиска | curl grep на странице → chitai-gorod.ru сниппет |