From amazon-intelligence
Comprehensive keyword gap analysis for Amazon brands using SimilarWeb Shopper Intelligence. Identifies keyword opportunities by comparing your brand's keyword portfolio against competitors, the category, and at the ASIN level. Scores and prioritizes gaps by volume, competition, and trend direction. Use when the user asks about keyword gaps, missing keywords, keyword opportunities, where competitors are winning on search, or what keywords they should target next on Amazon.
npx claudepluginhub similarwebproductteam/retail-iq-plugins --plugin amazon-intelligenceThis skill uses the workspace's default tool permissions.
Identify keyword opportunities your brand is missing on Amazon by comparing your keyword portfolio against competitors, the category, and competitor products. Always load `BRAND_PROFILE.md` first for brand, category, competitor, ASIN, and domain context.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Builds scalable data pipelines, modern data warehouses, and real-time streaming architectures using Spark, dbt, Airflow, Kafka, and cloud platforms like Snowflake, BigQuery.
Builds production Apache Airflow DAGs with best practices for operators, sensors, testing, and deployment. For data pipelines, workflow orchestration, and batch job scheduling.
Identify keyword opportunities your brand is missing on Amazon by comparing your keyword portfolio against competitors, the category, and competitor products. Always load BRAND_PROFILE.md first for brand, category, competitor, ASIN, and domain context.
get-products-top-keywords (time-series) with start_date, end_date for trend data, or get-products-top-keywords-agg for aggregated snapshots.start_date and end_date in YYYY-MM format. Default to the last 6 months.get-categories-search to resolve it if needed.category — pass the numeric category ID for all brand-level calls.When running the full cross-analysis workflow (or Analysis 3 standalone), use subagents to make MCP calls and return only the metrics needed for analysis. This keeps the main agent's context lean — it sees every keyword but in compact tables, not raw API JSON.
General rules for all subagents:
start_date, end_date in YYYY-MM format, and domain as provided in the promptCollects brand and category keyword portfolios for Analyses 1 and 2.
Prompt template (fill in {{placeholders}} from BRAND_PROFILE.md):
Collect keyword portfolios for a keyword gap analysis.
For the user's brand and each competitor brand, call
get-brands-top-keywords-aggwithbrand,category: {{category_id}},domain: {{domain}},limit: 100,start_date: {{start_date}},end_date: {{end_date}}.For the category, call
get-categories-top-keywords-aggwithcategory: {{category_id}},domain: {{domain}},limit: 100,start_date: {{start_date}},end_date: {{end_date}}.User brand: {{user_brand}} Competitors: {{competitor_list}} Category ID: {{category_id}} Domain: {{domain}} Date range: {{start_date}} to {{end_date}}
Return format — one table per entity, only these columns:
{{brand_name}} (user brand)
keyword brand_share ... ... {{competitor_name}} (competitor)
keyword brand_share ... ... Category: {{category_id}}
keyword category_share ... ... Do NOT include any other fields (clicks, price, organic/paid ratios, etc.) — only keyword and share.
Collects product-level keyword portfolios for Analysis 3.
Prompt template:
Collect ASIN-level keywords for a keyword gap analysis.
Step 1 — User ASINs: For each user ASIN below, call
get-products-top-keywords-aggwithasin,domain: {{domain}},start_date: {{start_date}},end_date: {{end_date}},limit: 30.Step 2 — Competitor top products: For each competitor brand, call
get-brands-top-products-aggwithbrand,category: {{category_id}},domain: {{domain}},limit: 5. Take the top 3 products by revenue.Step 3 — Competitor ASIN keywords: For each of the top 3 competitor products, call
get-products-top-keywords-aggwithasin,domain: {{domain}},start_date: {{start_date}},end_date: {{end_date}},limit: 30.User ASINs: {{user_asin_list}} Competitors: {{competitor_list}} Category ID: {{category_id}} Domain: {{domain}} Date range: {{start_date}} to {{end_date}}
Return format — one table per ASIN, labeled as user or competitor:
User ASIN: {{asin}} — {{product_name}}
keyword clicks_share ... ... Competitor ASIN: {{asin}} — {{brand_name}} — {{product_name}}
keyword clicks_share ... ... Do NOT include any other fields (rank, search volume, organic/paid clicks, reach, etc.) — only keyword and clicks_share.
Enriches gap keywords with volume, competition, and trend data for Analysis 4. Called after the main agent compiles the gap keyword list from Analyses 1-3.
Prompt template:
Enrich keyword gap opportunities with performance and competition data.
Step 1 — Performance: For each keyword below, call
get-keywords-performance-aggwithkeyword,domain: {{domain}},start_date: {{start_date}},end_date: {{end_date}}. Extractsearch_volumeandclicks.Step 2 — Competition: For each keyword, call
get-keywords-top-brands-aggwithkeyword,domain: {{domain}},limit: 10,start_date: {{start_date}},end_date: {{end_date}}. Count brands with >5% click share and note the top 3.Step 3 — Trends: For the top 20 keywords by volume (from Step 1), call
get-keywords-performance(time-series) withkeyword,domain: {{domain}},granularity: "monthly",start_date: {{start_date}},end_date: {{end_date}}. Calculate 3-month trend direction and percentage.Gap keywords: {{gap_keyword_list}} Domain: {{domain}} Date range: {{start_date}} to {{end_date}}
Return format:
Enriched gap keywords
keyword volume clicks brand_count top_3_brands trend_direction trend_pct ... ... ... ... ... ... ... Monthly trends (top 20)
keyword {{month_1}} {{month_2}} ... {{month_N}} direction ... ... ... ... ... ...
brand_count= number of brands with >5% click share.trend_direction= growing / flat / declining.trend_pct= 3-month volume change percentage. Do NOT include raw API responses — only the tables above.
Compare the user's keyword portfolio against each competitor to find gaps, underperformance, and advantages.
BRAND_PROFILE.md for brand, category ID, competitor list, and domainget-brands-top-keywords-agg with brand (user's brand), category, domain: <domain from BRAND_PROFILE.md>, limit: 100, start_date, end_date — collect as user_keywordsget-brands-top-keywords-agg with brand (competitor), category, domain: <domain from BRAND_PROFILE.md>, limit: 100, start_date, end_date — collect as competitor_keywords[brand_name]user_keywords. These are the primary gap opportunities.user_keywords and a competitor's list, but where the user's clicks_share is less than half the competitor's clicks_share. These are keywords the user competes on but loses.user_keywords but NOT in any competitor's list. These are defensive positions to protect.get-keywords-performance-agg with keyword, domain: <domain from BRAND_PROFILE.md> — get search volumeget-keywords-top-brands-agg with keyword, domain: <domain from BRAND_PROFILE.md>, limit: 10 — count how many strong brands compete and confirm user's brand doesn't appearget-keywords-performance-agg for volume contextIdentify high-volume category search terms where the brand has zero or minimal presence.
get-categories-top-keywords-agg with category, domain: <domain from BRAND_PROFILE.md>, limit: 100, start_date, end_date — collect as category_keywordsuser_keywords from Analysis 1 (or call get-brands-top-keywords-agg again if running standalone)category_keywords that do NOT appear in user_keywords at allget-keywords-top-brands-agg with keyword, domain: <domain from BRAND_PROFILE.md>, limit: 10 — identify who owns these keywords and how concentrated ownership isFind keywords driving competitor products that the user's products do not capture.
Subagent note: When running as part of the full workflow or standalone, delegate steps 1-4 below to Subagent B (see Subagent data fetchers section). The main agent receives compact keyword tables and proceeds from step 5. If running without subagents, follow steps 1-4 directly.
BRAND_PROFILE.md for user's tracked ASINsget-products-top-keywords-agg with asin, domain: <domain from BRAND_PROFILE.md>, start_date, end_date, limit: 30 — collect as user_asin_keywords[asin]. Use the -agg variant since gap detection is a set comparison and does not require time-series data.get-brands-top-products-agg with each competitor's brand, category, domain: <domain from BRAND_PROFILE.md>, limit: 5 — collect top competitor ASINsget-products-top-keywords-agg with asin, domain: <domain from BRAND_PROFILE.md>, start_date, end_date, limit: 30 — collect as competitor_asin_keywords[asin]competitor_asin_keywords but NOT in any of user_asin_keywords — these are ASIN-level gapsScore and rank all gap keywords found in Analyses 1-3 into actionable tiers.
get-keywords-performance-agg with keyword, domain: <domain from BRAND_PROFILE.md> — search volume and click metricsget-keywords-top-brands-agg with keyword, domain: <domain from BRAND_PROFILE.md>, limit: 10 — competition intensityget-keywords-performance (time-series) with keyword, domain: <domain from BRAND_PROFILE.md>, granularity: "monthly", start_date, end_date — trend dataget-keywords-top-brands-agg results. Fewer than 3 brands holding >5% share: 30 pts. 3-5 brands: 20 pts. 6-8 brands: 10 pts. 9+ brands: 5 pts.When running the full keyword gap analysis (all 4 analyses together), use subagents to collect data and keep the main agent focused on analysis and presentation.
Step 1 — Read context: Load BRAND_PROFILE.md for brand, category ID, competitor list, tracked ASINs, and domain. Determine date range (default: last 6 months).
Step 2 — Collect all keyword data (spawn two subagents in parallel):
keyword | brand_share tables per entity.keyword | clicks_share tables per ASIN.Step 3 — Run Analyses 1-3 using the compact tables from both subagents:
Step 4 — Enrich gap keywords (spawn one subagent):
Step 5 — Score, classify, and present: Using the enrichment table from Subagent C, apply the opportunity scoring formula from Analysis 4 (volume/competition/trend/relevance scores), classify keywords into tiers, and build the dashboard.
Fallback: If any subagent fails to return results, the main agent makes those API calls directly using the steps described in the individual analysis sections above.
Always use the dashboard-ui skill for presenting results. After collecting data from the API calls above, build a single self-contained HTML dashboard and save it to the user's workspace folder.
Use tab navigation to organize the full report into sections:
[Overview] [Competitor Gaps] [Category Gaps] [ASIN Gaps] [Action Plan]
| Analysis | Primary components |
|---|---|
| Brand vs competitors gap | KPI cards (total gaps, underperformance count, advantages count), data table (gap keywords with competitor owner, volume, competition, score), data table (underperformance keywords with share comparison), share bar (user vs competitor keyword coverage), classification badges (gap / underperformance / advantage / battleground) |
| Brand vs category gap | KPI card (category coverage %), data table (category gap keywords with rank, volume, top brand, opportunity tier), alert banner (if coverage < 50%), classification badges (high-opportunity / medium / niche) |
| ASIN-level gaps | Data table (gap keywords per competitor ASIN with mapping to user ASINs), two-column layout (competitor ASIN keywords vs user ASIN keywords), classification badges (target / already-ranks / not-relevant) |
| Opportunity scoring | KPI cards (quick wins, strategic plays, long shots, defend), data table (all keywords sorted by opportunity score with tier badges), Chart.js horizontal bar chart (top 15 keywords by opportunity score, color-coded by tier), Chart.js line chart (trend for top 5 quick wins over time), insight box (strategic recommendations), alert banner (top 3 quick wins to act on immediately) |
Use existing dashboard-ui badge variants for gap tiers:
badge-cashcow (green)badge-star (blue)badge-generic (gray)badge-branded (orange)badge-warning (red)badge-rising (purple)skills/dashboard-ui/SKILL.md for the full component library and CSS.html to the workspace folder and link with computer://get-brands-top-keywords / get-brands-top-keywords-aggget-brands-top-products / get-brands-top-products-aggget-brands-top-competitors / get-brands-top-competitors-aggget-categories-top-keywords / get-categories-top-keywords-aggget-keywords-performance / get-keywords-performance-aggget-keywords-top-brands / get-keywords-top-brands-aggget-keywords-top-products / get-keywords-top-products-aggget-products-top-keywords / get-products-top-keywords-agg — time-series for trends, -agg for aggregated snapshots