pdf-processing
Extract text and tables from PDF files, fill forms, merge documents.
Skill by beita6969
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/beita6969-pdf-processing
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/pdf-processing
What's inside
- Skill name
pdf-processing- Description
- Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
- License
- MIT
- Instructions
- 146 lines in SKILL.md · view on GitHub
Files (2)
- FORMS.md
- SKILL.md
SKILL.md (first lines)
# PDF Processing
## Quick start
Use pdfplumber to extract text from PDFs:
```python
import pdfplumber
with pdfplumber.open("document.pdf") as pdf:
text = pdf.pages[0].extract_text()
print(text)
```
## Extracting tables
Extract tables from PDFs with automatic detection:
```python
import pdfplumber
with pdfplumber.open("report.pdf") as pdf:
page = pdf.pages[0]
tables = page.extract_tables()
for table in tables:
for row in table:
print(row)
```
## Extracting all pages
Process multi-page documents efficiently:
```python
import pdfplumber
with pdfplumber.open("document.pdf") as pdf:
full_text = ""
for page in pdf.pages:
full_text += page.extract_text() + "\n\n"
print(full_text)
```
## Form filling
For PDF form filling, see [FORMS.md](FORMS.md) for the complete guide including field analysis and validation.
## Merging PDFs
Combine multiple PDF files:
```python
from pypdf import PdfMerger
merger = PdfMerger()
for pdf in ["file1.pdf", "file2.pdf", "file3.pdf"]:
merger.append(pdf)
merger.write("merged.pdf")
merger.close()
```
## Splitting PDFs
Extract specific pages or ranges:
```python
from pypdf import PdfReader, PdfWriter
reader = PdfReader("input.pdf")
writer = PdfWriter()
# Extract pages 2-5
for page_num in range(1, 5):
writer.add_page(reader.pages[page_num])
with open("output.pdf", "wb") as output:
writer.write(output)
```
## Available packages
- **pdfplumber** - Text and table extraction (recommended)
- **pypdf** - PDF manipulation, merging, splitting
- **pdf2image** - Convert PDFs to images (requires poppler)
- **pytesseract** - OCR for scanned PDFs (requires tesseract)
## Common patterns
**Extract and save text:**
```python
import pdfplumber
with pdfplumber.open("input.pdf") as pdf:
text = "\n\n".join(page.extract_text() for page in pdf.pages)
with open("output.txt", "w") as f:
f.write(text)
```
**Extract tables to CSV:**
```python
import pdfplumber
import csv
with pdfplumber.open("tables.pdf") as pdf:
tables = pdf.pages[0].extract_tables()
with open("output.csv", "w", newline="") as f:
writer = csv.writer(f)
for table in tables:
writer.writerows(table)
```
## Error handlingFrom beita6969/ScienceClaw, MIT.
More from beita6969/ScienceClaw
- 0.608score
scienceclaw-benchmark-for51
beita6969
Use when a task asks to predict a phonon property of inorganic crystals from their structure, for example the frequency of the last peak of the phonon density…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for44
beita6969
Use when a task gives a covariate table plus, for each of many simulated observational datasets, a binary treatment vector and an outcome vector, and asks for…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for43
beita6969
Use when a task gives noisy OCR text of historical newspapers, periodicals or books (several languages, with metadata and a set of labelled OCR/ground-truth…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for34
beita6969
Use when predicting a binary molecular property such as HIV replication inhibition (OGB ogbg-molhiv, MoleculeNet-style activity) from SMILES strings and…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for42
beita6969
Use when a task gives hourly ICU records (vitals, labs, demographics, one stay per patient) with sepsis labels and asks for causal hour-by-hour sepsis alarms…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for33
beita6969
Use when forecasting day-ahead hourly electricity load of individual buildings (residential and commercial smart-meter data, BuildingsBench-style) from the…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for32
beita6969
Use when segmenting the hippocampus into anterior and posterior parts in small 3-D T1-weighted brain MRI crops (Medical Segmentation Decathlon Task04) from a…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for35
beita6969
Use when forecasting monthly tourism, visitor or other seasonal business and service series (Monash Tourism Monthly, 24-month horizon, period 12) from each…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark
beita6969
Index of the 23 discipline skills (FoR30-FoR52) that mirror the disciplines of the companion ScienceClaw-Eval benchmark: find which discipline skill fits a…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for30
beita6969
Use when segmenting top-down field or UAV RGB images of crops (sugar beet, PhenoBench-style) into soil / crop / weed semantics plus crop-plant and crop-leaf…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for31
beita6969
Use when ranking or predicting the fitness effect of single amino-acid substitutions in a protein (deep mutational scanning, ProteinGym-style assays) from…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for46
beita6969
Use when a task gives Python programming problems (a function stub with docstring or a task description, an entry-point name, a few public assert tests) and…
SkillAFreshness: A★ 1KClaude Code +9
Signals
- Stars
- 1,019
- Forks
- 109
- Open issues
- 1
- Last commit (this folder)
- Mar 12, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/beita6969/ScienceClaw
- Website
- scienceclaw.science
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from beita6969
- 0.608score
scienceclaw-benchmark-for33
beita6969
Use when forecasting day-ahead hourly electricity load of individual buildings (residential and commercial smart-meter data, BuildingsBench-style) from the…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for34
beita6969
Use when predicting a binary molecular property such as HIV replication inhibition (OGB ogbg-molhiv, MoleculeNet-style activity) from SMILES strings and…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for30
beita6969
Use when segmenting top-down field or UAV RGB images of crops (sugar beet, PhenoBench-style) into soil / crop / weed semantics plus crop-plant and crop-leaf…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for32
beita6969
Use when segmenting the hippocampus into anterior and posterior parts in small 3-D T1-weighted brain MRI crops (Medical Segmentation Decathlon Task04) from a…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark
beita6969
Index of the 23 discipline skills (FoR30-FoR52) that mirror the disciplines of the companion ScienceClaw-Eval benchmark: find which discipline skill fits a…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for35
beita6969
Use when forecasting monthly tourism, visitor or other seasonal business and service series (Monash Tourism Monthly, 24-month horizon, period 12) from each…
SkillAFreshness: A★ 1KClaude Code +9
Cite this page
pdf-processing skill. Agent Mart. https://agentmart.dev/skills/beita6969-pdf-processing (last updated 2026-10-24)