Install any skill in seconds. Free to start, no credit card required.
Get Started Free →PDF/PPTX/Excelファイルの読み取り・編集・分析を行うサブエージェント。 大きなドキュメントの処理をメインコンテキストから分離し、コンテキスト消費を最適化する。 「PDFを分析」「PPTXの内容を読んで」「Excelを解析」「スライドを編集」等のリクエストで発動。
.claude/skills/minicoohei-document-processor/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-10 | ✗→✓ | ▲ Improved | 4% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -6% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -19% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -19% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 14% | 0% |
PDF/PPTX/Excelファイルの読み取り・編集・分析を専用コンテキストで実行するサブエージェント。
大きなドキュメントの処理をメインエージェントのコンテキストから分離し:
| フォーマット | 読み取り | 編集 | 分析 | |------------|:------:|:----:|:----:| | PDF (.pdf) | ✅ | ✅ | ✅ | | PowerPoint (.pptx) | ✅ | ✅ | ✅ | | Excel (.xlsx) | ✅ | ✅ | ✅ |
tools/pptx_ops.py)bash# 読み取り uv run python tools/pptx_ops.py read <file.pptx> # Markdown変換 uv run python tools/pptx_ops.py to-markdown <file.pptx> # 構造分析 uv run python tools/pptx_ops.py analyze <file.pptx> # テンプレート抽出 uv run python tools/pptx_ops.py extract-template <file.pptx> --output template.json # 新規作成 uv run python tools/pptx_ops.py create <template.json> --output new.pptx
tools/excel_ops.py)bash# 読み取り uv run python tools/excel_ops.py read <file.xlsx> # 特定シート読み取り uv run python tools/excel_ops.py read <file.xlsx> --sheet "Sheet1" # Markdown変換 uv run python tools/excel_ops.py to-markdown <file.xlsx> # 分析レポート uv run python tools/excel_ops.py analyze <file.xlsx> # 書き込み uv run python tools/excel_ops.py write <file.xlsx> --data '{"sheet": "Sheet1", "cell": "A1", "value": "Hello"}'
tools/pdf_page_editor.py)bash# テキスト抽出・分析 uv run python tools/pdf_page_editor.py analyze <file.pdf> # ページ編集 uv run python tools/pdf_page_editor.py edit <file.pdf> --page 1 --changes <changes.yaml> # 圧縮 uv run python tools/pdf_page_editor.py compress <file.pdf> --output compressed.pdf
メインエージェントは以下のパターンでこのサブエージェントを呼び出す:
pythonTask( subagent_type="generalPurpose", model="fast", description="Document analysis", prompt=""" このスキルを読んで実行してください: skills/document-processor/SKILL.md タスク: {ユーザーの指示} 対象ファイル: {ファイルパス} 結果はサマリー形式で返却してください。 """ )
処理結果は以下のサマリー形式で返却:
yamlstatus: success file: example.pptx summary: total_slides: 10 key_content: - slide_1: "タイトルスライド - プロジェクト概要" - slide_2: "目次 - 5項目" findings: - "テンプレートは16:9アスペクト比" - "カラースキーム: 青/白/黒" output_files: - example_structure.json - example_structure.txt
txtpython-pptx>=0.6.21 openpyxl>=3.1.0 pdf2image>=1.16.0 Pillow>=9.0.0 PyMuPDF>=1.21.0 google-generativeai>=0.3.0
--with-imagesオプションで画像も抽出可能PDF/PPTX/Excelファイルの読み取り・編集・分析を専用コンテキストで実行するサブエージェントスキルです。大きなドキュメントの処理をメインコンテキストから分離し、処理結果のサマリーのみを返却します。
| エラー | 解決方法 | |--------|---------| | python-pptx not installed | uv add python-pptx でインストール | | PDF parsing error | PyMuPDF がインストールされているか確認: uv add PyMuPDF | | File too large (>50MB) | 処理に時間がかかる場合あり。PDF圧縮スキルで事前に軽量化を検討 |
上記「使用可能なスクリプト」セクションを参照。基本例:
bash# PPTX読み取り uv run python tools/pptx_ops.py read presentation.pptx # Excel分析 uv run python tools/excel_ops.py analyze data.xlsx # PDF分析 uv run python tools/pdf_page_editor.py analyze document.pdf
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-10 | fail→pass | 10,870 | 2,558 | -76% | 1 | 1 | 0% | 1,705 | 1,774 | +4% | 0 | 0 | — |
case-01 | fail→fail | 14,752 | 5,409 | -63% | 1 | 1 | 0% | 2,523 | 1,668 | -34% | 0 | 0 | — |
case-02 | fail→fail | 17,046 | 4,478 | -74% | 1 | 1 | 0% | 3,662 | 1,626 | -56% | 0 | 0 | — |
case-03 | fail→fail | 13,953 | 5,800 | -58% | 1 | 1 | 0% | 1,940 | 1,689 | -13% | 0 | 0 | — |
case-04 | fail→pass | 11,075 | 2,553 | -77% | 1 | 1 | 0% | 1,863 | 1,758 | -6% | 0 | 0 | — |
case-05 | fail→pass | 13,141 | 2,044 | -84% | 1 | 1 | 0% | 2,147 | 1,733 | -19% | 0 | 0 | — |
case-06 | fail→pass | 12,299 | 2,237 | -82% | 1 | 1 | 0% | 2,141 | 1,725 | -19% | 0 | 0 | — |
case-07 | fail→pass | 7,756 | 2,181 | -72% | 1 | 1 | 0% | 1,481 | 1,694 | +14% | 0 | 0 | — |
case-08 | fail→pass | 8,962 | 2,666 | -70% | 1 | 1 | 0% | 1,556 | 1,875 | +21% | 0 | 0 | — |
case-09 | fail→pass | 10,941 | 3,060 | -72% | 1 | 1 | 0% | 1,889 | 1,758 | -7% | 0 | 0 | — |
case-11 | fail→pass | 13,538 | 2,982 | -78% | 1 | 1 | 0% | 2,329 | 1,811 | -22% | 0 | 0 | — |
case-12 | fail→pass | 16,437 | 6,348 | -61% | 1 | 1 | 0% | 2,805 | 2,501 | -11% | 0 | 0 | — |
case-13 | fail→pass | 14,369 | 5,872 | -59% | 1 | 1 | 0% | 2,483 | 2,327 | -6% | 0 | 0 | — |
case-14 | pass→pass | 14,003 | 6,370 | -55% | 1 | 1 | 0% | 2,130 | 2,362 | +11% | 0 | 0 | — |
case-15 | fail→pass | 13,187 | 4,478 | -66% | 1 | 1 | 0% | 1,877 | 2,046 | +9% | 0 | 0 | — |
case-16 | pass→pass | 5,525 | 1,882 | -66% | 1 | 1 | 0% | 1,051 | 1,581 | +50% | 0 | 0 | — |
case-17 | fail→pass | 8,479 | 4,279 | -50% | 1 | 1 | 0% | 1,350 | 2,020 | +50% | 0 | 0 | — |
case-18 | fail→pass | 11,894 | 2,201 | -81% | 1 | 1 | 0% | 1,784 | 1,677 | -6% | 0 | 0 | — |
case-19 | pass→pass | 13,451 | 2,211 | -84% | 1 | 1 | 0% | 2,172 | 1,671 | -23% | 0 | 0 | — |
case-20 | pass→pass | 14,930 | 13,754 | -8% | 1 | 1 | 0% | 2,548 | 3,829 | +50% | 0 | 0 | — |
case-21 | pass→pass | 22,529 | 20,214 | -10% | 1 | 1 | 0% | 4,035 | 5,109 | +27% | 0 | 0 | — |
case-22 | pass→pass | 11,524 | 10,914 | -5% | 1 | 1 | 0% | 2,048 | 3,185 | +56% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 19 counted toward the lift figure. The other 3 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +59 percentage points is the difference between those two pass rates over the 19 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.