← Back to Skills Marketplace
linbeihanda

Amazon Serp Analysis

by Handa · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
55
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install amazon-serp-analysis
Description
Analyze Amazon market tracks/niches for go/no-go investment decisions. Given a seed keyword, scrapes SERP, expands related keywords to map the full track lan...
README (SKILL.md)

amazon-serp-analysis

Comprehensive Amazon niche analysis pipeline. Input: a seed keyword. Output: full track landscape map, competition scoring, demand assessment, and go/no-go recommendation with specific entry angles.

Requirements

  • omni-scraper skill installed and configured (required — provides SERP + PDP data)
  • amazon-listing-judge skill installed (optional — adds listing quality depth)
  • SellerSprite MCP tools (optional — adds keyword volume and search trends)
  • ClickHouse MCP (optional — adds historical brand analytics data)

Workflow

Step 1 — Seed SERP Scrape

Scrape Amazon search results for the seed keyword:

curl -s -X POST "$CLAW_API_BASE/api/scrape" \
  -H "Content-Type: application/json" \
  -d '{
    "claw_key": "'"$CLAW_KEY"'",
    "url": "https://www.amazon.com/s?k=KEYWORD_URL_ENCODED",
    "mode": "scraper"
  }'

From the response parsed.results, extract for each position:

  • position, asin, title, price, rating, review_count, bought_past_month, sponsored, ac_badge

Stop if: parsed is null and body is also null — report error and stop.


Step 2 — Keyword Expansion (build track landscape)

Goal: identify 5–10 related search terms that form the full track.

If SellerSprite MCP is available, use it to expand keywords:

mcp__sellersprite-mcp__keyword_miner  { keyword: "\x3Cseed>", marketplace: "US" }
mcp__sellersprite-mcp__traffic_extend { keyword: "\x3Cseed>", marketplace: "US" }

Take the top 5–8 related keywords by search volume.

Fallback (no SellerSprite): Infer related keywords from SERP titles by:

  1. Extracting noun phrases and modifiers from the top 10 product titles
  2. Identifying variant terms (material, size, use-case, audience)
  3. Generating 5–8 plausible search terms that a buyer might use
  4. Label these as "inferred" in the output

If ClickHouse MCP is available, check brand analytics trend data:

SELECT search_term, SUM(clicks) as total_clicks
FROM amazon.brand_analytics
WHERE search_term ILIKE '%\x3Cseed>%'
  AND date >= today() - INTERVAL 90 DAY
GROUP BY search_term
ORDER BY total_clicks DESC
LIMIT 10

This validates which related terms have real search volume.


Step 3 — Scrape 1–2 Key Related Keywords

Pick the 2 highest-volume related keywords from Step 2 and scrape their SERPs (same curl as Step 1). This reveals:

  • Whether the same products dominate multiple related SERPs (brand lock)
  • Price and review patterns across the broader track

Token budget: If context is getting long, skip this step and note it was skipped.


Step 4 — Deep-dive Top 5 Organic Products

For the top 5 non-sponsored products from the seed keyword SERP:

If amazon-listing-judge is available:

uv run \x3Camazon-listing-judge-skill-dir>/scripts/grade.py \x3CASIN>

Record the total score and key weaknesses.

Fallback: Use the SERP data already collected. Estimate listing quality as:

  • High (>80): has AC/BS badge + ≥4.5 stars + ≥1K reviews + bought_past_month
  • Medium (55-80): has some but not all signals
  • Low (\x3C55): no badges, low reviews, no sales velocity signal

Step 5 — Competition Scoring

Calculate the following metrics from collected data:

5a. Review Barrier

avg_reviews = average review count of top 10 organic results
  • \x3C 200 reviews avg → Low barrier (🟢 +2)
  • 200–1,000 → Medium barrier (🟡 +1)
  • 1,000–3,000 → High barrier (🔴 0)
  • 3,000 → Very high barrier (🔴 -1)

5b. Brand Concentration

count unique brands in top 10 organic results
  • 8–10 unique brands → Fragmented (🟢 +2)
  • 5–7 unique brands → Moderate (🟡 +1)
  • 3–4 unique brands → Concentrated (🔴 0)
  • 1–2 brands dominating 5+ spots → Locked (🔴 -1)

5c. Demand Signals

Count how many of the top 10 organic results have "bought in past month" badge:

  • 6–10 products → Hot track (🟢 +2)
  • 3–5 products → Active (🟡 +1)
  • 0–2 products → Low demand or seasonal (🔴 0)

5d. Listing Quality Gap

Average listing quality score of top 5 organic products:

  • Average score \x3C 60 → Big quality gap (🟢 +2, easy to outcompete)
  • 60–75 → Some gap (🟡 +1)
  • 75 → Well-optimized (🔴 0)

5e. Price Range Health

min_price = lowest price among top 10
max_price = highest price among top 10
range_ratio = max_price / min_price
  • ratio > 3 → Wide range, room to position (🟢 +1)
  • ratio 1.5–3 → Moderate (🟡 0)
  • ratio \x3C 1.5 → Commodity, price war risk (🔴 -1)

Competition Score Total (max 9)

competition_score = sum of all sub-scores above
  • 7–9 → 🟢 Low competition — favorable
  • 4–6 → 🟡 Moderate — conditional entry
  • 0–3 → 🔴 High competition — difficult

Step 6 — Track Demand Score

Estimate overall demand level:

If SellerSprite available: use traffic_keyword_stat for monthly search volume.

From SERP signals:

  • Count products with "bought in past month" → quantify total estimated monthly units
  • Estimate: if avg = "1K+" per product × 10 products = ~10K monthly units in track
  • Note: this is a rough lower bound estimate

Seasonal flags:

  • If keyword contains holiday/event terms, flag as seasonal
  • If ClickHouse shows \x3C3 months of search history, flag as trend/fad

Step 7 — Synthesis & Recommendation

Entry Assessment Matrix

Factor Your Score Implication
Competition score X/9
Demand level High/Med/Low
Price positioning room Yes/No
Listing quality gap Yes/No

Verdict

🟢 GO — competition_score ≥ 7 AND demand ≥ Medium 🟡 CONDITIONAL — competition_score 4–6 OR strong demand with one differentiator 🔴 NO-GO — competition_score ≤ 3 OR demand Low with high barrier

Entry Angle Candidates (pick the best fit)

  1. Price disruption: If top products cluster at $20+, enter at $12–15 with comparable quality
  2. Listing quality gap: If top listings score \x3C 65, win on listing optimization alone
  3. Underserved variant: If SERP titles share one attribute, find the missing variant buyers search for
  4. Bundle/differentiation: If all products are standalone, add accessories or improved feature
  5. Niche long-tail: If main keyword is crowded, target the highest-volume related term with lower competition

Output Format

Present the full analysis in this structure:

## 🔍 赛道分析:{seed_keyword}

### 赛道全貌
- **关键词组**: [seed] + [related1], [related2], ... (数据来源: SellerSprite/推断)
- **价格带**: $X–$Y,主力区间 $A–$B
- **市场容量估算**: 约 X 万月销量(基于月销标信号)

### 📊 SERP 竞品概览(前10有机结果)
| 排名 | ASIN | 标题(简) | 价格 | 评分 | 评论数 | 月销 | 徽章 |
|------|------|---------|------|------|--------|------|------|
...

### ⚔️ 竞争强度评分:X/9 — 🟢/🟡/🔴
| 维度 | 得分 | 说明 |
|------|------|------|
| 评论壁垒 | | 平均 X 条 |
| 品牌集中度 | | X 个独立品牌 |
| 需求热度 | | X/10 产品有月销标 |
| Listing 质量差距 | | 头部均分 X/100 |
| 价格带健康度 | | 区间比 X |

### 🔥 赛道热度
- 需求水平: High/Med/Low
- 季节性: 是/否
- 趋势信号: ...

### 🎯 结论

**裁定**: 🟢 GO / 🟡 有条件进入 / 🔴 NO-GO

**最佳切入点**: ...

**建议策略**:
1. ...
2. ...

**风险提示**: ...

Data Source Labels

Always label where each data point comes from:

  • [omni-scraper] — from SERP/PDP scrape
  • [SellerSprite] — from SellerSprite MCP
  • [ClickHouse] — from brand analytics DB
  • [inferred] — LLM reasoning from available data

If a tool was unavailable, explicitly state: "SellerSprite not available — keyword volume data omitted."

Usage Guidance
Installers should understand that running this skill can make external scraping and MCP-backed analytics requests using configured service credentials. Invoke it with an explicit Amazon seed keyword and review availability/scope of optional SellerSprite and ClickHouse tools before relying on the output.
Capability Assessment
Purpose & Capability
The stated purpose is Amazon niche/SERP analysis, and the workflow consistently focuses on scraping Amazon search results, expanding related keywords, scoring competition, and producing a go/no-go recommendation.
Instruction Scope
The trigger list includes some broad market-analysis phrases, which could cause accidental activation, but the runtime instructions require a seed keyword and remain aligned to Amazon analysis.
Install Mechanism
The artifact is a single non-executable SKILL.md file; no package install scripts, dependency code, or automatic setup actions were present.
Credentials
Use of CLAW_API_BASE/CLAW_KEY, omni-scraper, optional SellerSprite MCP, optional ClickHouse MCP, and optional listing judge is proportionate to the market-analysis purpose and is disclosed in the workflow.
Persistence & Privilege
No persistence, background worker, privilege escalation, credential harvesting, local profile access, or file mutation instructions were found.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install amazon-serp-analysis
  3. After installation, invoke the skill by name or use /amazon-serp-analysis
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release. Amazon niche/track analysis: seed keyword → SERP scrape → keyword expansion → competition scoring → go/no-go recommendation.
Metadata
Slug amazon-serp-analysis
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Amazon Serp Analysis?

Analyze Amazon market tracks/niches for go/no-go investment decisions. Given a seed keyword, scrapes SERP, expands related keywords to map the full track lan... It is an AI Agent Skill for Claude Code / OpenClaw, with 55 downloads so far.

How do I install Amazon Serp Analysis?

Run "/install amazon-serp-analysis" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Amazon Serp Analysis free?

Yes, Amazon Serp Analysis is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Amazon Serp Analysis support?

Amazon Serp Analysis is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Amazon Serp Analysis?

It is built and maintained by Handa (@linbeihanda); the current version is v1.0.0.

💬 Comments