dag-development について
dag-development は、研究課題や理論、論文を因果 DAG に変換し、図として描画する研究者向けスキルです。描画前に因果構造と識別の仮定を確認し、Mermaid、R(ggdag)、Python(networkx)での作成方法を提供します。
主な機能
- 01研究課題を DAG に変換
- 02因果構造と識別仮定を確認
- 03調整セットと潜在的なバイアスを特定
- 04Mermaid、R、Python で描画
- 05SVG、PNG、可能な場合は PDF に出力
活用シーン
- 01交絡因子と因果メカニズムの整理
- 02選択構造や測定構造の検討
- 03論文やスライド用の DAG 図作成
- 04スクリプトによる再現可能な図の生成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nealcaren/ social-data-analysis --skill dag-developmentインストール後、Claude Code で/dag-developmentを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
concepts/colliders.mdconfounding.mdd_separation.mdpotential_outcomes.mdselection_bias.mdsix_step_algorithm.mdphases/phase0-theory.mdphase1-identification.mdphase2-inputs.mdphase3-mermaid.mdphase4-r.mdphase5-python.md詳細
DAG の開発
研究上の問い、理論、または主要な論文をもとにユーザーが因果ダイアグラム(DAG)を開発し、Mermaid、R(ggdag)、またはPython(networkx)を使って、出版物にそのまま掲載できる整った図として描画できるよう支援します。このスキルは、概念を図に落とし込む作業と技術的な描画に対応します。
このスキルを使用する場面
ユーザーが次のことを希望する場合に、このスキルを使用します。
- 研究上の問いや論文をDAGに変換する
- メカニズム、交絡因子、選択・測定の構造を明確にする
- 論文やスライド用の図にDAGを変換する
- 描画スタック(Mermaid、R、Python)を選ぶ
- SVG/PNG/PDFを一貫した形式でエクスポートする
基本原則
- 仮定を明示する:DAGは因果関係に関する主張を表すため、仮定を可視化します。
- 識別を厳密に行う:描画前に、6ステップアルゴリズムとd分離を使ってDAGの構造を検証します。
- デフォルトで再現可能にする:テキストベースの入力とスクリプト化された出力を提供します。
- エクスポート可能な成果物:SVG/PNG(可能な場合はPDFも)を作成します。
- ツールの選択:トレードオフを示しながら、3つの描画方法を提示します。
- 装飾は最小限にする:図をシンプルに保ち、学術誌に適したものにします。
ワークフローのフェーズ
フェーズ 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)
目標:ggdagを使ってRで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も)の描画済みの図
フェーズエージェントの呼び出し
各フェーズでTaskツールを使用します。
Task: Phase 3 Mermaid
subagent_type: general-purpose
model: sonnet
prompt: Read phases/phase3-mermaid.md and render the user’s DAG