A pdf-reader
Extract text from PDF files with automatic OCR fallback for scanned/image-based PDFs. Use when: (1) a user sends a PDF file and the framework did not auto-inject text content, (2) the injected text is empty or garbled, (3) a PDF file exists on disk and needs text extraction, (4) user mentions "read PDF", "extract PDF", "PDF content", "scan PDF", "OCR". Handles both text-layer PDFs (fast pdftotext) and scanned/image PDFs (tesseract OCR). Supports Chinese + English by default, configurable languages.
- Безопасность 60%
- Качество 40%
- Тесты бонус
Как улучшить
- Добавьте evals/evals.json с 4–6 реальными запросами и ожидаемыми ответами: тогда полная проверка использует ваши кейсы, а не черновик модели.
- Добавьте spec.yaml с триггерами и утверждениями (skilltest init): это контракт поведения для CI.
Находки guard · 0
✓ Критических и высоких находок нет
Просканировано файлов: 3. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
Lint
✓ Lint: замечаний нет
Процессная зрелость 58/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 30Повторный запуск. Изменяющих операций: 1, без проверки текущего состояния
- 85Шаги. Шагов: 11, расплывчатых формулировок: 1
- 100Инструменты и файлы. Внешние инструменты не нужны
- 100Ошибки и развилки. Развилок: 1, есть раздел про ошибки
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 756 токенов
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Формат ответа не описан: модель каждый раз решает сама
- +1Лицензия не указана
- +2Инструкции на одном языке
- +5В description 4 примера фраз-триггеров в кавычках
- +3Длина description 503 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 9 заголовков
- +3Пошаговые инструкции: 11 пунктов
- +4Есть примеры (7 блоков кода)
- +3Все 1 скриптов описаны в инструкциях
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 92.