快速判断
当PDF的视觉质量和设计身份很重要时,请使用此技能。创建(从头开始生成):"制作PDF","生成报告","撰写提案","创建简历","美观的PDF","专业文档","封面页","精致的PDF","客户可用文档"。填写(完成表单字段):"填写表格","填写此PDF","完成表单字段","将值写入PDF","此PDF有哪些字段"。重新格式化(对现有文档应用设计):"重新格式化此文档","应用我们的样式","将此Markdown/文本转换为P
适合任务
- 按 ModelScope 收录说明完成平台、开发或工作流任务。
- 通过下载包离线保存 Skill 内容。
- 结合下载量、访问量和喜欢数评估优先级。
输入与输出
输入:任务目标、上下文材料、平台信息、文件路径、约束条件或需要处理的内容。
输出:按 Skill 说明生成的文档、代码、检查结果、计划、建议或操作步骤。
示例任务
- 使用 minimax-pdf 帮我完成当前任务,并先确认必要上下文。
- 根据 minimax-pdf 的说明,列出操作步骤和风险检查点。
安装方式
- 下载本站提供的 Skill ZIP 并解压。
- 把解压后的 Skill 目录放入当前 AI 工具支持的
skills目录。 - 如需在线查看原始内容,可打开 GitHub 的
SKILL.md。
风险边界
使用前请检查权限、外部依赖和要处理的数据类型。第三方平台数据、支付、部署、账号和密钥相关内容应先核对官方说明。
SKILL.md 文档介绍
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.pdfDoc 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.pdfSupported 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 |