Skip to content

Add 16 new SerpApi specialized skills - #56

Open
ansh wants to merge 1 commit into
mainfrom
skills/add-16-serpapi-skills
Open

ansh wants to merge 1 commit into
mainfrom
skills/add-16-serpapi-skills

Conversation

@ansh

@ansh ansh commented May 26, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds 16 new specialized SerpApi skills following the structure of existing serp-* skills (frontmatter, Dependencies, Core Concepts, Workflows, Common Patterns, Tips).
  • Each new skill depends on the foundational serpapi skill — wrapper script usage is not redefined.
  • Total SerpApi specialized skills: 7 → 23.

New skills: Amazon, Apple App Store, Google Finance, Google Hotels, Google Jobs, Google Lens, Google Local, Google News, Google Patents, Google Scholar, Google Shopping, Google Trends, Google Videos, Instagram Profile, Walmart, Yelp.

Test plan

  • Skim a few SKILL.md files to verify frontmatter, depth, and tone match existing serp-google-flights / serp-opentable-reviews patterns.
  • Spot-check parameter accuracy against SerpApi docs (e.g., serp-google-hotels property_token, serp-google-news topic_token, serp-google-jobs chips filters).
  • Confirm dependencies declare serpapi and reference it for wrapper-script usage rather than duplicating.

🤖 Generated with Claude Code


Note

Low Risk
Documentation-only additions under Specialized/; no application logic, auth, or API client changes—review risk is accuracy of SerpApi parameters in the markdown.

Overview
Adds 16 new Specialized/serp-*/SKILL.md playbooks (Amazon, Apple App Store, Google Finance/Hotels/Jobs/Lens/Local/News/Patents/Scholar/Shopping/Trends, plus Google Videos, Instagram Profile, Walmart, and Yelp per the PR description), expanding SerpApi specialized coverage from 7 → 23 skills.

Each file is new documentation only: YAML frontmatter (name, display_name, description, dependencies: [serpapi], OpenClaw emoji metadata) and long-form workflow guides—Core Concepts, step-by-step Workflows, Common Patterns, presentation templates, and Tips—without redefining the shared SerpApi wrapper (delegated to the foundational serpapi skill).

Domain-specific guidance emphasizes real API mechanics agents must get right: token-driven flows (property_token, topic_token/story_token, uds vs deprecated chips/ltype), multi-engine chains (e.g. Amazon amazonamazon_product, Shopping → google_immersive_product), and guardrails (use extracted_* for math, don’t invent filter hashes, sponsored vs organic).

Reviewed by Cursor Bugbot for commit dc76190. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Add 16 new SerpApi specialized skill documentation files

Adds SKILL.md documentation files for 16 new SerpApi-specialized skills covering a wide range of search verticals and platforms. Each file defines skill metadata, engine usage, response structures, parameters, and step-by-step workflows.

  • Search verticals covered: Google Scholar, Videos, Trends, News, Shopping, Hotels, Local, Jobs, Patents, Finance, Lens, and Instagram Profile
  • Marketplace skills covered: Amazon, Walmart, Apple App Store, and Yelp
  • Each skill documents dependencies on the foundational serpapi skill and provides engine-specific parameters, response field references, pagination patterns, and localization guidance
  • Workflow sections include common usage patterns, presentation formats, and practical tips for each vertical

Macroscope summarized dc76190.

Greptile Summary

This PR adds 16 new SerpApi-specialized SKILL.md files covering Amazon, Apple App Store, Google Finance, Hotels, Jobs, Lens, Local, News, Patents, Scholar, Shopping, Trends, Videos, Instagram, Walmart, and Yelp. All skills correctly declare serpapi as a dependency and follow the established pattern of the existing serp-google-flights and serp-opentable-reviews skills.

  • 13 of 16 skills are well-structured with accurate parameters, clear workflows, and appropriate depth.
  • serp-google-scholar declares five engines in its frontmatter (including google_scholar_profiles) but only documents four — the profiles engine has no workflow, response structure, or parameters in the body.
  • serp-google-shopping uses gl=uk for United Kingdom, but the correct ISO 3166-1 alpha-2 code is gl=gb; serp-google-trends describes timezone offsets in a way that inverts the standard sign convention without flagging that positive values mean behind UTC.

Confidence Score: 3/5

Safe to merge with minor fixes — one engine is declared but completely undocumented, and two small parameter/localization errors should be corrected before agents rely on these skills.

13 of 16 skills are clean and well-structured. The P1 on serp-google-scholar (google_scholar_profiles engine declared in frontmatter dependencies but not documented anywhere in the body) would cause agents to fail silently when attempting profile searches. Two P2 issues (gl=uk vs gl=gb for UK localization, and the inverted timezone sign convention in google_trends) are incorrect but non-blocking for most use cases.

Specialized/serp-google-scholar/SKILL.md (missing engine docs), Specialized/serp-google-shopping/SKILL.md (wrong country code), Specialized/serp-google-trends/SKILL.md (ambiguous timezone convention)

Important Files Changed

Filename Overview
Specialized/serp-amazon/SKILL.md New skill covering Amazon product search, ASIN lookup, marketplace comparison, filtering, review analysis, and variant exploration. Well-structured with clear two-engine pattern, detailed filter/sort tables, and presentation templates.
Specialized/serp-apple-app-store/SKILL.md New skill covering App Store search, app detail, review collection, and developer/category browsing across three engines. Thorough coverage of country stores, pagination, explicit-content filtering, and privacy analysis.
Specialized/serp-google-finance/SKILL.md New skill for stock/crypto/FX/mutual fund lookups, market overview, and financial data via two engines. Response structures, query format, and time-window documentation are detailed and accurate.
Specialized/serp-google-hotels/SKILL.md New skill covering hotel/vacation-rental search, property deep-dive via property_token, photo gallery, review pagination, and autocomplete across four engines. Clean two-step search pattern and filter tables.
Specialized/serp-google-jobs/SKILL.md New skill for job search, remote/date/type/salary filtering, apply-link extraction, and market analysis. Correctly documents the uds/chips/ltype filter evolution and token-based pagination.
Specialized/serp-google-lens/SKILL.md New skill for reverse image search, product ID, visual matching, landmark/species ID, and fashion lookup. The required type parameter, public-URL restriction, and auto_crop guidance are all accurately documented.
Specialized/serp-google-local/SKILL.md New skill covering local pack extraction, local SEO research, business detail lookup, and Local Services Ads. Correctly distinguishes google_local vs google_maps and google_local_services engines.
Specialized/serp-google-news/SKILL.md New skill for keyword search, topic/story/publication token navigation, cross-source analysis, and real-time monitoring. The token-driven navigation model and mutual-exclusivity constraints are clearly documented.
Specialized/serp-google-patents/SKILL.md New skill covering prior-art search, inventor/assignee lookup, citation graph, family analysis, and IP landscape via two engines. Patent ID format, date filter syntax, and CPC classification usage are accurately described.
Specialized/serp-google-scholar/SKILL.md New skill for academic search, citation tracking, author profiles, literature reviews, and case law. Five engines are declared in dependencies but only four are documented — the google_scholar_profiles engine is completely missing from the skill body.
Specialized/serp-google-shopping/SKILL.md New skill for Google Shopping search, filtering, seller comparison, product detail, and deal hunting. Uses gl=uk for the UK market where the correct ISO code is gb; inconsistent with serp-google-local in the same PR.
Specialized/serp-google-trends/SKILL.md New skill for interest over time, comparisons, regional maps, related queries, and trending-now. Timezone convention labelled "offset from UTC" but uses the inverted "minutes west" sign that could mislead users.
Specialized/serp-google-videos/SKILL.md New skill for cross-platform video discovery, short-form content, duration/date filtering, and key-moments extraction. Correctly references the existing serpapi-youtube skill for YouTube-specific deep workflows.
Specialized/serp-instagram-profile/SKILL.md New skill for Instagram profile lookup, engagement metrics, feed extraction, carousel handling, and influencer validation. Clearly documents the public-only limitation, private account behaviour, and what data is unavailable.
Specialized/serp-walmart/SKILL.md New skill for Walmart product search, facet filtering, product detail, variant comparison, reviews, and competitor cross-reference. Dual product-ID system (product_id vs us_item_id) and facet pipe-pipe syntax are well documented.
Specialized/serp-yelp/SKILL.md New skill for Yelp local search, business detail, review collection, sentiment analysis, and multi-domain monitoring. Correctly distinguishes alias vs encrypted place_id and when each is required for yelp_reviews.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    subgraph Foundation
        serpapi["serpapi\n(wrapper script + API reference)"]
    end

    subgraph "16 New Specialized Skills"
        amazon["serp-amazon\namazon + amazon_product"]
        appstore["serp-apple-app-store\napple_app_store + apple_product\n+ apple_reviews"]
        finance["serp-google-finance\ngoogle_finance + google_finance_markets"]
        hotels["serp-google-hotels\ngoogle_hotels + photos\n+ reviews + autocomplete"]
        jobs["serp-google-jobs\ngoogle_jobs"]
        lens["serp-google-lens\ngoogle_lens + google_reverse_image"]
        local["serp-google-local\ngoogle_local + google_local_services"]
        news["serp-google-news\ngoogle_news"]
        patents["serp-google-patents\ngoogle_patents + google_patents_details"]
        scholar["serp-google-scholar\ngoogle_scholar + scholar_author\n+ scholar_cite + scholar_case_law\n+ scholar_profiles ⚠️"]
        shopping["serp-google-shopping\ngoogle_shopping + google_immersive_product"]
        trends["serp-google-trends\ngoogle_trends + google_trends_trending_now"]
        videos["serp-google-videos\ngoogle_videos + google_short_videos\n+ google_videos_light"]
        instagram["serp-instagram-profile\ninstagram_profile"]
        walmart["serp-walmart\nwalmart + walmart_product\n+ walmart_product_reviews"]
        yelp["serp-yelp\nyelp + yelp_place + yelp_reviews"]
    end

    serpapi --> amazon
    serpapi --> appstore
    serpapi --> finance
    serpapi --> hotels
    serpapi --> jobs
    serpapi --> lens
    serpapi --> local
    serpapi --> news
    serpapi --> patents
    serpapi --> scholar
    serpapi --> shopping
    serpapi --> trends
    serpapi --> videos
    serpapi --> instagram
    serpapi --> walmart
    serpapi --> yelp

    videos -. "also depends on" .-> youtube["serpapi-youtube\n(existing skill)"]
Loading
Prompt To Fix All With AI
Fix the following 3 code review issues. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 3
Specialized/serp-google-scholar/SKILL.md:10
**Undocumented `google_scholar_profiles` engine**

The `Dependencies` section declares five engines — `google_scholar`, `google_scholar_author`, `google_scholar_cite`, `google_scholar_case_law`, and `google_scholar_profiles` — but the body of the skill only explains four, and the Core Concepts table is explicitly titled "The Four Engines." The `google_scholar_profiles` engine (used to search for author profiles by name, distinct from `google_scholar_author` which fetches a specific profile by `author_id`) is never given a workflow, response structure, or usage guidance. An agent that sees the dependency declaration and tries to invoke this engine will have no parameters, no response shape, and no worked example to follow.

### Issue 2 of 3
Specialized/serp-google-trends/SKILL.md:138
The timezone description says "Minutes offset from UTC" but the sign convention used is **minutes west of UTC** (positive = behind UTC), which is the opposite of the familiar ISO standard where UTC-5 would be -300. This inverted convention is how Google Trends' `tz` parameter actually works, but the label alone is misleading enough to cause off-by-sign errors. Clarifying the direction (e.g., "Minutes behind UTC / west of UTC") prevents agents from supplying the wrong sign for their timezone.

```suggestion
Minutes **behind** UTC (west of UTC), range `-1439` to `1439`. Positive = hours behind UTC (west); negative = hours ahead of UTC (east). Default `420` (PDT, UTC-7). Set this for accurate hourly/daily bucketing in the user's locale.
```

### Issue 3 of 3
Specialized/serp-google-shopping/SKILL.md:89
The localization table lists `uk` as the `gl` value for the United Kingdom, but Google's `gl` parameter uses ISO 3166-1 alpha-2 codes and the correct code is `gb` (Great Britain). Other skills added in the same PR use `gb` correctly (e.g. `serp-google-local` lists `gb` in its `gl` description). Passing `gl=uk` instead of `gl=gb` may silently fall back to a default locale or return unexpected results.

```suggestion
| `gb` | United Kingdom | `en` |
```

Reviews (1): Last reviewed commit: "Add 16 new SerpApi specialized skills" | Re-trigger Greptile

Greptile also left 3 inline comments on this PR.

Expands SerpApi coverage with workflow-focused skills for:
Amazon, Apple App Store, Google Finance, Google Hotels, Google Jobs,
Google Lens, Google Local, Google News, Google Patents, Google Scholar,
Google Shopping, Google Trends, Google Videos, Instagram Profile,
Walmart, and Yelp. Each skill depends on the foundational serpapi skill
and follows the structure of existing serp-* skills.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit dc76190. Configure here.

on the foundational serpapi skill for all API details.
dependencies:
- serpapi
metadata: {"openclaw": {"emoji": "📦"}}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing SerpApi env in metadata

Medium Severity

Each new specialized skill depends on serpapi, which needs SERPAPI_API_KEY, but the added frontmatter only sets emoji metadata and never declares that env var. OpenClaw can surface these skills as ready even when the key is missing, so the first wrapper call fails at runtime instead of upfront.

Additional Locations (2)
Fix in Cursor Fix in Web

Triggered by learned rule: Specialized SKILL.md must declare requires.env for transitive API key dependencies

Reviewed by Cursor Bugbot for commit dc76190. Configure here.

legal case law lookup. Use when: (1) searching academic papers by topic, keyword, or
author, (2) filtering results by publication year range, (3) finding papers that cite
a given paper (citation tracking), (4) discovering all versions of a paper via cluster
search, (5) looking up an author's profile, h-index, and publications, (6) building a

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Undocumented google_scholar_profiles engine

The Dependencies section declares five engines — google_scholar, google_scholar_author, google_scholar_cite, google_scholar_case_law, and google_scholar_profiles — but the body of the skill only explains four, and the Core Concepts table is explicitly titled "The Four Engines." The google_scholar_profiles engine (used to search for author profiles by name, distinct from google_scholar_author which fetches a specific profile by author_id) is never given a workflow, response structure, or usage guidance. An agent that sees the dependency declaration and tries to invoke this engine will have no parameters, no response shape, and no worked example to follow.

Prompt To Fix With AI
This is a comment left during a code review.
Path: Specialized/serp-google-scholar/SKILL.md
Line: 10

Comment:
**Undocumented `google_scholar_profiles` engine**

The `Dependencies` section declares five engines — `google_scholar`, `google_scholar_author`, `google_scholar_cite`, `google_scholar_case_law`, and `google_scholar_profiles` — but the body of the skill only explains four, and the Core Concepts table is explicitly titled "The Four Engines." The `google_scholar_profiles` engine (used to search for author profiles by name, distinct from `google_scholar_author` which fetches a specific profile by `author_id`) is never given a workflow, response structure, or usage guidance. An agent that sees the dependency declaration and tries to invoke this engine will have no parameters, no response shape, and no worked example to follow.

How can I resolve this? If you propose a fix, please make it concise.


### Timezone (`tz`)

Minutes offset from UTC, range `-1439` to `1439`. Default `420` (PDT). Set this for accurate hourly/daily bucketing in the user's locale.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 The timezone description says "Minutes offset from UTC" but the sign convention used is minutes west of UTC (positive = behind UTC), which is the opposite of the familiar ISO standard where UTC-5 would be -300. This inverted convention is how Google Trends' tz parameter actually works, but the label alone is misleading enough to cause off-by-sign errors. Clarifying the direction (e.g., "Minutes behind UTC / west of UTC") prevents agents from supplying the wrong sign for their timezone.

Suggested change
Minutes offset from UTC, range `-1439` to `1439`. Default `420` (PDT). Set this for accurate hourly/daily bucketing in the user's locale.
Minutes **behind** UTC (west of UTC), range `-1439` to `1439`. Positive = hours behind UTC (west); negative = hours ahead of UTC (east). Default `420` (PDT, UTC-7). Set this for accurate hourly/daily bucketing in the user's locale.
Prompt To Fix With AI
This is a comment left during a code review.
Path: Specialized/serp-google-trends/SKILL.md
Line: 138

Comment:
The timezone description says "Minutes offset from UTC" but the sign convention used is **minutes west of UTC** (positive = behind UTC), which is the opposite of the familiar ISO standard where UTC-5 would be -300. This inverted convention is how Google Trends' `tz` parameter actually works, but the label alone is misleading enough to cause off-by-sign errors. Clarifying the direction (e.g., "Minutes behind UTC / west of UTC") prevents agents from supplying the wrong sign for their timezone.

```suggestion
Minutes **behind** UTC (west of UTC), range `-1439` to `1439`. Positive = hours behind UTC (west); negative = hours ahead of UTC (east). Default `420` (PDT, UTC-7). Set this for accurate hourly/daily bucketing in the user's locale.
```

How can I resolve this? If you propose a fix, please make it concise.

| `gl` | Market | `hl` Example |
|------|--------|--------------|
| `us` | United States | `en` |
| `uk` | United Kingdom | `en` |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 The localization table lists uk as the gl value for the United Kingdom, but Google's gl parameter uses ISO 3166-1 alpha-2 codes and the correct code is gb (Great Britain). Other skills added in the same PR use gb correctly (e.g. serp-google-local lists gb in its gl description). Passing gl=uk instead of gl=gb may silently fall back to a default locale or return unexpected results.

Suggested change
| `uk` | United Kingdom | `en` |
| `gb` | United Kingdom | `en` |
Prompt To Fix With AI
This is a comment left during a code review.
Path: Specialized/serp-google-shopping/SKILL.md
Line: 89

Comment:
The localization table lists `uk` as the `gl` value for the United Kingdom, but Google's `gl` parameter uses ISO 3166-1 alpha-2 codes and the correct code is `gb` (Great Britain). Other skills added in the same PR use `gb` correctly (e.g. `serp-google-local` lists `gb` in its `gl` description). Passing `gl=uk` instead of `gl=gb` may silently fall back to a default locale or return unexpected results.

```suggestion
| `gb` | United Kingdom | `en` |
```

How can I resolve this? If you propose a fix, please make it concise.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant