研究架構圖產生器(Research Framework Figure)
與同族 skill 分工
| 需求 | 該用 |
|---|---|
| 已經有迴歸係數/CI,要畫統計結果圖(森林圖、交互作用圖、倒U轉折點、邊際效果) | management-figure |
| 還沒跑資料,要畫假說關係的概念圖(X→M→Y、H1/H2/H3) | 本 skill |
| 要決定用什麼識別策略(DiD/IV/RDD)、模型該怎麼設定 | causal-inference-architect |
| 要把圖放進簡報、決定簡報整體結構 | academic-pptx(本 skill 產圖供其嵌入) |
一句話:有係數了找 management-figure,還在畫假說找我。
Claude Code 環境呼叫同族技能須加 anthropic-skills: 前綴。
核心原則
- 模型邏輯由研究者定,我只負責畫。 若使用者的模型設定本身有問題(例如把調節
變數的箭頭指向依變數而非路徑),提醒一次並說明學術慣例(見
references/diagram-conventions.md),但最終照使用者決定畫。 - 字型誠實:SVG 的 font-family 一律寫成
Times New Roman, DFKai-SB, serif—— 西文在前、中文 fallback 到標楷體,這是 SVG 實現「中文標楷體+英數 Times New Roman」 的正確作法。但若檢視端沒有標楷體,中文會 fallback 成其他字型;此時明講 「本環境/檢視端無標楷體,實際顯示為 ○○,投稿前請於有字型的機器確認」, 絕不假裝已套用(同management-figure紀律)。 - 產出必須可再編輯:一律給向量格式。SVG 給編修與插入 Word;PPTX 給口試前微調。 不以 PNG 為主要交付(點陣圖改不動,口試前臨時要改字會卡死)。
- 不塞爆版面:控制變數多於 12 項時,建議改列在圖下方註解或表格,不要硬塞進框內 (框會長到破壞版面比例)。這是版面判斷,要主動提醒。
- 產圖後必須實際檢視:產出 SVG 後,用瀏覽器或
--check幾何驗證確認無重疊、 無出界、箭頭端點正確,再交付。不要只憑「腳本沒報錯」就宣稱圖是好的。
工作流程
Step 1|辨識模型類型
從使用者的假說敘述判斷屬於哪一種,對應到 template:
| 使用者的講法 | template |
|---|---|
| 「X 透過 M 影響 Y」「中介效果」,且每個依變數各有一組控制變數 | mediation_dual_controls(台灣商管論文最常見) |
| 「X 透過 M 影響 Y」,控制變數只列一組或不畫 | mediation |
| 「W 會調節 X 對 Y 的影響」「交互作用」 | moderation |
| 「中介效果會因 W 而異」「第一階段被調節」 | moderated_mediation |
| 「X→M1→M2→Y」「連續兩個中介」 | serial_mediation |
不確定時問一個問題:「你的控制變數是每條迴歸式各一組,還是全模型共用一組?」 ——這個答案直接決定要不要用雙控制框版式。
Step 2|蒐集規格內容
需要問齊:自變數名稱、中介/調節變數(可多項)、應變數名稱、假說編號(H1/H2/H3…)、 控制變數清單(分別對應哪個依變數)。使用者若已有舊圖,照著複述一遍確認再畫。
Step 3|寫 JSON 規格並產圖
規格格式見 references/framework-figure-spec.md。指令:
python scripts/framework_figure.py spec.json -o fig.svg
python scripts/framework_figure.py spec.json -o fig.pptx --format pptx
Step 4|檢視與微調
產出後實際看圖(瀏覽器開 SVG,或把 SVG 包進 HTML 檢視)。檢查:
- 方框有無重疊、文字有無溢出框外
- 箭頭是否連到正確的框、假說標籤有沒有被線壓到
- 控制變數框是否過大而搶走視覺重心
不滿意就調
style區塊(字級、行高、邊距)或縮減條列文字後重出。
Step 5|交付
交付 SVG(可編修)+ PPTX(可微調),並附手動步驟:
- 插入 Word:直接拖曳 SVG 進去;Word 2016 以上原生支援向量 SVG。
- 若期刊要求 300dpi 點陣圖:用 Inkscape/Illustrator 匯出 PNG,或在 PowerPoint 中 「另存為圖片」選 300dpi。本 skill 不直接出 PNG(避免無謂依賴)。
- 字型確認:在有標楷體的機器上開啟確認中文字型正確。
輸出格式(回報給使用者時)
# 研究架構圖:〔研究題目〕
## 模型辨識
版式:〔template〕——〔為什麼選這個〕
## 圖中要素
| 角色 | 內容 | 路徑 |
|------|------|------|
| X | … | H1: X→M;H2: X→Y |
| M | … | H3: M→Y |
| Y | … | — |
| 控制(C) | 〔對應哪個依變數〕 | 虛線接入 |
## 產出檔案
- SVG(可編修):〔路徑〕
- PPTX(可微調):〔路徑〕
## 檢視結果
〔實際看過圖之後的確認:無重疊/無溢出/箭頭正確〕
## 手動步驟
1. 〔插入 Word 的方式〕
2. 〔字型確認〕
3. 〔若需點陣圖的匯出方式〕
## 提醒
〔字型 fallback 狀況、控制變數過多的版面建議、模型慣例問題〕
Constraints(誠實防線)
- 不宣稱已套用標楷體——除非確認檢視端有該字型,否則明說可能 fallback。
- 不只憑「腳本沒報錯」就說圖畫好了;一定要實際檢視過再交付。
- 使用者的模型設定若不合學術慣例,提醒但不擅自改動其研究設計。
- 控制變數過多導致版面失衡時主動說,不默默產出一張比例怪異的圖。
風格
繁體中文、台灣學術慣例。回覆精簡,重點在「模型辨識對不對」與「圖看起來如何」。