将文章内容自动拆分为多张信息图海报(2400x3600竖版),支持多种风格模板和6种页面布局。 Use when: (1) 用户说"生成海报", (2) 用户发文章要求做图, (3) 用户说"做成卡片/信息图" (4) 用户发文章并希望转成可分享的图片, (5) 用户要求制作信息图/infographic
Scanned 9/1/2026
Install to Claude Code
npx -y skills add tengj/article-poster-generator --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of article-poster-generator?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/tengj-article-poster-generator)More formats (shields.io, HTML) on the badges page.
---
name: article-poster-generator
description: |
将文章内容自动拆分为多张信息图海报(2400x3600竖版),支持多种风格模板和6种页面布局。
Use when: (1) 用户说"生成海报", (2) 用户发文章要求做图, (3) 用户说"做成卡片/信息图"
(4) 用户发文章并希望转成可分享的图片, (5) 用户要求制作信息图/infographic
---
# Article Poster Generator
## 概述
将长文章自动拆分为5-8张精美信息图海报(2400×3600竖版),支持5种视觉风格 × 6种页面布局。
使用 Python + Playwright 将 HTML 模板渲染为高清 PNG 图片。
## 风格模板
| 风格ID | 名称 | 配色方案 | 设计特征 |
|--------|------|----------|----------|
| `dark-tech` | 暗夜科技 | 深色底(#1a1a1a) + 猩红(#cc4444) | **CNC金属质感**,单色红系(猩红+珊瑚+银灰),暗外框+亮顶框内发光 |
| `cyberpunk` | 赛博朋克 | 深蓝紫底(#0a0a1a) + 霓虹青(#00d4ff) + 品红(#ff007c) | **4px切角**,霓虹发光,HUD装饰码,80/15/5色彩法则 |
| `minimal-biz` | 极简清新 | 浅绿底(#F0F7F7) + 深色文字(#1C2226) + 深青绿(#1A7D7D) | 白卡片+阴影,清爽专业 |
| `guochao` | 黑金奢华 | 深褐底(#1a0a0a) + 暗金(#d4a853) / 复古红(#c43a31) | **邀请函内框**,冷白标题+金色点缀,黑金红银四色纪律 |
| `dark-green` | 暗夜青绿 | 深色底(#0C1316) + 青绿强调(#3DB8B0) | 卡片微高光,赛博系辅助色,极客气质 |
## 6种页面布局
### 1. cover — 封面页
大标题 + 副标题 + 核心要点列表。**标题要大,占页面视觉主体。**
```json
{
"type": "cover",
"slide_number": "00",
"tag": "今日速评",
"tag_icon": "⚠",
"title": "主标题(10字以内最佳)",
"subtitle": "副标题或来源说明",
"highlights": ["核心要点1", "核心要点2", "核心要点3"]
}
```
### 2. content — 卡片内容页
经典纵排卡片,每张有彩色左边框。适合**并列的多个知识点/要点**。
```json
{
"type": "content",
"slide_number": "01",
"tag": "分类标签",
"tag_icon": "📋",
"title": "这页的主题",
"sections": [
{
"title": "小节标题",
"content": "正文内容(50-100字为佳)",
"highlight": "需要高亮的关键句(可选)",
"border_color": "red"
}
]
}
```
### 3. steps — 步骤流程页
大编号圆球 + 连接线,适合**按步骤操作的教程/流程**。
```json
{
"type": "steps",
"slide_number": "02",
"tag": "操作步骤",
"tag_icon": "⚡",
"title": "三步搞定",
"steps": [
{
"title": "步骤标题",
"content": "步骤说明(40-80字)"
}
]
}
```
### 4. grid — 网格页
2列网格布局,顶部彩色边框。适合**踩坑/技巧/对比/特性列表**。
```json
{
"type": "grid",
"slide_number": "03",
"tag": "避坑指南",
"tag_icon": "⚠",
"title": "四个常见坑",
"cells": [
{
"icon": "❌",
"title": "单元格标题",
"content": "说明文字(30-60字)"
}
]
}
```
### 5. quote — 大字金句页
居中大字金句 + 下方解释卡片。适合**核心观点/名言/关键结论**突出展示。
```json
{
"type": "quote",
"slide_number": "04",
"tag": "核心观点",
"tag_icon": "💬",
"quote": "一句话核心观点(20字以内最震撼)",
"source": "来源或补充说明(可选)",
"details": [
{
"label": "标签名",
"text": "详细解释(40-60字)"
}
]
}
```
### 6. summary — 总结页
引用框总结 + 行动建议列表。**固定用于最后一页。**
```json
{
"type": "summary",
"slide_number": "05",
"tag": "总结",
"tag_icon": "💡",
"title": "核心观点",
"summary_text": "一段话总结全文(80字以内)",
"action_items": ["行动建议1", "行动建议2", "行动建议3"]
}
```
## 方法论基础
文章转知识卡片不是"凭感觉拆",而是有一套完整的理论体系支撑。
**提取和制卡是一体的**——提取什么、怎么提取,必须由卡片的需求反向驱动。
### 理论框架总览
```
┌─────────────────────────────────────────────────────┐
│ Phase 1: 提取(从文章中拿什么) │
│ ┌───────────┐ ┌───────────┐ ┌──────────────┐ │
│ │ 金字塔逆向 │ │ 5W1H 扫描 │ │ MECE 分组检验 │ │
│ │ 拆解层级 │ │ 不漏要素 │ │ 不重不漏 │ │
│ └───────────┘ └───────────┘ └──────────────┘ │
├─────────────────────────────────────────────────────┤
│ Phase 2: 组织(按什么顺序排) │
│ ┌───────────┐ ┌───────────┐ │
│ │ SCQA 叙事 │ │ LATCH 选型│ │
│ │ 情冲问答 │ │ 点线面块收 │ │
│ └───────────┘ └───────────┘ │
├─────────────────────────────────────────────────────┤
│ Phase 3: 呈现(怎么排版展示) │
│ ┌───────────┐ ┌───────────┐ ┌──────────────┐ │
│ │ 认知负荷 │ │ F型阅读 │ │ 格式塔原理 │ │
│ │ 7±2法则 │ │ 视觉动线 │ │ 接近/相似 │ │
│ └───────────┘ └───────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────┘
```
---
### Phase 1: 内容提取 — 从文章中拿什么
提取不是"读完文章概括一下",而是带着卡片的目标反向拆解原文。
#### 1.1 金字塔逆向拆解 — 识别信息层级
用金字塔原理(Barbara Minto)从原文中**逆向还原**作者的论证结构:
```
原文(散乱的段落)
↓ 逆向拆解
一级:全文核心结论(1句话) → 将成为 cover 标题
二级:支撑结论的 2-4 个分论点 → 将成为每张卡片的主题
三级:每个分论点的证据/数据/案例 → 将成为卡片内的 sections/cells/steps
```
**操作方法**:
1. 通读全文,用一句话回答"这篇文章到底在说什么"→ 一级结论
2. 问"作者用了哪几个论点来支撑"→ 二级分论点(2-4个,每个将成为一张卡片)
3. 每个分论点下面有什么证据 → 三级素材(数据、案例、引用)
#### 1.2 5W1H 扫描 — 确保不漏关键要素
对提取出的信息做 5W1H 完整性检查:
| 要素 | 问题 | 遗漏风险 | 卡片中的位置 |
|------|------|----------|-------------|
| **What** | 核心事件/观点是什么 | 低(通常最先提取) | cover title / quote |
| **Why** | 为什么重要/为什么发生 | 中(容易被当作背景跳过) | content sections |
| **How** | 怎么做/怎么实现 | 低(教程类文章的主体) | steps |
| **Who** | 涉及谁/影响谁 | 高(容易遗漏利益相关方) | content / grid |
| **When** | 时间节点/截止日期 | 高(容易被当作细节忽略) | cover subtitle / content |
| **Where** | 在哪里/适用范围 | 中 | content / grid |
不是每篇文章都有完整的 6 个 W,但必须**主动扫描一遍确认哪些缺失是合理的**。
#### 1.3 MECE 分组检验 — 不重不漏
提取出的信息块必须通过 MECE(Mutually Exclusive, Collectively Exhaustive)检验:
- **互斥(ME)**:任意两张卡片的主题不能重叠。如果重叠,说明拆分维度不统一,需要合并或重新分类
- **完备(CE)**:所有卡片合起来应该覆盖原文的核心信息。如果看完所有卡片后仍有"少了什么"的感觉,说明遗漏了关键信息
**检验方法**:把所有卡片标题排列出来,问两个问题:
1. 有没有两张卡片说的是同一件事?(重复 → 合并)
2. 原文有没有重要内容没被任何卡片覆盖?(遗漏 → 补充)
#### 1.4 信息筛选优先级 — 留什么删什么
提取出来的素材按以下优先级筛选,每张卡片空间有限(≤200字),必须取舍:
```
优先保留 优先删除
───────── ─────────
① 数据和事实("增长了300%") ① 过渡句("众所周知"、"值得注意的是")
② 具体案例("比如某公司...") ② 重复论述(同一观点换说法再说一遍)
③ 核心观点(作者的独特判断) ③ 背景铺垫(读者已知的常识)
④ 行动建议("建议你...") ④ 情感修辞("令人震惊的是")
⑤ 对比/转折("但是"、"相反") ⑤ 补充说明(括号里的解释、脚注)
```
---
### Phase 2: 内容组织 — 按什么顺序排
#### 2.1 SCQA 叙事框架 — 决定卡片顺序
Barbara Minto 的 SCQA 框架决定卡片的叙事顺序:
| SCQA | 含义 | 对应卡片 | 对应布局 |
|------|------|----------|----------|
| **S** Situation | 情境:发生了什么 | 第1张 | `cover` |
| **C** Complication | 冲突:问题/矛盾是什么 | 第2张 | `quote` |
| **Q** Question | 问题:怎么解决 | 第3-N张 | `steps` / `content` / `grid` |
| **A** Answer | 回答:结论和行动 | 最后1张 | `summary` |
金字塔原理要求每层下面最多 3 个支撑点(MECE 分组),所以:
- content 建议最多 3 个 sections
- grid 建议 4-6 个 cells
- summary 建议 3-5 条行动建议
#### 2.2 LATCH 选型 — 每页用什么布局
Richard Saul Wurman 提出世上所有信息只有 5 种组织方式(LATCH),根据信息的"形状"匹配布局:
| LATCH | 含义 | 信息形状 | 对应布局 |
|-------|------|----------|----------|
| **L**ocation | 按空间/位置 | 块(并排) | `grid` |
| **A**lphabet | 按字母/索引 | 块(并排) | `grid` |
| **T**ime | 按时间顺序 | 线(流程) | `steps` |
| **C**ategory | 按分类 | 面(展开) | `content` |
| **H**ierarchy | 按重要性层级 | 点(突出) | `cover` / `quote` |
简化记忆:**点(突出最重要的)→ 线(有顺序的)→ 面(要展开的)→ 块(要对比的)→ 收(总结行动)**
---
### Phase 3: 视觉呈现 — 怎么排版展示
#### 3.1 认知负荷控制
心理学家 George Miller 的 **7±2 法则**:人的工作记忆一次只能处理 5-9 个信息单元。
**核心原则**:每张卡片是一个独立的认知单元(chunk),文字总量≤200字,要点≤5个。
#### 3.2 视觉认知规律
| 规律 | 内容 | 在卡片中的应用 |
|------|------|----------------|
| **F 型阅读** | 人眼先横扫标题,再沿左侧竖扫 | 标题放顶部,关键信息靠左 |
| **格式塔-接近性** | 靠近的元素被认为相关 | 卡片内分组,组间留白 |
| **格式塔-相似性** | 外观一致的元素被认为同类 | 同级内容统一样式 |
| **视觉层级** | 大的、亮的、有色的先被看到 | L1-L6 字号阶梯(240px→42px) |
| **对比度** | 差异越大越抓眼 | 强调色只用在关键信息,不滥用 |
#### 3.3 每张卡片的黄金结构
```
每张卡片 = 核心论点 + 案例/数据支撑 + 行动清单(可选)
```
各布局的论点-支撑映射:
| 布局 | 论点位置 | 支撑位置 | 行动位置 |
|------|----------|----------|----------|
| cover | title | highlights | — |
| content | card-title | card-content | card-highlight |
| steps | main-title | step-content | — |
| grid | main-title | cell-content | — |
| quote | quote-text | details | — |
| summary | summary-text | — | action_items |
---
### 完整执行流程(6步)
```
原文
↓ ① 提取:金字塔逆向拆解(一级结论→二级分论点→三级证据)
↓ ② 检验:5W1H 扫描不漏要素 + MECE 检验不重不漏
↓ ③ 筛选:按优先级取舍(数据>案例>观点>行动,删套话/重复/铺垫)
↓ ④ 排序:SCQA 叙事(情境→冲突→问题→回答)
↓ ⑤ 选型:LATCH 匹配布局(点/线/面/块/收,至少3种不同布局)
↓ ⑥ 成卡:每张≤200字,论点+支撑+行动,F型阅读动线
```
### 参考文献
- Miller, G.A. (1956). *The Magical Number Seven, Plus or Minus Two*
- Minto, B. (1987). *The Pyramid Principle: Logic in Writing and Thinking*
- Wurman, R.S. (1996). *Information Architects*
- Tufte, E.R. (2001). *The Visual Display of Quantitative Information*
- Nielsen Norman Group. *How Chunking Helps Content Processing*
## 工作流程
### Step 1: 读取文章内容
根据用户输入类型获取文章内容:
- **纯文字**:直接使用用户发送的文本
- **链接**:用 `curl` 或浏览器抓取网页正文
- **文档**:读取文件内容(支持 txt/md 等)
### Step 2: 分析文章结构并拆分内容
Agent 需要:
1. 通读全文,提取核心观点
2. 根据内容特点选择合适的布局类型
3. 生成 JSON 数据
#### 布局选择指南
根据内容性质选择最合适的布局,**每篇文章尽量使用3种以上不同布局**,避免单调:
| 内容类型 | 推荐布局 | 原因 |
|----------|----------|------|
| 文章开头/核心结论 | `cover` | 大标题抓眼球 |
| 一句话核心观点/名言 | `quote` | 居中大字突出冲击力 |
| 操作步骤/安装流程 | `steps` | 编号+连接线,流程感 |
| 并列知识点/详细说明 | `content` | 卡片分区,信息密度高 |
| 常见问题/技巧/对比 | `grid` | 2列并排,一目了然 |
| 全文总结/行动建议 | `summary` | 引用框+清单收尾 |
#### 拆分原则
1. **第1张(cover)**:文章标题 + 3-4个核心要点,标题控制在10字以内
2. **中间N张**:根据内容混搭 steps / content / quote / grid
- 每个 content section 内容控制在50-100字
- 每张 content 最多3个 sections
- steps 每步40-80字,建议3-4步
- grid 建议4个 cells(2×2)或6个 cells(3×2)
- quote 金句控制在20字以内,details 2-3条
- 给每个 section 分配不同的 border_color: `red`, `yellow`, `green`, `cyan`, `orange`, `purple`
3. **最后1张(summary)**:总结全文 + 3-5条行动建议
#### 标签和图标选择
常用标签+图标组合:
- ⚠ 警告/风险/避坑
- 📋 规则/政策/清单
- 💰 财经/金融/成本
- 🔍 分析/解读/深入
- 🌍 国际/宏观/趋势
- 🛡 安全/防护/保障
- 📊 数据/趋势/对比
- 💡 观点/建议/总结
- ⚡ 快讯/突发/步骤
- 🔑 关键/核心/重点
- 🎨 设计/美化/创意
- 🛠 工具/配置/设置
- 💬 引用/观点/金句
### Step 3: 生成海报图片
将 JSON 保存为临时文件,调用脚本生成图片:
```bash
# 默认风格(dark-green)
python ~/.claude/skills/article-poster-generator/scripts/generate_posters.py \
--input /tmp/posters_data.json \
--style dark-green \
--output ~/Desktop/posters/
# 指定风格
python ~/.claude/skills/article-poster-generator/scripts/generate_posters.py \
--input /tmp/posters_data.json \
--style cyberpunk \
--output ~/Desktop/posters/
# 风格选项: dark-tech | cyberpunk | minimal-biz | guochao | dark-green
```
### Step 4: 输出图片给用户
脚本会打印每张图片的绝对路径,格式如:
```
[OK] slide_00_cover.png -> /path/to/slide_00_cover.png
[OK] slide_01_quote.png -> /path/to/slide_01_quote.png
...
```
Agent 使用 `MEDIA:/path/to/file.png` 格式逐张发送给用户。
### Step 5: 生成配套文案
在输出目录(YYMMDD-主题/)下生成 `copy.md` 文件,包含多平台适配的发布文案:
```markdown
# [主题] 发布文案
## 公众号封面摘要(一句话)
一句话概括全文核心,适合公众号推送的摘要栏。
## 公众号正文引导(配合信息图)
2-3段引导文字 + "👉 左滑查看 N 张信息图"。
语气正式但不刻板,突出数据和核心变化。
## 朋友圈(精简版)
3-4句话,无标签,口语化,适合直接复制发朋友圈。
## 小红书/小绿书(带标签版)
分点列要点,末尾加 #标签。
语气活泼,适当用感叹号,突出"终于"/"重磅"等情绪词。
## Twitter/X(英文版)
英文要点式,bullet list,简洁有力。
```
**文案撰写原则**:
- 公众号版最正式,小红书版最口语化,朋友圈版居中
- 所有版本必须包含核心数据(如提交数、平台数等硬指标)
- 小红书版末尾加 6-8 个相关标签
- 英文版保持简洁,不翻译中文梗
## 内容拆分详细指南
### 如何判断拆分数量
- 短文(500字以下):封面 + 2张内容 + 总结 = 4张
- 中文(500-1500字):封面 + 3-4张内容 + 总结 = 5-6张
- 长文(1500字以上):封面 + 4-6张内容 + 总结 = 6-8张
### 布局搭配建议
**教程类文章**:cover → quote(核心思路) → steps(操作流程) → content(详细配置) → grid(踩坑) → summary
**新闻/评论类文章**:cover → quote(核心观点) → content(背景) → content(影响) → grid(各方反应) → summary
**工具推荐类文章**:cover → grid(工具对比) → content(详细介绍) → steps(使用方法) → quote(使用感受) → summary
### 内容精炼原则
1. 删除过渡句、套话,保留干货
2. 长句拆短句,每句不超过25字
3. 数据和事实优先,观点次之
4. 每个 highlight 是可以独立传播的金句
5. cover 标题尽量短(10字以内),字越少越大越醒目
## 字号与间距规范(2400×3600 画布)
所有风格统一遵循以下5级字号阶梯,确保跨页面视觉一致性:
### 字号阶梯总览
| 层级 | 用途 | 字号范围 | 设计原则 |
|------|------|---------|----------|
| L1 英雄 | 封面大标题 | 240px | 全页视觉主体,一眼抓住 |
| L2 页标题 | 各页标题 | 160px | 每页最大文字(封面除外) |
| L3 区块标题 | 卡片/步骤/网格/金句标题 | 100-120px | 区块内最大文字 |
| L4 大正文 | 副标题/总结/要点/行动建议 | 76-88px | 重要但非标题的文字 |
| L5 正文 | 所有正文内容 | 64px | 统一正文基准 |
| L6 标注 | 标签/元信息/页码 | 42-52px | 辅助信息 |
### 各布局详细字号
#### 全局元素(所有页面共用)
| 元素 | 字号 | 字重 | 层级 |
|------|------|------|------|
| 标签 `.tag` | 52px | 600 | L6 |
| 装饰编号 `.slide-num-bg` | 520px | 900 | 装饰 |
| 页码 `.page-indicator` | 42px | 600 | L6 |
| 页面标题 `.main-title` | 160px | 900 | L2 |
#### cover — 封面页
| 元素 | 字号 | 字重 | 层级 |
|------|------|------|------|
| 封面标题 `.cover-title` | 240px | 900 | L1 |
| 封面副标题 `.cover-subtitle` | 76px | 500 | L4 |
| 要点文字 `.highlight-list li` | 76px | 400 | L4 |
| 编号方块 `.highlight-num` | 42px | 800 | L6 |
#### content — 卡片内容页
| 元素 | 字号 | 字重 | 层级 |
|------|------|------|------|
| 卡片标题 `.card-title` | 120px | 800 | L3 |
| 卡片正文 `.card-content` | 64px | 400 | L5 |
| 卡片高亮 `.card-highlight` | 64px | 600 | L5 |
| 卡片元信息 `.card-meta` | 42px | 400 | L6 |
#### steps — 步骤流程页
| 元素 | 字号 | 字重 | 层级 |
|------|------|------|------|
| 步骤标题 `.step-title` | 120px | 800 | L3 |
| 步骤正文 `.step-content` | 64px | 400 | L5 |
| 步骤编号 `.step-num` | 52px | 900 | L6 |
#### grid — 网格页
| 元素 | 字号 | 字重 | 层级 |
|------|------|------|------|
| 单元格标题 `.grid-cell-title` | 100px | 800 | L3(半宽适配) |
| 单元格正文 `.grid-cell-content` | 64px | 400 | L5 |
| 单元格图标 `.grid-cell-icon` | 80px | — | 装饰 |
#### quote — 大字金句页
| 元素 | 字号 | 字重 | 层级 |
|------|------|------|------|
| 金句文字 `.quote-text` | 110px | 800 | L3 |
| 来源说明 `.quote-source` | 60px | 400 | L5 |
| 引号装饰 `.quote-mark` | 200px | — | 装饰 |
| 详情标签 `.quote-detail-label` | 56px | 700 | L4(强调色) |
| 详情正文 `.quote-detail-text` | 68px | 500 | L5 |
#### summary — 总结页
| 元素 | 字号 | 字重 | 层级 |
|------|------|------|------|
| 总结正文 `.summary-text` | 88px | 400 | L4 |
| 行动建议标签 `.action-label` | 72px | 700 | L4 |
| 行动建议项 `.action-item` | 80px | 400 | L4 |
| 行动编号 `.action-num` | 44px | 800 | L6 |
| 引号图标 `.summary-quote-icon` | 100px | — | 装饰 |
### 间距规范
- 海报内边距:上100px 左右120px 下90px
- 卡片内边距:60px × 68px
- 卡片左边框宽度:10px
- 卡片圆角:28px
- 元素间距由 `space-evenly` 自动分配,确保填满页面
- 网格间距:36px(列间距)
## 设计规范(经专家评审沉淀)
### 各风格专属规范(经专家评审)
**cyberpunk(赛博朋克)**:
- 圆角统一 4px(切角机甲风),不用 28px 圆角
- 色彩严格遵循 80/15/5 法则:80% 暗色底 + 15% 赛博青 #00d4ff + 5% 品红 #ff007c
- 标题用纯冷白 #F0F4F6,不用渐变(渐变降低清晰度)
- 卡片/编号/tag 都有双层霓虹发光 box-shadow
- 底部有 HUD 装饰码(SYS.REQ // NEON_GRID...),极客点睛
**dark-tech(暗夜科技)**:
- 辅助色走"单色红系":猩红 #cc4444 + 珊瑚 #e87a7a + 银灰 #a0a0a0,绝不出现黄绿青
- CNC 金属切割质感:外框 #111111(暗)+ 顶框 #3a3a3a(亮)+ 底部重阴影 + 顶部 inset 内发光
- 标题纯白 #ffffff,步骤/金句标题用猩红 #cc4444
- 克制是灵魂:宁可全红也不搞五颜六色
**dark-green(暗夜青绿)**:
- 辅助色用赛博系(幽灵蓝 #4F8AFF、荧光青 #00E5FF、警戒金 #F5B041),不用红黄蓝
- 卡片顶部 1px 白色微高光,金属质感
- muted 文字 #788691(比其他风格亮一档)
**guochao(黑金奢华)**:
- 严格"黑金红银"四色纪律:暗金 #d4a853 + 复古红 #c43a31 + 铂金银 #a8a8b0,绝不出现绿橘
- 标题用纯冷白 #FFFFFF(不是暖黄),正文用冷银灰 #A0AAB2,金色只给数字/图标/边框
- 邀请函内框 1.5px(不是 2px),精致纤细
- 卡片有暗金色顶部高光 + 底部重阴影,Old Money 质感
**minimal-biz(极简清新)**:
- **全站单色化**:所有卡片边框、左边条、编号全统一为 #1A7D7D,不允许出现其他颜色
- Apple/Stripe 级弥散阴影:多层叠加,主色调染色(rgba(26,125,125,0.08)),卡片像"浮"在背景上
- 边框用主色低透明度(rgba(26,125,125,0.15))代替灰色,更通透
- 背景色来自设计系统 --green-light-bg: #F0F7F7
### 图标规范
- **所有图标使用内嵌 SVG**,不用 emoji。脚本内置了 17 个常用图标的 SVG 映射(闪电、灯泡、搜索、文件、图表等),颜色自动跟随主题 accent 色
- 如果 JSON 里写的 emoji 有对应 SVG,脚本自动替换;没有匹配则 fallback 到原始 emoji
- 这确保了所有设备渲染一致,且不会有多彩 emoji 破坏暗色风格的统一感
### 色彩规范
- **辅助色避免"彩虹感"**:不用默认的红黄蓝绿,改用赛博系同类色(幽灵蓝 #4F8AFF、荧光青 #00E5FF、警戒金 #F5B041),保持未来感
- **辅助文字对比度**:暗色背景下的 muted 文字不低于 #788691,确保移动端可读
- **浅色风格强调色要深**:白底上用 #1A7D7D(deep green),不要用太浅的绿
- 卡片顶部加 `border-top: 1px solid rgba(255,255,255,0.04)` 微弱高光,增加金属质感
### 排版规范
- **标签边框 1.5px**(不是 2.5px),精细风格不宜过粗
- **左边框统一 8px**,全站不混用 8/10
- **封面标题断行**:完整词组不能被切断(如"搜索插件"不能断为"搜索插/件"),用 `\n` 在 JSON 里手动控制换行位置
- **steps 页内容区加卡片底色**,让阅读流更稳定,不会显得单薄
- **grid 单元格 flex column 对齐**,防止内容多少不同导致留白不均
- **引号装饰(❝)透明度 0.15**,让它像背景一样沉下去,不干扰阅读
### 内容密度规范
- **quote 布局 details 至少 3 条**,每条 30-50 字,否则页面太空不要用 quote
- **cover highlights 不超过 4 条**,太多则单条文字太短
- **cover 标题控制在 10 字以内**,字越少越大越醒目
- **封面 stats-row 必须有样式**(字号 48px + 卡片背景),不能漏排
### 文章拆分方法论
拆分 JSON 时按以下思路:
1. **提取骨架**:通读文章,识别出 3-5 个核心信息块(是什么/为什么/怎么做/怎么选/总结)
2. **匹配布局**:根据每个信息块的"形状"选布局
- 有对比/并列特性 → grid
- 有顺序步骤 → steps
- 有一句话核心结论 → quote
- 需要展开详述 → content
- 开头 → cover,结尾 → summary
3. **检查多样性**:确保至少 3 种不同布局,不能全是 content
4. **控制断行**:封面标题用 `\n` 手动控制换行,确保词组完整
## 注意事项
- 所有文字内容必须是中文
- 内容不要过多导致溢出,每张海报文字总量控制在200字以内
- 如果用户没指定风格,默认使用 `dark-green`
- 如果用户要求特定张数,按需调整拆分
- 输出目录如果不存在会自动创建
- 生成过程约需10-30秒(取决于张数)
- **一篇文章至少使用3种不同布局类型**,避免视觉单调
## 示例交互
用户: "帮我把这篇文章做成海报:[文章内容]"
Agent 操作流程:
1. 阅读文章内容
2. 分析提取核心观点
3. 选择合适的布局搭配(至少3种不同类型)
4. 构建 JSON 数据(注意封面标题断行、quote 至少3条 detail)
5. 保存为 /tmp/poster_[timestamp].json
6. 调用脚本生成图片
7. 逐张发送给用户
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!