Dag Development
by nealcaren
Develop causal diagrams (DAGs) from social-science research questions and literature, then render publication-ready figures using Mermaid, R, or Python.
Skill Details
Repository Files
13 files in this skill directory
name: dag-development description: Develop causal diagrams (DAGs) from social-science research questions and literature, then render publication-ready figures using Mermaid, R, or Python.
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
- Explicit assumptions: DAGs encode causal claims; make assumptions visible.
- Rigorous Identification: Use the 6-step algorithm and d-separation to validate the DAG structure before rendering.
- Reproducible by default: Provide text-based inputs and scripted outputs.
- Exportable assets: Produce SVG/PNG (and PDF where possible).
- Tool choice: Offer three rendering paths with tradeoffs.
- 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
Related Skills
Clinical Decision Support
Generate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug develo
G2 Legend Expert
Expert skill for G2 legend development - provides comprehensive knowledge about legend rendering implementation, component architecture, layout algorithms, and interaction handling. Use when implementing, customizing, or debugging legend functionality in G2 visualizations.
Clinical Decision Support
Generate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug develo
Clinical Decision Support
Generate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug develo
Moai Lang R
R 4.4+ development specialist covering tidyverse, ggplot2, Shiny, and data science patterns. Use when developing data analysis pipelines, visualizations, or Shiny applications.
Bio Small Rna Seq Differential Mirna
Perform differential expression analysis of miRNAs between conditions using DESeq2 or edgeR with small RNA-specific considerations. Use when identifying miRNAs that change between treatment groups, disease states, or developmental stages.
Marimo Development
Expert guidance for creating and working with marimo notebooks - reactive Python notebooks that can be executed as scripts and deployed as apps. Use when the user asks to create marimo notebooks, convert Jupyter notebooks to marimo, build interactive dashboards or data apps with marimo, work with marimo's reactive programming model, debug marimo notebooks, or needs help with marimo-specific features (cells, UI elements, reactivity, SQL integration, deploying apps, etc.).
Sc Estimate
Provide development estimates for tasks, features, or projects. Use when user asks for time estimates, effort assessment, or project sizing.
Discover Data
Automatically discover data pipeline and ETL skills when working with ETL. Activates for data development tasks.
Performance Analytics
This skill should be used when the user asks to "create indicator", "performance analytics", "PA", "KPI", "dashboard widget", "breakdown", "threshold", "scorecard", or any ServiceNow Performance Analytics development.
