Aeko product competitor analysis
Skill AEKO-Intelligence/aeko-plugin/skills/aeko-product-competitor-analysis
Product-level competitor analysis. Finds comparable products across competitor sites via WebSearch, fetches each PDP, builds a property-by-property comparison matrix (materials, sizing, claims, price, reviews, JSON-LD coverage), and calls out strengths / weaknesses relative to the user's product. Replaces the retired aeko_ai backend product-analysis service.From its SKILL.md
npx -y skills add AEKO-Intelligence/aeko-plugin --skill aeko-product-competitor-analysisAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
7.3 KB, as published. Nobody here has run it
AEKO Product Competitor Analysis
Produces a comparison matrix between one of the user's products and 3-5 competing products across the same category. Drives PDP strategy — output tells the user exactly where their PDP lags or leads.
Marketer-facing output contract
Frame this as "how shoppers and AI assistants compare this product." Lead with practical differences: price band, material, claims, reviews, return/shipping clarity, and AI-readable product facts. End with one recommended PDP/content action.
Language: mirror the user's chat language for user-facing steps, summaries, questions, and next actions. Keep slash commands, IDs, file paths, channel slugs, schema keys, and tool names in English/ASCII.
Inputs
product-id(required) —$1. AEKOexternal_product_idfrom a connected Cafe24 / Shopify integration, OR a direct product URL (skill will parse and confirm).competitor-urls(optional) — space-separated competitor PDP URLs. If omitted, the skill discovers via WebSearch.
Step 1 — Resolve the user's product
- If
$1is a URL → treat as the user's product URL; derive integration + external_product_id viaaeko_list_store_integrations+ lightweight URL matching. If ambiguous, ask user to pick. - If
$1is a plain id → find the integration viaaeko_list_store_integrations(first match wins; ask user if multiple integrations). - Call
aeko_get_product_description(integration_id, external_product_id)to get the raw description HTML. If this fails (Cafe24 token refresh, etc.), fall back toWebFetch(target_url)on the live page. - Parse the user's product: title, key attributes, price (if in description), image URLs, any embedded JSON-LD.
Step 2 — Find competitors (if not supplied)
If competitor-urls missing:
- Build a search query from the user's product title + product/category context + country/market from domain info. Example:
"차렵이불" 한정수량 알러지케어 site:*.co.kr -site:slound.co.kr. WebSearch(query, num_results=10). Filter to distinct roots (drop duplicates, skip marketplaces if possible).- Optionally augment: pull top-cited competing domains from
aeko_get_tracked_promptcited-source analysis on the user's product-related prompts (if any). These are domains AI engines actually cite — higher value than raw search. - Pick top 3-5 competitor URLs. Confirm with the user before proceeding ("Here are the candidates I found — use these, or paste your own?").
Step 3 — Fetch each competitor PDP
For each competitor URL:
WebFetch(url)to get the page.- Parse: title, key attributes, visible price, image count, embedded JSON-LD types, review presence, FAQ presence.
- Record the raw extracted text for use in Step 4.
Cap total fetches at 5. Handle failures per-URL — note in output but don't abort the whole run.
Step 4 — Build comparison matrix
Fields to compare (adapt per category — product-type-aware):
| Attribute | <user's product> | <comp 1> | <comp 2> | <comp 3> | ... |
|------------------------|------------------|----------|----------|----------|-----|
| Title | ... | ... | | | |
| Price | ... | ... | | | |
| Material / composition | ... | ... | | | |
| Size variants | ... | ... | | | |
| Key claim (hero line) | ... | ... | | | |
| Image count | ... | ... | | | |
| Review count | ... | ... | | | |
| Average rating | ... | ... | | | |
| Product JSON-LD | ✓ / ✗ | ... | | | |
| FAQPage JSON-LD | ✓ / ✗ | ... | | | |
| Review JSON-LD | ✓ / ✗ | ... | | | |
| FAQ on page | ✓ / ✗ | ... | | | |
| Comparison table | ✓ / ✗ | ... | | | |
| Certifications | ... | ... | | | |
Use Claude's reasoning to fill each row from the fetched text. Missing data → — not fabrication.
Step 5 — Strengths + weaknesses + gaps
Compose three sections:
## Where <user's product> leads
- <bullet per attribute where user's product is clearly ahead>
## Where <user's product> lags
- <bullet per attribute where at least 2 competitors are ahead>
## Structured-data gaps
- <list of JSON-LD types competitors have that user's product doesn't>
- <list of review / FAQ coverage competitors have that user's product doesn't>
## Content & citability gaps (AEO frameworks)
- <classify each content gap in the plugin's vocabulary so it maps to a fix: BLUF (do competitors lead
with the answer while this PDP buries it?), PREP (self-contained benefit blocks?), Informational Gain
(lived/specific detail this PDP lacks?), E-E-A-T (FAQ answers showing real experience?). See
`skills/aeko-create-content/references/aeo-frameworks.md`.>
Step 6 — Recommended actions
Rank 3 actions by impact:
1. **Add FAQPage JSON-LD** — <N> of <M> competitors have it; your PDP doesn't.
Run `/aeko-action-center <domain_id> pdp` and look for a pdp_update item
targeting this product; otherwise tell me to draft one standalone.
2. **Match review depth** — competitors show <N> reviews on average;
your PDP shows <M>. Consider <specific approach>.
3. ...
Step 7 — Save + summary
Write the full matrix + analysis to:
./aeko-artifacts/<domain_id>/product-competitor-analyses/<product-slug>-<YYYYMMDD>.md
User-facing summary:
✔ Product competitor analysis saved: <path>
Compared vs: <N> competitors
Biggest gap: <top row from "Where lags">
Next action: <first recommended action>
Error paths
- Product description fetch fails AND WebFetch of target_url also fails → stop; ask user for the live product URL manually.
- WebSearch returns zero usable competitors AND user didn't supply URLs → ask user to paste 2-3 competitor URLs; don't proceed with zero comps.
- All competitor WebFetches fail → stop and report; tell user their competitor sites may be blocking crawlers (common in KR retail).
What this skill never does
- Never writes to the store.
- Never decides the user's pricing — only shows the price spread.
- Never fabricates attributes; missing data stays missing.
- Never auto-adds competitors beyond the top 5.