pdf

PDF 처리 스킬 — 읽기, 생성, 편집, 폼 작성, 변환

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "pdf" with this command: npx skills add unicorn-plugins/claude-skills/unicorn-plugins-claude-skills-pdf

PDF 처리

[PDF 처리 스킬 활성화]

목표

PDF 파일에 대한 모든 작업을 처리함. 텍스트/테이블 추출, PDF 병합/분할, 회전, 워터마크 추가, 신규 PDF 생성, 폼 작성, 암호화/복호화, 이미지 추출, OCR을 통한 스캔 PDF 검색 가능화 등을 포함.

활성화 조건

사용자가 .pdf 파일을 언급하거나 PDF 관련 작업 요청 시 활성화.

에이전트 호출 규칙

에이전트 FQN

에이전트FQN티어
pdf-handlerclaude-skills:pdf-handler:pdf-handlerMEDIUM

프롬프트 조립 절차

  1. agents/pdf-handler/ 에서 3파일 로드 (AGENT.md + agentcard.yaml + tools.yaml)
  2. gateway/runtime-mapping.yaml 참조하여 구체화:
    • 모델 구체화: agentcard.yaml의 tier: MEDIUMtier_mapping.default.MEDIUMclaude-sonnet-4-5
    • 툴 구체화: tools.yaml의 추상 도구 → tool_mapping에서 실제 도구 결정
    • 금지액션 구체화: forbidden_actions: [user_interact, agent_delegate]action_mapping에서 [AskUserQuestion, Task] 제외
    • 최종 도구 = (구체화된 도구) - (제외 도구)
  3. 프롬프트 조립: 공통 정적(runtime-mapping) → 에이전트별 정적(3파일) → 동적(작업 지시)
  4. Task(subagent_type="claude-skills:pdf-handler:pdf-handler", model="claude-sonnet-4-5", prompt=조립된 프롬프트) 호출

오케스트레이션 스킬 활용

워크플로우 Phase추천 스킬적용
Phase 1 (작업 유형 판별)ulw 매직 키워드필수
Phase 2-A (PDF 읽기/추출)ulw 매직 키워드필수
Phase 2-B (새 PDF 생성)/oh-my-claudecode:ralph필수
Phase 2-C (병합/분할)ulw 매직 키워드필수
Phase 2-D (폼 작성)/oh-my-claudecode:ralph필수
Phase 2-E (이미지 변환)ulw 매직 키워드필수
Phase 3 (결과 검증)ulw 매직 키워드필수

워크플로우

Phase 1: 작업 유형 판별 (ulw 활용)

사용자 요청을 분석하여 작업 유형을 읽기/생성/편집/폼/변환 중 하나로 분류.

Phase 2-A: PDF 읽기/추출 → Agent: pdf-handler (ulw 활용)

  • TASK: pypdf, pdfplumber를 활용하여 PDF에서 텍스트, 테이블, 메타데이터 추출
  • EXPECTED OUTCOME: 추출된 텍스트/테이블 데이터, 메타데이터
  • MUST DO: pdfplumber로 테이블 추출 시 레이아웃 보존, 스캔 PDF는 OCR 필요 여부 안내
  • MUST NOT DO: 스캔 PDF를 일반 추출로 처리하지 않음 (OCR 필요)
  • CONTEXT: 원본 PDF 경로, 추출 대상(텍스트/테이블/메타데이터), PYTHONPATH=gateway/tools 환경변수 설정 필수

Phase 2-B: 새 PDF 생성 → Agent: pdf-handler (/oh-my-claudecode:ralph 활용)

  • TASK: reportlab를 활용하여 신규 PDF 생성
  • EXPECTED OUTCOME: 유효한 PDF 구조를 가진 신규 PDF 파일
  • MUST DO: Paragraph 객체에서 <sub>, <super> 태그 사용 (Unicode 첨자 금지), 여러 페이지 생성 시 Platypus 프레임워크 활용
  • MUST NOT DO: Unicode 첨자/위첨자 문자 (₀₁₂, ⁰¹²) 사용 금지 (검은 박스 렌더링됨)
  • CONTEXT: 콘텐츠 요구사항, 페이지 레이아웃, PYTHONPATH=gateway/tools 환경변수 설정 필수

Phase 2-C: 병합/분할 → Agent: pdf-handler (ulw 활용)

  • TASK: pypdf + qpdf로 PDF 병합/분할
  • EXPECTED OUTCOME: 병합된 PDF 또는 분할된 PDF 파일들
  • MUST DO: qpdf 활용하여 구조 무결성 보존
  • MUST NOT DO: 메타데이터 손실 금지
  • CONTEXT: 원본 PDF 경로, 병합/분할 범위, PYTHONPATH=gateway/tools 환경변수 설정 필수

Phase 2-D: 폼 작성 → Agent: pdf-handler (/oh-my-claudecode:ralph 활용)

  • TASK: 전략 판별(필드 방식 vs 주석 오버레이) 후 PDF 폼 작성
  • EXPECTED OUTCOME: 작성 완료된 PDF 폼, 바운딩 박스 검증 통과
  • MUST DO: check_fillable_fields.py로 필드 확인, fill_fillable_fields.py(필드 방식) 또는 fill_pdf_form_with_annotations.py(주석 오버레이) 선택, check_bounding_boxes.py로 좌표 검증
  • MUST NOT DO: 전략 판별 없이 폼 작성 시도 금지, 바운딩 박스 검증 없이 결과 전달 금지
  • CONTEXT: 원본 PDF 경로, 폼 데이터, agents/pdf-handler/references/pdf-forms-guide.md 참조, PYTHONPATH=gateway/tools 환경변수 설정 필수

스크립트 호출 패턴:

python gateway/tools/pdf/check_fillable_fields.py input.pdf
python gateway/tools/pdf/fill_fillable_fields.py input.pdf output.pdf
PYTHONPATH=gateway/tools python gateway/tools/pdf/fill_pdf_form_with_annotations.py input.pdf output.pdf

Phase 2-E: 이미지 변환 → Agent: pdf-handler (ulw 활용)

  • TASK: PDF를 PNG 이미지로 변환
  • EXPECTED OUTCOME: 각 페이지가 PNG 이미지로 변환됨
  • MUST DO: convert_pdf_to_images.py 활용
  • MUST NOT DO: 이미지 품질 저하 금지
  • CONTEXT: 원본 PDF 경로, 출력 디렉토리, PYTHONPATH=gateway/tools 환경변수 설정 필수

스크립트 호출 패턴:

PYTHONPATH=gateway/tools python gateway/tools/pdf/convert_pdf_to_images.py input.pdf output_dir/

Phase 3: 결과 검증 (ulw 활용)

  • PDF 읽기 가능 여부 확인 (pypdf)
  • 폼 작성인 경우 check_bounding_boxes.py로 좌표 검증
  • create_validation_image.py로 시각적 검증 이미지 생성
  • 모든 검증 통과 후에만 완료 선언

스크립트 호출 패턴:

python gateway/tools/pdf/check_bounding_boxes.py output.pdf
PYTHONPATH=gateway/tools python gateway/tools/pdf/create_validation_image.py output.pdf validation.png

완료 조건

  • 생성/편집된 PDF가 유효한 PDF 구조를 가짐
  • 폼 작성 시 check_bounding_boxes.py 검증 통과
  • 시각적 검증 이미지(create_validation_image.py)로 확인 가능
  • 사용자 요청의 모든 항목이 반영됨

검증 프로토콜

  1. PDF 읽기 가능 여부 확인 (pypdf)
  2. 폼 작성인 경우 check_bounding_boxes.py로 좌표 검증
  3. create_validation_image.py로 시각적 검증 이미지 생성
  4. 모든 검증 통과 후에만 완료 선언

상태 정리

완료 시 임시 이미지 파일 생성 시 사용자에게 안내. 상태 파일 미사용 (단건 작업).

취소

cancelomc 또는 stopomc 키워드로 즉시 중단.

재개

원본 PDF가 보존되어 있으므로 처음부터 재시작 가능.

MUST 규칙

#규칙
1폼 작성 시 반드시 전략 판별 (필드 방식 vs 주석 오버레이) 선행
2시각적 검증 이미지를 생성하여 결과 확인
3모든 Phase에 오케스트레이션 스킬 활용 필수 명시
4에이전트 위임 시 5항목 (TASK, EXPECTED OUTCOME, MUST DO, MUST NOT DO, CONTEXT) 포함
5PDF 커스텀 도구 호출 시 PYTHONPATH=gateway/tools 환경변수 설정 필수

MUST NOT 규칙

#금지 사항
1폼 전략 판별 없이 직접 폼 작성 시도 금지
2바운딩 박스 검증 없이 폼 결과 전달 금지
3에이전트의 내부 사고 방식이나 단계별 절차를 스킬에서 기술하지 않음
4reportlab 사용 시 Unicode 첨자/위첨자 문자 사용 금지

검증 체크리스트

  • frontmatter에 name, description 포함
  • 에이전트 호출 규칙 섹션 포함 (pdf-handler FQN, 프롬프트 조립 4단계, 오케스트레이션 활용)
  • 모든 Phase에 스킬 부스팅 명시
  • 완료 조건, 검증 프로토콜, 상태 정리, 취소/재개 섹션 포함
  • MUST 규칙, MUST NOT 규칙 섹션 포함
  • Agent 위임 단계에 5항목 포함
  • 스크립트 호출 패턴에 PYTHONPATH 설정 명시

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

xlsx

No summary provided by upstream source.

Repository SourceNeeds Review
General

pdf

No summary provided by upstream source.

Repository SourceNeeds Review
General

pptx

No summary provided by upstream source.

Repository SourceNeeds Review
General

frontend-design

No summary provided by upstream source.

Repository SourceNeeds Review