원클릭으로
こんなときに使う: PDFテキスト抽出、Optical Character Recognition (OCR)、結合/分割、フォーム処理をuvベースの再現可能コマンドで実行したいときに使う。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
こんなときに使う: PDFテキスト抽出、Optical Character Recognition (OCR)、結合/分割、フォーム処理をuvベースの再現可能コマンドで実行したいときに使う。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
モダン C#(12+)で record、パターンマッチング、合成、Result 型エラーハンドリングを使った 慣用的で高性能なコードを書く。こんなときに使う: 新規 C# コードの作成、API 設計、 または C# 12+ イディオムへのリファクタリング。
こんなときに使う: WPFアプリケーションに社員番号入力ダイアログを追加し、 DPAPIで暗号化された設定として社員IDを安全に保存したいとき。
こんなときに使う: 繰り返し発生する業務問い合わせ(監査、アンケート、コンプライアンス調査)に対して、 過去の回答実績とエビデンスを活用して回答するためのテンプレートスキル。 再利用可能な7ステップワークフローとスキャフォールディングファイルを提供する。
こんなときに使う: Migrate Access SQL to Oracle, generate .NET C# code. Use when converting Access queries to Oracle.
こんなときに使う: .NETドメイン層で汎用的な重み付きフィールドマッチングとスコアリングを実装。
こんなときに使う: dotnet-tools.json によるローカル .NET ツールの管理。開発環境と CI/CD パイプライン全体で バージョン固定された一貫したツール環境を構築。リポジトリ単位の CLI ツール管理時に使用。
| name | |
| description | こんなときに使う: PDFテキスト抽出、Optical Character Recognition (OCR)、結合/分割、フォーム処理をuvベースの再現可能コマンドで実行したいときに使う。 |
業務ワークフローで、再実行可能な Portable Document Format (PDF) 処理が必要なときに使います。
入力、出力、保管メタ情報のパスを明示します。
Test-Path input.pdf
Values: 基礎と型
テキスト抽出を先に使います。理由は、抽出のほうが高速で元文字を保持しやすいためです。
uv run --with pypdf==6.1.1 python scripts\extract_text.py input.pdf --output input.txt
Values: 基礎と型 / 成長の複利
抽出結果が空、または利用困難なときだけOCRを使います。理由は、OCRの計算コストが高いためです。
uv run --with pypdfium2==5.6.0 --with rapidocr-onnxruntime==1.4.4 --with numpy==2.4.3 python scripts\ocr_script.py input.pdf --output input.ocr.txt
Values: ニュートラルな視点 / 余白の設計
決定的命名と再実行ログを残します。理由は、運用監査で再現性が必要になるためです。
uv cache prune
Values: 教える・広める / 成長の複利
| 状況 | 主経路 | フォールバック | 出力サフィックス |
|---|---|---|---|
| テキストレイヤがあり品質も十分 | extract_text.py | 失敗ページのみOCR | .txt |
| テキストレイヤがない/空 | ocr_script.py | --scale を上げて再実行 | .ocr.txt |
| ページごとに品質が混在 | ページ単位ハイブリッド | 読取不能箇所を手動確認 | .hybrid.txt |
born-digital PDF から最小構成でテキスト抽出する基本型です。
抽出品質が十分で、OCRコストを増やしたくないときに使います。
uv run --with pypdf==6.1.1 python scripts\extract_text.py input.pdf --output input.txt
抽出とOCRを判定ロジックで切り替える運用型です。
文書ごと、またはページごとに品質がばらつくときに使います。
text-layer か ocr かを記録する。uv run --with pypdf==6.1.1 python scripts\extract_text.py scan.pdf --output scan.txt
uv run --with pypdfium2==5.6.0 --with rapidocr-onnxruntime==1.4.4 --with numpy==2.4.3 python scripts\ocr_script.py scan.pdf --output scan.ocr.txt
バッチ処理で失敗追跡と再実行性を担保する上級型です。
多ファイル処理、命名統制、監査証跡の維持が必要なときに使います。
from pathlib import Path
import subprocess
for pdf in sorted(Path("incoming").glob("*.pdf")):
out = Path("outputs") / f"{pdf.stem}.txt"
cmd = ["uv", "run", "--with", "pypdf==6.1.1", "python", "scripts\\extract_text.py", str(pdf), "--output", str(out)]
result = subprocess.run(cmd, capture_output=True, text=True)
if result.returncode != 0:
print(f"[ERROR] {pdf.name}: {result.stderr.strip()}")
continue
print(f"[OK] {pdf.name} -> {out}")
--with 依存は必ずバージョン固定する。[UNREADABLE: page 3 line 12] のように明示する。❌ 悪い例: OCRの不確実な文字を、根拠なしで上書きする。
✅ 良い例: OCR原文を保持し、修正版との差分と理由を記録する。
❌ 悪い例: 最終成果物を一時フォルダだけに保存する。
✅ 良い例: 最終成果物を業務保管先へ保存し、処理メタ情報を保管する。
❌ 悪い例: 抽出失敗を検知しても、フォールバック判断を記録しない。
✅ 良い例: フォールバック判断を記録し、明確な理由付きでOCRへ切り替える。
pip install と uv run --with を混在させる。Q. uv run --with でAppDataキャッシュが作られるのは正常ですか?
A. 正常です。uvは再実行高速化のため依存キャッシュを再利用します。
Q. 常に .venv を作るべきですか?
A. 長期開発では .venv、都度処理では --with を使い分けます。
Q. キャッシュはいつ削除すべきですか? A. 容量圧迫、または破損疑いがあるときだけ削除します。
| 判定 | コマンド | 理由 |
|---|---|---|
| テキストレイヤあり | python scripts\extract_text.py | 高速で元文字を保持しやすい。 |
| テキストレイヤなし | python scripts\ocr_script.py | 下流処理向けの検索可能テキストを作る。 |
# テキストレイヤ抽出
uv run --with pypdf==6.1.1 python scripts\extract_text.py input.pdf --output input.txt
# スキャンPDF OCR
uv run --with pypdfium2==5.6.0 --with rapidocr-onnxruntime==1.4.4 --with numpy==2.4.3 python scripts\ocr_script.py input.pdf --output input.ocr.txt
# キャッシュ操作
uv cache dir
uv cache prune
このスキルは本リポジトリ運用のために新規作成した内容です。利用・再配布の扱いはリポジトリ方針に従ってください。