mcpField
M
minimax-pdf

minimax-pdf

github.com/minimax-aiドキュメント13.7k3.8k 回インストール28 週間前に更新
リポジトリ

minimax-pdf について

minimax-pdfは、PDFの作成、フォーム入力、文書の再フォーマットを行うスキルです。タスク別のスクリプト工程に振り分け、複数の表紙スタイルや構造化コンテンツ、既存PDFのフォーム入力に対応します。

主な機能

  1. 01内容からPDFを生成
  2. 02PDFフォーム項目の確認と入力
  3. 03文書をPDFとして再フォーマット
  4. 04文書タイプと表紙スタイルの選択
  5. 05チャート、フローチャート、数式ブロックの挿入

活用シーン

  1. 01レポート、提案書、履歴書のPDF作成
  2. 02既存PDFフォームへの入力
  3. 03Markdown、テキスト、PDF、JSONの再フォーマット
  4. 04PDFでチャートやフローチャートを提示

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/minimax-ai/skills --skill minimax-pdf

インストール後、Claude Code で/minimax-pdfを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
design/
design.md
scripts/
cover.py
fill_inspect.py
fill_write.py
make.sh
merge.py
palette.py
reformat_parse.py
render_body.py
render_cover.js

詳細

minimax-pdf

3 つのタスク。1 つのスキル。

CREATE または REFORMAT の作業を行う前に、design/design.md を必ず読んでください。


ルート一覧

ユーザーの意図ルート使用するスクリプト
PDF を一から新規作成するCREATEpalette.py → cover.py → render_cover.js → render_body.py → merge.py
既存の PDF のフォームフィールドに入力する/完成させるFILLfill_inspect.py → fill_write.py
既存のドキュメントを再フォーマットする/スタイルを変更するREFORMATreformat_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

種類表紙のパターンビジュアルアイデンティティ
reportfullbleed暗い背景、ドットグリッド、Playfair Display
proposalsplit左パネル+右側の幾何学模様、Syne
resumetypographic先頭の単語を大きく表示、DM Serif Display
portfolioatmosphericほぼ黒の背景、放射状のグロー、Fraunces
academictypographic明るい背景、クラシックなセリフ体、EB Garamond
generalfullbleedダークスレート、Outfit
minimalminimal白地+単色の 8px アクセントバー、Cormorant Garamond
stripestripe太い横向きのカラーバンド 3 本、Barlow Condensed
diagonaldiagonalSVG の斜めカット、暗色と明色の半面、Montserrat
frameframe内側の枠線、コーナー装飾、Cormorant
editorialeditorial透かし文字、すべて大文字のタイトル、Bebas Neue
magazinemagazine温かみのあるクリーム色の背景、中央揃えの構成、メイン画像、Playfair Display
darkroomdarkroomネイビーの背景、中央揃えの構成、グレースケール画像、Playfair Display
terminalterminalほぼ黒の背景、グリッド線、等幅フォント、ネオングリーン
posterposter白い背景、太いサイドバー、大きなタイトル、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?
chartmatplotlib で描画する棒グラフ/折れ線グラフ/円グラフchart_type, labels, datasets, title?, x_label?, y_label?, caption?, figure?
flowchartmatplotlib でノードとエッジを使って描画するプロセス図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"
dropdowninspect の出力にある選択肢の値と一致する必要があります
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 スクリプトシステム
reportlabrender_body.pypip install reportlab
pypdffill、merge、reformatpip install pypdf
Node.js 18+render_cover.jsシステム
playwright + Chromiumrender_cover.jsnpm install -g playwright && npx playwright install chromium

コメント