Card Profile Recommend
Goal
Return a graded portfolio audit plus opinionated new-card recommendations with signup bonus strategy and issuer rule checks.
Input Format
The user provides a comma-separated list of cards they currently hold:
/card-profile-recommend Chase Sapphire Preferred, Amex Gold, Citi Double Cash
Optional: opening dates
The user may provide opening dates per card. Dates can appear inline after
each card name (parenthesized) or as a separate list:
/card-profile-recommend CSP (Jan 2024), Amex Gold (Mar 2023), Double Cash (2021)
/card-profile-recommend CSP, Amex Gold, Double Cash — opened: CSP Jan 2024, Gold Mar 2023, Double Cash 2021
When opening dates are provided:
- Calculate exact 5/24 count — count how many of the listed cards (plus
any cards the user notes as opened and since closed) were opened within
the 24 months before today's date. Set
chase_524_status to clear
(count < 5), blocked (count ≥ 5), or tight (count = 4).
- Factor dates into Consider Dropping decisions — if a card was opened
recently (< 12 months ago), closing it wastes the 5/24 slot it consumed
(the slot counts against 5/24 whether the card is open or closed). Note
this in the Consider Dropping rationale: "Opened [date] — closing now
still counts against 5/24 until [date + 24 months]. Keep until it falls
off or until the card justifies the slot."
- Factor dates into Keep decisions — a card opened > 20 months ago is
about to fall off 5/24. If it's a Consider Dropping candidate, note the
upcoming 5/24 relief: "Falls off 5/24 in [month/year] — consider
waiting to close until after it drops to avoid wasting the slot."
When opening dates are NOT provided, set chase_524_status: unknown and
note: "Provide opening dates or check your 5/24 count via a free credit
report before applying for Chase cards."
Search Strategy: search-required
Per card: issuer page + 1 secondary (parallel). Additional parallel search for new-card candidates. Up to 5 secondary sources total across the full run. Preferred secondaries: NerdWallet, The Points Guy, Doctor of Credit, One Mile at a Time, Upgraded Points. See ../card-shared/source-policy.yaml.
Workflow
Parse and resolve — parse the card list (comma-separated). Resolve each card via ../card-identity/SKILL.md. If any card is ambiguous, return a numbered choice list for that card and stop. Do not proceed until all cards are resolved.
Research existing cards (parallel) — for each card, run one Brave Search API call in parallel (see search_method in ../card-shared/source-policy.yaml):
curl -sS "https://api.search.brave.com/res/v1/web/search?q=CARD+NAME+benefits+credits+annual+fee&count=10" \
-H "X-Subscription-Token: $BRAVE_API_KEY"
If $BRAVE_API_KEY is not set, fall back to WebSearch. Then fetch in parallel: the top issuer URL + 1 secondary per card (prefer thepointsguy.com):
curl -sS -L "URL" | sed 's/<[^>]*>//g' | tr -s '\n' | head -200
Per card, collect: annual fee, statement credits (amounts and redemption conditions), earning categories with rates, welcome offer status (eligible / lifetime_used / family_rule / unknown), and notable benefits (lounge access, hotel status, travel insurance).
Research new-card candidates (parallel with step 2) — run a parallel search targeting portfolio gap categories (anticipate gaps from training knowledge before full gap analysis):
curl -sS "https://api.search.brave.com/res/v1/web/search?q=best+credit+card+CATEGORY+welcome+bonus+current+offer&count=10" \
-H "X-Subscription-Token: $BRAVE_API_KEY"
Fetch up to 2 secondary pages total (prefer nerdwallet.com and thepointsguy.com) for new-card shortlist context. Supplement with training knowledge on current best offers and historical bonus levels.
Portfolio economics — compute total gross annual fees, total claimable credits (note utilization assumptions for restricted credits such as Amex Gold dining credit), and net annual cost. Compute per-card net cost = annual fee − credits.
Grade each card — assign MVP / Keep / Consider Dropping per Grading Criteria below. One-line rationale per card.
Determine point valuations — before building the earning map, determine the effective cents-per-point (cpp) for each rewards currency in the wallet. Use TPG monthly valuations as the baseline (fetch from https://thepointsguy.com/loyalty-programs/monthly-valuations/ or use training knowledge of current values).
Transfer-access rule: A points currency is only worth its full TPG
valuation if the wallet contains a card that unlocks transfers or
premium redemption for that currency. Without a transfer-enabling card,
the points are worth 1.0¢ (cash back).
| Currency |
Transfer-enabling cards |
Full TPG value |
| Chase UR |
Sapphire Preferred, Sapphire Reserve, or any Sapphire-family card |
~2.0¢ |
| Amex MR |
Gold, Platinum, Green, or any MR-earning charge card |
~2.0¢ |
| Capital One Miles |
Venture X, Venture, Spark Miles (transfer via portal) |
~1.8¢ |
| Citi TYP |
Strata Premier, Strata Elite (NOT Custom Cash, Strata Basic, or Double Cash alone) |
~1.7¢ |
| Bilt Points |
Any Bilt card (Blue, Obsidian, Palladium — all can transfer) |
~1.8¢ |
| World of Hyatt |
Chase Hyatt card (direct earn into Hyatt program) |
~1.8¢ |
| Marriott Bonvoy |
Any Marriott co-brand (direct earn into Bonvoy program) |
~0.7¢ |
| Atmos Rewards |
Atmos Ascent or Summit (direct earn into Atmos program) |
~1.7¢ |
| Cash back |
Any cash-back card |
1.0¢ |
If the wallet has only a Freedom card (CFU, CFF) with no Sapphire
card, Chase UR points are worth 1.0¢ — not 2.0¢. Similarly, if the
wallet has only a Citi Custom Cash or Citi Double Cash with no
Strata Premier or Strata Elite, Citi TYP are worth 1.0¢.
When a recommended new card would unlock transfers for an existing
currency (e.g., recommending Citi Strata Premier when the user only has
Custom Cash), note the value uplift: "Unlocks TYP transfers — existing
Custom Cash points jump from 1.0¢ to 1.7¢."
Build earning map with potential value — for each major spend
category, identify the best card and compute:
effective value per dollar = earn rate × cpp (from step 6)
Show the earning map as a table with columns: Category, Best Card,
Rate, Currency, CPP, Effective Value. This lets the user see not just
the multiplier but the actual cents-per-dollar-spent value.
Identify portfolio gaps — enumerate major spend categories not covered at a bonus rate (below 2x / 2% cash back) by any card in the wallet. Categories to check: dining, groceries, gas, travel, streaming, transit, drugstore, rent, hotel, airline, online shopping, wholesale clubs.
Generate new-card recommendations — select 2–3 new personal cards per Recommendation Logic below. Do not recommend business cards (e.g., Chase Ink, Amex Business Gold). Check all issuer application rules (see Issuer Rules section below). Exclude cards already in the wallet.
Build signup bonus strategy — order applications by priority per Signup Bonus Strategy section below. Flag timing constraints, combined spend requirement feasibility, and elevated offer windows.
Apply confidence handling and assemble output — follow ../card-shared/confidence-rules.md. Return compact markdown. YAML is internal only — do not include it in user-facing output. Do not show a "Why It Matters" section.
Required Sections
## 🃏 Cards Entered — echo back every card the user provided, numbered, with the resolved full official name (e.g., "Chase Sapphire Reserve" not "CSR") and opening date if provided. This confirms what was analyzed.
## 📊 Portfolio Summary — total cards, gross annual fees, total claimable credits, net annual cost; note credit utilization assumption
## 🏅 Card Grades — each card graded MVP / Keep / Consider Dropping with one-line rationale; sort MVP first, then Keep, then Consider Dropping. Always use the full official card name (e.g., "Chase Sapphire Reserve" not "CSR", "American Express Gold Card" not "Amex Gold").
## 🗺️ Earning Map — best card per major spend category across the portfolio; table with columns: Category, Best Card, Rate, Currency, CPP, Effective Value (rate × cpp). CPP must reflect the transfer-access rule from step 6 — use 1.0¢ for currencies without a transfer-enabling card in the wallet. Always use full official card names in the Best Card column.
## 🔻 Consider Dropping — only when one or more cards grade Consider Dropping; per card: annual fee drag, what would be lost, downgrade path if available; omit this section entirely when all cards grade MVP or Keep. Unused card check: after building the earning map, identify any cards that do not appear as the "Best Card" in any category. If a card never wins a single category in the earning map and has an annual fee, flag it here with a note: "This card does not win any category in your earning map — consider whether the benefits alone justify the fee, or downgrade/cancel."
## 🕳️ Portfolio Gaps — spend categories not well covered (below 2x / 2%); numbered list
## ➕ Recommended Additions — 2–3 new cards to add; per card: name, current welcome offer, annual fee, why it fits the portfolio, net first-year value estimate, issuer rule status; label each Top Pick / Strong Contender / Situational
## 🎯 Signup Bonus Strategy — ordered application sequence with timing notes and spend requirement feasibility
## ⚖️ Issuer Rules Check — only show rules relevant to the recommended cards; bold any blocking rule; omit issuers with no applicable rules
## 🔍 Confidence Notes
## 🔗 Sources — numbered list of all URLs fetched, as markdown hyperlinks with short "Site - Topic" labels, e.g. [Chase - Sapphire Preferred](https://creditcards.chase.com/...)
Omit ## Card Identity when all card matches are confident. Never include YAML in user-facing output.
Grading Criteria
MVP
All of the following must be true:
- Net cost (annual fee minus fully claimable credits) is ≤ $50, OR the card provides a unique earning category (3x+ in a category no other held card matches) OR a unique high-value benefit not replicated elsewhere in the wallet (lounge access, hotel status, primary travel insurance)
- The card earns the best rate (or tied for best) in at least one major spend category
- No viable downgrade or duplicate card in the wallet renders it redundant
Keep
One or more of the following, with no dominant reason to drop:
- Net cost is positive but the card provides a benefit or earning rate that partially justifies it
- The card holds long credit history that would materially hurt the credit score to close
- The card earns transferable points — diversification of UR, MR, TYP, Capital One Miles, or Bilt Points ecosystems
- The card is under 12 months old (welcome bonus spend may still be active)
Consider Dropping
One or more of the following, with no dominant reason to keep:
- Net cost is negative (fees exceed realistically claimable credits) and no unique benefit justifies the drag
- All earning categories are duplicated by another card in the wallet at an equal or better rate
- Benefits are fully replicated by another card in the wallet
- A no-fee downgrade path exists that would preserve the credit line and history
Hard rule: Never grade Consider Dropping if the card is the sole source of a transferable-points program in the wallet (Chase UR, Amex MR, Citi TYP, Capital One Miles, Bilt Points). Always note the downgrade option before recommending a full cancel.
5/24 date-aware grading (when opening dates are provided)
When the user provides opening dates, factor them into grading:
- Card opened < 12 months ago — closing wastes the 5/24 slot (the
account still counts against 5/24 whether open or closed for 24 months
from open date). Bias toward Keep even if benefits overlap. Note:
"Opened [date] — still counts against 5/24 until [date + 24 months].
Dropping saves the fee but does not recover the 5/24 slot."
- Card opened 12–20 months ago — slot is mid-burn. Only grade Consider
Dropping if the fee drag is severe and no downgrade path exists. Note
the remaining 5/24 window.
- Card opened > 20 months ago — slot is about to expire from 5/24. If
the card is a Consider Dropping candidate, note: "Falls off 5/24 in
[month/year] — safe to close after that date without wasting the slot."
- Card opened > 24 months ago — no 5/24 impact. Grade purely on
benefits and economics.
Recommendation Logic
Select 2–3 new personal cards in this priority order. Never recommend
business cards (e.g., Chase Ink, Amex Business Gold, Capital One Spark).
Fill the highest-value spend gap — identify the category with the highest estimated annual spend earning below 2x; recommend a card earning 3x+ in that category with a strong welcome offer.
Add a new transferable-points ecosystem — if the portfolio is cash-back heavy or locked into a single ecosystem (e.g., only Chase UR), recommend a card that opens a complementary program (Amex MR, Citi TYP, etc.).
Maximize the signup bonus window — if the user has 5/24 headroom (under 4 new cards in 24 months), prioritize a Chase card for ecosystem value. If 5/24 is tight or unknown, consider Amex or Citi instead since their rules are more recoverable.
Avoid worsening existing overlap — do not recommend a card whose primary earning category is already covered at the same or better rate by an MVP card in the wallet.
Prioritize elevated offers — if the current public offer is at or near an all-time high per secondary source data, flag as "elevated offer" and note the timing signal.
Diversify issuers — do not recommend two Chase cards if 5/24 is a constraint; do not recommend an Amex if the user already holds 5 Amex credit cards.
Churning value — factor in credit card churning strategy. Consider
cards where:
- The welcome bonus alone exceeds the annual fee by 5x+ (high
first-year ROI), making it worth opening even if the card is
downgraded or cancelled after year one.
- A no-fee downgrade path exists (e.g., Chase Sapphire Preferred →
Freedom Flex, Citi Strata Premier → Citi Strata Basic), allowing
the user to capture the bonus, keep the credit line, and eliminate
the fee after the first year.
- The card's bonus cooldown window is reasonable (e.g., Citi 48-month
re-eligibility), making it a repeatable churn target in future
cycles.
- Note the churn path explicitly: "Churn path: apply → meet SUB →
hold 12 months → downgrade to [no-fee card] → re-apply after
[cooldown period]."
- Do NOT recommend churning cards where cancellation would lose
irreplaceable benefits (e.g., the user's only lounge-access card)
or where the issuer is known to blacklist churners (e.g., Amex
clawback risk on early cancellation).
Per recommended card, output: card name, why it fits the portfolio (1–2 sentences), current welcome offer (bonus amount, spend requirement, window), annual fee, net first-year value estimate, issuer rule status (clear / blocked / verify), priority label (Top Pick / Strong Contender / Situational), and churn path if applicable.
Signup Bonus Strategy
Reason about the order and timing of applications. Output as a numbered list in ## 🎯 Signup Bonus Strategy.
Chase-first heuristic: If 5/24 headroom exists, always recommend the Chase card first. Once 5/24 is breached, Chase cards are inaccessible for up to 2 years. Amex, Citi, and Capital One do not have an equivalent permanent gatekeeping rule and can be applied for after the Chase card.
Amex lifetime bonus check: Before recommending any Amex card, note whether the user is likely to have held that exact product before. If prior hold is probable, the welcome bonus is forfeit — downgrade the recommendation or suggest a different Amex product. Flag as unconfirmed in Confidence Notes when unknown.
Spend requirement feasibility: Check whether combined spend requirements across all recommendations are achievable simultaneously. Flag when total exceeds a reasonable 3-month budget (>$8,000 combined).
Application spacing — follow issuer-specific rules:
- Amex: at least 5 days between Amex applications
- Citi: at least 8 days between Citi applications; no more than 2 in 65 days
- Capital One: at least 6 months since last new account (any issuer)
Elevated offer timing: When a recommended card's current bonus is at or near an all-time high, note "elevated offer — apply sooner to capture it."
Output format — numbered ordered list:
1. [Card A] — apply first ([reason]); [timing note]
2. [Card B] — apply 3–4 weeks later ([reason]); [timing note]
3. [Card C] — apply after [condition] ([reason]); [timing note]
Issuer Rules Reference
Check and apply the following rules. Only surface rules relevant to the recommended cards in ## ⚖️ Issuer Rules Check. Bold any blocking rule.
| Issuer |
Rule |
Key Detail |
| Chase |
5/24 |
Most Chase cards require fewer than 5 new personal credit cards opened across all issuers in the prior 24 months. Business cards generally do not count toward 5/24. When opening dates are provided, compute the exact count. |
| Chase |
Same-day limit |
Max 1 personal Chase card application per day. Do not recommend two Chase personal cards simultaneously. |
| Chase |
Bonus cooldown |
Must wait 48 months from last bonus receipt on the same Chase product to re-earn. |
| Amex |
Once-per-lifetime bonus |
Each Amex card's welcome bonus can only be earned once per lifetime per person. Amex surfaces a pop-up before checkout if ineligible. |
| Amex |
5-credit-card limit |
May hold at most 5 Amex credit cards simultaneously. Charge cards (Platinum, Gold) do not count against this cap; co-branded Amex credit cards do. |
| Amex |
1-in-5-days rule |
Cannot apply for more than 1 Amex card within a 5-day window. |
| Amex |
2-in-90-days rule |
Cannot apply for more than 2 Amex cards within a 90-day window. |
| Citi |
8/65 rule |
Cannot get approved for 2 Citi cards within 8 days; no more than 2 Citi cards within 65 days. |
| Citi |
48-month family rule |
Cannot receive a welcome bonus if a card in the same Citi card family was opened or closed within the past 48 months. |
| Capital One |
2-card personal limit |
May hold at most 2 Capital One personal credit cards simultaneously. Business cards do not count against this limit. |
| Capital One |
6-month cooling |
Typically declines applicants who opened any new credit account in the last 6 months. |
| Bank of America |
2/3/4 rule |
No more than 2 new BoA cards in 2 months, 3 in 12 months, 4 in 24 months (personal BoA cards). |
| Barclays |
6-month recency |
Typically requires 6 months since the last new credit account (any issuer). |
| U.S. Bank |
Inquiry sensitivity |
Known to decline applicants with many recent hard inquiries. Recommend applying after other cards settle. |
When neither opening dates nor a 24-month count are provided, set
chase_524_status: unknown and note: "Provide opening dates or check your
5/24 count via a free credit report before applying for Chase cards."
1---2name: card-profile-recommend-23description: Analyze a multi-card portfolio and return graded card assessments plus 2–3 concrete new-card recommendations with signup bonus strategy. Applies issuer application rules (Chase 5/24, Amex lifetime bonus, Amex 5-card limit, Citi 8/65 and 48-month, Capital One 2-card limit). Use when the user wants to know which cards to keep, drop, or add next.4---56# Card Profile Recommend78<!-- SKILL BOUNDARY — not user-facing9 /card-wallet → audits what you have (overlaps, earning map, gaps). No grades, no recommendations, no issuer rules.10 /card-profile-recommend → grades each card (MVP / Keep / Consider Dropping), recommends 2–3 new additions,11 applies issuer rules, and sequences applications to maximize signup bonuses.12 Use /card-wallet to understand your portfolio; use /card-profile-recommend to decide what to do about it.13-->1415## Goal1617Return a graded portfolio audit plus opinionated new-card recommendations with signup bonus strategy and issuer rule checks.1819## Input Format2021The user provides a comma-separated list of cards they currently hold:2223- `/card-profile-recommend Chase Sapphire Preferred, Amex Gold, Citi Double Cash`2425### Optional: opening dates2627The user may provide opening dates per card. Dates can appear inline after28each card name (parenthesized) or as a separate list:2930- `/card-profile-recommend CSP (Jan 2024), Amex Gold (Mar 2023), Double Cash (2021)`31- `/card-profile-recommend CSP, Amex Gold, Double Cash — opened: CSP Jan 2024, Gold Mar 2023, Double Cash 2021`3233When opening dates are provided:34- **Calculate exact 5/24 count** — count how many of the listed cards (plus35 any cards the user notes as opened and since closed) were opened within36 the 24 months before today's date. Set `chase_524_status` to `clear`37 (count < 5), `blocked` (count ≥ 5), or `tight` (count = 4).38- **Factor dates into Consider Dropping decisions** — if a card was opened39 recently (< 12 months ago), closing it wastes the 5/24 slot it consumed40 (the slot counts against 5/24 whether the card is open or closed). Note41 this in the Consider Dropping rationale: "Opened [date] — closing now42 still counts against 5/24 until [date + 24 months]. Keep until it falls43 off or until the card justifies the slot."44- **Factor dates into Keep decisions** — a card opened > 20 months ago is45 about to fall off 5/24. If it's a Consider Dropping candidate, note the46 upcoming 5/24 relief: "Falls off 5/24 in [month/year] — consider47 waiting to close until after it drops to avoid wasting the slot."4849When opening dates are NOT provided, set `chase_524_status: unknown` and50note: "Provide opening dates or check your 5/24 count via a free credit51report before applying for Chase cards."5253## Search Strategy: search-required5455Per card: issuer page + 1 secondary (parallel). Additional parallel search for new-card candidates. Up to 5 secondary sources total across the full run. Preferred secondaries: NerdWallet, The Points Guy, Doctor of Credit, One Mile at a Time, Upgraded Points. See [../card-shared/source-policy.yaml](../card-shared/source-policy.yaml).5657## Workflow58591. **Parse and resolve** — parse the card list (comma-separated). Resolve each card via [../card-identity/SKILL.md](../card-identity/SKILL.md). If any card is ambiguous, return a numbered choice list for that card and stop. Do not proceed until all cards are resolved.60612. **Research existing cards (parallel)** — for each card, run one Brave Search API call in parallel (see `search_method` in [../card-shared/source-policy.yaml](../card-shared/source-policy.yaml)):62 ```63 curl -sS "https://api.search.brave.com/res/v1/web/search?q=CARD+NAME+benefits+credits+annual+fee&count=10" \64 -H "X-Subscription-Token: $BRAVE_API_KEY"65 ```66 If `$BRAVE_API_KEY` is not set, fall back to WebSearch. Then fetch in parallel: the top issuer URL + 1 secondary per card (prefer thepointsguy.com):67 ```68 curl -sS -L "URL" | sed 's/<[^>]*>//g' | tr -s '\n' | head -20069 ```70 Per card, collect: annual fee, statement credits (amounts and redemption conditions), earning categories with rates, welcome offer status (eligible / lifetime_used / family_rule / unknown), and notable benefits (lounge access, hotel status, travel insurance).71723. **Research new-card candidates (parallel with step 2)** — run a parallel search targeting portfolio gap categories (anticipate gaps from training knowledge before full gap analysis):73 ```74 curl -sS "https://api.search.brave.com/res/v1/web/search?q=best+credit+card+CATEGORY+welcome+bonus+current+offer&count=10" \75 -H "X-Subscription-Token: $BRAVE_API_KEY"76 ```77 Fetch up to 2 secondary pages total (prefer nerdwallet.com and thepointsguy.com) for new-card shortlist context. Supplement with training knowledge on current best offers and historical bonus levels.78794. **Portfolio economics** — compute total gross annual fees, total claimable credits (note utilization assumptions for restricted credits such as Amex Gold dining credit), and net annual cost. Compute per-card net cost = annual fee − credits.80815. **Grade each card** — assign MVP / Keep / Consider Dropping per Grading Criteria below. One-line rationale per card.82836. **Determine point valuations** — before building the earning map, determine the **effective cents-per-point (cpp)** for each rewards currency in the wallet. Use TPG monthly valuations as the baseline (fetch from https://thepointsguy.com/loyalty-programs/monthly-valuations/ or use training knowledge of current values).8485 **Transfer-access rule**: A points currency is only worth its full TPG86 valuation if the wallet contains a card that unlocks transfers or87 premium redemption for that currency. Without a transfer-enabling card,88 the points are worth **1.0¢ (cash back)**.8990 | Currency | Transfer-enabling cards | Full TPG value |91 |----------|----------------------|----------------|92 | Chase UR | Sapphire Preferred, Sapphire Reserve, or any Sapphire-family card | ~2.0¢ |93 | Amex MR | Gold, Platinum, Green, or any MR-earning charge card | ~2.0¢ |94 | Capital One Miles | Venture X, Venture, Spark Miles (transfer via portal) | ~1.8¢ |95 | Citi TYP | Strata Premier, Strata Elite (NOT Custom Cash, Strata Basic, or Double Cash alone) | ~1.7¢ |96 | Bilt Points | Any Bilt card (Blue, Obsidian, Palladium — all can transfer) | ~1.8¢ |97 | World of Hyatt | Chase Hyatt card (direct earn into Hyatt program) | ~1.8¢ |98 | Marriott Bonvoy | Any Marriott co-brand (direct earn into Bonvoy program) | ~0.7¢ |99 | Atmos Rewards | Atmos Ascent or Summit (direct earn into Atmos program) | ~1.7¢ |100 | Cash back | Any cash-back card | 1.0¢ |101102 If the wallet has only a Freedom card (CFU, CFF) with **no** Sapphire103 card, Chase UR points are worth 1.0¢ — not 2.0¢. Similarly, if the104 wallet has only a Citi Custom Cash or Citi Double Cash with **no**105 Strata Premier or Strata Elite, Citi TYP are worth 1.0¢.106107 When a recommended new card would unlock transfers for an existing108 currency (e.g., recommending Citi Strata Premier when the user only has109 Custom Cash), note the value uplift: "Unlocks TYP transfers — existing110 Custom Cash points jump from 1.0¢ to 1.7¢."1111127. **Build earning map with potential value** — for each major spend113 category, identify the best card and compute:114 `effective value per dollar = earn rate × cpp (from step 6)`115 Show the earning map as a table with columns: Category, Best Card,116 Rate, Currency, CPP, Effective Value. This lets the user see not just117 the multiplier but the actual cents-per-dollar-spent value.1181198. **Identify portfolio gaps** — enumerate major spend categories not covered at a bonus rate (below 2x / 2% cash back) by any card in the wallet. Categories to check: dining, groceries, gas, travel, streaming, transit, drugstore, rent, hotel, airline, online shopping, wholesale clubs.1201219. **Generate new-card recommendations** — select 2–3 new **personal** cards per Recommendation Logic below. **Do not recommend business cards** (e.g., Chase Ink, Amex Business Gold). Check all issuer application rules (see Issuer Rules section below). Exclude cards already in the wallet.12212310. **Build signup bonus strategy** — order applications by priority per Signup Bonus Strategy section below. Flag timing constraints, combined spend requirement feasibility, and elevated offer windows.12412511. **Apply confidence handling and assemble output** — follow [../card-shared/confidence-rules.md](../card-shared/confidence-rules.md). Return compact markdown. YAML is internal only — do not include it in user-facing output. Do not show a "Why It Matters" section.126127## Required Sections128129- `## 🃏 Cards Entered` — echo back every card the user provided, numbered, with the resolved full official name (e.g., "Chase Sapphire Reserve" not "CSR") and opening date if provided. This confirms what was analyzed.130- `## 📊 Portfolio Summary` — total cards, gross annual fees, total claimable credits, net annual cost; note credit utilization assumption131- `## 🏅 Card Grades` — each card graded MVP / Keep / Consider Dropping with one-line rationale; sort MVP first, then Keep, then Consider Dropping. **Always use the full official card name** (e.g., "Chase Sapphire Reserve" not "CSR", "American Express Gold Card" not "Amex Gold").132- `## 🗺️ Earning Map` — best card per major spend category across the portfolio; table with columns: Category, Best Card, Rate, Currency, CPP, Effective Value (rate × cpp). CPP must reflect the transfer-access rule from step 6 — use 1.0¢ for currencies without a transfer-enabling card in the wallet. **Always use full official card names** in the Best Card column.133- `## 🔻 Consider Dropping` — only when one or more cards grade Consider Dropping; per card: annual fee drag, what would be lost, downgrade path if available; **omit this section entirely** when all cards grade MVP or Keep. **Unused card check**: after building the earning map, identify any cards that do not appear as the "Best Card" in any category. If a card never wins a single category in the earning map and has an annual fee, flag it here with a note: "This card does not win any category in your earning map — consider whether the benefits alone justify the fee, or downgrade/cancel."134- `## 🕳️ Portfolio Gaps` — spend categories not well covered (below 2x / 2%); numbered list135- `## ➕ Recommended Additions` — 2–3 new cards to add; per card: name, current welcome offer, annual fee, why it fits the portfolio, net first-year value estimate, issuer rule status; label each Top Pick / Strong Contender / Situational136- `## 🎯 Signup Bonus Strategy` — ordered application sequence with timing notes and spend requirement feasibility137- `## ⚖️ Issuer Rules Check` — only show rules relevant to the recommended cards; **bold** any blocking rule; omit issuers with no applicable rules138- `## 🔍 Confidence Notes`139- `## 🔗 Sources` — numbered list of all URLs fetched, as markdown hyperlinks with short "Site - Topic" labels, e.g. `[Chase - Sapphire Preferred](https://creditcards.chase.com/...)`140141Omit `## Card Identity` when all card matches are confident. Never include YAML in user-facing output.142143## Grading Criteria144145### MVP146147All of the following must be true:148- Net cost (annual fee minus fully claimable credits) is ≤ $50, OR the card provides a unique earning category (3x+ in a category no other held card matches) OR a unique high-value benefit not replicated elsewhere in the wallet (lounge access, hotel status, primary travel insurance)149- The card earns the best rate (or tied for best) in at least one major spend category150- No viable downgrade or duplicate card in the wallet renders it redundant151152### Keep153154One or more of the following, with no dominant reason to drop:155- Net cost is positive but the card provides a benefit or earning rate that partially justifies it156- The card holds long credit history that would materially hurt the credit score to close157- The card earns transferable points — diversification of UR, MR, TYP, Capital One Miles, or Bilt Points ecosystems158- The card is under 12 months old (welcome bonus spend may still be active)159160### Consider Dropping161162One or more of the following, with no dominant reason to keep:163- Net cost is negative (fees exceed realistically claimable credits) and no unique benefit justifies the drag164- All earning categories are duplicated by another card in the wallet at an equal or better rate165- Benefits are fully replicated by another card in the wallet166- A no-fee downgrade path exists that would preserve the credit line and history167168**Hard rule**: Never grade Consider Dropping if the card is the sole source of a transferable-points program in the wallet (Chase UR, Amex MR, Citi TYP, Capital One Miles, Bilt Points). Always note the downgrade option before recommending a full cancel.169170### 5/24 date-aware grading (when opening dates are provided)171172When the user provides opening dates, factor them into grading:173- **Card opened < 12 months ago** — closing wastes the 5/24 slot (the174 account still counts against 5/24 whether open or closed for 24 months175 from open date). Bias toward Keep even if benefits overlap. Note:176 "Opened [date] — still counts against 5/24 until [date + 24 months].177 Dropping saves the fee but does not recover the 5/24 slot."178- **Card opened 12–20 months ago** — slot is mid-burn. Only grade Consider179 Dropping if the fee drag is severe and no downgrade path exists. Note180 the remaining 5/24 window.181- **Card opened > 20 months ago** — slot is about to expire from 5/24. If182 the card is a Consider Dropping candidate, note: "Falls off 5/24 in183 [month/year] — safe to close after that date without wasting the slot."184- **Card opened > 24 months ago** — no 5/24 impact. Grade purely on185 benefits and economics.186187## Recommendation Logic188189Select 2–3 new **personal** cards in this priority order. **Never recommend190business cards** (e.g., Chase Ink, Amex Business Gold, Capital One Spark).1911921. **Fill the highest-value spend gap** — identify the category with the highest estimated annual spend earning below 2x; recommend a card earning 3x+ in that category with a strong welcome offer.1931942. **Add a new transferable-points ecosystem** — if the portfolio is cash-back heavy or locked into a single ecosystem (e.g., only Chase UR), recommend a card that opens a complementary program (Amex MR, Citi TYP, etc.).1951963. **Maximize the signup bonus window** — if the user has 5/24 headroom (under 4 new cards in 24 months), prioritize a Chase card for ecosystem value. If 5/24 is tight or unknown, consider Amex or Citi instead since their rules are more recoverable.1971984. **Avoid worsening existing overlap** — do not recommend a card whose primary earning category is already covered at the same or better rate by an MVP card in the wallet.1992005. **Prioritize elevated offers** — if the current public offer is at or near an all-time high per secondary source data, flag as "elevated offer" and note the timing signal.2012026. **Diversify issuers** — do not recommend two Chase cards if 5/24 is a constraint; do not recommend an Amex if the user already holds 5 Amex credit cards.2032047. **Churning value** — factor in credit card churning strategy. Consider205 cards where:206 - The welcome bonus alone exceeds the annual fee by 5x+ (high207 first-year ROI), making it worth opening even if the card is208 downgraded or cancelled after year one.209 - A no-fee downgrade path exists (e.g., Chase Sapphire Preferred →210 Freedom Flex, Citi Strata Premier → Citi Strata Basic), allowing211 the user to capture the bonus, keep the credit line, and eliminate212 the fee after the first year.213 - The card's bonus cooldown window is reasonable (e.g., Citi 48-month214 re-eligibility), making it a repeatable churn target in future215 cycles.216 - Note the churn path explicitly: "Churn path: apply → meet SUB →217 hold 12 months → downgrade to [no-fee card] → re-apply after218 [cooldown period]."219 - Do NOT recommend churning cards where cancellation would lose220 irreplaceable benefits (e.g., the user's only lounge-access card)221 or where the issuer is known to blacklist churners (e.g., Amex222 clawback risk on early cancellation).223224Per recommended card, output: card name, why it fits the portfolio (1–2 sentences), current welcome offer (bonus amount, spend requirement, window), annual fee, net first-year value estimate, issuer rule status (clear / blocked / verify), priority label (Top Pick / Strong Contender / Situational), and churn path if applicable.225226## Signup Bonus Strategy227228Reason about the order and timing of applications. Output as a numbered list in `## 🎯 Signup Bonus Strategy`.229230**Chase-first heuristic**: If 5/24 headroom exists, always recommend the Chase card first. Once 5/24 is breached, Chase cards are inaccessible for up to 2 years. Amex, Citi, and Capital One do not have an equivalent permanent gatekeeping rule and can be applied for after the Chase card.231232**Amex lifetime bonus check**: Before recommending any Amex card, note whether the user is likely to have held that exact product before. If prior hold is probable, the welcome bonus is forfeit — downgrade the recommendation or suggest a different Amex product. Flag as unconfirmed in Confidence Notes when unknown.233234**Spend requirement feasibility**: Check whether combined spend requirements across all recommendations are achievable simultaneously. Flag when total exceeds a reasonable 3-month budget (>$8,000 combined).235236**Application spacing** — follow issuer-specific rules:237- Amex: at least 5 days between Amex applications238- Citi: at least 8 days between Citi applications; no more than 2 in 65 days239- Capital One: at least 6 months since last new account (any issuer)240241**Elevated offer timing**: When a recommended card's current bonus is at or near an all-time high, note "elevated offer — apply sooner to capture it."242243Output format — numbered ordered list:244```2451. [Card A] — apply first ([reason]); [timing note]2462. [Card B] — apply 3–4 weeks later ([reason]); [timing note]2473. [Card C] — apply after [condition] ([reason]); [timing note]248```249250## Issuer Rules Reference251252Check and apply the following rules. Only surface rules relevant to the recommended cards in `## ⚖️ Issuer Rules Check`. Bold any blocking rule.253254| Issuer | Rule | Key Detail |255|---|---|---|256| Chase | 5/24 | Most Chase cards require fewer than 5 new personal credit cards opened across all issuers in the prior 24 months. Business cards generally do not count toward 5/24. When opening dates are provided, compute the exact count. |257| Chase | Same-day limit | Max 1 personal Chase card application per day. Do not recommend two Chase personal cards simultaneously. |258| Chase | Bonus cooldown | Must wait 48 months from last bonus receipt on the same Chase product to re-earn. |259| Amex | Once-per-lifetime bonus | Each Amex card's welcome bonus can only be earned once per lifetime per person. Amex surfaces a pop-up before checkout if ineligible. |260| Amex | 5-credit-card limit | May hold at most 5 Amex credit cards simultaneously. Charge cards (Platinum, Gold) do not count against this cap; co-branded Amex credit cards do. |261| Amex | 1-in-5-days rule | Cannot apply for more than 1 Amex card within a 5-day window. |262| Amex | 2-in-90-days rule | Cannot apply for more than 2 Amex cards within a 90-day window. |263| Citi | 8/65 rule | Cannot get approved for 2 Citi cards within 8 days; no more than 2 Citi cards within 65 days. |264| Citi | 48-month family rule | Cannot receive a welcome bonus if a card in the same Citi card family was opened or closed within the past 48 months. |265| Capital One | 2-card personal limit | May hold at most 2 Capital One personal credit cards simultaneously. Business cards do not count against this limit. |266| Capital One | 6-month cooling | Typically declines applicants who opened any new credit account in the last 6 months. |267| Bank of America | 2/3/4 rule | No more than 2 new BoA cards in 2 months, 3 in 12 months, 4 in 24 months (personal BoA cards). |268| Barclays | 6-month recency | Typically requires 6 months since the last new credit account (any issuer). |269| U.S. Bank | Inquiry sensitivity | Known to decline applicants with many recent hard inquiries. Recommend applying after other cards settle. |270271When neither opening dates nor a 24-month count are provided, set272`chase_524_status: unknown` and note: "Provide opening dates or check your2735/24 count via a free credit report before applying for Chase cards."