with one click
pdf-verification-check
Verify generated PDFs for integrity and page count using PyPDF2 before task completion.
Menu
Verify generated PDFs for integrity and page count using PyPDF2 before task completion.
| name | pdf-verification-check |
| description | Verify generated PDFs for integrity and page count using PyPDF2 before task completion. |
Use this skill whenever your task involves generating PDF files. Do not declare task completion until you have programmatically verified that the PDFs exist, are not corrupted, and match the expected page counts.
run_shell to execute a Python script using PyPDF2.Use the following Python snippet with run_shell to verify PDFs. Adjust the expected_pages dictionary to match your task requirements.
import sys
from PyPDF2 import PdfReader
def verify_pdfs(files):
"""
files: dict mapping filepath to expected_page_count (or None if any count is ok)
"""
all_valid = True
for path, expected_count in files.items():
try:
reader = PdfReader(path)
actual_count = len(reader.pages)
if expected_count is not None and actual_count != expected_count:
print(f"FAIL: {path} has {actual_count} pages, expected {expected_count}")
all_valid = False
else:
print(f"OK: {path} has {actual_count} pages")
except Exception as e:
print(f"ERROR: Cannot read {path} - {str(e)}")
all_valid = False
return 0 if all_valid else 1
# Example usage - modify this map for your specific task
files_to_check = {
"output/listing.pdf": 2,
"output/map.pdf": 1
}
sys.exit(verify_pdfs(files_to_check))
When using run_shell, pass the script as a heredoc or save it temporarily:
python3 -c "
import sys
from PyPDF2 import PdfReader
# ... insert logic here ...
"
Ensure PyPDF2 is available in the environment. If not, install it first:
pip install PyPDF2
Delegate tasks to OpenSpace — a full-stack autonomous worker for coding, DevOps, web research, and desktop automation, backed by an extensive MCP tool and skill library. Skills auto-improve through use, reducing token consumption over time. A cloud community lets agents share and collectively evolve reusable skills.
Incremental audio production with duration mismatch handling, adaptive stem extension, and pre-mix alignment verification
Audio production with diagnostic analysis, timecode parsing from documents, and verified export workflow
Incremental audio production with duration alignment handling, per-stem verification, and adaptive extension strategies
Step-by-step audio production with per-stem verification, timing alignment, and incremental quality gates
End-to-end audio production workflow with stems, effects, archiving, and verification