报告图表库(Report Diagram Kit)
为投标方案、尽调报告、交付周报等专业报告生成确定性、可自包含的图表(HTML 内联 SVG、本地渲染、无 AI 生图)。设计规范改编自 GitHub 开源项目 diagram-design(作者 cathrynlavery,MIT 协议),已中文化并重定向到"投标/尽调/交付"报告场景。详见 NOTICE.md。
> 本技能只做确定性的结构化图表:不生成 AI 图片、不依赖网络,所有输出为自包含 HTML/SVG,可直接嵌入报告或双击独立打开。
与内置 diagram-drawing 技能的差异化
- diagram-drawing:通用绘图,任意图形、任意主题。
- 本技能(report-diagram-kit):只做行业报告配图——投标/尽调/交付三大场景、26 个场景化图型条目(24 个渲染类型)、确定性 SVG、统一品牌风格基线(白底 + #0a66c2 淡蓝 + 扁平线条)。用它给 tender-guard、credit-diligence 等报告技能补配图。
三步流程
第 1 步:场景识别(Agent 判断)
问清三件事,缺省则按默认走:
1. 报告类型:投标方案 / 尽调报告 / 交付周报 / 其他
2. 表达目的:架构展示 / 流程协作 / 计划排期 / 评分对比 / 结构穿透 / 风险预警 / 趋势分析
3. 数据形态:层级关系 / 时间区间 / 数值对比 / 多维评分 / 占比构成 / 关联关系
第 2 步:选图(Agent + 知识库)
读取 references/chart-catalog.md 的选图矩阵,按"数据类型 × 表达目的"推荐 2-4 种最适图型,并给出一句话理由。可用 references/scenario-guide.md 三场景的典型组合直接套用。
第 3 步:生成(脚本 render_diagram.py)
python3 scripts/render_diagram.py <图表类型> <数据JSON文件> -o <输出.html> [--title "图表标题"] [--multi]
- 输入:图表类型 + 数据 JSON(schema 见下)。
- 输出:单个自包含 HTML(内联 SVG + CSS),可嵌入报告或独立打开。
- 纯标准库,零第三方依赖。
看板合成(1.0.1 新增,可选):需要"一张看板展示多张图"(交付看板/尽调概览/周报汇总)时,把多张已生成的图表合成一张数据看板:
python3 scripts/compose_dashboard.py 架构图.html 甘特图.html 风险图.html --out 看板.html --title "项目看板" --cols 2
输入:一个或多个 .html/.svg 图表文件 → 输出:白底淡蓝网格看板(每张图一张卡片)。
选图矩阵(数据类型 × 表达目的)
| 数据类型 | 想表达什么 | 推荐图型(取 1-3 种) |
|---|---|---|
| 层级/结构 | 系统、团队、股权、分层 | architecture / layers / tree / org-chart |
| 流程/时序 | 协作、流程、交互 | swimlane / flowchart / sequence |
| 计划/排期 | 实施计划、里程碑 | gantt / timeline |
| 数值对比 | 指标高低 | bar / scatter |
| 多维评分 | 方案/团队能力对比 | radar |
| 趋势 | 财务/指标随时间 | line |
| 风险 | 概率×影响、风险分布 | quadrant / heatmap |
| 构成/占比 | 资产/负债/份额 | treemap / bar(100%) |
| 关联/资金流 | 担保、资金往来 | sankey / venn |
| 负载/状态 | 看板、系统状态 | kanban / state / heatmap |
详见 references/chart-catalog.md(26 个图型条目 + 选图矩阵)。
数据 JSON Schema(render_diagram.py 输入)
不同图型有不同字段,通用结构如下(以 gantt 为例):
{
"type": "gantt",
"title": "某省电信 CRM 系统建设实施计划",
"phases": [
{"name": "需求与设计", "tasks": [
{"name": "需求调研", "start": "2026-01-05", "end": "2026-02-05", "owner": "张工", "focal": false}
]}
],
"milestones": [
{"name": "需求冻结", "date": "2026-02-05", "focal": true}
]
}
各图型的完整字段说明见 references/chart-catalog.md 对应条目。脚本对非法数据报错退出,不产出残缺图。
风格基线
- 白底 + 淡蓝主色
#0a66c2,扁平线条,无阴影、无渐变。 - 红黄蓝分级色系:红
#d64541(已逾期/高风险)、黄#f0a30a(临期/中风险)、蓝#0a66c2(正常/低风险)。 - 中文标签规则、字号层级、对比度要求见 references/style-guide.md。
资源清单
report-diagram-kit/
├── SKILL.md 本文件
├── NOTICE.md 开源署名(来源 diagram-design / MIT)
├── references/
│ ├── chart-catalog.md 图表总目录(26 图型 + 选图矩阵)
│ ├── style-guide.md 统一视觉规范(白底淡蓝、字号、颜色语义、中文标签)
│ └── scenario-guide.md 三场景典型配图组合
└── scripts/
├── render_diagram.py 确定性 SVG 渲染脚本(纯标准库)
└── compose_dashboard.py 多图看板合成(1.0.1 新增:多张图拼一张数据看板)
免责
本技能输出的图表为示意性结构化图表,数据以用户输入为准;涉及投标、授信、交付等关键结论时,应由用户复核数据与语义。
输入输出示例
输入(用户一句话 + 数据):「给我们的投标方案画个实施计划甘特图:需求调研 1/5-2/5 张工、开发联调 2/10-3/20 李工,3/31 上线。」
Agent 动作:
1. 场景识别 → 投标方案 / 计划排期
2. 选图 → gantt(见选图矩阵「计划/排期」行)
3. 组 JSON 并执行:
bash
python3 scripts/render_diagram.py gantt phases.json -o 实施计划.html --title "实施计划"
输出:一个自包含 实施计划.html(内联 SVG + CSS,白底淡蓝扁平风格),含两个阶段、一个里程碑,可直接嵌入 Word/PPT 或双击独立打开。
不触发:需要地图/行政区划类可视化、自由手绘、摄影图片、视频类视觉内容时,本技能不适用,请改用地图服务或通用绘图工具。
常见问题
- Q1:图表是 AI 生成的吗? 不是。全部为确定性 SVG 本地渲染,不调用 AI 生图、不依赖网络,同一份数据多次运行结果完全一致。
- Q2:能改颜色/加自己的品牌色吗? 支持。修改
references/style-guide.md的色板基线即可;默认白底淡蓝 #0a66c2,红黄蓝分级语义(风险/逾期)保持统一。 - Q3:数据格式错了会怎样? 脚本对非法数据直接报错退出,不产出残缺图;Agent 会提示按 schema 修正后重跑。
- Q4:我的报告很复杂,一张图不够? 支持
--multi一次渲染多图,同一报告可配多张架构/甘特/风险图构成看板。