关于 data-flow
data-flow 是用于追踪代码库中请求与数据流向的技能,并将流程整理为 Mermaid 时序图。它指导代码探索、图表生成和渲染,适合调查系统行为或 API 调用链的开发者。
主要功能
- 01探索代码库数据流
- 02生成 Mermaid 时序图
- 03映射请求与响应
- 04标注数据转换
- 05验证并渲染图表
适用场景
- 01追踪请求经过系统组件的路径
- 02记录数据转换流水线
- 03梳理 API 调用链
- 04调查功能调用后的处理过程
MCP 相关
使用 Mermaid Chart MCP 验证并渲染生成的时序图。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ athola/ claude-night-market --skill data-flow安装后在 Claude Code 中输入/data-flow确认已加载。
详细介绍
数据流图
生成 Mermaid 时序图,展示代码库中各组件之间的数据流动方式。
适用场景
- 跟踪请求在系统中的流转
- 了解数据转换流水线
- 记录 API 调用链
- 回答“调用 X 时会发生什么?”
不适用场景
- 静态调用结构(使用
cartograph:call-chain) - 流程步骤和状态转换(使用
cartograph:workflow-diagram)
工作流
步骤 1:探索代码库
分派代码库探索 Agent:
Agent(cartograph:codebase-explorer)
Prompt: Explore [scope] and return a structural model.
Focus on function calls, data transformations, and
inter-module communication for a data flow diagram.
步骤 2:生成 Mermaid 语法
将结构模型转换为 Mermaid 时序图。
数据流图规则:
- 对于请求/响应流,使用
sequenceDiagram - 参与者应为模块或组件(而非函数)
- 箭头表示数据方向:调用使用
->>,返回使用-->> - 对于长时间运行的操作,使用
activate/deactivate - 使用
Note over标注数据转换 - 参与者最多限制为 8-10 个
- 对于条件流,使用
alt/else - 对于循环调用,只展示一次并添加注释
输出示例:
sequenceDiagram
participant User
participant Command as /commit
participant Sanctum as sanctum.commit
participant Leyline as leyline.git_platform
participant Git
User->>Command: /commit
Command->>Sanctum: generate_message()
Sanctum->>Leyline: get_staged_changes()
Leyline->>Git: git diff --cached
Git-->>Leyline: diff output
Leyline-->>Sanctum: structured changes
Note over Sanctum: Classify change type
Sanctum-->>Command: commit message
Command->>Git: git commit -m "..."
步骤 3:通过 MCP 渲染
调用 Mermaid Chart MCP 进行渲染:
mcp__claude_ai_Mermaid_Chart__validate_and_render_mermaid_diagram
prompt: "Data flow diagram of [scope/feature]"
mermaidCode: [generated syntax]
diagramType: "sequenceDiagram"
clientName: "claude-code"
如果渲染失败,请修正语法并重试(最多重试 2 次)。
步骤 4:展示结果
展示渲染后的图表,并用简短说明描述所呈现的流程(2-3 句话)。
退出条件
- 已生成包含参与者和至少一个
->>调用箭头的 MermaidsequenceDiagram语法 - 已调用
mcp__claude_ai_Mermaid_Chart__validate_and_render_mermaid_diagram,并传入diagramType: "sequenceDiagram",且调用成功(或首次失败后已尝试重试) - 参与者数量最多为 10 个;如果组件更多,则应将其合并,并注明合并情况
- 已在渲染后的图表旁展示 2-3 句话,描述所呈现的流程
- 对于在跟踪流程中有对应响应的请求,均包含返回箭头(
-->>)
评论
支持 Markdown