Skip to content
Back to skills

screenshot-infographic-skill

ASecurity

把「一张截图 + 一段功能描述」或「一段主题文案」自动变成一整套可在小红书/公众号/社群直接发的 风格统一、视觉优美的图。两种模式:①截图模式——生成功能教程图/产品导览图(1张概览+单功能细节, 局部放大,品牌色自动跟随截图);②纯文案模式——表意型排版信息图,纯排版零插画、离线可跑, 视觉元素直接编码内容。晚秋简约风:主色 #1A3A6B 深蓝 + 哑光金 #B08D45 + 暖白 #FBFAF8。 适合产品教程、功能安利、新手引导、知识科普、活动预告、资讯解读。 触发词:截图生成教程、功能讲解图、产品导览图、截图配图、功能安利图、把截图做成教程、 文案生成信息图、小红书配图、名词科普配图、infographic generator、screenshot tutorial、 feature guide image、text to infographic。

  • 5 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added August 30, 2026
ai-agentspythongonode

Works with

  • claude code

Security analysis

A100/100

Pro scans all 7 files and shows the line behind each finding

Scanned September 21, 2026

npx -y skills add Wanqiu12345/screenshot-infographic-skill --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of screenshot-infographic-skill?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for screenshot-infographic-skill
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/wanqiu12345-screenshot-infographic-skill/badge)](https://www.skillsdirectory.com/skills/wanqiu12345-screenshot-infographic-skill)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: screenshot-infographic-skill
description: >
  把「一张截图 + 一段功能描述」或「一段主题文案」自动变成一整套可在小红书/公众号/社群直接发的
  风格统一、视觉优美的图。两种模式:①截图模式——生成功能教程图/产品导览图(1张概览+单功能细节,
  局部放大,品牌色自动跟随截图);②纯文案模式——表意型排版信息图,纯排版零插画、离线可跑,
  视觉元素直接编码内容。晚秋简约风:主色 #1A3A6B 深蓝 + 哑光金 #B08D45 + 暖白 #FBFAF8。
  适合产品教程、功能安利、新手引导、知识科普、活动预告、资讯解读。
  触发词:截图生成教程、功能讲解图、产品导览图、截图配图、功能安利图、把截图做成教程、
  文案生成信息图、小红书配图、名词科普配图、infographic generator、screenshot tutorial、
  feature guide image、text to infographic。
agent_created: true
version: 2.0.0
---

# 截图教程图生成器 (Screenshot Tutorial Generator)

把「一张截图 + 一段功能描述」或「一段结构化文案」变成「一整套风格统一、可直接发布的配图」。
用户不需要懂设计,只要发来素材和大致说明,就能拿到成套的 1080×1440(3:4 竖版)高清 PNG。

> v2.0.0 起移除旧版 v1 流程(杂志风模板 + Agnes 3D 插画 + OCR 定位)与 `--style` 参数,
> 全部走「晚秋简约风」渲染器。旧 v1 配置(`visual_prompt` 格式)不再兼容。

## 两种模式

### 截图模式(`run_screenshot_tutorial.py`)

输入一张产品截图 + 产品信息,输出功能导览图:

- `00_cover.png` 极简传播封面(栏目名 + 品牌名 + slogan)
- `01_overview.png` 总体概览(截图嵌顶部窗口,下方表格化拆解功能)
- `02~N_<功能>.png` 功能细节页(局部放大 + 步骤 + 价值/场景)

品牌色从截图主色自动推导(降饱和、压暗),金色 `#B08D45` 只做小面积强调;深浅主题随截图自动判定。
配置由脚本从 ITEMS/DETAILS 常量自动组装,品牌信息用环境变量覆盖:
`BRAND_NAME` / `BRAND_URL` / `BRAND_SUBTITLE` / `BRAND_CATEGORY` / `SCREENSHOT`。
渲染器 `scripts/screenshot_v2.py`。

### 纯文案模式(`run_text_tutorial.py <config.json>`)

输入表意型排版配置 JSON,输出成套信息图。**纯排版零插画、离线可跑**,视觉元素直接编码内容:
竖链=因果推进、点阵=群体、纵向时间线=演进、三列对比表=差异、SVG 示意图封面。
渲染器 `scripts/text_v2.py`;示例配置 `examples/wf_agent_v2.json`。

每页通过 `flex:1` 均分撑满 1080×1440,不允许底部大片真空;主色 `primary`(默认 `#1A3A6B` 深蓝)
+ 金色 `#B08D45` 小面积强调,背景暖白 `#FBFAF8`。

#### 页面类型(type 字段)

除 `cover` 外,每个内容页都支持通用字段:`meta`(页眉栏目)/ `pg`(页码)/ `title` / `lead`(导语)/ `endbar`(底部结论条)。

| type | 用途 | 关键字段 |
|---|---|---|
| `cover` | 封面(SVG 示意图 + 大标题) | `title_lines` / `subtitle` / `net` / `title_size` / `sum` / `note` / `date` / `total` |
| `stats` | 大数字页 | `items: [[大数字, 单位, 标签, 注释], ...]`(四元组) |
| `chain` | 竖向因果链 | `steps: [[标题, 说明, 补充], ...]`(数组,非字典) |
| `timeline` | 纵向时间线 | `nodes: [{dt, tt, ds, key}]`(注意是 `nodes` 不是 `events`;`key: true` 高亮节点) |
| `compare` | 双栏清单对比 | `left_label` / `left_items` / `right_label` / `right_items`(items 为字符串或 `{m, s}`) |
| `vs` | 左右双方逐行对比表 | `rows: [{dim, wf, wf_s, ag, ag_s}]`,可加 `left_label` / `right_label`(默认 WORKFLOW/AGENT) |
| `takeaway` | 收尾判断页 | `highlight`(金句)/ `paras`(段落列表)/ `limit: [小标题, 一段话]` |
| `flow` | 窗口流程对比(见下) | 见下 |

**cover 补充**:`net` 控制封面 SVG 示意图——`"flow"`(固定路径 vs 自主循环)、`"branch"`(一个输入分叉成两种输出)、`false`(不画);`title_size` 可在标题较长时降字号(默认 94px,长标题建议 72px 且每行 ≤11 字);`sum` 为封面要点卡(`[{h, t, d}, ...]`)。

#### `flow` 页(终端窗口 + 连接线 + 概率条 + 选项块)

四种组件:终端窗口框(圆点 + 等宽字标签 + 右上角 tag)、金色直角分叉连接线、
概率条(最高项自动深蓝强调)、选项块(支持 `{text, note}` 带注释)。三种拼法:

1. **冲突对比页**:`input` 窗口分叉到左右两个子窗口(`children[].kind: text|bars`),
   适合「同一个输入、两种输出」(如 LLM 生成文本 vs JEV 返回概率条);
2. **举例页**:`input` 窗口 + `mid` 中段文字 + `chips` 选项块(候选集摆上台面,`chips` 可带注释行);
3. **机制分析页**:无 `input`,左右窗口直接对比 + 底部结论行。

底部通用字段:`after`(结论行)/ `after_gray`(灰字补充)/ `note`(脚注,如「概念演示,非实际模型输出」)。

#### 配置骨架

```json
{
  "slug": "pXX_topic",
  "pages": [
    {"type": "cover", "name": "封面", "title_lines": ["..."], "subtitle": "..."},
    {"type": "flow", "name": "两种输出", "meta": "工作原理", "pg": "02 / 07",
     "title": "...", "lead": "...", "input": {...}, "children": [...], "after": [...]}
  ]
}
```

`name` 字段即输出文件名(`00_<name>.png` 起);`meta`/`pg` 是页眉栏目与页码;
`footer_brand` 可自定义页脚(默认「晚秋AI日记」)。

---

## 执行流程(务必按顺序)

### 步骤 0 · 接收输入
用户给:① 一张截图路径 + 功能描述(截图模式);或 ② 一段主题/文案(文案模式)。
缺什么先索要什么。文案模式需要先把内容结构化成配置 JSON(拆页 + 选页型 + 填字段)。

### 步骤 1 · 确认门(做图前必须过)⚠️
**在生成任何图片之前,必须先把出图方案回述给用户确认。** 除非用户明确说"直接生成"、"你直接做"、"不用确认"。
回述包含:拆几页、每页用什么页型、标题文案方向、页脚品牌名。

**⚠️ 文案必须原创**:参考别人的图只能借鉴**版式与叙事结构**(如「冲突先行→例子落地→机制分析」),
例子、文案、数字必须全部原创——直接照抄人家的例子等于洗稿,绝对禁止。

### 步骤 2 · 渲染
```
# 文案模式
python run_text_tutorial.py <config.json> --out <输出目录>
# 截图模式(环境变量覆盖品牌信息后)
python run_screenshot_tutorial.py
```
渲染用无头浏览器(`render.py` 查找 Edge/Chrome/Chromium),强制传最小环境变量(SAFE_ENV)——
宿主注入的 `NODE_OPTIONS` 等会让 Edge 秒退。

### 步骤 3 · 目检
每张 PNG 生成后**必须读图目检**(Read 工具),确认无文字重叠、无大片真空、无占位符。
有问题改配置/引擎重跑,不要带病交付。

### 步骤 4 · 展示
WorkBuddy 用 `present_files` 一次性展示全套图。

---

## 关键规则

### 文案质量准则(内容层,两种模式通用)
排版再好看,文案不行也白搭。所有页面文字必须同时满足「说人话」和「专业」。

1. **说人话 ≠ 网络腔**。要口语化、易懂,但**禁用**下列几类词:
   - 网络流行语/烂梗:`说白了`、`上头`、`能打`、`拿捏`、`绝绝子`、`yyds`、`格局`、`栓Q`、`家人们`、`划重点`、`敲黑板`。
   - 夸大营销词:`神器`、`封神`、`逆天`、`王炸`、`天花板`、`吊打`、`秒杀`、`遥遥领先`、`无敌`(正文里的 `爆款` 也尽量避免,仅栏目名可保留)。
   - 夸张情绪词:`疯狂`、`恐怖`、`炸裂`、`震惊`、`离谱`、`绝了`。
   - 对产品/工具的贬义拟人:`偷懒`、`找借口`、`耍滑头` → 换成中性的「跳过步骤 / 走捷径 / 省事做法」。
2. **标题传递信息,不贩卖情绪**。标题要让人知道这页讲什么,而不是煽动感受。
3. **每页只讲一个核心点**。标题点题 → 引语展开 → 结论收束,三者角度不同、不重复措辞。
4. **数字客观、可溯源、不注水**。用真实数据,拿不准的宁可不写。
5. **落到读者利益(so what)**。每个卖点都要回答「这对你意味着什么」。
6. **术语即用即解**。出现专有名词时随手用一句白话解释,默认读者是小白。
7. **口吻统一**:全套统一第二人称、平和专业;比喻可用但克制(最多一个且贴切)。

> 自检口诀:写完通读一遍,凡是「换成一个认真的人当面讲不会说出口」的词,一律删掉重写。

### 版面铁律
- 每页 `flex:1` 撑满 1080×1440,**不允许大片真空**;内容不足时优先加叙事性文字块(如 flow 的 `mid`),不要拉大间距。
- 窗口/卡片高度**内容自适应 + 最小高度**,不要 `flex:1` 无限撑高(内容会飘空)。
- 版面密度不够时优先补内容,而不是放大留白。
- 统一:同背景、同卡片样式、同字体、同页脚、同页码体系。

### 品牌页脚智能判断
- 用户给了品牌名/网址 → 页脚放名字(+网址);什么都没给 → 用默认品牌或保持简洁。

### ⚠️ 生成任务进行中严禁主动结束对话
只要还有渲染等耗时任务没出结果,**绝对不能**主动结束这一轮对话。
必须用持续阻塞(`TaskOutput block=true`)把对话保持在等待状态,直到成图并汇报之后才算结束。
这条优先级高于任何省事考量。

---

## 跨平台支持(已验证)

本技能遵循 **Agent Skills 开放标准(agentskills.io)**:
- **Claude Code**:`~/.claude/skills/<name>/SKILL.md`
- **OpenAI Codex**:`~/.agents/skills/<name>/SKILL.md`
- **WorkBuddy**:`~/.workbuddy/skills/<name>/SKILL.md`

**运行前置**:必须装有 **Edge / Chrome / Chromium** 之一(无头渲染依赖);
`render.py` 已内置 `--no-sandbox` 与 `--disable-dev-shm-usage`。

## 依赖

- **Python 3.10+**
- **Pillow**(截图模式裁剪用)
- **系统浏览器**(必需,渲染):`render.py` 自动查找。

运行仓库根目录 `install.py` 可一键创建隔离 venv 并安装依赖。

## 错误处理与兜底

- 渲染出的 PNG 有空白或错位:优先检查配置 JSON 的字段名(如 timeline 用 `nodes` 不是 `events`)。
- Edge 秒退 / 渲染超时:确认 SAFE_ENV 最小环境变量逻辑没被绕过(不要直接 `subprocess` 裸调浏览器)。
- 文件名带特殊字符:`name` 字段避免 `/ \ : * ? " < > |`。

Files in this skill

  • CHANGELOG.md11.2 KB
  • CONTRIBUTING.md4.2 KB
  • README_EN.md22.3 KB
  • SKILL.md20.7 KB
  • assets/cover_source.html3.9 KB
  • examples/favicon.png5.8 KB
  • examples/jinan_drg.json4.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.