Data journalism tw
Skill richardvt/claude-skills-journalism-tw/journalism-core-tw/skills/data-journalism-tw
台灣資料新聞工作流程 (繁體中文/台灣專用版,對應 upstream data-journalism 的美國版)。涵蓋:資料新聞工作流 (取得→清理→分析→視覺化→敘事)、台灣主要資料來源 (政府開放資料平台、主計總處、各部會 API、CMoney、Goodinfo、TWSE 公開資訊觀測站)、資料清理工具 (pandas、OpenRefine)、視覺化工具 (Datawrapper、Flourish、g0v ChartCheck)、敘事結構、數據查核 (與 fact-check-workflow-tw 整合)、開放資料倫理。撰寫資料報導、政府開放資料分析、選舉資料視覺化、預決算追蹤時觸發。資料記者、調查報導、新聞工程師必備。From its SKILL.md
npx -y skills add richardvt/claude-skills-journalism-tw --skill data-journalism-twAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
10.2 KB, ~4.5k tokens by cl100k_base, as published. Nobody here has run it
台灣資料新聞工作流程
資料新聞是新聞,不是資料科學。本 skill 提供從取得資料、清理、分析、視覺化到敘事的台灣場景工作流。
何時使用
- 撰寫含資料分析之深度報導
- 政府開放資料探勘
- 選舉資料、政治獻金分析
- 預決算追蹤
- 公開資訊觀測站(上市櫃公司)
- 政府採購、不動產實價登錄
- 災害數據、空污、流行病數據
- 製作互動圖表
一、資料新聞工作流
[1. 識別問題] ← 從新聞問題出發,而非從資料出發
↓
[2. 取得資料] ← 台灣公開資料、API、爬蟲、政資法申請
↓
[3. 清理整理] ← OpenRefine、pandas、Excel
↓
[4. 探索分析] ← 描述統計、視覺化、交叉比對
↓
[5. 查核] ← 觸發 fact-check-workflow-tw
↓
[6. 視覺化] ← Datawrapper、Flourish、g0v、自製
↓
[7. 敘事] ← 找故事、選圖表、寫稿
↓
[8. 發稿]
核心原則:資料應該回答新聞問題,而非創造新聞問題。
二、台灣主要資料來源
政府開放資料
| 平台 | 用途 | 網址 |
|---|---|---|
| 政府資料開放平臺 | 全國機關開放資料集匯總 | data.gov.tw |
| 行政院公報資訊網 | 公報、令、處分公告 | gazette.nat.gov.tw |
| 行政院主計總處 | 人口、經濟、薪資、物價 | stat.gov.tw |
| 內政部統計處 | 戶政、地政、人口 | moi.gov.tw |
| 教育部統計處 | 教育、學校 | stats.moe.gov.tw |
| 衛福部統計處 | 健康、社福 | dep.mohw.gov.tw |
| 勞動部統計處 | 就業、薪資、勞動條件 | mol.gov.tw |
| 環境部 | 空品、水質、廢棄物 | data.moenv.gov.tw |
| 中央氣象署 | 氣候、地震、海象 | cwa.gov.tw |
| 農業部 | 農漁畜產、價格、生產 | data.coa.gov.tw |
| 公開資訊觀測站 | 上市櫃公司財報、董監事 | mops.twse.com.tw |
| 臺灣證券交易所 | 股市資料、上市公司 | twse.com.tw |
| 政府電子採購網 | 標案、決標、廠商 | web.pcc.gov.tw |
| 不動產實價登錄 | 房地產交易實價 | lvr.land.moi.gov.tw |
| 中央選舉委員會 | 選舉結果、候選人、政治獻金 | cec.gov.tw |
| 司法院法學資料檢索 | 全國判決 | judgment.judicial.gov.tw |
| 立法院議事暨公報 | 質詢、議案、投票紀錄 | ppg.ly.gov.tw |
| 監察院 | 糾正案、彈劾、申訴 | cy.gov.tw |
| 審計部 | 中央與地方審計報告 | audit.gov.tw |
民間/商業資料服務
| 工具 | 用途 |
|---|---|
| CMoney | 台股、財經數據(免費 + 付費) |
| Goodinfo | 台股技術分析、產業比較(免費) |
| g0v 各專案 | 公民協作資料庫(立委投票指南、議員投票指南、財產申報、政治獻金等) |
| OCCRP Aleph | 全球文件與實體搜尋 |
| OpenCorporates | 全球公司登記 |
開放 API
| 來源 | 用途 |
|---|---|
| data.gov.tw API | 結構化資料拉取 |
| TAIDE / OPENAI / Claude API | 用於文本資料分析 |
| PTT Crawler (g0v) | 鄉民言論研究 |
| 立法院投票指南 API (g0v) | 立委投票紀錄 |
| Cofacts API | 假訊息資料庫 |
| 健保署 API | 醫療給付資料 |
三、資料清理(常見台灣坑)
政府資料常見問題
- PDF 表格不能直接複製:用 Tabula、Camelot 提取
- 多重 sheet 不一致:Excel 多檔合併需注意欄位順序
- 中文編碼:Big5 vs UTF-8 — pandas
encoding='cp950'或encoding='utf-8' - 民國年 vs 西元:全篇統一(資料導入時轉換)
- 行政區改制:2010-2014 縣市合併改制(台北縣→新北市、桃園縣→桃園市、台中縣市合併、台南縣市合併、高雄縣市合併);分析跨年資料時必須處理
- 欄位有合併儲存格:Excel 合併儲存格匯出 CSV 會變空白
- 千分位逗號:「1,234,567」要用
str.replace(',','')再轉數字 - 負數用「-」 vs 「(123)」:財報常用括號表負數
- 遮蔽資料:身分證、姓名遮蔽為「○」「***」,要過濾
工具
| 工具 | 用途 |
|---|---|
| pandas (Python) | 中型資料處理(< 10 GB) |
| OpenRefine | 互動式清理、去重、標準化 |
| Excel + Power Query | 一般記者熟悉 |
| DuckDB | 直接查 CSV / Parquet 大資料 |
| Tabula、Camelot | 從 PDF 提取表格 |
四、分析與探索
描述統計優先
新聞讀者只懂簡單統計:平均、中位數、眾數、極值、比例。避免標準差、P 值(除非報導科學論文)。
交叉比對(台灣常見 use case)
- 政府採購 × 候選人政治獻金(可揭採購黑箱)
- 不動產實價登錄 × 戶政人口(可分析房價負擔)
- 預決算 × 施政計畫(可看政策落實度)
- 健保給付 × 疾病統計(醫療公平性)
- 立委投票紀錄 × 政黨立場(立委個人風格)
注意事項
- 不要過度解讀小樣本
- 不要混淆「相關」與「因果」
- 比例 vs 絕對值:1,000 萬人中 1,000 人罹病 vs 100 萬人中 100 人罹病,比例相同但絕對量不同
- 倖存者偏誤:研究現存企業 vs 倒閉企業 = 結論偏差
- 基期差異:%成長率對小基期數字敏感(「增長 100%」可能是「從 1 變 2」)
五、視覺化工具(2026 推薦)
| 工具 | 強項 | 學習門檻 |
|---|---|---|
| Datawrapper | 新聞用首選,自動產生互動圖、自動 RWD | 低 |
| Flourish | 動畫圖、選舉地圖、漸進揭示 | 中 |
| Tableau Public | 互動 dashboard | 中 |
| g0v ChartCheck | 公民協作圖表庫 | 低 |
| D3.js | 完全客製,需 JS | 高 |
| Observable | 互動 notebook | 中 |
| Python (Plotly、matplotlib) | 報告型靜態圖 | 中 |
| R (ggplot2) | 學術級靜態圖 | 高 |
台灣場景注意
- 行政區地圖:用內政部 SHP 檔(地理資訊圖資雲服務平台 nlsc.gov.tw),不要用維基百科的 SVG
- 6 都與其他縣市顯著不同:同尺度比較不易
- 離島(金門、馬祖、澎湖):視覺化時記得包含
- 顏色選擇:政黨色(綠 = 民進黨、藍 = 國民黨、白 = 民眾黨、橘 = 親民黨)時要謹慎,並向色盲、印刷友善
六、敘事:從資料到故事
找故事的問句
- What changed?:歷年比較,什麼變了?
- Who's different?:跨機構、跨縣市、跨族群,誰異常?
- Why does it matter?:對誰有影響?多少人受影響?
- What's hidden?:資料中之異常、未被注意之 pattern
- What should be done?:政策建議
「資料故事」三層
- The lede:一句話,最有衝擊之數字
- The context:這數字代表什麼脈絡
- The implication:對讀者意義
範例:
壞範例:「台北市公務員平均薪資 70,123 元。」
好範例:「台北市公務員平均薪資 70,123 元,比同年齡層
私部門高 35%;若計入年終獎金與退休金,差距達 60%。」
七、數據查核(整合 fact-check-workflow-tw)
每個數據主張在發稿前必須:
- [ ] 來源已記錄(機關名、報告名、頁數、日期)
- [ ] 原始檔案存檔
- [ ] 計算邏輯獨立重算
- [ ] 樣本量註明
- [ ] 抽樣方法評估(若為調查資料)
- [ ] 時間範圍清楚
- [ ] 比較基準說明
- [ ] 來源已截圖 + Wayback 存檔
詳細查核流程見
fact-check-workflow-tw§三~六。
八、開放資料倫理
- 再次身分化風險:政府開放資料常做 K-anonymity,但多資料源交叉可能還原身分(健保 + 戶政 + 社群足跡)。新聞報導不應主動進行此類交叉
- 個案隱私:從統計推回個案是禁忌(例:「桃園市 ○ 區 ○ 月 ○ 日 ○ 點唯一車禍受害者是 ○ ○ ○」)
- 詳細不應公開的精準:行政區、學校名、醫院名要視議題斟酌(報導霸凌不應指認特定學生)
- 開放資料 ≠ 完全公開使用:有些開放資料附 CC BY 或政府著作權,引用須註明
與其他 -tw skill 協作
工作流串接
[資料蒐集]
├── data-journalism-tw ← 你在這裡(取得 + 清理 + 分析)
└── foia-requests-tw 若資料未開放,寫政資法申請書
↓
[查核] ← fact-check-workflow-tw 數據主張之查核
↓
[視覺化] ← Datawrapper / Flourish / g0v
↓
[敘事撰稿]
├── ai-writing-detox-tw 去 AI 味
└── newsroom-style-tw 數字寫法(阿拉伯 vs 中文)、千分位
↓
[發稿]
重疊處理
-
數字寫法:
data-journalism-tw:分析時用阿拉伯(對齊試算表)newsroom-style-tw§一:發稿時依公文書數字使用原則 — 千分位用「,」、整數位用萬/億單位- 以
newsroom-style-tw為發稿準則
-
資料來源描述:
data-journalism-tw:精準描述機關、報告、頁數newsroom-style-tw§六:機關名稱第一次全名 + 簡稱規則- 兩者搭配
-
資料未公開:
data-journalism-tw:確認需要哪些資料foia-requests-tw:寫政資法申請書
版本說明
- 版本:1.0.1 / 截至 2026-05-28
- 改寫自 upstream
journalism-core/data-journalism - 在地化重點:19 個台灣政府開放資料來源、5 個民間資料服務、台灣資料清理常見坑(縣市改制、民國/西元、編碼)、台灣選舉與政府資料 use case、台灣行政區圖資、台灣政黨色注意事項
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.