Claude-skill-registry dag-development

Develop causal diagrams (DAGs) from social-science research questions and literature, then render publication-ready figures using Mermaid, R, or Python.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/dag-development" ~/.claude/skills/majiayu000-claude-skill-registry-dag-development && rm -rf "$T"
manifest: skills/data/dag-development/SKILL.md
source content

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