名称: card-optimizer
描述: "信用卡奖励优化器 — 通过为每个消费类别推荐最佳信用卡,帮助最大化返现、积分和里程。追踪年消费上限、计算年费投资回报率、管理季度轮换类别,并根据消费模式推荐新卡。"
主页: https://github.com/ScotTFO/card-optimizer-skill
元数据: {"clawdbot":{"emoji":"💳"}}
通过为每笔消费使用正确的信用卡,最大化信用卡奖励。
skills/card-optimizer/ (本文件)data/card-optimizer/cards.json — 信用卡定义、奖励率、消费估算、类别映射表cards.json 中的每张卡遵循以下结构:
{
"id": "unique_id",
"name": "卡名称",
"issuer": "发卡行名称",
"network": "visa|mastercard|amex|discover",
"annual_fee": 95,
"reward_type": "cashback|points|miles",
"point_valuation_cpp": null,
"transfer_partners": [],
"notes": "可选备注",
"signup_bonus": {
"amount": 200,
"type": "cashback",
"spend_requirement": 3000,
"timeframe_months": 3,
"earned": false
},
"categories": [
{
"category": "groceries",
"rate": 6.0,
"cap_amount": 6000,
"cap_period": "yearly",
"rate_after_cap": 1.0
},
{
"category": "rotating",
"rate": 5.0,
"cap_amount": 1500,
"cap_period": "quarterly",
"rate_after_cap": 1.0,
"quarterly_categories": {
"Q1": ["gas", "ev_charging"],
"Q2": ["groceries", "home_improvement"],
"Q3": ["restaurants", "paypal"],
"Q4": ["amazon", "target", "walmart"]
},
"activation_required": true
},
{
"category": "everything_else",
"rate": 1.0
}
]
}
对于积分/里程卡,存储 point_valuation_cpp (每积分价值,单位:美分):
- Chase Ultimate Rewards: 基础 1.0 cpp,Sapphire Preferred 1.25 cpp,Sapphire Reserve 1.5 cpp
- Amex Membership Rewards: 基础 1.0 cpp,根据转点伙伴不同而变化
- 比较卡片时,将奖励率 × point_valuation_cpp 以获得等效返现率
cards.json 中的 category_map 将每个消费类别映射到最佳卡片的 ID。这是预计算的最优分配方案 — 在添加或移除卡片时需重新计算。
为了支持投资回报率计算、缺口分析和新卡推荐,用户可以选择在 cards.json 中设置每个类别的预估月消费:
{
"estimated_monthly_spending": {
"groceries": 600,
"gas": 200,
"restaurants": 300,
"amazon": 150,
"streaming": 50,
"everything_else": 500
}
}
如果未提供估算值,本技能仍可为单笔消费推荐卡片 — 只是无法进行投资回报率或缺口分析。建议在首次设置时请用户进行估算。
注意: 本技能不追踪单笔消费。如果用户需要详细的消费数据,应通过预算工具连接其银行账户。这些估算值仅用于优化计算的粗略数字。
当用户询问“用哪张卡买[类别]?”或“我要买[物品]”时:
point_valuation_cpp 转换为等效返现率💳 使用: [卡名称] ([发卡行])
💰 奖励: [X]% [返现/积分/里程] 在 [类别]
⚠️ 注意: [任何上限、网络警告或注意事项]
🔄 备选: [如果商户不接受首选卡,则使用此卡]
当卡片有消费上限时:
- 远低于上限: 正常推荐
- 可能耗尽上限 (基于预估消费):注明何时会达到上限以及之后应切换至哪张卡
- 存在上限: 始终提及上限,让用户知晓
示例:"您的 Amex BCP 在超市消费可获得 6% 返现,上限为每年 $6,000。按每月约 $600 计算,您将在 10 月左右达到上限。之后,返现率将降至 1% — 届时请切换至 Wells Fargo Active Cash 以获得 2% 返现。"
部分卡片 (如 Chase Freedom Flex, Discover It) 有每季度变化的 5% 轮换奖励类别,且需要激活。
在每个季度开始时 (1月1日, 4月1日, 7月1日, 10月1日):
- 检查是否有 activation_required: true 的卡片
- 如果当前季度尚未激活,提醒用户
- 列出当前季度的奖励类别
- 注意:要实现自动化,可添加季度定时任务或将其包含在定期检查中
存储每张卡的激活状态:
{
"quarterly_activations": {
"chase_freedom_flex": {
"2026-Q1": {"activated": true, "date": "2026-01-02"}
}
}
}
对于每张有年费的卡片,基于 estimated_monthly_spending 计算是否值得保留:
💳 [卡名称] — 年费: $[金额]
奖励收益: $[金额]
对比 2% 返现卡: $[金额]
奖励价值: $[金额]
年费: -$[金额]
━━━━━━━━━━━━━━━━━━━━━━━━
净价值: $[金额] ✅ 值得保留 / ❌ 考虑降级
盈亏平衡点: 需要在奖励类别消费 $[X]/年才能抵消年费
使用 estimated_monthly_spending,识别:
📊 信用卡优化报告
✅ 覆盖良好:
- 超市 → Amex BCP (6%) — 年收益约 $360
- 亚马逊 → Chase Prime (5%) — 年收益约 $90
⚠️ 识别出的缺口:
- 餐饮: 每月 $300,仅获 2% (Chase Prime) — 一张 4% 餐饮卡每年可多省 $72
- 旅行: 每月 $200,仅获 1% — 一张 3x 旅行卡每年可多赚 $48
❌ 年费卡提醒:
- [卡名] 年费 $95,但仅产生 $60 奖励收益 — 净亏损 $35
💡 建议:
- 添加 [卡名] 可在 [类别] 上每年多赚约 $[X]
- 考虑将 [卡名] 降级为无年费版本
基于消费估算,推荐能增加价值的卡片:
不要推荐具体的推广链接 — 仅提供卡名并解释原因。
按类别考虑的流行卡片:
| 类别 | 卡片 | 备注 |
|---|---|---|
| 餐饮 | Chase Sapphire Preferred (3x), Amex Gold (4x), Capital One SavorOne (3%) | Sapphire 和 Gold 有年费 |
| 超市 | Amex BCP (6%), Amex Gold (4x MR) | BCP 有 $6k 上限 |
| 旅行 | Chase Sapphire Reserve (3x), Amex Platinum (5x 机票), Capital One Venture X (2x) | 均有较高年费 |
| 加油 | Citi Custom Cash (5% 最高类别), PenFed Platinum Rewards (5x 加油) | Custom Cash 灵活 |
| 统一费率 | Citi Double Cash (2%), Wells Fargo Active Cash (2%), Fidelity Visa (2%) | 无年费安全网 |
| 轮换类别 | Chase Freedom Flex (5% 季度), Discover It (5% 季度 + 首年匹配) | 需要激活 |
当用户提及商户时,映射到正确的卡片类别:
| 商户 / 关键词 | 类别 | 备注 |
|---|---|---|
| Kroger, Publix, Safeway, HEB, Aldi, Trader Joe's | groceries | 超市 |
| Costco, Sam's Club | groceries OR warehouse | Costco 店内仅接受 Visa。Sam's Club 可能将运通卡消费归类为超市 |
| Target, Walmart | varies | 可能归类为“大型超市”而非“超市” — 取决于发卡行 |
| Amazon, amazon.com | amazon | 部分卡片有特定亚马逊类别 |
| Whole Foods | whole_foods OR groceries | Chase Prime 有特定 Whole Foods 类别 |
| Shell, Exxon, BP, Chevron | gas | 加油站 |
| Uber, Lyft, subway, bus | transit | 公共交通和网约车 |
| Netflix, Hulu, Spotify, Disney+, HBO Max, YouTube TV | streaming | 流媒体订阅 |
| Chipotle, McDonald's, DoorDash, Grubhub | restaurants | 餐饮和外卖 |
| CVS, Walgreens, Rite Aid | drugstores | 药店 |
| Hilton, Marriott, Airbnb | hotels/travel | 旅行/住宿 |
| United, Delta, Southwest | airlines/travel | 机票 |
当用户使用非正式表述时:
- "food" / "eating out" / "dinner" → restaurants
- "grocery run" / "supermarket" → groceries
- "gas" / "fuel" / "fill up" → gas
- "uber" / "lyft" / "ride" → transit
- "stuff on amazon" / "prime order" → amazon
- "pharmacy" / "meds" / "prescription" → drugstores
- "subscription" / "monthly streaming" → streaming
- "general" / "random purchase" → everything_else
如果模糊不清,请询问:"这是超市消费还是餐厅消费?"
美国运通卡的商户接受度低于 Visa/Mastercard:
- 小型/本地商户
- 部分国际商户
- Costco (美国店内仅接受 Visa)
- 部分政府支付
推荐运通卡时,务必提供 Visa/Mastercard 备选方案。
美国 Costco 门店仅接受 Visa 信用卡 (以及借记卡/现金):
- 店内:必须使用 Visa
- 线上 (costco.com):接受 Visa, Mastercard, Discover (不接受运通)
当用户想要添加卡片时:
收集信息:
研究卡片 — 如果用户只提供卡名,可通过网络搜索查找当前的奖励率、费用和类别
在 cards.json 中创建卡片条目
重新计算 category_map — 确定现在哪张卡在每个类别胜出
确认并显示更新后的推荐
cards.json 的 cards 数组中移除category_map如果 data/card-optimizer/cards.json 不存在:
cards.json| 用户提问 | 操作 |
|---|---|
| "买超市用哪张卡?" | 推荐该类别最佳卡片 |
| "我要加油" | 推荐加油类别最佳卡 |
| "亚马逊最佳卡?" | 推荐亚马逊类别最佳卡 |
| "年费值吗?" | 对所有年费卡进行投资回报率分析 |
| "添加新卡" | 引导完成新卡设置流程 |
| "移除卡片" | 移除卡片并重新计算 |
| "信用卡优化报告" | 完整的缺口分析 + 建议 |
| "我该办什么卡?" | 新卡推荐 |
| "激活 Q2 类别" | 更新季度激活状态 |
| "Costco 接受运通吗?" | 网络接受度信息 |
| "我的卡有哪些?" | 列出所有卡片及其关键费率 |
| "更新我的消费估算" | 修订预估月消费 |