Fleece

Other

Credit card research and redemption CLI. Looks up rewards rates, annual fees, welcome bonuses, statement credits, and transfer partners for Chase, Amex, Citi, Capital One, Bilt, and all major US issuers. Compare cards, analyze wallet gaps, estimate ROI, get recommendations, look up merchant category codes, and search award flights and hotels. Install with pip install fleece-cli.

Install

openclaw skills install fleece

Fleece — Credit Card Research & Redemption

Use this skill when the user asks about:

  • Specific cards: "What are the Amex Gold benefits?", "Is the Chase Sapphire Preferred worth it?", "What changed with the Citi Double Cash?"
  • Earning rates: "Which card earns the most on dining?", "What's the best card for groceries?"
  • Transfer partners: "Where can I transfer Chase Ultimate Rewards?", "What airlines does Amex transfer to?"
  • Statement credits: "How do I use the Amex Gold dining credit?", "What credits does the Venture X have?"
  • Wallet optimization: "Which card should I use for travel?", "What gaps does my wallet have?"
  • Card recommendations: "Best travel credit card for beginners", "No annual fee cash back card"
  • ROI / value: "Is the Amex Platinum worth the $695 fee?", "First-year value of the Sapphire Preferred"
  • Award redemptions: "Find business class flights JFK to Tokyo", "Search hotels in Paris with points"
  • Merchant lookup: "What card should I use at Costco?", "Which card earns the most at gas stations?", "What MCC is a pharmacy?"
  • Spending profile: "Set up my profile", "Save my spending habits", "Remember I spend $600/month on dining"

Live US credit card data via Brave Search. All commands output JSON for programmatic use.

Spending profile

The user's spending profile is stored in fleece.db and automatically injected into fleece wallet, fleece roi, and fleece recommend. Set it up once and all research commands become personalised.

# Set profile fields (no API key needed)
fleece profile set dining_monthly 600
fleece profile set travel_monthly 300
fleece profile set groceries_monthly 400
fleece profile set annual_fee_tolerance 550
fleece profile set home_airport JFK
fleece profile set goal "business class to Tokyo 2027"
fleece profile set points_programs "Amex MR, Chase UR"

# View current profile
fleece profile show --json

# List all available fields
fleece profile fields

Once set, spend values are pulled automatically:

# No need to pass --dining or --travel flags
fleece roi "Amex Gold"
fleece wallet
fleece recommend "travel rewards"

MCC-enriched workflow

The bundled MCC dataset (981 codes, offline) enables a precise end-to-end flow:

fleece wallet          → identify category gaps
fleece mcc 5411        → confirm "Grocery Stores, Supermarkets"
fleece mcc 5411 --wallet → find best card for that exact merchant type
fleece recommend "grocery stores, gas, transit"  → suggest a card to fill the gap

Common MCCs to know:

MCCCategoryTypical card bonus
5411Grocery StoresAmex Gold 4x, BofA Cash Rewards 3%
5812RestaurantsAmex Gold 4x, CSP 3x
5814Fast FoodVaries — not always same as 5812
5541Gas StationsCiti Custom Cash 5x, BofA 3%
4511AirlinesAmex Platinum 5x, CSR 3x
7011HotelsAmex Platinum 5x (Amex Travel), CSR 3x
4111Transit / CommuterCSR 3x, Bilt 3x
5912DrugstoresChase Freedom Flex 3x

Use fleece mcc <code> (no API key needed) to resolve any MCC before running a rates or wallet query.

Prerequisites

# Install once
pip install fleece-cli

# Set in environment or .env file
export BRAVE_API_KEY=<your_key>

Commands

Full card report

fleece card "<card name>" --json

Returns fees, welcome offer, earning rates, credits, benefits, and strategy.

Earning rates

fleece rates "<card name>" --json
fleece rates "<card name>" --category "<dining|travel|groceries|gas>" --json

Transfer partners

fleece partners "<card name>" --json

Returns airline and hotel partners with ratios and transfer timing.

Statement credits

fleece credits "<card name>" --json

Returns all credits with amounts, cadence, and enrollment requirements.

Recent news (past month)

fleece news "<card name>" --json

Freshness-filtered to the past month.

Side-by-side comparison

fleece compare "<card A>" "<card B>" --json
fleece compare "<card A>" "<card B>" --aspects "fees,rewards,credits" --json

Portfolio / wallet analysis

fleece wallet "<card 1>" "<card 2>" "<card 3>" --json

Returns coverage map, overlaps, gaps, and next-card suggestions.

First-year ROI

fleece roi "<card name>" --travel <monthly $> --dining <monthly $> --other <monthly $> --json

Profile-based recommendations

fleece recommend "<spending profile>" --json
fleece recommend "<spending profile>" --preferences "<preferences>" --json

Output format

Every command with --json returns:

{
  "command": "card",
  "query": "...",
  "result": "...",
  "ok": true,
  "error": null
}

On error, ok is false and error contains the message. Always check ok before using result.

Exit codes

CodeMeaning
0Success
1Search / tool error (Brave API failure)
2BRAVE_API_KEY not set

Stdin piping

The primary argument on any single-card command accepts - to read from stdin:

echo "Chase Sapphire Preferred" | fleece card - --json
echo "high dining spend" | fleece recommend - --json

The wallet command accepts - as its sole argument to read newline-delimited card names:

printf "Amex Gold\nChase Freedom Unlimited\nBilt\n" | fleece wallet - --json

Coverage

Supports all major US issuers: Amex, Bank of America, Barclays, Bilt, Capital One, Chase, Citi, Discover, Robinhood, U.S. Bank, Wells Fargo.

Redemption — PointsYeah URL generation

No API key required. These commands generate best-effort PointsYeah deep-link URLs and optionally open them in the browser. Pure stdlib, no external calls.

Flight search

fleece flights JFK LAX --date 2026-06-01 --json
fleece flights JFK LHR --date 2026-06-01 --return 2026-06-15 --adults 2 --cabin business --open

Options: --date (required), --return, --adults (default 1), --cabin (economy | premium-economy | business | first), --open, --json

Hotel search

fleece hotels "Tokyo" --checkin 2026-06-01 --checkout 2026-06-07 --json
fleece hotels "Jersey City" --checkin 2026-04-10 --checkout 2026-04-12 --guests 2 --rooms 1 --open

Options: --checkin (required), --checkout (required), --guests (default 1), --rooms (default 1), --open, --json

JSON output format

{
  "command": "flights",
  "origin": "JFK", "destination": "LAX", "date": "2026-06-01",
  "return_date": null, "adults": 1, "cabin": "economy",
  "url": "https://www.pointsyeah.com/?type=flights&...",
  "ok": true, "error": null
}

PointsYeah does not publish a stable deep-link spec. If the URL stops working, the query parameters still serve as a useful manual search reference.