Back to skills
SkillHub ClubShip Full StackFull Stack
finish-es_latam-audiobook
Imported from https://github.com/smoreg/biLangGen.
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Stars
0
Hot score
74
Updated
March 19, 2026
Overall rating
C2.2
Composite score
2.2
Best-practice grade
F32.4
Install command
npx @skill-hub/cli install smoreg-bilanggen-finish-es-latam-audiobook
Repository
smoreg/biLangGen
Skill path: .claude/skills/finish-es_latam-audiobook
Imported from https://github.com/smoreg/biLangGen.
Open repositoryBest for
Primary workflow: Ship Full Stack.
Technical facets: Full Stack.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: smoreg.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install finish-es_latam-audiobook into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/smoreg/biLangGen before adding finish-es_latam-audiobook to shared team environments
- Use finish-es_latam-audiobook for development workflows
Works across
Claude CodeCodex CLIGemini CLIOpenCode
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
---
name: finish-es_latam-audiobook
description: Финализация аудиокниги ru→es_latam. Проверяет что ВСЕ переводы готовы, генерирует TTS, комбинирует аудио, ищет фоновую картинку, создаёт видео. Использовать ТОЛЬКО после завершения claude-translation-pipeline-es_latam.
---
# Finish es_latam Audiobook
## ⚠️ КРИТИЧЕСКИЕ ТРЕБОВАНИЯ
### 1. ПЕРЕВОДИТЬ НЕЛЬЗЯ!
```
❌ ЗАПРЕЩЕНО: Переводить предложения или слова
❌ ЗАПРЕЩЕНО: Изменять таблицы sentences/rare_words
✅ РАЗРЕШЕНО: Только чтение из БД + генерация audio/video
```
### 2. Предварительная проверка (ОБЯЗАТЕЛЬНО!)
**Перед ЛЮБЫМИ действиями выполни:**
```python
import sqlite3
db = sqlite3.connect('projects/PROJECT_ru_es_latam/project.db')
# Проверить ВСЕ предложения переведены
missing = db.execute('''
SELECT COUNT(*) FROM sentences WHERE lang="ru"
AND sentence_idx NOT IN (SELECT sentence_idx FROM sentences WHERE lang="es_latam")
''').fetchone()[0]
# Проверить ВСЕ слова переведены
missing_words = db.execute('''
SELECT COUNT(*) FROM rare_words WHERE translation IS NULL
''').fetchone()[0]
if missing > 0 or missing_words > 0:
print(f"❌ СТОП! Переводы не завершены!")
print(f" Missing sentences: {missing}")
print(f" Missing words: {missing_words}")
print(" → Сначала завершить claude-translation-pipeline-es_latam")
# ОСТАНОВИТЬСЯ! НЕ ПРОДОЛЖАТЬ!
else:
print("✅ Все переводы готовы, можно продолжать")
```
**Если есть missing → ОСТАНОВИТЬСЯ и сообщить пользователю!**
---
## Параметры
| Параметр | Значение |
|----------|----------|
| Source lang | `ru` |
| Target lang | `es_latam` |
| TTS locale | `es-latam` (Latin American Spanish) |
| Source speed | `1.5` |
| Target speed | `0.8` |
| Parallel workers | `16` (все процессы) |
---
## Pipeline
### Step 1: Проверка переводов
См. выше. Если не пройдена → СТОП.
### Step 2: Поиск фоновой картинки
```python
# Получить название книги из проекта
book_name = "asimov_profession" # из имени проекта или meta
# Поиск в интернете
search_query = f"{book_name} book cover art wallpaper"
# Использовать WebSearch для поиска
# Выбрать подходящую картинку (1920x1080 или больше)
# Скачать в projects/PROJECT/video/background.jpg
```
**Критерии выбора картинки:**
- Разрешение минимум 1920x1080
- Тематически связана с книгой
- Без текста или с минимальным текстом
- Подходит как фон (не слишком яркая/пёстрая)
### Step 3: Генерация Audio + Video
```bash
python3 main.py resume PROJECT_NAME \
--tts google_cloud \
--tts-target-locale es-latam \
--source-speed 1.5 \
--target-speed 0.8 \
--tts-parallel 16 \
--combine-workers 16 \
--video-workers 16 \
--background projects/PROJECT/video/background.jpg
```
**Если background не поддерживается CLI:**
```bash
# Сначала audio
python3 main.py resume PROJECT_NAME \
--tts google_cloud \
--tts-target-locale es-latam \
--source-speed 1.5 \
--target-speed 0.8 \
--tts-parallel 16 \
--combine-workers 16
# Потом video с background (проверить CLI опции)
python3 main.py resume PROJECT_NAME \
--video-workers 16 \
--background projects/PROJECT/video/background.jpg
```
---
## Workflow Summary
```
1. ✅ Проверить переводы (sentences + rare_words)
↓ Если missing → СТОП
2. 🔍 Найти фоновую картинку (WebSearch)
↓ Скачать в video/background.jpg
3. 🎙️ TTS генерация (16 параллелей)
- Source: ru, speed 1.5
- Target: es-latam, speed 0.8
4. 🔊 Combine audio (16 параллелей)
5. 🎬 Generate video с background (16 параллелей)
6. ✅ Готово!
```
---
## Проверка результата
После завершения:
```bash
ls -la projects/PROJECT/
# Должно быть:
# - audio/combined.mp3
# - video/output.mp4
# - video/subtitles.ass
# - video/background.jpg
# Проверить размер видео
ffprobe projects/PROJECT/video/output.mp4
```
---
## Troubleshooting
### TTS квота исчерпана
```bash
python3 main.py quota
# Если Google Cloud квота закончилась - подождать или использовать другой провайдер
```
### Video генерация падает
```bash
# Уменьшить параллелизм
--video-workers 8
# Или даже
--video-workers 4
```
### Background не подхватывается
Проверить что картинка:
- Существует по пути
- Формат JPG/PNG
- Не битая
---
## Self-Reminder
```
📌 CURRENT STATE:
- Project: {name}
- Translations: ✅ verified
- Background: {found/missing}
- Audio: {pending/in_progress/complete}
- Video: {pending/in_progress/complete}
- Next: {action}
```
---
## Anti-Patterns
❌ **НЕ ДЕЛАТЬ:**
- Запускать без проверки переводов
- Переводить что-либо
- Редактировать sentences/rare_words
- Использовать es вместо es-latam для TTS
- Забывать про background картинку
✅ **ДЕЛАТЬ:**
- Проверка переводов ПЕРВЫМ шагом
- Искать качественный background
- 16 параллелей везде
- Скорости: source 1.5, target 0.8
- TTS locale: es-latam