Extract rich data from PDF pages including text spans with metadata, rendered PNG images, and page mapping. Creates persistent artifacts for downstream processing.
SkillScore64Maintained
Automatic
◆Doc Ops pack
Last verified 8/22/2026
What it changes
Passed 12 of 19 test cases with the skill, and 4 of 19 without it.
Without skill23%
With skill64%
Checks it passed that the model alone missed
Logs a warning and proceeds to next step.
Saves the raw PDF page as a PDF image fallback.
Saves page mapping to analysis/page_mapping.json.
and 8 more in the full report
9 fixed5 passed either way8 still failing0 broke
Pass-rate lift
+41 pp
Tokens
+83%
Agent turns
0%
Response time
-47%
Model gemini-3.6-flashMeasured 8/22/2026v114 of 22 cases passed with skill · 19 comparable
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 9 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 9
Prompt
What is the default PDF file path used when pdf_path parameter is not explicitly provided in the input configuration for this pipeline?
What was checked, without and with the skill
Checked
Without skill
With skill
Uses Calypso/PREP-AL 4th Ed 9-26-25.pdf as the default pdf_path.
Missed
Passed
case-15 · gemini-3.6-flash · 8/22/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md291 linessingle file
PDF Page Extract Skill
Purpose
This skill extracts all necessary data from PDF pages to enable accurate AI-driven HTML generation. It produces three critical artifacts:
Rich extraction data - Text spans with font metadata (sizes, styles, positions)
Rendered PNG image - Visual reference for AI to understand page layout
Page mapping - Authoritative mapping of PDF indices to book pages
This is the deterministic, Python-based foundation for the entire pipeline. All extracted data is saved to persistent files for traceability and future processing.
What to Do
Validate input parameters
Check PDF file exists and is readable
Verify page range (PDF indices or book pages)
Confirm output directory structure
Establish page mapping (if not already done)
Run: python3 Calypso/tools/read_page_footers.py
Scans page footers to establish PDF index → book page mapping
Saves to: analysis/page_mapping.json
Extract rich page data using PyMuPDF and pdfplumber
Run: python3 Calypso/tools/rich_extractor.py
Extracts text spans with font metadata:
Font name and size
Bold/italic flags
Position (bounding box)
Color information
Analyzes page structure to identify:
Likely headings (by size and style)
Paragraphs (regular text)
Potential lists
Detects tables using pdfplumber
Saves to: analysis/chapter_XX/rich_extraction.json
Render PDF page to PNG
Convert page to high-resolution PNG image (300+ DPI)