Install any skill in seconds. Free to start, no credit card required.
Get Started Free →borski/transfer-bonuses
Active credit card transfer bonuses from Amex, Chase, Capital One, Citi, Bilt, and Rove. Weekly-refreshed data with confidence markers.
Passed 15 of 19 test cases with the skill, and 10 of 19 without it.
and 5 more in the full report
8 fixed9 passed either way3 still failing2 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 8 test cases the skill fixed. Same model, same prompt, with and without the skill.
Which shell script is used in the repository to flag whether data/transfer-bonuses.json has exceeded its 7-day TTL?
| Checked | Without skill | With skill |
|---|---|---|
| Names scripts/check-data-freshness.sh as the freshness check script | Missed | Passed |
The instructions your model reads when the skill loads.
Authoritative reference for current credit card transfer bonuses. Reads from data/transfer-bonuses.json, which is refreshed weekly by scripts/refresh-transfer-bonuses.py (run automatically every Monday via .github/workflows/refresh-data.yml, and manually any time). The script scrapes Frequent Miler (canonical) and cross-checks each bonus against AwardWallet. Each active bonus carries a confidence marker (VERIFIED if both FM and AwardWallet agree, LIKELY if only FM, UNVERIFIED if single weak source) per the toolkit's Research Integrity Protocol. TPG is sometimes consulted manually as a sanity check but is NOT scraped programmatically — TPG often shows expired bonuses as active.
The data file is a snapshot; bonuses commonly end on month-end dates between refreshes. On 2026-07-07 the file listed 7 "active" bonuses of which 5 had ended a week earlier — an agent quoting the file raw would have priced a Chase→Marriott transfer at 1.55x when the real ratio was 1.0. So, mechanically, every time:
end_date_inclusive to today. Past-dated = expired, regardless of which array it sits in. Never present an expired bonus as available.active_bonuses entry is past-dated, or _meta.last_updated is more than 7 days old, refresh first: python3 scripts/refresh-transfer-bonuses.py (use --dry-run to preview). Then re-read the file.frequent_recurring_bonuses_to_watch), it may be worth waiting.data/transfer-bonuses.json. Schema (relevant fields):
| Field | Description |
|---|---|
_meta.last_updated | ISO date, last refresh |
_meta.staleness_days | TTL in days; integrated with scripts/check-data-freshness.sh |
_meta.primary_sources | Frequent Miler, AwardWallet (TPG consulted manually only) |
active_bonuses[].bonus_pct | The bonus percentage (e.g., 30 for 30%) |
active_bonuses[].ratio | Multiplier on standard ratio (1.30 = 30% bonus) |
active_bonuses[].standard_ratio | Baseline transfer ratio (1.0 = 1:1, 0.75 = 4:3) |
active_bonuses[].effective_ratio | Final ratio after bonus (standard_ratio * ratio) |
test cases passed, vs 10 / 19 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.