Our review
This skill recovers PDF outline bookmarks by analyzing font sizes using heuristics, when no bookmarks exist and no reference PDF is available.
Strengths
- Uses font-size heuristics to detect headings even without a table of contents
- Offers several adjustable parameters (min-font-ratio, depth, TOC pages) to fine-tune detection
- Includes a dry-run mode to preview results before writing the final file
- Verifies injected bookmarks with a separate analysis step
Limitations
- Does not work on scanned (image) PDFs
- Can be sensitive to the font ratio choice, requiring manual adjustments
- Running headers or footers with the same size as body text may cause false positives
Use this skill when you have a digitally-typeset PDF with no bookmarks and want to automatically add clickable outlines based on font sizes.
Avoid this skill if the PDF is scanned, if bookmarks already exist, or if you have a reference PDF or Arcane-PP server for more reliable recovery.
Security analysis
SafeThe skill only uses local PDF processing utilities (arcane) for analysis and bookmark recovery. No network, destructive, or obfuscated commands are involved.
No concerns found
Examples
I have a PDF with no bookmarks. Can you recover the outline using font-size heuristics? First do a dry-run to show me what it would find.The dry run detected too many headings. Try increasing the minimum font ratio to 1.3 and show the result again.Skill: recover-outline-heuristic
Recover PDF outline bookmarks using font-size heuristics when no bookmarks exist and no reference PDF or TOC seed is available.
When to use
The user has a PDF with no bookmarks and wants to recover them using font analysis. Use when they say "recover outline", "add bookmarks", "fix chapters" — and no reference PDF or Arcane-PP server is mentioned. Prefer this over the bridge workflow for digitally-typeset PDFs with consistent font sizes.
Steps Claude must follow
-
Probe the PDF:
arcane analyze probe "<pdf>" --jsonAbort if
document_kind == "Scanned". Warn ifhas_outlines == true(already has bookmarks). -
Inspect font clusters and body size:
arcane analyze layout "<pdf>" --jsonNote
body_font_sizeand the cluster sizes. Choose--min-font-ratioso that headings (typically 1.2–1.5× body) are captured but running headers (often same size as body) are not. -
Detect page offset (if applicable):
arcane analyze offset "<pdf>" --jsonIf offset is found, note the
offsetvalue. Will be passed as--page-onebelow. -
Dry-run — preview detected headings:
arcane recover-outline "<pdf>" --dry-run --depth 2 --min-font-ratio 1.2Show the heading table to the user. If results look wrong, adjust
--min-font-ratioand repeat. Also try--toc-pages "N-M"if the user can identify the TOC pages. -
Write the recovered PDF (only after user confirms):
arcane recover-outline "<pdf>" --output "<fixed.pdf>" --depth 2 --min-font-ratio 1.2 -
Verify injected bookmarks:
arcane analyze outline "<fixed.pdf>" --depth 2 -
Fill in
template.mdand present the summary.
Parameter selection guide
| Observation | Recommendation |
|-------------|----------------|
| Too many headings detected | Increase --min-font-ratio (try 1.3) |
| Too few headings | Decrease --min-font-ratio (try 1.1) or add --toc-pages |
| Wrong page numbers | Pass --page-one N with the offset value from step 3 |
| Section headings missing | Use --depth 2 |
| Confident results needed fast | Add --toc-pages "N-M" for fuzzy-match boost (+0.20 confidence) |
Task Prioritizer
Productivity
Prioritizes your tasks using Eisenhower, ICE, and RICE frameworks.
Weekly Status Report Generator
Productivity
Generate structured and concise weekly status reports.
Daily Standup Report
Productivity
Generates structured and concise daily standup reports.