Transcribe
Skill matvej-melikhov/karpathy-llm-wiki/.claude/skills/transcribe
Программная реализация паттерна LLM Wiki (А. Карпаты). ВКР СПбГЭТУ "ЛЭТИ" 2026
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.
2 things to look at
- 19 days oldThe repository was created 19 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 0 stars0 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.
What its author says it does
Copied from the file, not written here
Преобразует бинарные источники (PDF, DOCX) в качественный markdown. Двухшаговый pipeline: механическая конвертация через библиотеки (Step 1) + агентское восстановление структуры (Step 2). Результат сохраняется в raw/ как обычный .md-источник для дальнейшего ingest. Может вызываться самостоятельно или автоматически из ingest при обнаружении бинарного источника. Триггеры: /transcribe, transcribe, convert pdf, преобразуй pdf, конвертируй документ, transcribe this file, обработай этот документ.
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