{
  "schemaVersion": "1.0",
  "item": {
    "slug": "card-optimizer",
    "name": "Card Optimizer",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/ScotTFO/card-optimizer",
    "canonicalUrl": "https://clawhub.ai/ScotTFO/card-optimizer",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/card-optimizer",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=card-optimizer",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/card-optimizer"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/card-optimizer",
    "agentPageUrl": "https://openagent3.xyz/skills/card-optimizer/agent",
    "manifestUrl": "https://openagent3.xyz/skills/card-optimizer/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/card-optimizer/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Card Optimizer",
        "body": "Maximize credit card rewards by always using the right card for every purchase."
      },
      {
        "title": "Data Location",
        "body": "Skill logic: skills/card-optimizer/ (this file)\nUser data: data/card-optimizer/\n\ncards.json — card definitions, reward rates, spending estimates, category map"
      },
      {
        "title": "Card Database Schema",
        "body": "Each card in cards.json follows this structure:\n\n{\n  \"id\": \"unique_id\",\n  \"name\": \"Card Name\",\n  \"issuer\": \"Issuer Name\",\n  \"network\": \"visa|mastercard|amex|discover\",\n  \"annual_fee\": 95,\n  \"reward_type\": \"cashback|points|miles\",\n  \"point_valuation_cpp\": null,\n  \"transfer_partners\": [],\n  \"notes\": \"Optional notes\",\n  \"signup_bonus\": {\n    \"amount\": 200,\n    \"type\": \"cashback\",\n    \"spend_requirement\": 3000,\n    \"timeframe_months\": 3,\n    \"earned\": false\n  },\n  \"categories\": [\n    {\n      \"category\": \"groceries\",\n      \"rate\": 6.0,\n      \"cap_amount\": 6000,\n      \"cap_period\": \"yearly\",\n      \"rate_after_cap\": 1.0\n    },\n    {\n      \"category\": \"rotating\",\n      \"rate\": 5.0,\n      \"cap_amount\": 1500,\n      \"cap_period\": \"quarterly\",\n      \"rate_after_cap\": 1.0,\n      \"quarterly_categories\": {\n        \"Q1\": [\"gas\", \"ev_charging\"],\n        \"Q2\": [\"groceries\", \"home_improvement\"],\n        \"Q3\": [\"restaurants\", \"paypal\"],\n        \"Q4\": [\"amazon\", \"target\", \"walmart\"]\n      },\n      \"activation_required\": true\n    },\n    {\n      \"category\": \"everything_else\",\n      \"rate\": 1.0\n    }\n  ]\n}"
      },
      {
        "title": "Point Valuations",
        "body": "For points/miles cards, store point_valuation_cpp (cents per point):\n\nChase Ultimate Rewards: 1.0 cpp base, 1.25 cpp with Sapphire Preferred, 1.5 cpp with Sapphire Reserve\nAmex Membership Rewards: 1.0 cpp base, varies by transfer partner\nWhen comparing cards, multiply rate × point_valuation_cpp to get effective cashback equivalent"
      },
      {
        "title": "Category Map",
        "body": "The category_map in cards.json maps each spending category to the best card ID. This is the precomputed optimal assignment — recalculate when cards are added or removed."
      },
      {
        "title": "Spending Estimates",
        "body": "To power ROI calculations, gap analysis, and new card recommendations, the user can optionally set estimated monthly spending per category in cards.json:\n\n{\n  \"estimated_monthly_spending\": {\n    \"groceries\": 600,\n    \"gas\": 200,\n    \"restaurants\": 300,\n    \"amazon\": 150,\n    \"streaming\": 50,\n    \"everything_else\": 500\n  }\n}\n\nIf no estimates are provided, the skill can still recommend cards per-purchase — it just can't run ROI or gap analysis. Ask the user to estimate during first-time setup.\n\nNote: This skill does NOT track individual purchases. If the user wants detailed spending data, they should connect their bank accounts through a budgeting tool. These estimates are rough numbers for optimization calculations."
      },
      {
        "title": "How to Recommend a Card",
        "body": "When the user asks \"which card for [category]?\" or \"I'm buying [item]\":\n\nIdentify the category from the purchase (see Category Matching below)\nCheck all cards for that category's reward rate\nFactor in caps: If a card has a cap and the user's estimated annual spending in that category exceeds it, note the cap and when they'd likely exhaust it\nFactor in network acceptance: If the best card is Amex, mention that some merchants don't accept Amex and provide a Visa/MC fallback\nCompare effective rates: For points cards, use point_valuation_cpp to convert to cashback-equivalent\nReturn recommendation with reasoning"
      },
      {
        "title": "Response Format",
        "body": "💳 Use: [Card Name] ([Issuer])\n💰 Reward: [X]% [cashback/points/miles] on [category]\n⚠️ Note: [any caps, network warnings, or caveats]\n🔄 Fallback: [Next best card if merchant doesn't accept primary]"
      },
      {
        "title": "Cap-Aware Recommendations",
        "body": "When a card has spending caps:\n\nWell under cap: Recommend normally\nCap likely to exhaust (based on estimated spending): Note when the cap would be hit and what to switch to after\nCap exists: Always mention the cap so the user is aware\n\nExample: \"Your Amex BCP gets 6% on groceries up to $6,000/year. At ~$600/month, you'll hit the cap around October. After that, it drops to 1% — switch to Wells Fargo Active Cash for 2%.\""
      },
      {
        "title": "Rotating Categories",
        "body": "Some cards (Chase Freedom Flex, Discover It) have rotating 5% categories that change quarterly and require activation."
      },
      {
        "title": "Quarterly Alerts",
        "body": "At the start of each quarter (Jan 1, Apr 1, Jul 1, Oct 1):\n\nCheck for cards with activation_required: true\nIf not yet activated for the current quarter, remind the user\nList the current quarter's bonus categories\nNote: To automate this, add a quarterly cron job or include in the mileage check heartbeat\n\nStore activation status per card:\n\n{\n  \"quarterly_activations\": {\n    \"chase_freedom_flex\": {\n      \"2026-Q1\": {\"activated\": true, \"date\": \"2026-01-02\"}\n    }\n  }\n}"
      },
      {
        "title": "Annual Fee ROI Analysis",
        "body": "For each card with an annual fee, calculate whether it's worth keeping based on estimated_monthly_spending:\n\nCalculate bonus rewards: For each bonus category, compute annual rewards at the bonus rate\nCalculate baseline: What a no-fee 2% flat card would earn on the same spending\nBonus value: bonus_rewards − baseline_rewards\nNet ROI: bonus_value − annual_fee\nVerdict: Worth it if net ROI > 0"
      },
      {
        "title": "Report Format",
        "body": "💳 [Card Name] — Annual Fee: $[fee]\n\nBonus rewards earned:     $[amount]\nvs. 2% flat card:         $[amount]\nBonus value:              $[amount]\nAnnual fee:              -$[fee]\n━━━━━━━━━━━━━━━━━━━━━━━━\nNet value:                $[amount] ✅ Worth it / ❌ Consider downgrading\n\nBreak-even: Need $[X]/yr in bonus categories to justify the fee"
      },
      {
        "title": "Spending Gap Analysis",
        "body": "Using estimated_monthly_spending, identify:\n\nWeak categories: High spending where the best available card only earns 1-2%\nUnderperforming fee cards: Annual fee cards not earning enough bonus to justify the fee\nCap exhaustion: Categories where estimated spending exceeds bonus caps — may benefit from a second card\nMissing coverage: Common categories with no bonus card at all"
      },
      {
        "title": "Report Format",
        "body": "📊 Card Optimization Report\n\n✅ Well covered:\n- Groceries → Amex BCP (6%) — earning ~$360/yr\n- Amazon → Chase Prime (5%) — earning ~$90/yr\n\n⚠️ Gaps identified:\n- Dining: $300/mo at 2% (Chase Prime) — a 4% dining card would save $72/yr\n- Travel: $200/mo at 1% — a 3x travel card would earn $48 more/yr\n\n❌ Fee card alert:\n- [Card] costs $95/yr but only generates $60 in bonus rewards — net loss of $35\n\n💡 Recommendations:\n- Adding [Card Name] would earn ~$[X] more per year on [categories]\n- Consider downgrading [Card] to the no-fee version"
      },
      {
        "title": "New Card Recommendations",
        "body": "Based on spending estimates, suggest cards that would add value:\n\nIdentify the user's highest-spending weak categories\nMatch against popular cards with strong rates in those categories\nCalculate projected annual rewards from the new card\nFactor in annual fees\nMention signup bonuses as first-year sweetener\n\nDo not recommend specific affiliate links — just name the card and explain why.\n\nPopular cards to consider by category:\n\nCategoryCardsNotesDiningChase Sapphire Preferred (3x), Amex Gold (4x), Capital One SavorOne (3%)Sapphire and Gold have annual feesGroceriesAmex BCP (6%), Amex Gold (4x MR)BCP has $6k capTravelChase Sapphire Reserve (3x), Amex Platinum (5x flights), Capital One Venture X (2x)All have significant annual feesGasCiti Custom Cash (5% top category), PenFed Platinum Rewards (5x gas)Custom Cash is flexibleFlat rateCiti Double Cash (2%), Wells Fargo Active Cash (2%), Fidelity Visa (2%)No-fee safety netsRotatingChase Freedom Flex (5% quarterly), Discover It (5% quarterly + first-year match)Requires activation"
      },
      {
        "title": "Merchant → Category Mapping",
        "body": "When the user mentions a merchant, map to the correct card category:\n\nMerchant / KeywordCategoryNotesKroger, Publix, Safeway, HEB, Aldi, Trader Joe'sgroceriesSupermarketsCostco, Sam's Clubgroceries OR warehouseCostco is Visa-only in store. Amex may code as groceries at Sam's ClubTarget, WalmartvariesMay code as \"superstore\" not \"groceries\" — depends on card issuerAmazon, amazon.comamazonSome cards have specific Amazon categoryWhole Foodswhole_foods OR groceriesChase Prime has specific Whole Foods categoryShell, Exxon, BP, ChevrongasGas stationsUber, Lyft, subway, bustransitPublic transit and rideshareNetflix, Hulu, Spotify, Disney+, HBO Max, YouTube TVstreamingStreaming subscriptionsChipotle, McDonald's, DoorDash, GrubhubrestaurantsDining and food deliveryCVS, Walgreens, Rite AiddrugstoresPharmaciesHilton, Marriott, Airbnbhotels/travelTravel/lodgingUnited, Delta, Southwestairlines/travelAirfare"
      },
      {
        "title": "Fuzzy Category Matching",
        "body": "When the user says something informal:\n\n\"food\" / \"eating out\" / \"dinner\" → restaurants\n\"grocery run\" / \"supermarket\" → groceries\n\"gas\" / \"fuel\" / \"fill up\" → gas\n\"uber\" / \"lyft\" / \"ride\" → transit\n\"stuff on amazon\" / \"prime order\" → amazon\n\"pharmacy\" / \"meds\" / \"prescription\" → drugstores\n\"subscription\" / \"monthly streaming\" → streaming\n\"general\" / \"random purchase\" → everything_else\n\nIf ambiguous, ask: \"Is this a grocery store or a restaurant?\""
      },
      {
        "title": "Amex Acceptance",
        "body": "American Express has lower merchant acceptance than Visa/Mastercard:\n\nSmall/local businesses\nSome international merchants\nCostco (Visa only in-store in the US)\nSome government payments\n\nWhen recommending an Amex card, always provide a Visa/MC fallback."
      },
      {
        "title": "Costco Special Case",
        "body": "Costco US stores only accept Visa credit cards (plus debit/cash):\n\nIn-store: Must use Visa\nOnline (costco.com): Visa, Mastercard, Discover (no Amex)"
      },
      {
        "title": "Adding a New Card",
        "body": "When the user wants to add a card:\n\nGather info:\n\nCard name and issuer\nPayment network (Visa/MC/Amex/Discover)\nAnnual fee\nReward type (cashback/points/miles) and point valuation if applicable\nCategory reward rates (each bonus category + base rate)\nAny caps or limits per category\nRotating categories? Which quarters, activation required?\nSignup bonus details (optional)\n\n\n\nResearch the card if the user just gives a name — look up current reward rates, fees, and categories via web search\n\n\nCreate card entry in cards.json\n\n\nRecalculate category_map — determine which card now wins each category\n\n\nConfirm and show updated recommendations"
      },
      {
        "title": "Removing a Card",
        "body": "Remove from cards array in cards.json\nRecalculate category_map\nConfirm and show any categories that now have weaker coverage"
      },
      {
        "title": "First-Time Setup",
        "body": "If data/card-optimizer/cards.json doesn't exist:\n\nAsk the user what credit cards they have\nFor each card, either:\n\nLook up the card's current reward structure via web search, OR\nAsk the user for rates if it's an unusual/regional card\n\n\nBuild cards.json with all cards and the precomputed category map\nAsk for estimated monthly spending per major category (groceries, gas, dining, amazon, streaming, general, etc.) — explain this powers ROI and gap analysis but is optional\nRun an initial optimization report showing their best card per category and any gaps"
      },
      {
        "title": "Quick Reference",
        "body": "User SaysAction\"Which card for groceries?\"Recommend best card for that category\"I'm buying gas\"Recommend with gas category\"Best card for Amazon?\"Recommend with Amazon category\"Annual fee worth it?\"ROI analysis for all fee cards\"Add a new card\"Walk through new card setup\"Remove a card\"Remove and recalculate\"Card optimization report\"Full gap analysis + recommendations\"What cards should I get?\"New card recommendations\"Activate Q2 categories\"Update quarterly activation status\"Does Costco take Amex?\"Network acceptance info\"What are my cards?\"List all cards with key rates\"Update my spending estimates\"Revise estimated monthly spending"
      }
    ],
    "body": "Card Optimizer\n\nMaximize credit card rewards by always using the right card for every purchase.\n\nData Location\nSkill logic: skills/card-optimizer/ (this file)\nUser data: data/card-optimizer/\ncards.json — card definitions, reward rates, spending estimates, category map\nCard Database Schema\n\nEach card in cards.json follows this structure:\n\n{\n  \"id\": \"unique_id\",\n  \"name\": \"Card Name\",\n  \"issuer\": \"Issuer Name\",\n  \"network\": \"visa|mastercard|amex|discover\",\n  \"annual_fee\": 95,\n  \"reward_type\": \"cashback|points|miles\",\n  \"point_valuation_cpp\": null,\n  \"transfer_partners\": [],\n  \"notes\": \"Optional notes\",\n  \"signup_bonus\": {\n    \"amount\": 200,\n    \"type\": \"cashback\",\n    \"spend_requirement\": 3000,\n    \"timeframe_months\": 3,\n    \"earned\": false\n  },\n  \"categories\": [\n    {\n      \"category\": \"groceries\",\n      \"rate\": 6.0,\n      \"cap_amount\": 6000,\n      \"cap_period\": \"yearly\",\n      \"rate_after_cap\": 1.0\n    },\n    {\n      \"category\": \"rotating\",\n      \"rate\": 5.0,\n      \"cap_amount\": 1500,\n      \"cap_period\": \"quarterly\",\n      \"rate_after_cap\": 1.0,\n      \"quarterly_categories\": {\n        \"Q1\": [\"gas\", \"ev_charging\"],\n        \"Q2\": [\"groceries\", \"home_improvement\"],\n        \"Q3\": [\"restaurants\", \"paypal\"],\n        \"Q4\": [\"amazon\", \"target\", \"walmart\"]\n      },\n      \"activation_required\": true\n    },\n    {\n      \"category\": \"everything_else\",\n      \"rate\": 1.0\n    }\n  ]\n}\n\nPoint Valuations\n\nFor points/miles cards, store point_valuation_cpp (cents per point):\n\nChase Ultimate Rewards: 1.0 cpp base, 1.25 cpp with Sapphire Preferred, 1.5 cpp with Sapphire Reserve\nAmex Membership Rewards: 1.0 cpp base, varies by transfer partner\nWhen comparing cards, multiply rate × point_valuation_cpp to get effective cashback equivalent\nCategory Map\n\nThe category_map in cards.json maps each spending category to the best card ID. This is the precomputed optimal assignment — recalculate when cards are added or removed.\n\nSpending Estimates\n\nTo power ROI calculations, gap analysis, and new card recommendations, the user can optionally set estimated monthly spending per category in cards.json:\n\n{\n  \"estimated_monthly_spending\": {\n    \"groceries\": 600,\n    \"gas\": 200,\n    \"restaurants\": 300,\n    \"amazon\": 150,\n    \"streaming\": 50,\n    \"everything_else\": 500\n  }\n}\n\n\nIf no estimates are provided, the skill can still recommend cards per-purchase — it just can't run ROI or gap analysis. Ask the user to estimate during first-time setup.\n\nNote: This skill does NOT track individual purchases. If the user wants detailed spending data, they should connect their bank accounts through a budgeting tool. These estimates are rough numbers for optimization calculations.\n\nPurchase Optimizer\nHow to Recommend a Card\n\nWhen the user asks \"which card for [category]?\" or \"I'm buying [item]\":\n\nIdentify the category from the purchase (see Category Matching below)\nCheck all cards for that category's reward rate\nFactor in caps: If a card has a cap and the user's estimated annual spending in that category exceeds it, note the cap and when they'd likely exhaust it\nFactor in network acceptance: If the best card is Amex, mention that some merchants don't accept Amex and provide a Visa/MC fallback\nCompare effective rates: For points cards, use point_valuation_cpp to convert to cashback-equivalent\nReturn recommendation with reasoning\nResponse Format\n💳 Use: [Card Name] ([Issuer])\n💰 Reward: [X]% [cashback/points/miles] on [category]\n⚠️ Note: [any caps, network warnings, or caveats]\n🔄 Fallback: [Next best card if merchant doesn't accept primary]\n\nCap-Aware Recommendations\n\nWhen a card has spending caps:\n\nWell under cap: Recommend normally\nCap likely to exhaust (based on estimated spending): Note when the cap would be hit and what to switch to after\nCap exists: Always mention the cap so the user is aware\n\nExample: \"Your Amex BCP gets 6% on groceries up to $6,000/year. At ~$600/month, you'll hit the cap around October. After that, it drops to 1% — switch to Wells Fargo Active Cash for 2%.\"\n\nQuarterly Category Management\nRotating Categories\n\nSome cards (Chase Freedom Flex, Discover It) have rotating 5% categories that change quarterly and require activation.\n\nQuarterly Alerts\n\nAt the start of each quarter (Jan 1, Apr 1, Jul 1, Oct 1):\n\nCheck for cards with activation_required: true\nIf not yet activated for the current quarter, remind the user\nList the current quarter's bonus categories\nNote: To automate this, add a quarterly cron job or include in the mileage check heartbeat\n\nStore activation status per card:\n\n{\n  \"quarterly_activations\": {\n    \"chase_freedom_flex\": {\n      \"2026-Q1\": {\"activated\": true, \"date\": \"2026-01-02\"}\n    }\n  }\n}\n\nAnnual Fee ROI Analysis\n\nFor each card with an annual fee, calculate whether it's worth keeping based on estimated_monthly_spending:\n\nCalculate bonus rewards: For each bonus category, compute annual rewards at the bonus rate\nCalculate baseline: What a no-fee 2% flat card would earn on the same spending\nBonus value: bonus_rewards − baseline_rewards\nNet ROI: bonus_value − annual_fee\nVerdict: Worth it if net ROI > 0\nReport Format\n💳 [Card Name] — Annual Fee: $[fee]\n\nBonus rewards earned:     $[amount]\nvs. 2% flat card:         $[amount]\nBonus value:              $[amount]\nAnnual fee:              -$[fee]\n━━━━━━━━━━━━━━━━━━━━━━━━\nNet value:                $[amount] ✅ Worth it / ❌ Consider downgrading\n\nBreak-even: Need $[X]/yr in bonus categories to justify the fee\n\nOptimization & Gap Analysis\nSpending Gap Analysis\n\nUsing estimated_monthly_spending, identify:\n\nWeak categories: High spending where the best available card only earns 1-2%\nUnderperforming fee cards: Annual fee cards not earning enough bonus to justify the fee\nCap exhaustion: Categories where estimated spending exceeds bonus caps — may benefit from a second card\nMissing coverage: Common categories with no bonus card at all\nReport Format\n📊 Card Optimization Report\n\n✅ Well covered:\n- Groceries → Amex BCP (6%) — earning ~$360/yr\n- Amazon → Chase Prime (5%) — earning ~$90/yr\n\n⚠️ Gaps identified:\n- Dining: $300/mo at 2% (Chase Prime) — a 4% dining card would save $72/yr\n- Travel: $200/mo at 1% — a 3x travel card would earn $48 more/yr\n\n❌ Fee card alert:\n- [Card] costs $95/yr but only generates $60 in bonus rewards — net loss of $35\n\n💡 Recommendations:\n- Adding [Card Name] would earn ~$[X] more per year on [categories]\n- Consider downgrading [Card] to the no-fee version\n\nNew Card Recommendations\n\nBased on spending estimates, suggest cards that would add value:\n\nIdentify the user's highest-spending weak categories\nMatch against popular cards with strong rates in those categories\nCalculate projected annual rewards from the new card\nFactor in annual fees\nMention signup bonuses as first-year sweetener\n\nDo not recommend specific affiliate links — just name the card and explain why.\n\nPopular cards to consider by category:\n\nCategory\tCards\tNotes\nDining\tChase Sapphire Preferred (3x), Amex Gold (4x), Capital One SavorOne (3%)\tSapphire and Gold have annual fees\nGroceries\tAmex BCP (6%), Amex Gold (4x MR)\tBCP has $6k cap\nTravel\tChase Sapphire Reserve (3x), Amex Platinum (5x flights), Capital One Venture X (2x)\tAll have significant annual fees\nGas\tCiti Custom Cash (5% top category), PenFed Platinum Rewards (5x gas)\tCustom Cash is flexible\nFlat rate\tCiti Double Cash (2%), Wells Fargo Active Cash (2%), Fidelity Visa (2%)\tNo-fee safety nets\nRotating\tChase Freedom Flex (5% quarterly), Discover It (5% quarterly + first-year match)\tRequires activation\nCategory Matching\nMerchant → Category Mapping\n\nWhen the user mentions a merchant, map to the correct card category:\n\nMerchant / Keyword\tCategory\tNotes\nKroger, Publix, Safeway, HEB, Aldi, Trader Joe's\tgroceries\tSupermarkets\nCostco, Sam's Club\tgroceries OR warehouse\tCostco is Visa-only in store. Amex may code as groceries at Sam's Club\nTarget, Walmart\tvaries\tMay code as \"superstore\" not \"groceries\" — depends on card issuer\nAmazon, amazon.com\tamazon\tSome cards have specific Amazon category\nWhole Foods\twhole_foods OR groceries\tChase Prime has specific Whole Foods category\nShell, Exxon, BP, Chevron\tgas\tGas stations\nUber, Lyft, subway, bus\ttransit\tPublic transit and rideshare\nNetflix, Hulu, Spotify, Disney+, HBO Max, YouTube TV\tstreaming\tStreaming subscriptions\nChipotle, McDonald's, DoorDash, Grubhub\trestaurants\tDining and food delivery\nCVS, Walgreens, Rite Aid\tdrugstores\tPharmacies\nHilton, Marriott, Airbnb\thotels/travel\tTravel/lodging\nUnited, Delta, Southwest\tairlines/travel\tAirfare\nFuzzy Category Matching\n\nWhen the user says something informal:\n\n\"food\" / \"eating out\" / \"dinner\" → restaurants\n\"grocery run\" / \"supermarket\" → groceries\n\"gas\" / \"fuel\" / \"fill up\" → gas\n\"uber\" / \"lyft\" / \"ride\" → transit\n\"stuff on amazon\" / \"prime order\" → amazon\n\"pharmacy\" / \"meds\" / \"prescription\" → drugstores\n\"subscription\" / \"monthly streaming\" → streaming\n\"general\" / \"random purchase\" → everything_else\n\nIf ambiguous, ask: \"Is this a grocery store or a restaurant?\"\n\nNetwork Acceptance Warnings\nAmex Acceptance\n\nAmerican Express has lower merchant acceptance than Visa/Mastercard:\n\nSmall/local businesses\nSome international merchants\nCostco (Visa only in-store in the US)\nSome government payments\n\nWhen recommending an Amex card, always provide a Visa/MC fallback.\n\nCostco Special Case\n\nCostco US stores only accept Visa credit cards (plus debit/cash):\n\nIn-store: Must use Visa\nOnline (costco.com): Visa, Mastercard, Discover (no Amex)\nAdding a New Card\n\nWhen the user wants to add a card:\n\nGather info:\n\nCard name and issuer\nPayment network (Visa/MC/Amex/Discover)\nAnnual fee\nReward type (cashback/points/miles) and point valuation if applicable\nCategory reward rates (each bonus category + base rate)\nAny caps or limits per category\nRotating categories? Which quarters, activation required?\nSignup bonus details (optional)\n\nResearch the card if the user just gives a name — look up current reward rates, fees, and categories via web search\n\nCreate card entry in cards.json\n\nRecalculate category_map — determine which card now wins each category\n\nConfirm and show updated recommendations\n\nRemoving a Card\nRemove from cards array in cards.json\nRecalculate category_map\nConfirm and show any categories that now have weaker coverage\nFirst-Time Setup\n\nIf data/card-optimizer/cards.json doesn't exist:\n\nAsk the user what credit cards they have\nFor each card, either:\nLook up the card's current reward structure via web search, OR\nAsk the user for rates if it's an unusual/regional card\nBuild cards.json with all cards and the precomputed category map\nAsk for estimated monthly spending per major category (groceries, gas, dining, amazon, streaming, general, etc.) — explain this powers ROI and gap analysis but is optional\nRun an initial optimization report showing their best card per category and any gaps\nQuick Reference\nUser Says\tAction\n\"Which card for groceries?\"\tRecommend best card for that category\n\"I'm buying gas\"\tRecommend with gas category\n\"Best card for Amazon?\"\tRecommend with Amazon category\n\"Annual fee worth it?\"\tROI analysis for all fee cards\n\"Add a new card\"\tWalk through new card setup\n\"Remove a card\"\tRemove and recalculate\n\"Card optimization report\"\tFull gap analysis + recommendations\n\"What cards should I get?\"\tNew card recommendations\n\"Activate Q2 categories\"\tUpdate quarterly activation status\n\"Does Costco take Amex?\"\tNetwork acceptance info\n\"What are my cards?\"\tList all cards with key rates\n\"Update my spending estimates\"\tRevise estimated monthly spending"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/ScotTFO/card-optimizer",
    "publisherUrl": "https://clawhub.ai/ScotTFO/card-optimizer",
    "owner": "ScotTFO",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/card-optimizer",
    "downloadUrl": "https://openagent3.xyz/downloads/card-optimizer",
    "agentUrl": "https://openagent3.xyz/skills/card-optimizer/agent",
    "manifestUrl": "https://openagent3.xyz/skills/card-optimizer/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/card-optimizer/agent.md"
  }
}