Repository navigation
Releases
Releases · tahodev/baodao-skill
v0.9.1
[0.9.1] - 2026-10-13
Added
SECURITY.md、.github/CODEOWNERSdocs/series.md:iT邦幫忙鐵人賽 30 篇連載索引;README 加入 CI/授權/版本徽章與連載連結tests/:labor-health-insurance、income-tax 範例輸出的回歸測試
Changed
scripts/check-urls.py:連線失敗(000)或 5xx 時重試一次再判定docs/roadmap.md:無法驗證來源的三項移到「保留」區,計數改為 22/2 全部完成docs/features/全部指南加上「回功能表」連結
v0.9.0
[0.9.0] - 2026-10-03
Added
taiwan-income-tax:綜合所得稅試算。114、115 所得年度的免稅額、標準扣除額、薪資特別扣除額與課稅級距取自財政部公告(2026-10-03 對照公告),純離線 Python,內建斷言(單身薪資 80 萬:115 年度稅額 16,800、114 年度 17,700)taiwan-labor-health-insurance:勞健保費率計算。115 年(2026-01-01 起)勞保 11.5% 加就保 1%、健保 5.17%、勞退雇主 6% 與投保級距;程式輸出與公告分擔金額表的樣本金額核對一致(2026-10-03)。只涵蓋一般受僱全時勞工docs/features/兩份指南、README 功能表(中英)、getting-started 與 install 的清單同步
Changed
docs/roadmap.md:綜合所得稅試算、勞健保費率計算打勾(新技能 22/24);國道即時路況註記無法驗證暫不實作(高公局 tisvcloud 於 2026-10-03 從實測環境逾時)scripts/check-urls.py:nhi.gov.tw加入已知會擋雲端 IP 的網域(2026-10-03 實測www.nhi.gov.tw回 403,與info.nhi.gov.tw同類),降為 WARN- README 技能總數 25 → 27;install.md 的 25 技能為 2026-09-20 當時的實測,已標註
v0.8.5
v0.8.4
[0.8.4] - 2026-10-02
Fixed
scripts/check-counts.py:taiwan-hospital總數不再 exact-match 37,133(實際 37,175,health-check 自 9/29 起連續失敗,issue #8)。總數漂移改為 ±5% WARN;真正失敗改看success旗標、欄位缺失、總數驟降到 3 萬以下、最後一頁筆數與 total 對不上.github/workflows/health-check.yml:各檢查步驟加if: ${{ !cancelled() }},一項失敗不再讓 drift/doctests/counts/invoice/measured/urls 被跳過;最後仍由失敗步驟清單開 issuescripts/check-urls.py:文件的offset=N說明用網址探測時代入offset=0,不再回 400 誤報taiwan-stock:「漲幅前 10」範例原本依Change(價差)排序,高價股永遠排前面;改為Change / (收盤 - Change)的漲幅%,空字串與昨收為 0 的筆數略過(2026-10-02 實測)taiwan-suspension:解析器改為逐列讀公告表格(縣市+內容),不再把頁尾備註、法條與發布時限說明混成公告、也不再遺失縣市名taiwan-hospital:分頁範例存成/tmp/hosp.json,與下一節篩選範例銜接;總數更新為 37,175(2026-10-02)taiwan-id-check:統編與身分證改用 ASCII 正則;全形、上標、其他文字的數字不再丟例外而是回False;身分證第二碼限 1/2/8/9taiwan-toilet:最近公廁範例改為先合併全部頁面再排序(原本只看第 1 頁);經緯度任一缺值都略過
Changed
tests/test_documented_code.py:改為抽出並執行 SKILL.md 內的程式(taiwan-schools、stock、suspension、hospital、toilet),不再複製公式;新增 id-check 異常輸入、stock 排序、suspension 公告列與頁尾、toilet 跨頁與缺值的 fixture(suspension 的公告列為合成 fixture,尚未用真實颱風日頁面驗證)
v0.8.3
v0.8.2
[0.8.2] - 2026-09-26
Fixed
invoice-winning-numbers:修解析誤配——頁首/頁尾分頁連結含「特別獎、特獎中獎清冊」字樣,從期別標籤直接往後掃會把特獎對到清冊連結、讀出特別獎的號碼(2026-09-26 於 115年07-08月期實測重現);解析改從期別標籤後第一個「獎別」表格起點開始。補 2026-09-26 實測記錄(特別獎 38548029、特獎 10138845、頭獎 3 組、無增開六獎;殘留領獎期間仍為上一期,陷阱存在)taiwan-parking:即時場數 1,174→1,188、靜態場數 1,773→1,775(2026-09-26 實測;-9 場仍為 88)youbike-realtime:統一 feed 站數基準 9,521→9,629、服務區約略站數更新(2026-09-26 實測;含「臺」站名 385 站不變)scripts/check-urls.py:404 不再被地區限制 WARN 掩蓋(WARN 限 000/401/403/429/5xx);URL 模式前綴(ETW183W2_、AlertType=)明確跳過;MOENV 的 HTTP 200+純文字金鑰錯誤納入 API 錯誤偵測,占位金鑰探測回此錯誤視為預期;NCDR 同網域請求串行隔 3 秒,不再自踩速率限制;清理 tabi-skill 殘留的無關占位變數;輸出遮蔽 api_keyscripts/check-counts.py:停車場場數改為容忍 ±5% 的 WARN 級檢查(變動頻繁,exact-match 曾致 health-check 9/20-25 連續誤報);新增 YouBike 統一 feed 總站數同級檢查;基準值更新health-check.yml:各檢查步驟加 id,自動 issue 內文列出失敗步驟與處理方式;納入 invoice 煙霧測試與實測日檢查
Added
scripts/check-invoice.py:lastNumber.html 煙霧測試——期別標籤存在、特別獎/特獎為 8 碼且不重複、頭獎至少一組(網路/地區限制 WARN 略過)scripts/check-measured-date.py:各 SKILL.md 新增「實測日」標頭,超過 90 天未實測則 CI 失敗(排程時自動開 issue 提醒再實測)tests/test_documented_code.py:新增 taiwan-schools 欄位切片回歸(114 學年度 011301 固定樣本,16 班/498 名)與 invoice 分頁連結誤配回歸(fixture 重現 07-08月期版面,執行文件中的解析程式)docs/response-contract.md:回報給使用者的共通規則與實測踩過的陷阱清單,AGENTS/CONTRIBUTING 加連結docs/getting-started.md:依目的分六組的入門指南(25 技能,3 個需金鑰),README 加連結AGENTS.md/CONTRIBUTING.md/PR 模板:金鑰規則補上唯一例外——政府資料平臺公布的資料集公用 key(如 taiwan-toilet 的 data.gov.tw resource key)可提交但須註明來源頁
v0.8.1
[0.8.1] - 2026-09-20
Fixed
taiwan-oil-price:改用中油官方 open data JSON(data.gov.tw 資料集 166537,vipmbr.cpc.com.tw/opendata/sixtypeoillistprice)為主路徑,HTML 歷史頁改為歷史/備援;週日中午公告次週牌價,公告後可如實回答「下週漲跌」(2026-09-20 實測 200、51 列、免 UA)taiwan-hospital:API 單次 limit 封頂 1,000 筆,全量下載範例改為 offset 分頁(2026-09-20 實測 38 頁取齊 37,133 筆);院所數 37,127→37,133;frontmatter description 贅字修正taiwan-parking:即時場數 1,177→1,174、availablecar=-9 場 87→88(2026-09-20 實測)taiwan-lunar-cal:補「使用方式」一節(python3 存檔執行範例,2026-09-20 實測可跑)postal-address:前 3 碼表 2026-09-20 確認下載區仍為 103.12.25 版,無更新版docs/install.md:執行期工具清單依 25 技能全量盤點(python3 14 技能、jq 7 技能、iconv 3 技能等);乾淨環境安裝以 25 技能重測(2026-09-20)README:30 天計畫移至 docs/roadmap.md
Added
docs/conventions.md:跨技能共同慣例(民國年換算、Big5 編碼、curl 習慣、時區),CONTRIBUTING 加連結.github/pull_request_template.md:實測日期、錯誤處理、CHANGELOG、README 檢查清單tests/test_documented_code.py:直接執行 taiwan-lunar-cal 與 taiwan-id-check 的 SKILL 文件程式並對已知向量(17 項)scripts/check-counts.py:博物館 144、圖書館 5,207/610/644、健保院所 37,133、停車場 1,174/1,773 基準數複核;與文件程式測試一併併入 health-checkscripts/check-docs-drift.py:加內容檢查——feature note 的 URL 與單位數字須存在於 SKILL
v0.4.2
[0.4.2] - 2026-09-12
Changed
taiwan-holidays:改為 CSV 優先 — data.gov.tw 資料集 14718 其實有 106-116 年全年度 CSV(含當年度 115 年、明年 116 年,2026-09-12 實測 115 CSV 365 列、平日放假 16 天、總放假 120 天,與 xlsx 解析及人事總處公告一致);官方 xlsx 月曆解析降為備援與交叉驗證。補上 114 下半年起官方廢除補班制度的說明taiwan-holidays:114 年改用 114/10/20 更新版 CSV(舊版漏答 2025/9 後新增的教師節、光復節、行憲紀念日放假);該檔為 Big5 需 iconv,與 115/116 的 UTF-8 不同,文件改為依檔案確認編碼docs/features/taiwan-garbage.md:其他縣市研究結果複驗更新 — 台中資料集 84004 經資源 rid 的免驗證路徑可下載(CSV 4.7MB/JSON 13.7MB,2026-09-12 實測),改列擴充候選(時效待驗證);台南更正為「curl 可連、僅瀏覽器代理黑名單」;桃園、高雄維持不可達taiwan-stock:English summary 補上 openapi STOCK_DAY_ALL 延遲約半天的 caveat(與 zh-TW 內文對齊)postal-address:補資料特性一節 — 全檔掃描結果(路街 30,031 列/村里 8,369 列無缺譯無亂碼)、路名無縣市前綴有 21 組重名、村里英譯 220 列用 U+2019 彎撇號、路街英文欄 2 列含全形數字
v0.1.0
baodao-skill 的第一個正式 release:台灣日常生活查詢的 AI 代理技能組合,以不需要登入、不需要 API 金鑰的查詢型技能為核心。
技能
invoice-winning-numbers:統一發票中獎號碼查詢與對獎(財政部電子發票整合服務平台公開頁面)youbike-realtime:台北市+新北市 YouBike 2.0 站點即時可借/可還查詢taipei-garbage:台北市垃圾清運路線與清運點查詢(臺北市資料大平臺 CSV)taiwan-weather:台灣 22 縣市天氣查詢(Open-Meteo,免金鑰)cwa-weather:中央氣象署開放資料天氣預報(免費即時發給的 API 金鑰)
重點修正
- 發票解析:HTML 標籤整個刪除(原先取代成空白會把 8 碼號碼切成 3 碼碎片)
- 發票領獎期間:只引用與期別同區塊的文字,取不到時依「開獎日次月 6 日起 3 個月」推算並註明需向官方確認
- 天氣座標表擴充到 22 縣市,地理編碼備援改為英文/拼音指引
- CI:每日 health-check(frontmatter lint + SKILL.md 內 URL 全數 curl 檢查,失敗自動開 issue)
安裝
npx --yes skills add tahodev/baodao-skill --all -g