Claude Code skills · updated 2026-10-03
Google CSE & Bing to Brave skill for Claude Code — broken params by line
8 findings in one Google CSE search file, each with the Brave fix
On the bundled sample: 8 findings (5 errors, 3 warnings) in 1 file from 19 rules - ?key=, cx, start, dateRestrict, siteSearch, items[] and link/snippet.
Get it on Whop - $12 onceGet it on Gumroad
Who it's for
Developers whose RAG agent, support bot or site search calls the Google Custom Search JSON API or Bing Search API v7 and is moving to Brave Search.
What breaks, and when
Google's Custom Search JSON API: existing customers have until 2027-01-01 to transition; Microsoft retired the Bing Search APIs on 2025-08-11. A half-ported call fails quietly: data.items is undefined.
What it printed on the bundled example
== Brave Search API Migration Check — 8 findings (5 errors, 3 warnings) in 1 file · 19 rules
ERROR brave-sample.js:7 [KEY_IN_QUERY]
API key sent as the ?key= query parameter (Google style). Brave reads the key only from a header. → Brave: Remove key from the query; add header X-Subscription-Token
fix: Remove key from the query; add header X-Subscription-Token
WARN brave-sample.js:8 [CX_ENGINE_ID]
cx (Programmable Search Engine ID). Brave has no engine ID; the site list inside that engine is lost silently. → Brave: Put the engine's sites into q as site:example.com operators, or use a Brave Goggle
fix: Put the engine's sites into q as site:example.com operators, or use a Brave Goggle
ERROR brave-sample.js:11 [START_INDEX]
start = Google's 1-based result index (1, 11, 21 …). Brave offset is a 0-based PAGE index, max 9 — passing start through breaks page 2 onwards. → Brave: offset = Math.floor((start - 1) / count) (start 11, count 10 → offset 1)
What you get
- SKILL.md, an offline Node scanner and the 19-rule table
- file:line, severity and the Google or Bing date
- The Brave parameter or field to use, applied after you agree
- CI: node scripts/scan.js . exits 1 on any error
Install
Unzip into ~/.claude/skills/ (all projects) or your-repo/.claude/skills/ (one repo), then ask Claude Code: "Google says our Custom Search JSON API has to move by January 2027 and we want to switch to Brave Search. What in this repo has to change? Don't edit anything yet.". Needs Node 16+.
unzip bing-google-search-api-migration-check.zip -d ~/.claude/skills/
Ask Claude
“Google says our Custom Search JSON API has to move by January 2027 and we want to switch to Brave Search. What in this repo has to change? Don't edit anything yet.”
What it does not do
It does not call Brave, Google or Bing and needs no API key; it reads source text. No edits without your OK.
FAQ
What is a Claude Code skill?
A folder with a SKILL.md and scripts that Claude Code loads when your request matches it. You ask in plain words and Claude runs the scanner the skill carries.
How is this different from asking Claude without the skill?
The skill carries a dated rule table and a scanner that reads every file, so Claude quotes the exact date and line instead of answering from memory.
Does it send my code anywhere?
It does not call Brave, Google or Bing and needs no API key; it reads source text. No edits without your OK.
How do I install it?
Unzip into ~/.claude/skills/ (all projects) or your-repo/.claude/skills/ (one repo), then ask Claude Code: "Google says our Custom Search JSON API has to move by January 2027 and we want to switch to Brave Search. What in this repo has to change? Don't edit anything yet.". Needs Node 16+.
What do I get when I buy?
The zip. On Whop it is in your library as a download lesson with the zip attached; on Gumroad it is the product file.