mcpField
D
dag-development

dag-development

github.com/nealcaren数据与数据库9146 次安装2 周前更新
代码仓库

关于 dag-development

dag-development 是帮助研究者将研究问题、理论或论文转化为因果图(DAG)并生成图表的技能。它先检查因果结构和识别假设,再提供 Mermaid、R(ggdag)或 Python(networkx)绘制路径。

主要功能

  1. 01将研究问题转化为 DAG
  2. 02检查因果结构与识别假设
  3. 03识别充分调整集及潜在偏差
  4. 04支持 Mermaid、R 和 Python 绘图
  5. 05导出 SVG、PNG,条件允许时导出 PDF

适用场景

  1. 01梳理研究中的混杂因素与因果机制
  2. 02检查选择或测量结构
  3. 03为论文或演示制作 DAG 图
  4. 04以脚本生成可复现的图表

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nealcaren/social-data-analysis --skill dag-development

安装后在 Claude Code 中输入/dag-development确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

concepts/
colliders.md
confounding.md
d_separation.md
potential_outcomes.md
selection_bias.md
six_step_algorithm.md
phases/
phase0-theory.md
phase1-identification.md
phase2-inputs.md
phase3-mermaid.md
phase4-r.md
phase5-python.md

详细介绍

DAG 开发

你可以帮助用户根据研究问题、理论或核心论文构建因果图(DAG),然后使用 Mermaid、R(ggdag)或 Python(networkx)将其渲染为清晰、可用于发表的图。本技能涵盖概念转换和技术渲染。

何时使用此技能

在用户希望进行以下操作时使用此技能:

  • 将研究问题或论文转换为 DAG
  • 明确机制、混杂因素以及选择/测量结构
  • 将 DAG 转换为论文或幻灯片中的图
  • 选择渲染技术栈(Mermaid、R 或 Python)
  • 以统一方式导出 SVG/PNG/PDF

核心原则

  1. 明确假设:DAG 编码了因果主张;应让假设清晰可见。
  2. 严谨的识别:使用 6 步算法和 d-分离,在渲染前验证 DAG 结构。
  3. 默认可复现:提供基于文本的输入和脚本化输出。
  4. 可导出的素材:生成 SVG/PNG(尽可能也生成 PDF)。
  5. 工具选择:提供三种渲染方式,并说明各自的取舍。
  6. 简约样式:保持图表简洁,符合期刊风格。

工作流阶段

阶段 0:理论 → DAG 转换

目标:帮助用户将当前思路或核心论文转化为DAG 蓝图。

  • 明确因果问题和分析单位
  • 将叙述/机制转换为节点和边
  • 记录假设和不确定的边

指南:phases/phase0-theory.md 概念:confounding.md、potential_outcomes.md

暂停:在审核前确认 DAG 蓝图。


阶段 1:评析与识别

目标:使用形式化规则(Shrier & Platt、Greenland)验证 DAG 蓝图。

  • 执行6 步算法(检查后代、非祖先)。
  • 检查碰撞点分层偏差。
  • 确定充分调整集。
  • 检测未观测变量带来的威胁。

指南:phases/phase1-identification.md 概念:six_step_algorithm.md、d_separation.md、colliders.md、selection_bias.md

暂停:在排版前确认“已验证的 DAG”(节点 + 边 + 调整策略)。


阶段 2:输入与格式

目标:将已验证的 DAG 转换为可供渲染的输入。

  • 最终确定节点列表、边列表和节点类型(暴露、结果、潜变量、选择)。
  • 选择输出格式(SVG/PNG/PDF)和布局。

指南:phases/phase2-inputs.md

暂停:在渲染前确认 DAG 输入和输出目标。


阶段 3:Mermaid 渲染

目标:使用 Mermaid CLI 从 Markdown 快速渲染 DAG。

指南:phases/phase3-mermaid.md

暂停:确认 Mermaid 输出,或改用 R/Python。


阶段 4:R 渲染(ggdag)

目标:使用 R 和 ggdag 渲染 DAG,生成适用于发表的高质量图表。

指南:phases/phase4-r.md

暂停:确认 R 输出,或改用 Python。


阶段 5:Python 渲染(networkx)

目标:使用带有 uv 内联依赖项的 Python 渲染 DAG。

指南:phases/phase5-python.md


输出要求

提供:

  • 一份 DAG 蓝图(阶段 0)
  • 一份识别备忘录(阶段 1)
  • 一个 DAG 源文件(Mermaid .mmd、R .R 或 Python .py)
  • 渲染后的图表,格式为 SVG/PNG(可用时也提供 PDF)

调用阶段 Agent

每个阶段都使用 Task 工具:

Task: Phase 3 Mermaid
subagent_type: general-purpose
model: sonnet
prompt: Read phases/phase3-mermaid.md and render the user’s DAG

评论

支持 Markdown