install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/infographic-creator" ~/.claude/skills/majiayu000-claude-skill-registry-infographic-creator && rm -rf "$T"
manifest:
skills/data/infographic-creator/SKILL.mdsource content
信息图(Infographic)将数据、信息与知识转化为可感知的视觉语言。它结合视觉设计与数据可视化,用直观符号压缩复杂信息,帮助受众快速理解并记住要点。
Infographic = Information Structure + Visual Expression
本任务使用 AntV Infographic 创建可视化信息图。
在开始任务前,需要理解 AntV Infographic 语法规范,包括模板列表、数据结构、主题等。
规范
AntV Infographic 语法
AntV Infographic 语法是一种自定义的 DSL,用于描述信息图渲染配置。它使用缩进描述信息,具有较强鲁棒性,便于 AI 流式输出并渲染信息图。主要包含以下信息:
- template:用模板表达文字信息结构。
- data:信息图数据,包含 title、desc、数据项等。数据项通常包含 label、desc、icon 等字段。
- theme:主题包含 palette、font 等样式配置。
例如:
infographic list-row-horizontal-icon-arrow data title Title desc Description lists - label Label value 12.5 desc Explanation icon document text theme palette #3b82f6 #8b5cf6 #f97316
语法规范
-
第一行必须是
,模板从下方列表中选择(见“可用模板”部分)。infographic <template-name> -
使用
/data
块,块内用两个空格缩进。theme -
键值对使用「键 空格 值」;数组使用
作为条目前缀。- -
icon 使用图标关键词(如
)。star fill -
应包含 title/desc + 模板对应的主数据字段(不一定是data
)。items -
主数据字段选择(只用一个,避免混用):
→list-*lists
→sequence-*
(可选sequences
)order asc|desc
→compare-*
(支持compares
分组对比),可包含多个对比项children
→hierarchy-structure
(每一项对应一个独立层级,每一层级可以包含子项,最多可嵌套 3 层)items
→ 单一hierarchy-*
(树结构,通过root
嵌套);children
→relation-*
+nodes
;简单关系图可省略relations
,在 relations 中用箭头语法nodes
→chart-*
(数值统计,可选values
)category- 不确定时再用
兜底items
-
/compare-binary-*
二元模板:必须两个根节点,所有对比项挂在这两个根节点的 childrencompare-hierarchy-left-right-* -
:使用单一hierarchy-*
,通过root
嵌套(不要重复children
)root -
用于自定义主题(palette、font 等) 例如:暗色主题 + 自定义配色themeinfographic list-row-simple-horizontal-arrow theme dark palette - #61DDAA - #F6BD16 - #F08BB4 -
使用
指定字体,如手写风格theme.base.text.font-family851tegakizatsu -
使用
选择内置风格并传参 常见风格:theme.stylize
:手绘效果rough
:图案填充pattern
/linear-gradient
:线性/径向渐变radial-gradient
例如:手绘风格(rough)
infographic list-row-simple-horizontal-arrow theme stylize rough base text font-family 851tegakizatsu -
禁止输出 JSON、Markdown 或解释性文字
数据语法示例
按模板类别的数据语法示例(使用对应字段,避免同时添加
items):
模版list-*
infographic list-grid-badge-card data title Feature List lists - label Fast icon flash fast - label Secure icon secure shield check
模版sequence-*
infographic sequence-steps-simple data sequences - label Step 1 - label Step 2 - label Step 3 order asc
模版hierarchy-*
infographic hierarchy-structure data root label Company children - label Dept A - label Dept B
模版compare-*
infographic compare-swot data compares - label Strengths children - label Strong brand - label Loyal users - label Weaknesses children - label High cost - label Slow release
四象限图
infographic compare-quadrant-quarter-simple-card data compares - label High Impact & Low Effort - label High Impact & High Effort - label Low Impact & Low Effort - label Low Impact & High Effort
模版chart-*
infographic chart-column-simple data values - label Visits value 1280 - label Conversion value 12.4
模版relation-*
边标签写法:A -label-> B 或 A -->|label| B
infographic relation-dagre-flow-tb-simple-circle-node data nodes - id A label Node A - id B label Node B relations A - approves -> B A -->|blocks| B
- 兜底
示例items
infographic list-row-horizontal-icon-arrow data items - label Item A desc Description icon sun - label Item B desc Description icon moon
可用模板
- chart-bar-plain-text
- chart-column-simple
- chart-line-plain-text
- chart-pie-compact-card
- chart-pie-donut-pill-badge
- chart-pie-donut-plain-text
- chart-pie-plain-text
- chart-wordcloud
- compare-binary-horizontal-badge-card-arrow
- compare-binary-horizontal-simple-fold
- compare-binary-horizontal-underline-text-vs
- compare-hierarchy-left-right-circle-node-pill-badge
- compare-quadrant-quarter-circular
- compare-quadrant-quarter-simple-card
- compare-swot
- hierarchy-mindmap-branch-gradient-capsule-item
- hierarchy-mindmap-level-gradient-compact-card
- hierarchy-structure
- hierarchy-tree-curved-line-rounded-rect-node
- hierarchy-tree-tech-style-badge-card
- hierarchy-tree-tech-style-capsule-item
- list-column-done-list
- list-column-simple-vertical-arrow
- list-column-vertical-icon-arrow
- list-grid-badge-card
- list-grid-candy-card-lite
- list-grid-ribbon-card
- list-row-horizontal-icon-arrow
- list-sector-plain-text
- list-zigzag-down-compact-card
- list-zigzag-down-simple
- list-zigzag-up-compact-card
- list-zigzag-up-simple
- relation-dagre-flow-tb-animated-badge-card
- relation-dagre-flow-tb-animated-simple-circle-node
- relation-dagre-flow-tb-badge-card
- relation-dagre-flow-tb-simple-circle-node
- sequence-ascending-stairs-3d-underline-text
- sequence-ascending-steps
- sequence-circular-simple
- sequence-color-snake-steps-horizontal-icon-line
- sequence-cylinders-3d-simple
- sequence-filter-mesh-simple
- sequence-funnel-simple
- sequence-horizontal-zigzag-underline-text
- sequence-mountain-underline-text
- sequence-pyramid-simple
- sequence-roadmap-vertical-plain-text
- sequence-roadmap-vertical-simple
- sequence-snake-steps-compact-card
- sequence-snake-steps-simple
- sequence-snake-steps-underline-text
- sequence-stairs-front-compact-card
- sequence-stairs-front-pill-badge
- sequence-timeline-rounded-rect-node
- sequence-timeline-simple
- sequence-zigzag-pucks-3d-simple
- sequence-zigzag-steps-underline-text
模板选择建议:
- 严格顺序(流程/步骤/发展趋势)→
sequence-*- 时间线 →
sequence-timeline-* - 阶梯图 →
sequence-stairs-* - 路线图 →
sequence-roadmap-vertical-* - 折线路径 →
sequence-zigzag-* - 环形进度 →
sequence-circular-simple - 彩色蛇形步骤 →
sequence-color-snake-steps-* - 金字塔 →
sequence-pyramid-simple
- 时间线 →
- 观点列举 →
或list-row-*list-column-* - 二元对比(利弊)→
compare-binary-* - SWOT →
compare-swot - 层级结构(树图)→
hierarchy-tree-* - 数据图表 →
chart-* - 象限分析 →
quadrant-* - 网格列表(要点)→
list-grid-* - 关系展示 →
relation-* - 词云 →
chart-wordcloud - 思维导图 →
hierarchy-mindmap-*
示例
绘制互联网技术演进信息图
infographic list-row-horizontal-icon-arrow data title Internet Technology Evolution desc From Web 1.0 to AI era, key milestones lists - time 1991 label Web 1.0 desc Tim Berners-Lee published the first website, opening the Internet era icon web - time 2004 label Web 2.0 desc Social media and user-generated content become mainstream icon account multiple - time 2007 label Mobile desc iPhone released, smartphone changes the world icon cellphone - time 2015 label Cloud Native desc Containerization and microservices architecture are widely used icon cloud - time 2020 label Low Code desc Visual development lowers the technology threshold icon application brackets - time 2023 label AI Large Model desc ChatGPT ignites the generative AI revolution icon brain
生成流程
第一步:理解用户需求
在创建信息图之前,先理解用户需求与想表达的信息,以便确定模板和数据结构。
若用户提供清晰的内容描述,应将其拆解为清晰、简洁的结构。
否则需要向用户澄清(如:“请提供清晰简洁的内容描述。”、“你希望使用哪个模板?”)
- 提取关键信息结构(title、desc、items 等)。
- 明确所需数据字段(title、desc、items、label、value、icon 等)。
- 选择合适模板。
- 使用 AntV Infographic 语法描述信息图内容
。{syntax}
关键注意:必须尊重用户输入的语言。例如用户输入中文,则语法中的文本也必须是中文。
第二步:渲染信息图
当得到最终的 AntV Infographic 语法后,可按以下步骤生成完整 HTML 文件:
- 创建包含以下结构的完整 HTML 文件:
- DOCTYPE 与 HTML meta(charset: utf-8)
- Title:
{title} - Infographic - 引入 AntV Infographic 脚本:
https://unpkg.com/@antv/infographic@latest/dist/infographic.min.js - 创建 id 为
的容器 divcontainer - 初始化 Infographic(
、width: '100%'
)height: '100%' - 用实际标题替换
{title} - 用实际 AntV Infographic 语法替换
{syntax} - 加入导出 SVG 的功能:
const svgDataUrl = await infographic.toDataURL({ type: 'svg' });
可参考的 HTML 模板:
<div id="container"></div> <script src="https://unpkg.com/@antv/infographic@latest/dist/infographic.min.js"></script> <script> const infographic = new AntVInfographic.Infographic({ container: '#container', width: '100%', height: '100%', }); infographic.render(`{syntax}`); document.fonts?.ready.then(() => { infographic.render(`{syntax}`); }).catch((error) => console.error('Error waiting for fonts to load:', error)); </script>
-
使用 Write 工具生成 HTML 文件,命名为
<title>-infographic.html -
展示给用户:
- 生成文件路径,并提示:“直接用浏览器打开即可查看并保存 SVG”
- 输出语法,并提示:“需要调整模板/配色/内容请告诉我”
**注意:**HTML 文件必须包含:
- 通过导出按钮实现 SVG 导出
- 容器自适应,宽高均为 100%