원클릭으로
Use when extracting, creating, merging, splitting, or analyzing PDFs, or when filling PDF forms programmatically.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when extracting, creating, merging, splitting, or analyzing PDFs, or when filling PDF forms programmatically.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Systematic analysis and reasoning workflows. Use when performing audits, investigation, requirements analysis, risk analysis, scenario/edge-case enumeration, or design analysis that demands evidence-based, comprehensive coverage.
Code quality and safety standards. Activates when editing or reviewing code. Use for quality priorities, safety checks, and code correctness verification.
Use when performing coding tasks (implement features, fix bugs, refactor code). Orchestrates language detection, mode switching (normal/autopilot/full-auto), quality enforcement, and verification.
Break a problem into atomic, testable subproblems. Use when facing complex tasks, unclear requirements, or planning implementation strategy.
Start structured feature implementation workflow. Use when implementing new features, adding functionality, or building complete user-facing capabilities.
Use when starting work that needs isolated branches or parallel feature development using git worktrees.
| name | |
| description | Use when extracting, creating, merging, splitting, or analyzing PDFs, or when filling PDF forms programmatically. |
| allowed-tools | ["shell","read_file","write_file"] |
| metadata | {"short-description":"PDF processing and form handling"} |
pypdf, pdfplumber, reportlab).pdftotext, qpdf, pdftk).forms.md first.This guide covers essential PDF operations. This skill includes reference.md and forms.md in the same directory for advanced features and form handling.
from pypdf import PdfReader, PdfWriter
# Read a PDF
reader = PdfReader("document.pdf")
print(f"Pages: {len(reader.pages)}")
# Extract text
text = ""
for page in reader.pages:
text += page.extract_text()
from pypdf import PdfWriter, PdfReader
writer = PdfWriter()
for pdf_file in ["doc1.pdf", "doc2.pdf", "doc3.pdf"]:
reader = PdfReader(pdf_file)
for page in reader.pages:
writer.add_page(page)
with open("merged.pdf", "wb") as output:
writer.write(output)
reader = PdfReader("input.pdf")
for i, page in enumerate(reader.pages):
writer = PdfWriter()
writer.add_page(page)
with open(f"page_{i+1}.pdf", "wb") as output:
writer.write(output)
import pdfplumber
with pdfplumber.open("document.pdf") as pdf:
for page in pdf.pages:
text = page.extract_text()
print(text)
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
c = canvas.Canvas("hello.pdf", pagesize=letter)
width, height = letter
c.drawString(100, height - 100, "Hello World!")
c.save()
pdftotext input.pdf output.txt
pdftotext -layout input.pdf output.txt
qpdf --empty --pages file1.pdf file2.pdf -- merged.pdf
qpdf input.pdf --pages . 1-5 -- pages1-5.pdf
qpdf input.pdf output.pdf --rotate=+90:1
| Task | Best Tool | Command/Code |
|---|---|---|
| Merge PDFs | pypdf | writer.add_page(page) |
| Split PDFs | pypdf | One page per file |
| Extract text | pdfplumber | page.extract_text() |
| Create PDFs | reportlab | Canvas or Platypus |
| Command line merge | qpdf | qpdf --empty --pages ... |
| Fill PDF forms | pypdf / pdf-lib | See forms.md |
reference.mdforms.mdTarget: ${ARGUMENTS}