Transcribe
Skill matvej-melikhov/karpathy-llm-wiki/.claude/skills/transcribe
Преобразует бинарные источники (PDF, DOCX) в качественный markdown. Двухшаговый pipeline: механическая конвертация через библиотеки (Step 1) + агентское восстановление структуры (Step 2). Результат сохраняется в raw/ как обычный .md-источник для дальнейшего ingest. Может вызываться самостоятельно или автоматически из ingest при обнаружении бинарного источника. Триггеры: /transcribe, transcribe, convert pdf, преобразуй pdf, конвертируй документ, transcribe this file, обработай этот документ.From its SKILL.md
npx -y skills add matvej-melikhov/karpathy-llm-wiki --skill transcribeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
6.9 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it
transcribe: конвертация бинарных источников в markdown
Превращает PDF или DOCX в читаемый структурированный markdown, пригодный
для synthesis через ingest. Оригинальный файл уходит в raw/formats/,
восстановленный .md — в raw/.
Команды и флаги
| Команда | Поведение |
|---|---|
/transcribe <file> | Полный pipeline: Step 1 + Step 2 (restore) |
/transcribe --no-restore <file> | Только Step 1 (для документов >100 страниц) |
/transcribe --ingest <file> | Pipeline + автоматически вызвать /ingest на результате |
Pipeline
Пользователь даёт файл (PDF/DOCX)
↓
[Проверка расположения]
Не в raw/formats/ → переместить туда
↓
Step 1а: bin/transcribe.py raw/formats/<file>
→ манифест изображений в stdout (JSON)
→ изображения сохранены в _attachments/
↓
Step 1б: Read tool на исходном файле
→ агент видит весь контент нативно:
текст, формулы LaTeX, таблицы, списки
↓
Step 2: агент пишет качественный markdown
(если ≤100 страниц — полное восстановление)
→ сохраняет raw/<stem>.md
↓
Готово. raw/<stem>.md — обычный источник,
готов к /ingest когда понадобится.
Детали каждого шага — в references/:
references/raw-pipeline.md— Step 1, форматы, изображения, именование, файловая структураreferences/wiki-integration.md— frontmatter восстановленного .md, интеграция с ingest
Важные правила для агента
Step 2 — это транскрипция, а не реферирование.
Задача агента: перевести визуальное содержимое документа в markdown дословно и полностью. Не сокращать, не суммировать, не "улучшать" — даже если текст кажется повторяющимся или избыточным.
Обязательно:
- Читать через Read tool. Нативный multimodal-агент корректно видит формулы, таблицы и структуру.
- Воспроизводить каждое предложение оригинала. Если в источнике три абзаца — в markdown три абзаца. Если один абзац занимает страницу — он занимает страницу.
- Форматирование по оригиналу:
- Формулы → LaTeX:
$...$inline,$$...$$block - Таблицы → markdown tables с теми же колонками и данными
- Нумерованные и маркированные списки → точно по структуре
- Жирный/курсив →
**bold**,*italic* - Подзаголовки → соответствующий уровень
##/### - Ссылки, сноски, цитаты (Author, YYYY) → сохранять
- Формулы → LaTeX:
Встраивание изображений:
- Из манифеста →
![[image.png]]там где стоит рисунок в оригинале, перед/после подписи - Изображение не извлечено (вектор) → плейсхолдер:
> **Рис. 1.10** *(изображение не извлечено — добавьте вручную)* > [текстовое описание того что на рисунке, основанное на контексте]
Категорически запрещено:
- ❌ Сокращать абзацы ("автор пишет о...")
- ❌ Пересказывать своими словами
- ❌ Объединять несколько предложений в одно
- ❌ Пропускать разделы, которые кажутся неважными
- ❌ Добавлять пояснения, комментарии, резюме от себя
- ❌ Менять структуру разделов
Если что-то не читается (OCR-артефакт, нечёткий скан) → оставлять [нечитаемо] или максимально близкую транслитерацию в скобках.
Исключение — аудио и видео: whisper-cpp возвращает «плоский» текст без пунктуации структуры (заголовков, списков). Агент вправе:
- разбить на логические разделы по смыслу (
##подзаголовки) - расставить абзацы по сменам темы
- исправить очевидные ошибки распознавания (имена, термины)
- убрать слова-паразиты («эээ», «ну вот», «как бы») если они не несут смысла
- но не сокращать содержание — каждая мысль говорящего должна остаться
Для видео — то же самое (ffmpeg извлекает аудиодорожку, дальше тот же pipeline).
Что делать если файл не туда положили
Пользователь может положить paper.pdf в raw/ или куда угодно.
Агент всегда выполняет проверку и перемещает:
# Если файл не в raw/formats/ — переместить
mkdir -p raw/formats
mv raw/paper.pdf raw/formats/paper.pdf
После перемещения продолжать pipeline.
What ships with it: 2 files
10.0 KB alongside SKILL.md
references/
- raw-pipeline.md6.7 KB
- wiki-integration.md3.3 KB