pdf · shareai-lab — скилл для Claude Code: чтение, создание и склейка PDF
Скилл учит агента извлекать текст из PDF, собирать документы из Markdown и склеивать файлы. Пригодится, когда в задаче всплывает PDF.
npx skills add shareAI-lab/learn-claude-code --skill pdf -a claude-codeЧто делает pdf
Скилл даёт агенту готовые рецепты под пять операций: чтение, создание, склейка, разбивка на страницы и работа с метаданными. Для чтения предлагается pdftotext из poppler-utils, а если его нет — PyMuPDF через python3. Создание идёт тремя путями: pandoc из Markdown, ReportLab из кода, wkhtmltopdf или pdfkit из HTML.
Склейка и разбивка сделаны на PyMuPDF: открываешь документы по очереди, вставляешь их в новый и сохраняешь. Постраничный разбор нужен для больших файлов, чтобы не выедать память. Отдельно оговорены кодировки — в PDF они бывают разными, и пустой результат извлечения не всегда значит, что текста нет.
Перед запуском проверь, что нужные утилиты вообще стоят: pdftotext тянется из poppler, а PyMuPDF, ReportLab и pdfkit ставятся через pip. Для сканов скилл советует pytesseract, если обычное извлечение вернуло пустоту. Это повод заранее решить, работаешь ты с текстовыми PDF или со сканами — набор зависимостей от этого разный.
Какие задачи решает
- вытащить текст из PDF в терминале
- собрать PDF из Markdown-файла
- склеить несколько PDF в один документ
- разбить PDF на отдельные страницы
- посмотреть метаданные и число страниц
Примеры запросов агенту
- Извлеки текст из
report.pdfи покажи его целиком - Собери
output.pdfизnotes.mdчерез pandoc - Склей
file1.pdf,file2.pdfиfile3.pdfвmerged.pdf
Как установить pdf
1Через Skills CLI (Vercel)
npx skills add shareAI-lab/learn-claude-code --skill pdf -a claude-code2Вручную: положить файлы
~/.claude/skills/pdf/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/pdf/
1Через Skills CLI (Vercel)
npx skills add shareAI-lab/learn-claude-code --skill pdf -a codex2Вручную: положить файлы
.agents/skills/pdf/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add shareAI-lab/learn-claude-code --skill pdf -a cursor2Вручную: положить файлы
.cursor/skills/pdf/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install shareAI-lab/learn-claude-code pdf2Вручную: положить файлы
.github/skills/pdf/SKILL.md1Через Skills CLI (Vercel)
npx skills add shareAI-lab/learn-claude-code --skill pdf -a gemini-cli2Командой платформы
gemini skills install https://github.com/shareAI-lab/learn-claude-code --path skills/pdfВручную: положить файлы
.devin/skills/pdf/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add shareAI-lab/learn-claude-code --skill pdf -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о pdf
Как установить скилл pdf в Claude?
Выполни npx skills add shareAI-lab/learn-claude-code --skill pdf -a claude-code. Файл скилла окажется по пути ~/.claude/skills/pdf/SKILL.md.
Что делает скилл pdf?
Описывает агенту рабочие приёмы для PDF: извлечение текста, создание документа из Markdown, HTML или кода, склейку и разбивку по страницам.
Что нужно поставить для работы скилла?
Скилл советует проверить наличие инструментов до запуска. Для извлечения текста это pdftotext из poppler или PyMuPDF, для создания — ReportLab, pdfkit с wkhtmltopdf либо pandoc, для сканов — pytesseract.
Исходный текст
SKILL.md · MIT
---
name: pdf
description: Process PDF files - extract text, create PDFs, merge documents. Use when user asks to read PDF, create PDF, or work with PDF files.
---
# PDF Processing Skill
You now have expertise in PDF manipulation. Follow these workflows:
## Reading PDFs
**Option 1: Quick text extraction (preferred)**
```bash
# Using pdftotext (poppler-utils)
pdftotext input.pdf - # Output to stdout
pdftotext input.pdf output.txt # Output to file
# If pdftotext not available, try:
python3 -c "
import fitz # PyMuPDF
doc = fitz.open('input.pdf')
for page in doc:
print(page.get_text())
"
```
**Option 2: Page-by-page with metadata**
```python
import fitz # pip install pymupdf
doc = fitz.open("input.pdf")
print(f"Pages: {len(doc)}")
print(f"Metadata: {doc.metadata}")
for i, page in enumerate(doc):
text = page.get_text()
print(f"--- Page {i+1} ---")
print(text)
```
## Creating PDFs
**Option 1: From Markdown (recommended)**
```bash
# Using pandoc
pandoc input.md -o output.pdf
# With custom styling
pandoc input.md -o output.pdf --pdf-engine=xelatex -V geometry:margin=1in
```
**Option 2: Programmatically**
```python
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
c = canvas.Canvas("output.pdf", pagesize=letter)
c.drawString(100, 750, "Hello, PDF!")
c.save()
```
**Option 3: From HTML**
```bash
# Using wkhtmltopdf
wkhtmltopdf input.html output.pdf
# Or with Python
python3 -c "
import pdfkit
pdfkit.from_file('input.html', 'output.pdf')
"
```
## Merging PDFs
```python
import fitz
result = fitz.open()
for pdf_path in ["file1.pdf", "file2.pdf", "file3.pdf"]:
doc = fitz.open(pdf_path)
result.insert_pdf(doc)
result.save("merged.pdf")
```
## Splitting PDFs
```python
import fitz
doc = fitz.open("input.pdf")
for i in range(len(doc)):
single = fitz.open()
single.insert_pdf(doc, from_page=i, to_page=i)
single.save(f"page_{i+1}.pdf")
```
## Key Libraries
| Task | Library | Install |
|------|---------|---------|
| Read/Write/Merge | PyMuPDF | `pip install pymupdf` |
| Create from scratch | ReportLab | `pip install reportlab` |
| HTML to PDF | pdfkit | `pip install pdfkit` + wkhtmltopdf |
| Text extraction | pdftotext | `brew install poppler` / `apt install poppler-utils` |
## Best Practices
1. **Always check if tools are installed** before using them
2. **Handle encoding issues** - PDFs may contain various character encodings
3. **Large PDFs**: Process page by page to avoid memory issues
4. **OCR for scanned PDFs**: Use `pytesseract` if text extraction returns empty
© shareAI-lab · MIT · shareAI-lab/learn-claude-code
Похожие скиллы
Всё по теме «Документы и офис» →Сначала — pdf от других авторов.