minimax-pdf
从零生成 PDF、填充表单字段或重新格式化现有 PDF 文档
npx skills add minimax-ai/skills --skill minimax-pdfBefore / After 效果对比
1 组手动在 Word 或设计工具中创建文档、调整布局、导出 PDF,一份 10 页报告需要 2-3 小时
使用脚本自动生成封面、正文和合并页面,20 分钟完成专业格式 PDF 报告
description SKILL.md
minimax-pdf
minimax-pdf
Three tasks. One skill.
Read design/design.md before any CREATE or REFORMAT work.
Route table
User intent Route Scripts used
Generate a new PDF from scratch
CREATE
palette.py → cover.py → render_cover.js → render_body.py → merge.py
Fill / complete form fields in an existing PDF
FILL
fill_inspect.py → fill_write.py
Reformat / re-style an existing document
REFORMAT
reformat_parse.py → then full CREATE pipeline
Rule: when in doubt between CREATE and REFORMAT, ask whether the user has an existing document to start from. If yes → REFORMAT. If no → CREATE.
Route A: CREATE
Full pipeline — content → design tokens → cover → body → merged 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
Doc types: report · proposal · resume · portfolio · academic · general · minimal · stripe · diagonal · frame · editorial · magazine · darkroom · terminal · poster
Type Cover pattern Visual identity
report
fullbleed
Dark bg, dot grid, Playfair Display
proposal
split
Left panel + right geometric, Syne
resume
typographic
Oversized first-word, DM Serif Display
portfolio
atmospheric
Near-black, radial glow, Fraunces
academic
typographic
Light bg, classical serif, EB Garamond
general
fullbleed
Dark slate, Outfit
minimal
minimal
White + single 8px accent bar, Cormorant Garamond
stripe
stripe
3 bold horizontal color bands, Barlow Condensed
diagonal
diagonal
SVG angled cut, dark/light halves, Montserrat
frame
frame
Inset border, corner ornaments, Cormorant
editorial
editorial
Ghost letter, all-caps title, Bebas Neue
magazine
magazine
Warm cream bg, centered stack, hero image, Playfair Display
darkroom
darkroom
Navy bg, centered stack, grayscale image, Playfair Display
terminal
terminal
Near-black, grid lines, monospace, neon green
poster
poster
White bg, thick sidebar, oversized title, Barlow Condensed
Cover extras (inject into tokens via --abstract, --cover-image):
-
--abstract "text"— abstract text block on the cover (magazine/darkroom) -
--cover-image "url"— hero image URL/path (magazine, darkroom, poster)
Color overrides — always choose these based on document content:
-
--accent "#HEX"— override the accent color;accent_ltis auto-derived by lightening toward white -
--cover-bg "#HEX"— override the cover background color
Accent color selection guidance:
You have creative authority over the accent color. Pick it from the document's semantic context — title, industry, purpose, audience — not from generic "safe" choices. The accent appears on section rules, callout bars, table headers, and the cover: it carries the document's visual identity.
Context Suggested accent range
Legal / compliance / finance
Deep navy #1C3A5E, charcoal #2E3440, slate #3D4C5E
Healthcare / medical
Teal-green #2A6B5A, cool green #3A7D6A
Technology / engineering
Steel blue #2D5F8A, indigo #3D4F8A
Environmental / sustainability
Forest #2E5E3A, olive #4A5E2A
Creative / arts / culture
Burgundy #6B2A35, plum #5A2A6B, terracotta #8A3A2A
Academic / research
Deep teal #2A5A6B, library blue #2A4A6B
Corporate / neutral
Slate #3D4A5A, graphite #444C56
Luxury / premium
Warm black #1A1208, deep bronze #4A3820
Rule: choose a color that a thoughtful designer would select for this specific document — not the type's default. Muted, desaturated tones work best; avoid vivid primaries. When in doubt, go darker and more neutral.
content.json block types:
Block Usage Key fields
h1
Section heading + accent rule
text
h2
Subsection heading
text
h3
Sub-subsection (bold)
text
body
Justified paragraph; supports <b> <i> markup
text
bullet
Unordered list item (• prefix)
text
numbered
Ordered list item — counter auto-resets on non-numbered blocks
text
callout
Highlighted insight box with accent left bar
text
table
Data table — accent header, alternating row tints
headers, rows, col_widths?, caption?
image
Embedded image scaled to column width
path/src, caption?
figure
Image with auto-numbered "Figure N:" caption
path/src, caption?
code
Monospace code block with accent left border
text, language?
math
Display math — LaTeX syntax via matplotlib mathtext
text, label?, caption?
chart
Bar / line / pie chart rendered with matplotlib
chart_type, labels, datasets, title?, x_label?, y_label?, caption?, figure?
flowchart
Process diagram with nodes + edges via matplotlib
nodes, edges, caption?, figure?
bibliography
Numbered reference list with hanging indent
items [{id, text}], title?
divider
Accent-colored full-width rule
—
caption
Small muted label
text
pagebreak
Force a new page
—
spacer
Vertical whitespace
pt (default 12)
chart / flowchart schemas:
{"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."}]}
Route B: FILL
Fill form fields in an existing PDF without altering layout or design.
# 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"}'
Field type Value format
text
Any string
checkbox
"true" or "false"
dropdown
Must match a choice value from inspect output
radio
Must match a radio value (often starts with /)
Always run fill_inspect.py first to get exact field names.
Route C: REFORMAT
Parse an existing document → content.json → CREATE pipeline.
bash scripts/make.sh reformat \
--input source.md --title "My Report" --type report --out output.pdf
Supported input formats: .md .txt .pdf .json
Environment
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
Tool Used by Install
Python 3.9+
all .py scripts
system
reportlab
render_body.py
pip install reportlab
pypdf
fill, merge, reformat
pip install pypdf
Node.js 18+
render_cover.js
system
playwright + Chromium
render_cover.js
npm install -g playwright && npx playwright install chromium
Weekly Installs296Repositoryminimax-ai/skillsGitHub Stars5.5KFirst Seen4 days agoSecurity AuditsGen Agent Trust HubPassSocketPassSnykPassInstalled onopencode288codex287cursor287gemini-cli285github-copilot285kimi-cli284
forum用户评价 (0)
发表评价
暂无评价,来写第一条吧
统计数据
用户评分
为此 Skill 评分