Community程式設計與開發github.com

daytrader1981/subscription-audit-skill

分析銀行或信用卡CSV匯出檔案,找出所有重複扣款項目,計算每月與每年花費,並建議保留、取消或降級方案。

subscription-audit-skill 是什麼?

此技能旨在協助使用者稽核其訂閱服務支出。使用者只需提供銀行或信用卡的CSV匯出檔案(建議包含90天以上的資料),技能便會自動解析交易紀錄,透過正規化商家名稱、計算交易間隔中位數與金額穩定性,標記出「重複扣款」的項目。支援的扣款週期包含每週、雙週、每月、每季與每年,並能辨識低信心或可能已取消的項目。技能還會標記可能的重複訂閱(例如兩個音樂服務或同一商家在不同卡片上的扣款),並根據日期與重疊情況建議保留、取消或降級。最終產出包含詳細表格(商家、週期、金額、每月等值、每年總額、下次扣款日、標記與決策)、當前與節省總額,以及按下次扣款日排序的取消檢查清單。支援Python執行腳本加速分析,但亦可手動計算。使用者隱私為優先,不會要求提供銀行密碼或登入帳戶,且取消步驟僅提供官方說明頁面連結。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/daytrader1981/subscription-audit-skill/tree/HEAD/skills/subscription-audit

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

訂閱稽核

輸入

  • 一個或多個CSV匯出檔案(理想為90天以上),包含日期、描述與金額欄位。若標題不明確,請詢問哪個欄位對應哪個資料。
  • 可選:使用者已知的訂閱清單。

程序

  1. 載入CSV檔案。正規化金額,使扣款為正數。移除轉帳、退款與信用卡還款(描述如「PAYMENT THANK YOU」、「TRANSFER」)。
  2. 正規化商家名稱:轉為大寫、去除商店編號、日期、參考ID與城市/州後綴。按正規化商家分組。
  3. 標記商家為重複扣款的條件:其中位數間隔符合某種週期(每週7±1天、雙週14±2天、每月30.4±4天、每季91±7天、每年365±10天),至少60%的間隔符合該週期,且金額穩定。變動超過10%的項目保留但標記為「變動金額」(如水電瓦斯)。金額大幅波動(變異係數大於25%)的商家則拒絕,視為一般購物而非訂閱。僅有兩筆扣款則標記為「低信心」。超過1.5倍週期無扣款則標記為「可能已取消」。
    • 若可使用Python,執行 python scripts/subscription_audit.py <csv>(此腳本位於技能資料夾內;請解析相對於此SKILL.md的路徑)並檢視其表格,取代手動計算。
  4. 針對每個重複扣款商家記錄:週期、典型金額、最後扣款日期、下次預計日期(最後日期+週期)、每月等值(每週×52/12、每年÷12)以及每年花費。
  5. 標記可能的重複:同一類別中的兩個商家(例如兩個音樂服務、兩個雲端儲存方案)或同一商家在兩張信用卡上扣款。
  6. 針對每個項目詢問使用者:保留 / 取消 / 降級 / 不確定。若被詢問,可根據重疊情況與最後使用日期建議。絕不施加壓力。
  7. 輸出:
    • 表格:商家 | 週期 | 金額 | 每月等值 | 每年總額 | 下次扣款日 | 標記 | 決策
    • 總計:當前每月/每年花費,以及套用決策後的節省金額
    • 取消檢查清單:按下次扣款日排序(最近者優先),並提醒在該日期前取消。
  8. 提供取消步驟時,僅連結該服務的官方說明頁面,或告知使用者搜尋「[服務] 取消訂閱 site:[官方網域]」。絕不憑空編造步驟。

規則

  • 顯示你的比對假設;將「可能重複扣款」的項目分開列出(當信心較低時)。
  • 絕不詢問銀行密碼或登入帳戶。
  • 不構成財務建議。

相關技能