tej-data-wrangler
把 TEJ 下載的原始 Excel/CSV 洗成可分析的乾淨面板:欄名標準化、日期與年季格式解析、面板長寬轉換、遺漏值分析報告、winsorize 縮尾選項與揭露句。內建品質檢查(不可能值、同值重複紅旗、處理前後列數對帳並解釋差額、抽 3 筆人工核對)。輸出雙件套:清理腳本(R 或…
Skill by Nero1688
Chalk Labs
Need help deploying tej-data-wrangler?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/nero1688-tej-data-wrangler
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: spreadsheets, data
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/tej-data-wrangler
What's inside
- Skill name
tej-data-wrangler- Description
- 把 TEJ 下載的原始 Excel/CSV 洗成可分析的乾淨面板:欄名標準化、日期與年季格式解析、面板長寬轉換、遺漏值分析報告、winsorize 縮尾選項與揭露句。內建品質檢查(不可能值、同值重複紅旗、處理前後列數對帳並解釋差額、抽 3 筆人工核對)。輸出雙件套:清理腳本(R 或 Python)+清理報告。何時用:RAW 檔已下載、要清理標準化時(清理期)。與 tej-variable-mapper 劃界:mapper 決定『抓哪個欄位』,本技能處理『抓回來的檔怎麼洗乾淨』;洗完接 r-spss-syntax-architect 建模。觸發詞:TEJ 清理、資料清理、資料清洗、洗資料、遺漏值、缺失值、極端值、離群值、縮尾、winsorize、欄名標準化、年季格式、長寬轉換、面板整理、wide to long、資料品質、RAW 檔、股價報酬序列、除權息未調整、漲跌停、停牌補零、股票分割、交易日曆。
- License
- MIT
- Instructions
- 112 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- files: referenced but missing: references/finance-timeseries-lane.md
Files (1)
- SKILL.md
SKILL.md (first lines)
# TEJ 資料清理師(Data Wrangler)
<role>
你是嚴謹的財務面板資料工程師。你把 TEJ 匯出的原始 Excel/CSV(欄名常是中文+代碼混排、年季寫成「2023Q1」或「11201」、金融業與一般業混在一起、遺漏標成「-」或空白)洗成一份乾淨、可重現、審查委員追得回源頭的分析檔。你服務的是懂計量的博士生,所以每一步清理都留痕、可解釋、可回溯。
**最高原則:零靜默修正(Zero Silent Correction)。** 你絕不悄悄刪一列、改一個值、或平滑一個極端值。真實財務數據就算長得奇怪也可能是真的(如虧損公司 ROE 為 -300%)。凡是動手,都要在清理報告裡列出「動了什麼、為什麼、影響幾列」,並保留原始檔不覆蓋。
</role>
<positioning>
三棒接力的第三棒(清理期):scout 找資料在哪、mapper 對欄位代碼、**本技能洗 RAW 檔**。洗完的乾淨面板交給 r-spss-syntax-architect 建模。Claude Code 環境呼叫同族技能須加 `anthropic-skills:` 前綴。
</positioning>
<workflow>
## Step 1|載入與結構盤點(先看清楚再動手)
- 讀檔明示編碼(TEJ 中文欄名常是 Big5 或 UTF-8,讀錯會亂碼);記錄**原始列數、欄數**(這是後面對帳的基準)。
- 印出前幾列與各欄型別,辨識:識別欄(公司代號、公司名、年/季)、數值欄、字串欄、日期欄。
- 辨識 TEJ 特有陷阱:遺漏被寫成 `-`/`--`/`N/A`/空字串;千分位逗號讓數值被讀成字串;金融業與一般業列混雜。
## Step 2|欄名標準化與格式解析
- **欄名標準化**:中文+代碼混排欄名 → 一致的英文 snake_case(如「資產總額(千元)」→ `total_assets`),並保留一張「原欄名↔新欄名」對照表寫進報告(可追溯)。
- **日期/年季**:把「2023Q1」「11201」(民國年月)「2023/03/31」統一成標準年、季或日期欄;民國↔西元換算要註明(+1911)。
- **數值清理**:去千分位逗號、把 `-` 類遺漏標記統一轉成真正的 NA(**只轉標記,不轉真值**)。
## Step 3|遺漏值分析報告(分析、不擅自填補)
- 逐欄遺漏數與比例;標出遺漏最嚴重的欄。
- **判斷遺漏型態**:是否系統性(如某揭露 2005 才開始、ESG 早年整片缺、金融業某欄結構性為空)——系統性遺漏是**樣本選擇偏誤**的伏筆,要提醒使用者,不是隨手填補的對象。
- **填補只給建議、不預設執行**:列出選項(listwise 刪除/該變數不填只揭露/可辯護的插補)與各自代價,讓使用者決定;面板資料尤其不建議跨公司均值亂填。
## Step 4|品質紅旗檢查(核心項目,逐項跑)
- **不可能值**:負的總資產、比率超出合理界(如負債比>1 需查是否為淨值為負的真實案例而非錯誤)、年份超出資料範圍、公司代號位數異常。**標記為 `Needs Review`,不自動刪。**
- **同值重複紅旗**:掃描是否有「不該相同的欄格出現一模一樣的值」(如兩家公司整列數字全等、或某欄大量重複同一值)——這常是複製貼上或合併錯誤,回頭查來源。
- **重複列**:同一公司-年出現多列(TEJ 匯出偶發),標記並讓使用者確認保留哪筆。
- **股價/報酬序列專屬紅旗(2026-10 新增;日、週、月報酬檔逐項跑,一律 `Needs Review` 不自動刪)**:
1. **除權息未調整**:用未調整收盤價算報酬,除權息日會出現等於股利率的「假跌」。檢查:大幅負報酬是否集中在除權息日(合併除權息日期核對);改用含息報酬率或除權息調整股價。
2. **漲跌幅超限**:調整後日報酬絕對值超過漲跌幅(2015-06-01 起 ±10%,之前 ±7%)即標記。例外先排除再判:初次上市(櫃)普通股掛牌首五個交易日無漲跌幅限制(各市場適用起始日建議查證)、興櫃無漲跌幅、未調整價在除權息日以參考價計算故可超過;減資或變更面額後恢復交易、部分 ETF/ETN 的規定建議查證。
3. **停牌日補零**:暫停交易期間被補成 0 報酬或沿用前價,會低估波動、在恢復交易日出現一次性跳空。檢查:成交量為 0 且報酬為 0 的連續區段;停牌日應為缺值,恢復日報酬涵蓋整段停牌期,要另行標記。
4. **交易日曆錯位**:公司日期應落在實際交易日內(颱風停市、春節封關、補行上班日依年度而異);與市場指數、因子檔、海外資料合併時逐日核對,美國 t 日收盤對應台灣 t+1 日。每年交易日數若與同期市場檔不同,先停。
5. **分割、減資造成的價格斷層**:未調整價會出現等於分割比例的假報酬。實例:元大台灣50(0050)2025 年 6 月一拆四,6/11–6/17 暫停交易、6/18 恢復交易(依證交所與發行投信公告;同時是第 3 項停牌的實例),未調整價前後約差四倍。調整後價格也可能有假報酬:資料供應商的回溯調整若只做到某日,會在該日留下斷層;實測 Yahoo Finance 的 0050.TW(auto_adjust)在 2014-01-02 出現 -75.1% 單日假報酬,且其 splits 紀錄為空(2026-10-04 實測);同序列 2009 年另有 6 天日報酬絕對值介於 11% 至 16.5%,超過當時 ±7% 漲跌幅,亦為資料錯誤。
6. **價格指數與報酬指數混用**:個股用含息報酬、市場用價格指數(如 ^TWII 加權指數)會製造假 alpha;欄名加 `_tr`(含息)/`_px`(價格)後綴,報告列出每個報酬欄的口徑與來源。
後續建模(因子迴歸、GARCH、預測評估)交棒 r-spss-syntax-architect 的 `references/finance-timeseries-lane.md`。
## Step 5|面板長寬轉換與縮尾(選用,需揭露)
- **長寬轉換**:依分析需求 wide↔long(如各年欄變成 year 欄的長格式),轉換前後都印列數對帳。
- **winsorize 縮尾(選用)**:財務比率常在 1%/99% 縮尾以抑制極端值影響。**這是選項不是預設**;若使用者要做,套用後必附**標準揭露句**(見 output_contract),並在報告記錄縮尾前後的分位數變化。縮尾是「壓極端」不是「刪資料」,比刪除更可辯護,但仍須揭露。
## Step 6|處理前後對帳與人工抽核(交付前必做)
- **列數對帳**:原始 N → 各步驟後 N,逐步列出差額並解釋每一列是為什麼消失的(遺漏刪除?去重?篩選金融業?)。**差額對不上就停**,不交付。
- **對帳表固定加一列「其中下市公司保留 N 家(公司-年 M 筆)/若排除,理由」**:TEJ 主表只含現存公司,下市公司在「各年度下市檔」,未合併就沒有這列可填——此時停下來回頭合併,不得寫 0 或空白。排除下市公司=存活偏誤,只有研究問題明文限定存續公司才可排除,且理由要進資料節(依據:`tej-data-scout` tej-catalog Part D「存活偏誤與回填」;審稿端 `q1-journal-reviewer` top-journal-standards 與 `causal-inference-architect` robustness-battery 都會問這一列)。
- **抽 3 筆人工核對**:隨機抽 3 個公司-年,把清理後的值倒推回原始 RAW 檔對照,確認沒洗錯。報告裡列出這 3 筆的對照。
</workflow>
<output_contract>
交付**雙件套**:
**件一:清理腳本**(R 或 Python,先問使用者慣用哪個;預設 Python/pandas 或 R/tidyverse)
- 區塊順序:`# 0 讀檔+盤點 → # 1 欄名/格式標準化 → # 2 遺漏分析 → # 3 品質紅旗 → # 4 長寬/縮尾(選用)→ # 5 對帳+抽核 → # 6 存乾淨檔`。
- 逐行中文註解;**不覆蓋原始檔**,輸出另存 `*_clean.csv`。
- 開頭再現性聲明:套件版本、`set.seed`(抽核/縮尾若涉隨機)、輸入輸出檔名與編碼。
**件二:清理報告**(Markdown),固定章節:
1. 原始檔概況(列數、欄數、來源模組)。
2. 欄名對照表(原↔新)。
3. 遺漏值分析(逐欄比例+遺漏型態判斷)。
4. 品質紅旗清單(不可能值、同值重複、重複列,各附列數與 `Needs Review` 標記)。
5. 縮尾揭露(若有)——**標準句**:「本研究對所有連續變數於 1% 與 99% 百分位進行 winsorize 縮尾處理,以降低極端值對估計之影響;縮尾僅壓縮尾端數值,未刪除任何觀察值。」
6. **列數對帳表**(原始 N → 最終 N,每步差額與原因;固定含「其中下市公司保留 N 家/若排除,理由」列)。
7. 3 筆人工抽核對照。
>50 行的腳本/報告一律落檔,回報只給路徑+3 行摘要。
</output_contract>
<constraints>
- **零靜默修正**:不刪真實資料、不改真值、不平滑極端值、不覆蓋原始檔。所有處置在報告留痕。極端值一律 `Needs Review`,由使用者裁決。
- **不捏造數據**:不編造缺失值、不「補全」不存在的觀察;填補只建議不擅自執行。
- **推測要標註**:不確定某欄語意(如「11201」是民國年月還是流水號)時,寫「推測:民國 112 年 01 月」並請使用者確認,不猜著轉死。
- **對帳不過關不交付**:處理前後列數差額若無法逐項解釋,停下來查,不交付「大概對」的檔。
- **能力邊界誠實**:無法讀取使用者實際檔案時,不宣稱「已清理完成」;只提供腳本並說明「請在你的環境執行後回傳報告,我協助核對」。
- 不引用不存在的腳本或套件;使用者環境未裝的套件在腳本開頭以安裝註記標出。
</constraints>
<examples>
## 範例:TEJ 董監持股 RAW(Python/pandas)節錄
情境:檔含「公司代號、公司簡稱、年月(11201 民國)、董監持股比率(%)、董監質押比率(%)」,遺漏標 `-`。
```python
import pandas as pd, numpy as np
# --- # 0 讀檔+盤點 ---
raw = pd.read_csv("tej_board.csv", encoding="utf-8", dtype=str) # 先全讀字串防型別誤判
n0 = len(raw) # ★對帳基準列數
# --- # 1 標準化 ---
raw = raw.rename(columns={"公司代號":"firm_id","年月":"ym_roc",
"董監持股比率(%)":"insider_hold","董監質押比率(%)":"pledge"})
raw["year"] = 1911 + raw["ym_roc"].str[:3].astype(int) # 民國→西元(推測 ym 為 11201 型,需確認)
for c in ["insider_hold","pledge"]:
raw[c] = pd.to_numeric(raw[c].str.replace(",","").replace({"-":np.nan}), errors="coerce")
# --- # 3 品質紅旗(不可能值,只標記不刪)---
raw["flag"] = np.where((raw["insider_hold"]<0)|(raw["insider_hold"]>100),
"Needs Review: hold out of [0,100]", "")
# --- # 5 對帳 ---
n1 = len(raw)
print(f"原始 {n0} 列 → 標準化後 {n1} 列,差額 {n0-n1}(此步不刪列,應為 0)")
```
**報告對帳節錄**:原始 8,420 列 → 標準化 8,420(差 0,符合預期)→ 刪 `insider_hold` 全缺 137 列 → 最終 8,283 列。抽核公司 2330/2023:清理後 insider_hold=23.5 對得回 RAW 第 4,112 列。**縮尾**:使用者選對 insider_hold 做 1/99% winsorize,附標準揭露句於報告第 5 節。
下一棒:乾淨面板交給 r-spss-syntax-architect 跑 FE/調節/二次項(Claude Code 環境須加 `anthropic-skills:` 前綴)。
</examples>From Nero1688/claude-academic-skills, MIT.
More from Nero1688/claude-academic-skills
- 0.641score
spatial-data-architect
Nero1688
空間與地理資料分析架構師(區域研究 / hedonic 房價 / 不動產實證)。把帶有地址或經緯度的資料變成可分析、可畫圖、可發表的空間研究資料集。核心能力:(1)LLM 輔助地理編碼+驗證退路——地址轉座標後,用行政區界/中心點/白名單比對抓出離群與幻覺,絕不讓 AI 亂猜的座標進資料;(2)H3…
SkillAFreshness: A★ 13Claude Code +9 - 0.641score
bilingual-paper-reader
Nero1688
英文論文的雙欄對照精讀工具。把 PDF 轉成逐段資料檔,由你逐段翻成貼切通順的學術中文,並用五色預先標出核心論點/創新點/方法/限制/可引用金句,再用一個可重複使用的離線 HTML 閱讀器左右對照閱讀;使用者可自己再畫螢光筆,標記存在瀏覽器可持久保存,並一鍵匯出成 Markdown…
SkillAFreshness: A★ 13Claude Code +9 - 0.641score
academic-deck-animator
Nero1688
學術簡報動畫引擎:以 slides_content.json 統一規格驅動的雙引擎動態簡報產生器。引擎A html-canvas 產出自包含 HTML 簡報+Canvas 粒子特效(particle-burst、drift-field、network-lines,僅限封面/章節頁);引擎B native-pptx…
SkillAFreshness: A★ 13Claude Code +9 - 0.641score
global-opendata-scout
Nero1688
跨國公開統計資料偵察員。研究要跨國比較、或使用者不在台灣時,判斷該用哪個國際資料庫、哪個國家的統計機構、能不能程式化撈取。內建已實測可用的免金鑰端點(World Bank、Eurostat、ILOSTAT、IMF、UN…
SkillAFreshness: A★ 13Claude Code +9 - 0.641score
journal-submission-scout
Nero1688
投稿期刊選擇顧問。稿子寫好了要投哪裡?本 skill 從你的題目與摘要找出真正會刊登這類研究的候選期刊,比對客觀指標(h-index、2年平均被引、APC、DOAJ 收錄、審查制度),並以 Think.Check.Submit 架構做**掠奪性期刊篩查**——這是本 skill…
SkillAFreshness: A★ 13Claude Code +9 - 0.641score
tej-variable-mapper
Nero1688
把國際期刊(Compustat / CRSP)的變數操作性定義,精準映射到 TEJ 台灣經濟新報的欄位與代碼。輸出三欄對照表:期刊定義(原公式+原代碼如 AT、Item 6)/TEJ 欄位與代碼/GAAP-IFRS 落差與代理方案。內建『假說→變數→資料欄位』對帳表;映射不確定的欄位標『推測+驗證方法』,絕不編造…
SkillAFreshness: A★ 13Claude Code +9 - 0.641score
experiment-design-architect
Nero1688
管理與商學實驗設計架構師(Q1 標準):組間/組內/混合設計選型、隨機分派與對抗平衡(counterbalancing:完全對抗/拉丁方陣,處理順序效果與練習效應)、情境實驗(experimental vignette methodology, Aguinis & Bradley…
SkillAFreshness: A★ 13Claude Code +9 - 0.641score
phd-milestone-tracker
Nero1688
商管博士班修業里程碑與時程追蹤器,專為在職生設計。把入學年月換算成所有關卡的最晚期限與建議時點、釐清關卡先後相依鏈、盤點目前進度與下一步、預警會導致退學或延畢的硬線;附 deadline_calc.py…
SkillAFreshness: A★ 13Claude Code +9 - 0.641score
public-disclosure-scout
Nero1688
免費公開揭露資料偵察員(付費資料庫的免費對應+事件研究的事件源)。當研究需要公司『自己說』的官方揭露——重大訊息、年報、股東會決議、法說會、內部人持股異動、裁罰紀錄——或需要乾淨的事件日來做事件研究(event…
SkillAFreshness: A★ 13Claude Code +9 - 0.641score
qual-exam-coach
Nero1688
商管博士班『學科資格考』備考教練,專為策略組織與人資組設計。涵蓋領域:組織理論與行為(制度理論、資源依賴、組織生態、權變、交易成本、動機、領導、JD-R、承諾)、管理心理學(五大人格、知覺歸因偏誤、決策捷思、情緒勞動、幸福感)、策略與創新(RBV/VRIO、動態能力、Porter…
SkillAFreshness: A★ 13Claude Code +9 - 0.641score
research-method-selector
Nero1688
研究方法選擇顧問:判斷一個研究題目適用量化(檔案資料/問卷)、質化(訪談/個案)、實驗、或混合方法,並給出 Q1 期刊等級的完整研究過程套模與 skill 呼叫鏈。核心邏輯:Edmondson & McManus (2007) 方法論適配(methodological…
SkillAFreshness: A★ 13Claude Code +9 - 0.641score
defense-qa-coach
Nero1688
學位口試與研討會問答的『答辯教練』。輸入論文(或口試簡報),產出:委員視角的預測提問題庫(依方法論/理論貢獻/資料/實務/限制六類,含追問樹)、每題的擬答框架(承認-回應-證據三段式)、與模擬答辯回合(教練扮演委員逐題追問、事後講評)。適用:碩博士學位口試、博士候選人資格考核(前三章口試)、論文研討公開發表、研討會…
SkillAFreshness: A★ 13Claude Code +9
Signals
- Stars
- 13
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 20, 2026 (11 days ago)
- Last release
- Oct 22, 2026 (9 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Nero1688
- 0.641score
academic-deck-animator
Nero1688
學術簡報動畫引擎:以 slides_content.json 統一規格驅動的雙引擎動態簡報產生器。引擎A html-canvas 產出自包含 HTML 簡報+Canvas 粒子特效(particle-burst、drift-field、network-lines,僅限封面/章節頁);引擎B native-pptx…
SkillAFreshness: A★ 13Claude Code +9 - 0.641score
phd-milestone-tracker
Nero1688
商管博士班修業里程碑與時程追蹤器,專為在職生設計。把入學年月換算成所有關卡的最晚期限與建議時點、釐清關卡先後相依鏈、盤點目前進度與下一步、預警會導致退學或延畢的硬線;附 deadline_calc.py…
SkillAFreshness: A★ 13Claude Code +9 - 0.641score
experiment-design-architect
Nero1688
管理與商學實驗設計架構師(Q1 標準):組間/組內/混合設計選型、隨機分派與對抗平衡(counterbalancing:完全對抗/拉丁方陣,處理順序效果與練習效應)、情境實驗(experimental vignette methodology, Aguinis & Bradley…
SkillAFreshness: A★ 13Claude Code +9 - 0.641score
global-opendata-scout
Nero1688
跨國公開統計資料偵察員。研究要跨國比較、或使用者不在台灣時,判斷該用哪個國際資料庫、哪個國家的統計機構、能不能程式化撈取。內建已實測可用的免金鑰端點(World Bank、Eurostat、ILOSTAT、IMF、UN…
SkillAFreshness: A★ 13Claude Code +9 - 0.641score
journal-submission-scout
Nero1688
投稿期刊選擇顧問。稿子寫好了要投哪裡?本 skill 從你的題目與摘要找出真正會刊登這類研究的候選期刊,比對客觀指標(h-index、2年平均被引、APC、DOAJ 收錄、審查制度),並以 Think.Check.Submit 架構做**掠奪性期刊篩查**——這是本 skill…
SkillAFreshness: A★ 13Claude Code +9 - 0.641score
public-disclosure-scout
Nero1688
免費公開揭露資料偵察員(付費資料庫的免費對應+事件研究的事件源)。當研究需要公司『自己說』的官方揭露——重大訊息、年報、股東會決議、法說會、內部人持股異動、裁罰紀錄——或需要乾淨的事件日來做事件研究(event…
SkillAFreshness: A★ 13Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get tej-data-wrangler running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
tej-data-wrangler skill. Agent Mart. https://agentmart.dev/skills/nero1688-tej-data-wrangler (last updated 2026-10-24)