← Back to Skills Marketplace
jiahongc

Card Profile Recommend

by jiahongc · GitHub ↗ · v1.0.3 · MIT-0
cross-platform ⚠ suspicious
240
Downloads
0
Stars
1
Active Installs
4
Versions
Install in OpenClaw
/install card-profile-recommend
Description
Analyze a multi-card portfolio — grade each card (MVP / Keep / Consider Dropping), recommend 2–3 new additions with churning strategy, apply issuer rules (Ch...
README (SKILL.md)

Card Profile Recommend

Return a graded portfolio audit plus opinionated new-card recommendations with signup bonus strategy, churning paths, and issuer rule checks.

When To Use

When the user wants to know which cards to keep, drop, or add next. Trigger phrases: "card-profile-recommend", "recommend cards", "what cards should I add", "credit card recommendations", "optimize my wallet", "what card should I get next", "improve my card lineup".

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 per card (inline or separate list):

  • card-profile-recommend CSP (Jan 2024), Amex Gold (Mar 2023), Double Cash (2021)

When opening dates are provided, calculate exact 5/24 count and factor into grading decisions.

Workflow

  1. Parse card list from comma-separated input.
  2. Resolve each card — normalize and match to exact variants. If any card is ambiguous, return a numbered choice list for that card and stop.
  3. Search — use WebSearch by default for each card plus any needed gap-category searches. If BRAVE_API_KEY is available and curl exists, you may use Brave Search API instead, but do not burst requests blindly.
  4. Fetch pages — for each card, fetch the top issuer URL + 1 secondary (prefer thepointsguy.com). For new-card candidates, fetch up to 2 secondary pages.
  5. Pace any follow-up searches — if more searches are needed, serialize them with short waits rather than firing them all at once.
  6. Collect — for each card: annual fee, statement credits (with conditions), earning categories with rates, welcome offer status, notable benefits.
  7. Portfolio economics — compute total gross fees, total claimable credits, net annual cost. Per-card net cost.
  8. Grade each card — MVP / Keep / Consider Dropping per grading criteria below.
  9. Point valuations — determine effective cpp for each currency using TPG valuations + transfer-access rule.
  10. Earning map — best card per category with effective value (rate × cpp).
  11. Identify gaps — categories earning below 2x / 2%.
  12. Recommend 2–3 new personal cards — fill gaps, add ecosystems, maximize SUB windows, include churning strategy.
  13. Build application sequence — ordered by priority with timing notes.
  14. Confidence — flag uncertain claims.

Step 1: Card Identity Resolution

Common Abbreviations

Input Resolved
CSP Chase Sapphire Preferred
CSR Chase Sapphire Reserve
CFU Chase Freedom Unlimited
CFF Chase Freedom Flex
CIP Chase Ink Business Preferred
CIC Chase Ink Business Cash
CIU Chase Ink Business Unlimited
Amex Gold American Express Gold Card
Amex Plat American Express Platinum Card
Venture X Capital One Venture X Rewards Credit Card
Double Cash Citi Double Cash Card
Custom Cash Citi Custom Cash Card
Bilt Bilt Blue / Obsidian / Palladium (ambiguous — ask)
Robinhood Robinhood Gold Card / Cash Card (ambiguous — ask)

Supported Issuers

American Express, Bank of America, Barclays, Bilt, Capital One, Chase, Citi, Discover, Robinhood, U.S. Bank, Wells Fargo.

Step 2: Search

Use the platform's WebSearch and WebFetch tools by default. If BRAVE_API_KEY is available and the runtime also provides curl, you may use Brave Search API instead for faster and more repeatable search results.

Optional Brave template:

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"

Do not assume any search provider tolerates a large burst of parallel searches.

Search Budget Rule

Treat search as scarce and paced. Built-in web search is the default path; if Brave mode is used, it may rate-limit after only a few closely spaced requests.

  • Start with the most important cards first.
  • Fetch issuer and approved secondary pages before deciding whether more searches are needed.
  • When multiple searches are required, serialize them in small batches or add short waits of about 2 to 5 seconds between bursts.
  • If Brave returns 429, wait about 8 to 15 seconds and retry once for the still-missing search.
  • If Brave is unavailable, continue with WebSearch + WebFetch.
  • If it still fails, continue with the best evidence already gathered and note the limitation in ## 🔍 Confidence Notes.

Additionally, search for new-card candidates targeting gap categories.

Fetch Pages

For each card, fetch the top issuer URL + 1 secondary with WebFetch.

An approved secondary page means a URL whose hostname matches an approved secondary domain used by this skill, such as thepointsguy.com for card cross-checks. Do not fetch or cite secondary pages from any other domain.

URL Safety Rules

  • Prefer WebFetch for page retrieval. Use curl only for the optional Brave Search API calls above, not for arbitrary result URLs.
  • Never execute a shell command that interpolates a raw URL taken directly from search results.
  • Only fetch URLs when all of the following are true:
    1. scheme is https
    2. hostname matches a supported issuer domain or an approved secondary domain from this skill
    3. the URL is being passed to WebFetch, not inserted into a shell pipeline
  • If a result URL fails those checks, skip it and use the next valid result.

Issuer Domains (for classifying results)

Issuer Domain
American Express americanexpress.com
Bank of America bankofamerica.com
Barclays cards.barclaycardus.com
Bilt bfrrewards.com
Capital One capitalone.com
Chase chase.com
Citi citi.com
Discover discover.com
Robinhood robinhood.com
U.S. Bank usbank.com
Wells Fargo wellsfargo.com

Grading Criteria

MVP

  • Net cost ≤ $50, OR unique 3x+ earn category, OR unique high-value benefit (lounge, hotel status, primary travel insurance)
  • Best rate in at least one major spend category
  • Not rendered redundant by another card in wallet

Keep

  • Partially justifying benefit or earn rate
  • Long credit history
  • Transferable points diversification
  • Under 12 months old

Consider Dropping

  • Fees exceed claimable credits with no unique benefit
  • All categories duplicated at equal or better rate
  • No-fee downgrade path exists
  • Never grade Consider Dropping if the card is the sole source of a transferable-points program

Unused Card Check

After building the earning map, flag any card that does not appear as "Best Card" in any category and has an annual fee.

Point Valuation: Transfer-Access Rule

A currency is only worth full TPG value if the wallet has a card that unlocks transfers. Without one, value is 1.0¢ (cash back).

Currency Transfer-enabling cards Full value
Chase UR Sapphire Preferred, Sapphire Reserve ~2.0¢
Amex MR Gold, Platinum, Green ~2.0¢
Capital One Miles Venture X, Venture ~1.8¢
Citi TYP Strata Premier, Strata Elite (NOT Custom Cash/Double Cash alone) ~1.7¢
Bilt Points Any Bilt card ~1.8¢
World of Hyatt Chase Hyatt card ~1.8¢
Marriott Bonvoy Any Marriott co-brand ~0.7¢
Cash back Any 1.0¢

Recommendation Logic

Select 2–3 new personal cards only. Never recommend business cards. Priority order:

  1. Fill highest-value spend gap
  2. Add new transferable-points ecosystem
  3. Maximize signup bonus window (Chase-first if 5/24 allows)
  4. Avoid worsening overlap
  5. Prioritize elevated offers
  6. Diversify issuers
  7. Churning value — favor cards with SUB ≥ 5x annual fee, no-fee downgrade paths, and reasonable bonus cooldown windows. Note churn path explicitly.

Issuer Rules Reference

Issuer Rule Detail
Chase 5/24 \x3C5 new personal cards (all issuers) in 24 months
Chase Same-day Max 1 personal Chase app per day
Chase Bonus cooldown 48 months since last bonus on same product
Amex Lifetime bonus Once per lifetime per person per card
Amex 5-credit-card limit Max 5 Amex credit cards (charge cards excluded)
Amex 1-in-5/2-in-90 1 app per 5 days, 2 per 90 days
Citi 8/65 No 2 Citi cards in 8 days; max 2 in 65 days
Citi 48-month family No bonus if same family opened/closed in 48 months
Capital One 2-card limit Max 2 personal cards
Capital One 6-month cooling Declines if new account in last 6 months

Required Output Sections

## 🃏 Cards Entered

Echo back every card with resolved full official name and opening date if provided.

## 📊 Portfolio Summary

Total cards, gross fees, claimable credits, net annual cost. Note credit utilization assumptions.

## 🏅 Card Grades

Each card graded MVP / Keep / Consider Dropping with one-line rationale. Always use full official card names. Sort MVP first, then Keep, then Consider Dropping.

## 🗺️ Earning Map

Table: Category, Best Card, Rate, Currency, CPP, Effective Value. Use full official card names. CPP reflects transfer-access rule.

## 🔻 Consider Dropping

Only when applicable. Per card: fee drag, what would be lost, downgrade path. Flag unused cards (not winning any earning map category). Omit entirely when all cards grade MVP or Keep.

## 🕳️ Portfolio Gaps

Numbered list of categories earning below 2x / 2%.

## ➕ Recommended Additions

2–3 new cards. Per card: name, welcome offer, annual fee, why it fits, net first-year value, issuer rule status, priority label, churn path if applicable.

## 🎯 Signup Bonus Strategy

Ordered application sequence with timing and spend feasibility.

## ⚖️ Issuer Rules Check

Only rules relevant to recommended cards. Bold blocking rules.

## 🔍 Confidence Notes

Flag uncertain, unconfirmed, or conflicting claims.

## 🔗 Sources

Numbered list of URLs fetched, as markdown hyperlinks with "Site - Topic" labels.

Output Rules

  • Use one emoji per section heading.
  • Always use full official card names (e.g., "Chase Sapphire Reserve" not "CSR").
  • Use numbered lists for list-heavy sections.
  • Keep content to condensed facts — no prose padding.
  • Omit Card Identity section when all matches are confident.
  • Do not show YAML blocks in output.

Confidence Definitions

  • confirmed: supported by issuer terms or multiple approved sources
  • unconfirmed: plausible but not fully resolved
  • conflicting: sources disagree on a material fact
Usage Guidance
This skill looks coherent for recommending and grading credit cards. Before using it: (1) only provide card names and optional opening dates — do not share card numbers, account logins, Social Security numbers, or other sensitive credentials; (2) you don't need to supply BRAVE_API_KEY or install curl unless you want the optional Brave-search path — avoid giving API keys unless you trust the skill owner; (3) cross-check any issuer-rule claims the skill makes (5/24, lifetime bonuses, etc.) against issuer terms before acting; (4) if you plan to let agents run autonomously, remember this skill will fetch web pages when invoked — enable it only when you are comfortable with that behavior.
Capability Analysis
Type: OpenClaw Skill Name: card-profile-recommend Version: 1.0.3 The skill utilizes `curl` to interact with the Brave Search API using an environment variable (`BRAVE_API_KEY`) as an authentication token, as defined in `SKILL.md`. This pattern introduces a risk of shell injection if the AI agent interpolates unsanitized user input (card names) into the search query string. Although the documentation includes explicit safety rules for the agent regarding URL validation and avoiding shell pipelines, the reliance on shell-based execution with sensitive credentials represents a high-risk capability that warrants caution.
Capability Tags
cryptorequires-walletcan-make-purchasesrequires-sensitive-credentials
Capability Assessment
Purpose & Capability
The name and description (portfolio grading, issuer rules, churn strategy, application sequencing) match the SKILL.md workflow. Required capabilities are limited to web search/fetch and asking the user for their card list and optional opening dates — all reasonable for this functionality.
Instruction Scope
Instructions are focused on searching issuer and approved secondary pages, normalizing card names, computing 5/24 when opening dates are provided, and producing recommendations. The skill expects user-supplied card names and optionally opening dates (sensitive financial metadata). It explicitly forbids executing shell commands with interpolated URLs and limits fetches to HTTPS + approved domains, which reduces risk. Users should avoid submitting account numbers, full PANs, login credentials, or other sensitive PII — the skill does not need them.
Install Mechanism
This is an instruction-only skill with no install spec and no code files. That is the lowest-risk install posture; nothing is written to disk or fetched for execution by the skill itself.
Credentials
No required environment variables or credentials. One optional variable (BRAVE_API_KEY) and an optional binary (curl) are referenced for an alternate search path; both are optional and proportionate to a web-search optimization. No unrelated secrets or config paths are requested.
Persistence & Privilege
The skill is not always-enabled and does not request persistent system privileges or configuration changes. Autonomous invocation is permitted by platform default but is not combined with other elevated privileges or broad credential access here.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install card-profile-recommend
  3. After installation, invoke the skill by name or use /card-profile-recommend
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.3
Refresh published skill
v1.0.2
Refresh published skill
v1.0.1
Add Brave pacing and 429 backoff guidance for search-heavy workflows
v1.0.0
- Initial release with full portfolio audit and card recommendation functionality. - Grades each card as MVP, Keep, or Consider Dropping with issuer rule compliance (Chase 5/24, Amex lifetime bonus, Citi 8/65, etc). - Recommends 2–3 new personal cards to optimize earning, churning path, and ecosystem diversification. - Builds application priority and timing sequence, factoring in issuer limits and bonus cooldowns. - Outputs detailed sections: entered cards, portfolio summary, card grades, earning map, drop recommendations, portfolio gaps, new-card recommendations, and app sequence. - Supports 11 major US issuers including co-branded hotel and airline cards.
Metadata
Slug card-profile-recommend
Version 1.0.3
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 4
Frequently Asked Questions

What is Card Profile Recommend?

Analyze a multi-card portfolio — grade each card (MVP / Keep / Consider Dropping), recommend 2–3 new additions with churning strategy, apply issuer rules (Ch... It is an AI Agent Skill for Claude Code / OpenClaw, with 240 downloads so far.

How do I install Card Profile Recommend?

Run "/install card-profile-recommend" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Card Profile Recommend free?

Yes, Card Profile Recommend is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Card Profile Recommend support?

Card Profile Recommend is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Card Profile Recommend?

It is built and maintained by jiahongc (@jiahongc); the current version is v1.0.3.

💬 Comments