Tool naming
The main text uses auth_status logical names like this. OpenClaw calls goofish__<逻辑名>;
Claude Code / Cursor calls mcp__goofish__<逻辑名>. In frontmatter, allowed-tools
keep the Claude permission pre-approval format; OpenClaw does not read this field.
Positioning
Pure read skill—diagnose, do not fix. If you want to fix, jump to goofish-publish-item。
This is the part third-party tools (Xian Guanjia, Yu Xiaopu)have not done—they focus on automation, and diagnosis relies entirely on people looking at the backend. The differentiation of this skill is "attributing like an SRE doing postmortem analysis."
Trigger posture
- "I posted it a week ago and nobody is asking"
- "There used to be impressions and recently they suddenly disappeared"
- "My friend sells similar products well, why is there no activity on mine"
- "Am I being shadowbanned"
Three-step diagnosis method
Step 1 · Buyer's perspective search self-check
search_items(
keyword="<商品核心词>", # 从用户描述或 item 标题提取
# 可以按地理/价格 filter 更精准
)
Purpose: use the seller's perspective (logged-in state) to search the same keywords as a buyer, and see whether your own product is in the first 3 pages.
Result judgment:
| Situation | Meaning |
|---|---|
| Product appears in the top 20 results | Weight is normal, not a shadowban |
| Product is in results 50-100 | Weight is low; title/category may not be optimized enough |
| Cannot be found at all (not even after 3+ pages) | Strong signal: search downranking |
| Searching by "product id" finds it, searching by "keyword" does not | Same as above, search downranking |
Step 2 · Pull your own product details
item_view(item_id=<问题商品>)
Compare:
- Current listed price vs historical price (whether it was ever lowered)
- Current title vs historical title (whether it was changed)
- Current category vs the category of best-selling products in that category (the categories of the top 5 products returned by the API search)
- Number of images / first image size
- Description length
Step 3 · Go through the attribution checklist
See details in references/traffic-drop-causes.md。
The Agent reads item_view data → scores each item in the checklist → identifies the most likely cause.
Attribution output format
【诊断对象】商品标题 (id=xxxxx)
【当前状态】挂价 XXX,发布 N 天,累计曝光 M
【搜索可见性】
- 核心词 "XX" 搜索:❌ 前 3 页找不到
- 商品 id 搜索:✅ 能找到
【嫌疑归因】
1. 【高可能性】 ⚠️ 降价改标
- 证据:发布后 3 天内改过 2 次价格 + 1 次标题
- 说明:触发"虚假促销"规则,搜索权重 -50%
- 修复:等 7 天让权重恢复;期间不要继续改
2. 【中可能性】 类目偏差
- 证据:类目是"数码-手机",同品实际类目为"数码-手机配件"
- 说明:类目错放降权 -30%
- 修复:重新按 category_recommend 选类目(但要接受一次重新审核)
3. 【低可能性】 图片问题
- 证据:首图 1200x900(非 1:1)
- 说明:首图非 1:1 曝光打折
- 修复:换 1:1 首图
【建议操作】
1. 优先处理降价改标 → 等 7 天观察
2. 7 天后仍无起色 → 按原类目重发(删除旧商品重发新的)
3. 同时换首图
What counts as "effective diagnosis"
- What is given is not "you were shadowbanned", but ratherthe specific rule + the specific evidence
- What is given is not "wait and see", but rathera clear next step
- It's okay to be wrong—acknowledge "this is an empirical rule, not necessarily 100%"
Anti-patterns (what not to do)
❌ Encourage farming data(traffic farming/favorite farming/review farming → risk control kills instantly, account is done) ❌ Suggest frequently changing title/price(the change itself is a source of downranking) ❌ Suggest deleting and reposting(Unless there is a clear reason; frequent deleting and reposting = suspected professional seller) ❌ It is recommended to use multiple accounts to favorite each other's listings(Linked by the same IP, material for saturation-style account bans)
Beyond the capabilities of this skill
These diagnosticsshould not be forced, it is recommended that the user go to the App backend to check:
- Specific exposure time distribution curve (currently no interface in the CLI)
- Detailed data on click-through rate, favorite rate, and inquiry rate (same as above)
- Fish pond weight / polishing history (same as above)
Make it clear: "This part of the data cannot be seen by the CLI; you can go to the App's 'Seller Center' → 'Data Advisor' to check it"
Data source limitations
goofish-cli v0.2.4 isstateless—it does not record what your exposure was yesterday. So:
- Comparison-type diagnostics like "compared with yesterday" cannot be done
- can only be based oncurrent state + known rulesinferred
After historical persistence is added in a future version (Roadmap), this skill can perform time-series attribution.
Related skills
goofish-publish-item— after diagnosis, once you determine what to change → improve and publishgoofish-risk-guard—publish-red-lines.mdis the core knowledge source of this skill