Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Skill for using the command-line tool pdftk (PDFtk Server) for working with PDF files. Use when asked to merge PDFs, split PDFs, rotate pages, encrypt or decrypt PDFs, fill PDF forms, apply watermarks, stamp overlays, extract metadata, burst documents into pages, repair corrupted PDFs, attach or extract files, or perform any PDF manipulation from the command line.
.claude/skills/pdftk-server/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | — | — |
| case-16 | ✗→✓ | ▲ Improved | — | — |
| case-20 | ✗→✗ | = Same ✗ | — | — |
| case-02 | ✗→✗ | = Same ✗ | — | — |
| case-08 | ✗→✗ | = Same ✗ | — | — |
PDFtk Server is a command-line tool for working with PDF documents. It can merge, split, rotate, encrypt, decrypt, watermark, stamp, fill forms, extract metadata, and manipulate PDFs in a variety of ways.
winget install --id PDFLabs.PDFtk.Serverbrew install pdftk-javasudo apt-get install pdftksudo dnf install pdftkpdftk --versionbashpdftk file1.pdf file2.pdf cat output merged.pdf
Using handles for more control:
bashpdftk A=file1.pdf B=file2.pdf cat A B output merged.pdf
bashpdftk input.pdf burst
Extract pages 1-5 and 10-15:
bashpdftk input.pdf cat 1-5 10-15 output extracted.pdf
Remove page 13:
bashpdftk input.pdf cat 1-12 14-end output output.pdf
Rotate all pages 90 degrees clockwise:
bashpdftk input.pdf cat 1-endeast output rotated.pdf
Set an owner password and a user password with 128-bit encryption (default):
bashpdftk input.pdf output secured.pdf owner_pw mypassword user_pw userpass
Remove encryption using the known password:
bashpdftk secured.pdf input_pw mypassword output unsecured.pdf
Populate form fields from an FDF file and flatten to prevent further edits:
bashpdftk form.pdf fill_form data.fdf output filled.pdf flatten
Place a single-page PDF behind every page of the input (input should have transparency):
bashpdftk input.pdf background watermark.pdf output watermarked.pdf
Place a single-page PDF on top of every page of the input:
bashpdftk input.pdf stamp overlay.pdf output stamped.pdf
Export bookmarks, page metrics, and document information:
bashpdftk input.pdf dump_data output metadata.txt
Pass a broken PDF through pdftk to attempt automatic repair:
bashpdftk broken.pdf output fixed.pdf
Interleave separately scanned even and odd pages:
bashpdftk A=even.pdf B=odd.pdf shuffle A B output collated.pdf
| Issue | Solution | |-------|----------| | pdftk command not found | Verify installation; check that pdftk is in your system PATH | | Cannot decrypt PDF | Ensure you are providing the correct owner or user password via input_pw | | Output file is empty or corrupt | Check input file integrity; try running pdftk input.pdf output repaired.pdf first | | Form fields not visible after fill | Use the flatten flag to merge fields into the page content | | Watermark not appearing | Ensure the input PDF has transparent regions; use stamp for opaque overlays | | Permission denied errors | Check file permissions on input and output paths |
Bundled reference documents in the references/ folder:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-20 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +9 percentage points is the difference between those two pass rates over the 22 comparable cases.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.