Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.
86
Quality
78%
Does it follow best practices?
Impact
100%
1.17xAverage score across 3 eval scenarios
Risky
Do not use without reviewing
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/data/06-office-pdf/SKILL.mdPDF report creation with reportlab
Uses reportlab
100%
100%
SimpleDocTemplate usage
100%
100%
Paragraph component
100%
100%
Spacer component
100%
100%
PageBreak component
100%
100%
getSampleStyleSheet usage
100%
100%
doc.build() call
100%
100%
PDF output exists
100%
100%
Reads input JSON
100%
100%
Without context: $0.4055 · 1m 21s · 17 turns · 23 in / 5,776 out tokens
With context: $0.3769 · 1m 23s · 22 turns · 25 in / 5,068 out tokens
PDF table extraction with pdfplumber and pandas
Uses pdfplumber
100%
100%
extract_tables call
100%
100%
DataFrame from table rows
0%
100%
Empty table guard
100%
100%
pd.concat usage
0%
100%
to_excel export
0%
100%
Excel output exists
100%
100%
PDF input exists
100%
100%
Without context: $0.3333 · 1m 34s · 16 turns · 18 in / 6,965 out tokens
With context: $0.4518 · 1m 44s · 22 turns · 377 in / 6,036 out tokens
PDF merging and password protection with pypdf
Uses pypdf
100%
100%
PdfWriter for merging
100%
100%
Iterates reader.pages
100%
100%
writer.encrypt() called
100%
100%
Both user and owner passwords
100%
100%
Metadata extraction
100%
100%
Protected PDF output exists
100%
100%
Password documented
100%
100%
Without context: $0.2129 · 1m 5s · 15 turns · 19 in / 3,602 out tokens
With context: $0.3860 · 1m 25s · 22 turns · 206 in / 4,525 out tokens
6213d1a
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.