Research To Diagram
by wshuyi
深度调研主题并自动生成知识关系图谱PDF。接收研究主题后自动进行网络调研、信息收集、知识整理,最终生成专业的可视化关系图谱。适用于"研究...并做图"、"深度分析...并可视化"、"生成知识图谱"等场景。
Skill Details
Repository Files
8 files in this skill directory
name: research-to-diagram description: 深度调研主题并自动生成知识关系图谱PDF。接收研究主题后自动进行网络调研、信息收集、知识整理,最终生成专业的可视化关系图谱。适用于"研究...并做图"、"深度分析...并可视化"、"生成知识图谱"等场景。
Research to Diagram
深度调研主题并自动生成知识关系图谱PDF。从研究到可视化的一站式工具。
Description
这个 Skill 接收用户提供的研究主题,自动进行深度网络调研、信息收集、知识整理、结构设计,最终生成专业的可视化关系图谱PDF。与 structure-to-pdf 不同,本 Skill 专注于主动研究和知识挖掘,而非被动的数据转换。
核心特性
- 自动调研:使用 WebSearch 进行多轮深度调研
- 智能整理:自动提取、分类、结构化信息
- 专业设计:根据主题特点选择最佳可视化方案
- 多种输出:支持 Graphviz、PlantUML、Mermaid 等工具
- 高质量PDF:生成矢量图形,可无限缩放
Trigger Conditions
当用户想要:
- 研究某个复杂主题的知识结构(如"红楼梦人物关系")
- 生成人物关系图、概念图谱、知识图谱
- 理解某个领域的组织架构、技术架构
- 可视化复杂的关系网络
- 需要从零开始研究并可视化某个主题
关键词:
- "调研...并做图"
- "研究...的关系"
- "深度分析...并可视化"
- "生成...知识图谱"
- "画...关系图"(无现成数据)
Workflow
1. 任务规划(TodoWrite)
- 深度调研主题和相关知识
- 设计图谱结构和层次
- 创建可视化图表
- 生成PDF文档
2. 深度调研阶段
- 多轮 WebSearch:从不同角度收集信息
- 主题概述和背景
- 核心要素和人物/概念
- 关系和联系
- 层次和分类
- 信息源记录:保存所有参考资料链接
- 知识提取:识别关键实体和关系
3. 结构设计阶段
根据主题类型选择最佳结构:
人物关系图:
- 家族谱系:多层次树状结构
- 社会网络:网状关系图
- 组织架构:层次化布局
概念图谱:
- 知识分类:树状或思维导图
- 概念关系:有向图
- 流程图:线性或分支流程
技术架构:
- 系统组件:模块化布局
- 依赖关系:层次或网络图
- 数据流向:流程图
4. 可视化实现
优先使用 Graphviz (DOT 语言):
digraph G {
// 全局样式
graph [rankdir=TB bgcolor="#fdfdf5" fontname="Arial Unicode MS"]
node [shape=box style="rounded,filled" fillcolor="#e8f4f8"]
edge [fontname="Arial Unicode MS"]
// 使用 subgraph cluster 分组
subgraph cluster_group1 {
label="分组名称"
node1 [label="节点1"]
node2 [label="节点2"]
}
// 定义关系
node1 -> node2 [label="关系类型" color=red]
}
备选工具:
- PlantUML:UML 图、时序图
- Mermaid:简单流程图、时序图
5. PDF 生成
dot -Tpdf diagram.dot -o output.pdf
6. 文档整理
可选生成说明文档,包含:
- 研究主题概述
- 图谱说明
- 参考资料来源(Sources)
- 使用说明
设计原则
视觉设计
- 颜色编码:使用不同颜色区分类别
- 形状区分:不同类型实体用不同形状
- 层次清晰:使用 subgraph cluster 分组
- 关系标注:边的颜色、样式、标签表达关系类型
- 中文支持:使用 "Arial Unicode MS" 或系统中文字体
信息层次
- 标题层:主标题
- 分组层:主要类别/家族
- 实体层:具体人物/概念
- 关系层:连接和标注
- 图例层:说明符号含义
布局策略
- rankdir=TB:自上而下(家族树、组织架构)
- rankdir=LR:从左到右(流程图、时间线)
- rankdir=BT:自下而上(依赖图)
- splines=ortho:正交边(清晰的组织图)
- splines=curved:曲线边(美观的关系网)
输出文件
默认保存位置:~/Downloads/ 或用户指定目录
生成文件:
<topic>_relations.dot- Graphviz 源文件<topic>_relations.pdf- 最终PDF图谱<topic>_sources.md- 参考资料(可选)
使用示例
示例 1:文学作品人物关系
用户:深度调查《三国演义》里人物之间的关系,然后做个结构图 PDF
Skill 执行:
- 调研三国主要人物、阵营、关系
- 设计:魏蜀吴三大阵营 + 人物层次 + 联盟/对抗关系
- 使用 Graphviz 创建多层次关系图
- 生成 PDF
示例 2:技术概念图谱
用户:研究 Kubernetes 架构并生成可视化图谱
Skill 执行:
- 调研 K8s 核心组件、架构层次
- 设计:控制平面/数据平面/插件生态
- 生成技术架构图
- 输出 PDF
示例 3:历史事件关系
用户:分析二战主要国家和联盟关系,做成图表
Skill 执行:
- 调研参战国家、阵营、关键时间节点
- 设计:轴心国/同盟国/中立国关系网
- 生成带时间线的关系图
- 输出 PDF
与 structure-to-pdf 的区别
| 特性 | research-to-diagram | structure-to-pdf |
|---|---|---|
| 输入 | 仅主题/研究问题 | 现成的结构化数据 |
| 调研 | ✅ 自动深度调研 | ❌ 无需调研 |
| 知识整理 | ✅ 自动提取和结构化 | ❌ 直接使用用户数据 |
| 应用场景 | 知识探索、研究可视化 | 快速数据转换 |
| 时间 | 较长(需调研) | 快速 |
何时使用本 Skill:
- ✅ 没有现成数据,需要从零研究
- ✅ 想要深度了解某个主题的知识结构
- ✅ 需要权威来源支持的可视化
何时使用 structure-to-pdf:
- ✅ 已有结构化数据
- ✅ 需要快速转换为图表
- ✅ 数据格式简单清晰
依赖工具
必需:
- Graphviz:
brew install graphviz(macOS) - WebSearch: Claude Code 内置
可选:
- PlantUML:
brew install plantuml - Mermaid CLI:
npm install -g @mermaid-js/mermaid-cli
配置选项
用户可以通过参数自定义:
--tool: 指定可视化工具 (graphviz/plantuml/mermaid)--layout: 指定布局方向 (TB/LR/BT/RL)--output: 指定输出目录--depth: 调研深度 (quick/medium/deep)--sources: 是否生成参考资料文档
最佳实践
- 明确主题范围:主题越具体,图谱越清晰
- 合理分组:使用 cluster 将相关实体分组
- 控制复杂度:单个图谱不超过 50 个节点
- 渐进细化:先生成总览图,再深入细节
- 颜色一致:同类实体使用相同配色
- 标注来源:在 PDF 底部或单独文档标注参考资料
常见图谱类型模板
人物关系图模板
- 家族/组织用 cluster 分组
- 人物用 box/ellipse,重要人物用特殊形状
- 血缘关系用实线,婚姻用红色,其他用虚线
- 添加图例说明符号含义
概念图谱模板
- 顶层概念在上方
- 子概念逐层展开
- is-a 关系用实线,has-a 用虚线
- 使用颜色区分不同类别
技术架构图模板
- 分层架构用 rankdir=TB
- 组件用矩形,服务用圆角矩形
- 依赖关系用箭头
- 关键路径用粗线或特殊颜色
故障排除
中文显示乱码:
graph [fontname="Arial Unicode MS"]
node [fontname="Arial Unicode MS"]
edge [fontname="Arial Unicode MS"]
图谱过于复杂:
- 使用
concentrate=true合并相同边 - 分割成多个子图
- 使用不同的 rankdir
布局不理想:
- 调整
ranksep和nodesep - 使用
rank=same强制节点同层 - 尝试不同的
splines设置
版本历史
- v1.0 (2026-01-02): 初始版本
- 基于《红楼梦》人物关系图谱项目总结
- 支持 Graphviz 自动生成
- 集成 WebSearch 深度调研
- TodoWrite 任务管理
Related Skills
Attack Tree Construction
Build comprehensive attack trees to visualize threat paths. Use when mapping attack scenarios, identifying defense gaps, or communicating security risks to stakeholders.
Grafana Dashboards
Create and manage production Grafana dashboards for real-time visualization of system and application metrics. Use when building monitoring dashboards, visualizing metrics, or creating operational observability interfaces.
Matplotlib
Foundational plotting library. Create line plots, scatter, bar, histograms, heatmaps, 3D, subplots, export PNG/PDF/SVG, for scientific visualization and publication figures.
Scientific Visualization
Create publication figures with matplotlib/seaborn/plotly. Multi-panel layouts, error bars, significance markers, colorblind-safe, export PDF/EPS/TIFF, for journal-ready scientific plots.
Seaborn
Statistical visualization. Scatter, box, violin, heatmaps, pair plots, regression, correlation matrices, KDE, faceted plots, for exploratory analysis and publication figures.
Shap
Model interpretability and explainability using SHAP (SHapley Additive exPlanations). Use this skill when explaining machine learning model predictions, computing feature importance, generating SHAP plots (waterfall, beeswarm, bar, scatter, force, heatmap), debugging models, analyzing model bias or fairness, comparing models, or implementing explainable AI. Works with tree-based models (XGBoost, LightGBM, Random Forest), deep learning (TensorFlow, PyTorch), linear models, and any black-box model
Pydeseq2
Differential gene expression analysis (Python DESeq2). Identify DE genes from bulk RNA-seq counts, Wald tests, FDR correction, volcano/MA plots, for RNA-seq analysis.
Query Writing
For writing and executing SQL queries - from simple single-table queries to complex multi-table JOINs and aggregations
Pydeseq2
Differential gene expression analysis (Python DESeq2). Identify DE genes from bulk RNA-seq counts, Wald tests, FDR correction, volcano/MA plots, for RNA-seq analysis.
Scientific Visualization
Meta-skill for publication-ready figures. Use when creating journal submission figures requiring multi-panel layouts, significance annotations, error bars, colorblind-safe palettes, and specific journal formatting (Nature, Science, Cell). Orchestrates matplotlib/seaborn/plotly with publication styles. For quick exploration use seaborn or plotly directly.
