mcpField
M
minimax-pdf

minimax-pdf

github.com/mxyhiドキュメント50894 回インストール1 日前に更新
リポジトリ

minimax-pdf について

PDF の作成、既存 PDF フォームへの入力、元文書の再フォーマットに使うスキルです。スクリプトによる処理フロー、複数の文書・表紙スタイル、レポートなどに使える構造化コンテンツブロックを備えています。

主な機能

  1. 01構造化コンテンツから PDF を作成
  2. 02既存 PDF フォームへの入力
  3. 03Markdown、テキスト、PDF、JSON の再フォーマット
  4. 04複数の文書・表紙スタイル
  5. 05チャート、フローチャート、表などのブロック
  6. 06依存関係の確認とセットアップ用スクリプト

活用シーン

  1. 01デザイン付きレポートや提案書の作成
  2. 02PDF フォームへの入力
  3. 03元文書を再設計した PDF に変換
  4. 04表やチャート、フローチャートを含む文書の作成

インストール

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

$npx skills add https://github.com/mxyhi/ok-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

コメント