Agent skill · software engineering · jeremylongshore

serpapi-upgrade-migration

Migrate legacy SerpAPI Python or JavaScript packages and response assumptions to current official clients with contract tests and rollback. Use when performing dependency or API upgrades. Trigger with "migrate a SerpAPI client".

Why this skill is useful

Provides specific migration patterns and code examples for transitioning between SerpApi client versions that the AI wouldn't reliably generate on its own.

What it needs

Requires npm, pip installed locally. About 2k tokens when loaded. Last updated 2026-08-07. 2,604 stars on the source repository.

What this skill does

SerpAPI Client Upgrade and Migration Overview Inventory actual legacy behavior, introduce the current official client behind a seam, and prove response and failure compatibility before removing the old path. Prerequisites Current dependency locks, imports, call sites, engine parameters, fixtures, and runtime support matrix Target official client release notes and migration documentation Search budget, canary environment, rollback owner, and immutable baseline Tool Discipline Use Read, Glob, and Grep to inventory dependencies and behavior, WebFetch to verify current official packages, Write or Edit for the adapter and tests, and Bash(python3:) or Bash(npm:) only for approved installs and test execution. Current Contract The recommended Python distribution is serpapi, distinct from the legacy google-search-results distribution. Its Client.search returns a SerpResults mapping with helpers such as asdict() and pagination methods. The current JavaScript serpapi package supports promises and callbacks; migration from google-search-results-nodejs must preserve engine parameters and error behavior explicitly. Authentication Keep the existing server-side SERPAPIKEY boundary unchanged during migration. Never copy credentials into migration scripts, lockfiles, fixtures, dual-run telemetry, or exception snapshots. Instructions 1. Pin the baseline and inventory package names, versions, imports, engine-specific classes, callbacks, result conversions, pagination, timeouts, retries, and error handling. 2. Re-fetch target release notes and build a behavior matrix for requests, result type, archive access, pagination, and exceptions. 3. Add an application-owned gateway and run both implementations against the same sanitized fixtures. 4. Update Python code from legacy engine classes to current client calls, or JavaScript callbacks to the chosen promise/callback form, without mixing semantic changes. 5. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills jeremylongshore/serpapi-upgrade-migration

View the source on GitHub

Browse the @skills marketplace