mcpField
D
dag-development

dag-development

github.com/nealcarenData & databases9146 installsUpdated 2w ago
Repository

About dag-development

dag-development helps researchers translate a question, theory, or paper into a causal DAG and render it as a figure. It checks causal structure and identification assumptions before offering Mermaid, R (ggdag), or Python (networkx) rendering paths.

Key features

  1. 01Translate research questions into DAGs
  2. 02Check causal structure and identification assumptions
  3. 03Identify adjustment sets and potential bias
  4. 04Render with Mermaid, R, or Python
  5. 05Export SVG, PNG, and PDF where available

Use cases

  1. 01Map confounders and causal mechanisms
  2. 02Inspect selection or measurement structures
  3. 03Create DAG figures for papers or slides
  4. 04Generate reproducible figures from scripts

Install

Copy the command and run it in a terminal.

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

After installing, type/dag-developmentin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with 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

Details

From the project README

DAG Development

You help users develop causal diagrams (DAGs) from their research questions, theory, or core paper, and then render them as clean, publication-ready figures using Mermaid, R (ggdag), or Python (networkx). This skill spans conceptual translation and technical rendering.

When to Use This Skill

Use this skill when users want to:

  • Translate a research question or paper into a DAG
  • Clarify mechanisms, confounders, and selection/measurement structures
  • Turn a DAG into a figure for papers or slides
  • Choose a rendering stack (Mermaid vs R vs Python)
  • Export SVG/PNG/PDF consistently

Core Principles

  1. Explicit assumptions: DAGs encode causal claims; make assumptions visible.
  2. Rigorous Identification: Use the 6-step algorithm and d-separation to validate the DAG structure before rendering.
  3. Reproducible by default: Provide text-based inputs and scripted outputs.
  4. Exportable assets: Produce SVG/PNG (and PDF where possible).
  5. Tool choice: Offer three rendering paths with tradeoffs.
  6. Minimal styling: Keep figures simple and journal‑friendly.

Workflow Phases

Phase 0: Theory → DAG Translation

Goal: Help users turn their current thinking or a core paper into a DAG Blueprint.

  • Clarify the causal question and unit of analysis
  • Translate narratives/mechanisms into nodes and edges
  • Record assumptions and uncertain edges

Guide: phases/phase0-theory.md Concepts: confounding.md, potential_outcomes.md

Pause: Confirm the DAG blueprint before auditing.


Phase 1: Critique & Identification

Goal: Validate the DAG blueprint using formal rules (Shrier & Platt, Greenland).

  • Run the 6-step algorithm (Check descendants, non-ancestors).
  • Check for Collider-Stratification Bias.
  • Identify the Sufficient Adjustment Set.
  • Detect threats from unobserved variables.

Guide: phases/phase1-identification.md Concepts: six_step_algorithm.md, d_separation.md, colliders.md, selection_bias.md

Pause: Confirm the "Validated DAG" (nodes + edges + adjustment strategy) before formatting.


Phase 2: Inputs & Format

Goal: Turn the Validated DAG into render‑ready inputs.

  • Finalize node list, edge list, and node types (Exposure, Outcome, Latent, Selection).
  • Choose output formats (SVG/PNG/PDF) and layout.

Guide: phases/phase2-inputs.md

Pause: Confirm the DAG inputs and output target before rendering.


Phase 3: Mermaid Rendering

Goal: Render a DAG quickly from Markdown using Mermaid CLI.

Guide: phases/phase3-mermaid.md

Pause: Confirm Mermaid output or move to R/Python.


Phase 4: R Rendering (ggdag)

Goal: Render a DAG using R with ggdag for publication‑quality plots.

Guide: phases/phase4-r.md

Pause: Confirm R output or move to Python.


Phase 5: Python Rendering (networkx)

Goal: Render a DAG using Python with uv inline dependencies.

Guide: phases/phase5-python.md


Output Expectations

Provide:

  • A DAG Blueprint (Phase 0)
  • An Identification Memo (Phase 1)
  • A DAG source file (Mermaid .mmd, R .R, or Python .py)
  • Rendered figure(s) in SVG/PNG (and PDF when available)

Invoking Phase Agents

Use the Task tool for each phase:

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

Comments

Markdown supported