minimax-pdf について
minimax-pdfは、PDFの作成、フォーム入力、文書の再フォーマットを行うスキルです。タスク別のスクリプト工程に振り分け、複数の表紙スタイルや構造化コンテンツ、既存PDFのフォーム入力に対応します。
主な機能
- 01内容からPDFを生成
- 02PDFフォーム項目の確認と入力
- 03文書をPDFとして再フォーマット
- 04文書タイプと表紙スタイルの選択
- 05チャート、フローチャート、数式ブロックの挿入
活用シーン
- 01レポート、提案書、履歴書のPDF作成
- 02既存PDFフォームへの入力
- 03Markdown、テキスト、PDF、JSONの再フォーマット
- 04PDFでチャートやフローチャートを提示
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ minimax-ai/ skills --skill minimax-pdfインストール後、Claude Code で/minimax-pdfを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mddesign/design.mdscripts/cover.pyfill_inspect.pyfill_write.pymake.shmerge.pypalette.pyreformat_parse.pyrender_body.pyrender_cover.js詳細
minimax-pdf
3 つのタスク。1 つのスキル。
CREATE または REFORMAT の作業を行う前に、design/design.md を必ず読んでください。
ルート一覧
| ユーザーの意図 | ルート | 使用するスクリプト |
|---|---|---|
| PDF を一から新規作成する | CREATE | palette.py → cover.py → render_cover.js → render_body.py → merge.py |
| 既存の PDF のフォームフィールドに入力する/完成させる | FILL | fill_inspect.py → fill_write.py |
| 既存のドキュメントを再フォーマットする/スタイルを変更する | REFORMAT | reformat_parse.py → その後、CREATE の全パイプライン |
ルール: CREATE と REFORMAT のどちらにするか迷ったら、元になる既存のドキュメントがあるかユーザーに確認してください。ある場合 → REFORMAT。ない場合 → CREATE。
ルート A:CREATE
全パイプライン — コンテンツ → デザイントークン → 表紙 → 本文 → 結合済み PDF。
bash scripts/make.sh run \
--title "Q3 Strategy Review" --type proposal \
--author "Strategy Team" --date "October 2025" \
--accent "#2D5F8A" \
--content content.json --out report.pdf
ドキュメントの種類: report · proposal · resume · portfolio · academic · general · minimal · stripe · diagonal · frame · editorial · magazine · darkroom · terminal · poster
| 種類 | 表紙のパターン | ビジュアルアイデンティティ |
|---|---|---|
report | fullbleed | 暗い背景、ドットグリッド、Playfair Display |
proposal | split | 左パネル+右側の幾何学模様、Syne |
resume | typographic | 先頭の単語を大きく表示、DM Serif Display |
portfolio | atmospheric | ほぼ黒の背景、放射状のグロー、Fraunces |
academic | typographic | 明るい背景、クラシックなセリフ体、EB Garamond |
general | fullbleed | ダークスレート、Outfit |
minimal | minimal | 白地+単色の 8px アクセントバー、Cormorant Garamond |
stripe | stripe | 太い横向きのカラーバンド 3 本、Barlow Condensed |
diagonal | diagonal | SVG の斜めカット、暗色と明色の半面、Montserrat |
frame | frame | 内側の枠線、コーナー装飾、Cormorant |
editorial | editorial | 透かし文字、すべて大文字のタイトル、Bebas Neue |
magazine | magazine | 温かみのあるクリーム色の背景、中央揃えの構成、メイン画像、Playfair Display |
darkroom | darkroom | ネイビーの背景、中央揃えの構成、グレースケール画像、Playfair Display |
terminal | terminal | ほぼ黒の背景、グリッド線、等幅フォント、ネオングリーン |
poster | poster | 白い背景、太いサイドバー、大きなタイトル、Barlow Condensed |
表紙の追加要素(--abstract、--cover-image を介してトークンに挿入):
--abstract "text"— 表紙に抽象的なテキストブロックを配置(magazine/darkroom)--cover-image "url"— メイン画像の URL/パス(magazine、darkroom、poster)
カラーの上書き — 必ずドキュメントの内容に基づいて選択してください:
--accent "#HEX"— アクセントカラーを上書きします。accent_ltは白に近づけて明るくし、自動的に導出されます--cover-bg "#HEX"— 表紙の背景色を上書きします
アクセントカラー選択のガイドライン:
アクセントカラーは、自由に選択できます。一般的な「無難な」色ではなく、ドキュメントの意味的な文脈(タイトル、業界、目的、対象読者)から選んでください。アクセントカラーはセクションの区切り線、コールアウトバー、表のヘッダー、表紙に使用され、ドキュメントのビジュアルアイデンティティを担います。
| 文脈 | おすすめのアクセントカラー |
|---|---|
| 法務/コンプライアンス/金融 | ディープネイビー #1C3A5E、チャコール #2E3440、スレート #3D4C5E |
| ヘルスケア/医療 | ティールグリーン #2A6B5A、クールグリーン #3A7D6A |
| テクノロジー/エンジニアリング | スチールブルー #2D5F8A、インディゴ #3D4F8A |
| 環境/サステナビリティ | フォレスト #2E5E3A、オリーブ #4A5E2A |
| クリエイティブ/芸術/文化 | バーガンディ #6B2A35、プラム #5A2A6B、テラコッタ #8A3A2A |
| 学術/研究 | ディープティール #2A5A6B、ライブラリーブルー #2A4A6B |
| 企業/ニュートラル | スレート #3D4A5A、グラファイト #444C56 |
| 高級/プレミアム | ウォームブラック #1A1208、ディープブロンズ #4A3820 |
ルール: このドキュメントにふさわしい色を、思慮深いデザイナーの視点で選んでください。種類ごとのデフォルトカラーは使わないでください。落ち着いた彩度の低い色が最適です。鮮やかな原色は避けてください。迷った場合は、暗めでニュートラルな色を選んでください。
content.json のブロックタイプ:
| ブロック | 用途 | 主なフィールド |
|---|---|---|
h1 | セクション見出し+アクセント線 | text |
h2 | サブセクション見出し | text |
h3 | サブサブセクション(太字) | text |
body | 両端揃えの段落。<b> <i> マークアップに対応 | text |
bullet | 箇条書き項目(• を接頭辞に使用) | text |
numbered | 番号付きリスト項目。番号なしのブロックが続くとカウンターは自動的にリセットされます | text |
callout | 左側にアクセントバーのある、強調表示されたインサイトボックス | text |
table | データテーブル。アクセント付きのヘッダー、交互に異なる色の行 | headers, rows, col_widths?, caption? |
image | 列幅に合わせて拡大縮小される埋め込み画像 | path/src, caption? |
figure | 「Figure N:」のキャプションを自動で番号付けした画像 | path/src, caption? |
code | 左側にアクセント線のある等幅フォントのコードブロック | text, language? |
math | ディスプレイ数式。matplotlib mathtext による LaTeX 構文 | text, label?, caption? |
chart | matplotlib で描画する棒グラフ/折れ線グラフ/円グラフ | chart_type, labels, datasets, title?, x_label?, y_label?, caption?, figure? |
flowchart | matplotlib でノードとエッジを使って描画するプロセス図 | nodes, edges, caption?, figure? |
bibliography | ぶら下げインデント付きの番号付き参考文献リスト | items [{id, text}], title? |
divider | アクセントカラーの全幅線 | — |
caption | 小さく控えめなラベル | text |
pagebreak | 改ページを強制 | — |
spacer | 垂直方向の余白 | pt(デフォルト 12) |
chart / flowchart のスキーマ:
{"type":"chart","chart_type":"bar","labels":["Q1","Q2","Q3","Q4"],
"datasets":[{"label":"Revenue","values":[120,145,132,178]}],"caption":"Q results"}
{"type":"flowchart",
"nodes":[{"id":"s","label":"Start","shape":"oval"},
{"id":"p","label":"Process","shape":"rect"},
{"id":"d","label":"Valid?","shape":"diamond"},
{"id":"e","label":"End","shape":"oval"}],
"edges":[{"from":"s","to":"p"},{"from":"p","to":"d"},
{"from":"d","to":"e","label":"Yes"},{"from":"d","to":"p","label":"No"}]}
{"type":"bibliography","items":[
{"id":"1","text":"Author (Year). Title. Publisher."}]}
ルート B:FILL
レイアウトやデザインを変更せずに、既存の PDF のフォームフィールドに入力します。
# Step 1: inspect
python3 scripts/fill_inspect.py --input form.pdf
# Step 2: fill
python3 scripts/fill_write.py --input form.pdf --out filled.pdf \
--values '{"FirstName": "Jane", "Agree": "true", "Country": "US"}'
| フィールドの種類 | 値の形式 |
|---|---|
text | 任意の文字列 |
checkbox | "true" または "false" |
dropdown | inspect の出力にある選択肢の値と一致する必要があります |
radio | ラジオボタンの値と一致する必要があります(多くの場合 / で始まります) |
正確なフィールド名を取得するため、必ず最初に fill_inspect.py を実行してください。
ルート C:REFORMAT
既存のドキュメントを解析 → content.json → CREATE パイプライン。
bash scripts/make.sh reformat \
--input source.md --title "My Report" --type report --out output.pdf
対応している入力形式: .md .txt .pdf .json
環境
bash scripts/make.sh check # verify all deps
bash scripts/make.sh fix # auto-install missing deps
bash scripts/make.sh demo # build a sample PDF
| ツール | 使用スクリプト | インストール |
|---|---|---|
| Python 3.9+ | すべての .py スクリプト | システム |
reportlab | render_body.py | pip install reportlab |
pypdf | fill、merge、reformat | pip install pypdf |
| Node.js 18+ | render_cover.js | システム |
playwright + Chromium | render_cover.js | npm install -g playwright && npx playwright install chromium |