Yannick ytm stats skill
彙整亞尼克 YTM 蛋糕販賣機全台據點的即時庫存,依商品聚合並產出 Markdown 統計報告(含商品排行、出現站點、價格、總數量)。當使用者提到「亞尼克」、「YTM」、「蛋糕販賣機」、「生乳捲庫存」、「三顆布丁生乳捲」、「BUBU 切片組」、「巴斯克生起司」、「景安站」/「南港站」等任一捷運站想查庫存、想看哪些站還有貨、整理全站存貨清單、做進貨/補貨參考時,務必啟用本 skill — 即使使用者沒有講「庫存」二字,只要話題跟亞尼克 YTM 哪裡有/沒有什麼商品(包含近期熱門的三顆布丁生乳捲)有關,就應該主動跑這個 skill 給出數據From its SKILL.md
npx -y skills add jack21/yannick-ytm-stats-skillAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- 1 stars1 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.
- runs commandsInstructs the agent to run 1 command, including `python3 scripts/scan.py`.
- fetches URLsInstructs the agent to fetch 1 URL, including https://www.yannick.com.tw/ytm/service2.
SKILL.md
4.5 KB, ~1.7k tokens by cl100k_base, as published. Nobody here has run it
亞尼克 YTM 全站庫存統計
這個 skill 在做什麼
亞尼克在台北捷運、高雄捷運、各地門市共設有多個 YTM(蛋糕販賣機)據點,官方查詢頁
https://www.yannick.com.tw/ytm/service2 一次只能看一站,本 skill 把全部站點的查詢結果並行整合、依商品聚合,產出可讀的 Markdown 統計報告 —— 哪個商品在哪些站有貨、共幾個、單價多少、哪些站查詢失敗都一目了然
怎麼用(最小流程)
直接執行 scripts/scan.py,它會:
- 取得最新站點清單(即時取得失敗時自動退回讀
scripts/stations.tsv快照) - 並行查詢各站庫存
- 聚合並把 Markdown 報告印到 stdout
python3 scripts/scan.py
執行時間:約 25–60 秒(視站點數、預設併發 6、視網路情況),輸出包含:
- 📊 整體摘要:站點數、有庫存站、商品種類、總庫存
- 🗺️ 各據點分類(台北/高雄/門市)小計
- 🍰 商品排行表
- 📍 每個商品「出現在哪些站 + 各站剩幾個」
- ⚠️ 查詢失敗站點清單(若有)
直接把 stdout 內容呈現給使用者即可,已是 Markdown 格式
系統需求
腳本只需要:
- Python 3.8+(macOS 預設、所有主流 Linux 預設、Windows 從 python.org 一鍵安裝)
不用 pip install 任何套件;不需要 curl、jq、Node.js、任何雲端服務或 API key
全部使用 Python 標準函式庫(urllib、json、csv、concurrent.futures、datetime、collections),幾乎所有能跑 Claude Code 的電腦都直接能執行
環境變數(可選)
| 變數 | 預設 | 說明 |
|---|---|---|
CONCURRENCY | 6 | 同時併發查詢的站點數,網路差或想更保守可設 3–4;想快可設 10 |
YANNICK_USE_LOCAL_STATIONS | (空) | 設 1 時跳過動態取得,直接讀 scripts/stations.tsv 快照 |
YANNICK_OFFLINE_CACHE | (空) | 指向 mock JSON 目錄;設定後跳過所有 HTTP,從目錄讀,給開發/測試用,使用者一般不需要設 |
CONCURRENCY=10 python3 scripts/scan.py # 較快
CONCURRENCY=3 python3 scripts/scan.py # 較保守
注意事項
- 節制使用原則:每次執行每站只送一次請求,預設併發 6 已是兼顧速度與不造成伺服器負擔的設定,請勿任意調高
- 站點清單預設即時取得:腳本會自動跟上官方變更,不再依賴
stations.tsv;TSV 只在動態取得失敗時作為 fallback - 失敗站點不會中斷整個流程:腳本內每站逾時 15 秒、自動重試 2 次(指數退避),仍失敗就記錄在報告底部,不影響其他站
不要做的事
- 不要把並行改成 sequential:使用者會覺得慢,預設併發 6 是合理設定
- 不要任意調高
CONCURRENCY:避免對官方服務造成負擔 - 不要透過第三方代理服務轉發請求:本機 CLI 環境直接呼叫即可
- 不要對輸出做太多後處理:腳本已產出格式良好的 Markdown,直接呈現給使用者就好,若使用者要 JSON 等其他格式,再另外處理
- 不要把本工具用於商業用途或大量自動化請求:僅供個人便利查詢
免責聲明
本工具僅供個人非商業用途的便利查詢,所有資料著作權與商標皆屬亞尼克所有;庫存資料可能有延遲或誤差,請以實際到店為準,若亞尼克官方表示反對此類用途,請立即停止使用本工具
參考檔案
scripts/stations.tsv— 站點 master data 快照(fallback 用),含 TID / 據點分類 / 路線 / 站名scripts/scan.sh— 向後相容的 bash wrapper(內部呼叫python3 scan.py),一般情況下直接用python3 scan.py即可
What ships with it: 14 files
56.3 KB alongside SKILL.md, 3 of them executable
examples/
- sample-output.md10.1 KB
references/
- api.md2.5 KB
scripts/
- package.shruns849 B
- scan.pyruns14.2 KB
- scan.shruns236 B
- stations.tsv5.3 KB
tests/
- README.md896 B
- AGENTS.md3.5 KB
- CHANGELOG.md993 B
- CLAUDE.md3.9 KB
- CONTRIBUTING.md2.0 KB
- .gitignore519 B
- LICENSE1.0 KB
- README.md10.4 KB