Communitygithub.com

PDF スキル

PDF の読み取り、レビュー、作成、検証をエージェントが実用的に行うためのオープンソーススキルです。

PDF スキル とは?

この PDF スキルは、AI エージェント(Claude Code、Cursor、Codex など)が PDF ドキュメントを正確に処理するための実践的なガイドラインを提供します。レイアウトや視覚要素が重要な PDF の内容を読み取り・レビューする際や、プログラムによる PDF 作成、最終的なレンダリングの検証に使用します。ワークフローは、`pdftoppm` による PNG レンダリングでの視覚確認を基本とし、`reportlab` による PDF 生成、`pdfplumber` や `pypdf` によるテキスト抽出(ただしレイアウト確認には非推奨)を組み合わせます。中間ファイルは `tmp/pdfs/` に、最終成果物は `output/pdf/` に保存し、依存関係は `uv` または `pip` でインストールします。最終的には PNG 検査で視覚的な欠陥がゼロであることを確認してから成果物を納品します。

対応~Claude Code~Codex CLI~Cursor
npx skills add ailessonio/open-source-skills

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

PDF スキル は何をしますか?

使用するタイミング

  • レイアウトやビジュアルが重要な PDF コンテンツを読んだりレビューする場合。
  • 信頼性の高いフォーマットでプログラム的に PDF を作成する場合。
  • 納品前に最終的なレンダリングを検証する場合。

ワークフロー

  1. 視覚的なレビューを優先: PDF ページを PNG にレンダリングして検査します。
    • pdftoppm が利用可能な場合はそれを使用します。
    • 利用できない場合は、Poppler をインストールするか、ユーザーにローカルで出力をレビューしてもらいます。
  2. 新しいドキュメントを作成する際は reportlab を使用して PDF を生成します。
  3. テキスト抽出や簡易チェックには pdfplumber(または pypdf)を使用します。レイアウトの忠実性を確認する目的では使用しないでください。
  4. 意味のある更新のたびに、ページを再レンダリングし、配置、間隔、読みやすさを確認します。

テンポラリファイルと出力先の規則

  • 中間ファイルには tmp/pdfs/ を使用し、処理が完了したら削除します。
  • このリポジトリ内で作業する場合は、最終成果物を output/pdf/ に書き込みます。
  • ファイル名は安定し、かつ説明的なものに保ちます。

依存関係(不足している場合はインストール)

依存関係の管理には uv を推奨します。

Python パッケージ:

uv pip install reportlab pdfplumber pypdf

uv が利用できない場合:

python3 -m pip install reportlab pdfplumber pypdf

システムツール(レンダリング用):

# macOS (Homebrew)
brew install poppler

# Ubuntu/Debian
sudo apt-get install -y poppler-utils

この環境でインストールが不可能な場合は、不足している依存関係とそのローカルでのインストール方法をユーザーに伝えてください。

環境

必須の環境変数はありません。

レンダリングコマンド

pdftoppm -png $INPUT_PDF $OUTPUT_PREFIX

品質基準

  • 洗練されたビジュアルデザインを維持: 一貫したタイポグラフィ、間隔、マージン、セクション階層。
  • レンダリングの問題を回避: テキストのクリッピング、要素の重なり、テーブルの破損、黒い四角、読めないグリフなど。
  • チャート、テーブル、画像は鮮明で、位置が揃い、明確にラベル付けされていること。
  • ASCII ハイフンのみを使用。U+2011(改行しないハイフン)やその他の Unicode ダッシュは避けてください。
  • 引用と参考文献は人間が読める形式にすること。ツールトークンやプレースホルダー文字列を残さないでください。

最終確認

  • 最新の PNG 検査で視覚的またはフォーマット上の欠陥がゼロであることを確認するまでは納品しないでください。
  • ヘッダー/フッター、ページ番号、セクション間の遷移が洗練されていることを確認します。
  • 中間ファイルは整理された状態に保つか、最終承認後に削除します。

関連スキル