agentleFS
jholhewresjholhewres/devclaw-skills/skills/pdf-tools/SKILL.md

pdf-tools

Skill4 starsChanged 9 months agoMITView on GitHub

PDF manipulation — merge, split, compress, convert, and modify PDFs

  • Installs packages

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 2 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use qpdf for most operations (faster, more reliable)

    line 163
  2. Very specific:

    Use pdftk for complex page manipulations

    line 164
  3. Distinctive:

    Use Ghostscript for compression

    line 165
  4. Distinctive:

    Always backup before modifying important PDFs

    line 166

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

PDF Tools

Manipulate PDF files using command-line tools.

Setup

# Ubuntu/Debian
sudo apt install qpdf pdftk ghostscript poppler-utils

# macOS
brew install qpdf pdftk-java ghostscript poppler

Merge PDFs

# Merge multiple PDFs
qpdf --empty --keep-temporary-files page1.pdf page2.pdf page3.pdf -- merged.pdf

# With pdftk
pdftk page1.pdf page2.pdf page3.pdf cat output merged.pdf

# Merge all PDFs in directory
pdftk *.pdf cat output all_merged.pdf

Split PDFs

# Extract pages 1-5
qpdf input.pdf --pages . 1-5 -- output.pdf

# Extract single page
pdftk input.pdf cat 3 output page3.pdf

# Split into individual pages
pdftk input.pdf burst output page_%d.pdf

# Extract range
qpdf input.pdf --pages . 5-10 -- extracted.pdf

Compress PDF

# Compress with Ghostscript (best quality)
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook \
   -dNOPAUSE -dQUIET -dBATCH -sOutputFile=compressed.pdf input.pdf

# PDF settings options:
# /screen   - 72 dpi, smallest size, lowest quality
# /ebook    - 150 dpi, medium size, good quality
# /printer  - 300 dpi, larger size, high quality
# /prepress - 300 dpi, highest quality

# Quick compress with qpdf
qpdf --compress-streams=y --recompress-flate input.pdf compressed.pdf

Rotate PDF

# Rotate all pages 90 degrees clockwise
pdftk input.pdf cat 1-endright output rotated.pdf

# Rotate specific pages
qpdf input.pdf --rotate=+90:1,3,5 output.pdf

# Rotation options: +90, +180, +270, -90

Add Watermark

# Add text watermark with pdftk
pdftk input.pdf background watermark.pdf output watermarked.pdf

# Create watermark PDF first
echo "DRAFT" | enscript -B -f Courier-Bold100 -o - | ps2pdf - watermark.pdf

Password Protect

# Add password (owner + user)
qpdf --encrypt user_pass owner_pass 256 -- input.pdf protected.pdf

# With pdftk
pdftk input.pdf output protected.pdf encrypt_128bit owner_pw owner_pass user_pw user_pass

Remove Password

# Remove password (requires password)
qpdf --password=yourpass --decrypt protected.pdf unlocked.pdf

# With pdftk
pdftk protected.pdf input_pw yourpass output unlocked.pdf

PDF to Images

# Convert PDF to images (each page)
pdftoppm input.pdf output -png

# Specific page
pdftoppm -f 1 -l 1 input.pdf output -png

# Set resolution (DPI)
pdftoppm -rx 300 -ry 300 input.pdf output -png

Images to PDF

# Convert images to PDF
convert image1.png image2.png output.pdf

# Or with img2pdf (better quality)
img2pdf image1.png image2.png -o output.pdf

Extract Text

# Extract text from PDF
pdftotext input.pdf output.txt

# Keep layout
pdftotext -layout input.pdf output.txt

# Extract from specific pages
pdftotext -f 1 -l 5 input.pdf output.txt

Remove Metadata

# Strip all metadata
qpdf --linearize input.pdf clean.pdf
exiftool -all:all= clean.pdf

# Or with Ghostscript
gs -sDEVICE=pdfwrite -dNOPAUSE -dQUIET -dBATCH \
   -sOutputFile=clean.pdf input.pdf

Tips

  • Use qpdf for most operations (faster, more reliable)
  • Use pdftk for complex page manipulations
  • Use Ghostscript for compression
  • Always backup before modifying important PDFs

Triggers

pdf, merge pdf, split pdf, compress pdf, pdf tools, pdf merge, password pdf, watermark pdf

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.