anti-seo-researcher

Anti-SEO deep consumer research tool. When a user wants to buy a product or make a consumer decision, use this Skill. Automatically detects user language and adapts to regional platforms and search strategies. Works with or without web_search — gracefully degrades to built-in Bing scraping when web_search is unavailable.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "anti-seo-researcher" with this command: npx skills add AmosHc/anti-seo-researcher

Anti-SEO Deep Consumer Researcher

Detailed rules, scoring criteria, and category examples: see references/SKILL_REFERENCE.md

Tool Availability & Graceful Degradation

This skill works best with web_search + web_fetch, but web_search is optional. If your environment does not have web_search available (e.g., no API key configured), the skill will automatically degrade to use built-in Bing scraping scripts instead.

Detection (run at skill startup)

At the very beginning, before any research steps, determine which search mode to use:

  1. Full mode (preferred): If web_search tool is available in your environment, use it directly for all search operations as described in the workflow below.
  2. Fallback mode: If web_search is NOT available (tool missing, API key not configured, or returns errors), use the built-in fallback script for ALL search operations:
# Instead of: web_search("电竞椅 推荐 避坑 2025")
# Use:
python scripts/web_search_fallback.py "电竞椅 推荐 避坑 2025" --count 10 --days 365

# Instead of: web_search("site:reddit.com office chair review")
# Use:
python scripts/web_search_fallback.py "office chair review" --site reddit.com --count 10

# Multi-site search (searches each site independently):
python scripts/web_search_fallback.py "电竞椅 推荐" --sites zhihu.com,v2ex.com,smzdm.com --count 5

# Search + fetch content in one call (reduces round trips):
python scripts/web_search_fallback.py "电竞椅 避坑" --count 10 --fetch-content --fetch-limit 3

The fallback script uses DuckDuckGo HTML search as the primary engine (most reliable, no captcha), with Bing HTML as automatic fallback — zero API keys needed. It outputs the same JSON format as web_search results.

Fallback Mode Workflow Adjustments

When in fallback mode, apply these adjustments throughout the entire workflow:

Original (Full Mode)Fallback Mode Replacement
web_search("query")python scripts/web_search_fallback.py "query" --count 10
web_search("site:xxx.com query")python scripts/web_search_fallback.py "query" --site xxx.com
Step 2c: AI uses web_search for forum searchesUse platform_search.py with --dual-window --append-year flags
Step 4.5: AI uses web_search for safety eventsUse deep_dive_search.py with --safety-only flag, OR web_search_fallback.py

Important: web_fetch is STILL used normally in fallback mode for fetching specific page content. Only web_search is replaced.

All other steps (credibility scoring, conflict resolution, brand scoring, report generation) work identically in both modes — they process search results regardless of how those results were obtained.

Architecture Overview

Language Detection → AI Category Adaptation → AI Multi-layer Search (forum posts + e-commerce reviews + social comment sections) → Script Scoring → AI Semantic Analysis → Dynamic Multi-dimensional Scoring → Report

  • Language & Region Layer: Detect user's language from query, generate region-specific platform config, search templates, and keyword dictionaries
  • Category Layer: AI generates category_profile JSON (evaluation dimensions/weights/pain point keywords/safety risks/platform weights/e-commerce search strategy)
  • Search Layer (3-tier data sources):
    • L1 E-commerce Review Layer (highest priority): Indirect search for real buyer reviews (e.g., Amazon reviews, JD follow-up reviews, depending on region)
    • L2 Social Comment Section Layer (second priority): Search for "debunking" feedback in comment sections of promotional posts
    • L3 Forum Post Layer (traditional): AI uses web_search (or web_search_fallback.py when web_search is unavailable) + site: for targeted community searches
  • Scoring Layer: credibility_scorer.py (regex pre-filter + category signal injection + data source tier weighting) → ai_credibility_analyzer.py (AI deep analysis for gray zone 30-85 scores)
  • Multi-dimensional Scoring: brand_scorer.py (dimensions/weights from profile, safety capping is category-adaptive)
  • Report Layer: generate_report.py (dynamic table headers + data source distribution stats, from profile dimension definitions)

Multi-language & Multi-region Adaptation

Core Principle: This tool adapts to any language and region. The AI detects the user's language from their query and generates ALL region-specific configurations dynamically in the category_profile.

Language Detection Rules

  1. Detect the language of the user's query (Chinese, English, Japanese, Korean, etc.)
  2. Infer the target market/region from context (e.g., Chinese query → China market; English query about "best vacuum" → likely US/UK market; Japanese query → Japan market)
  3. ALL subsequent search queries, keywords, and report text MUST match the detected language and region
  4. If the user explicitly mentions a region (e.g., "available in the UK", "sold on Amazon Japan"), use that region regardless of query language

Regional Platform Mapping

The AI MUST generate appropriate platform configurations based on the detected region. Below are reference mappings (the AI should adapt these based on actual availability and relevance):

China (zh-CN):

TierPlatformsExamples
L1 E-commerceJD.com, Taobao, PinduoduoReview aggregation posts, follow-up reviews
L2 Social CommentsXiaohongshu, Zhihu"Debunking" comments under promotional posts
L3/L4 ForumsV2EX, Chiphell, NGA, Baidu Tieba, SMZDM, Douban, BilibiliCommunity discussions, in-depth reviews

United States / English-speaking (en-US):

TierPlatformsExamples
L1 E-commerceAmazon, Best Buy, WalmartVerified purchase reviews, long-term reviews
L2 Social CommentsReddit, YouTube commentsComment sections debunking sponsored content
L3/L4 ForumsReddit (subreddits), Head-Fi, AVSForum, Wirecutter comments, SlickdealsCommunity discussions, enthusiast reviews

Japan (ja-JP):

TierPlatformsExamples
L1 E-commerceAmazon.co.jp, Rakuten, Kakaku.comPurchase reviews, price comparison reviews
L2 Social CommentsTwitter/X, note.com commentsReal user feedback under promotional content
L3/L4 ForumsKakaku.com forums, 5ch, Price.comCommunity discussions, expert reviews

South Korea (ko-KR):

TierPlatformsExamples
L1 E-commerceCoupang, Naver ShoppingPurchase reviews
L2 Social CommentsNaver Blog comments, InstagramReal feedback
L3/L4 ForumsDC Inside, Naver Cafe, ClienCommunity discussions

Europe (various):

TierPlatformsExamples
L1 E-commerceAmazon (regional), TrustpilotPurchase reviews, trust scores
L2 Social CommentsReddit, YouTube, regional socialComment section feedback
L3/L4 ForumsRegional forums, Reddit (subreddits)Community discussions

Regional Regulatory Authorities

Safety event searches must include the correct regulatory bodies for the target region:

RegionRegulatory Bodies
ChinaSAMR (State Administration for Market Regulation), CFDA
USFDA, CPSC, FTC
EUEFSA, ECHA, national agencies
JapanMHLW, CAA, NITE
South KoreaMFDS, KCA

Regional Marketing Signal Adaptation

Each region has different marketing manipulation patterns. The AI MUST generate region-appropriate marketing signals in category_profile:

China: SEO manipulation keywords (e.g., marketing buzzwords, "zhong cao/ba cao" patterns), fake review indicators, WeChat marketing patterns US/UK: Affiliate link indicators, sponsored content disclaimers, Amazon vine/incentivized review patterns, influencer disclosure signals Japan: Stealth marketing (ステマ) indicators, PR article patterns, affiliate blog signals Universal: Excessive superlatives, zero-defect descriptions, brand-official language repetition

Data Source Tier Strategy

Problem: Over-reliance on search-engine-indexable "post-type" content (forum answers, review articles) where the ad-to-content ratio is high. E-commerce platforms' real purchase reviews and social platforms' comment section feedback have higher information density and higher cost of astroturfing, but are dynamically loaded and cannot be directly indexed by search engines.

Solution: Use indirect search strategies (search for "review compilation posts", "follow-up review summaries", "negative review roundups", etc.) to access e-commerce reviews and comment section data.

Data Source TierSourceCore ValueBase Credibility Weight
L1 E-commerce ReviewsPlatform purchase reviews (indirect)Real buyers with real money, long-term follow-up reviews0.85
L2 Comment SectionsSocial platform comment sections (indirect)Real "debunking" feedback on promotional content0.75
L3 Forum PostsCommunity forums (per region)Enthusiast deep experience, comparisonsUses platform_relevance
L4 Independent PostsQ&A platforms, review sitesSystematic review frameworksUses platform_relevance

Key Constraint: E-commerce review layer and comment section layer searches should account for no less than 30% of total search volume.

Workflow (7 Steps)

Step 1: Interactive Requirements Confirmation

Core Principle: Research cannot be interrupted once started (time-consuming and token-intensive), so requirements must be confirmed before starting. Better to ask one more question than to research in the wrong direction.

Mandatory Confirmation Items (MUST ask user if missing):

  • Target Category: What does the user want to buy? — Never assume the category
  • Budget Range: What is the price range? — Never use a default budget
  • Core Use Case or Pain Point: What is the main purpose? What matters most? — Never assume the need

Conditional Confirmation Items (proactively ask when relevant):

  • When significant version/channel differences exist (e.g., domestic vs. import versions, regional variants) → confirm variant preference
  • When brand preference is apparent → confirm whether to limit to specific brands
  • When user needs are ambiguous → use multiple-choice questions to confirm

Confirmation Format: Use short multiple-choice or open questions, max 3 questions.

After confirmation, output task_config (for reference in subsequent steps):

{
  "category": "category name",
  "budget_min": 2500,
  "budget_max": 3500,
  "currency": "USD",
  "locale": "en-US",
  "core_scenario": "gaming",
  "pain_points": ["cooling", "frame rate stability"],
  "excluded_brands": [],
  "preferred_brands": [],
  "variant_preference": "",
  "special_requirements": []
}

Skip confirmation only if ALL conditions are met:

  1. Category is clear (e.g., "recommend a $200 gaming keyboard")
  2. Budget is clear (has specific numbers or clear range)
  3. Use case is clear (e.g., "for gaming", "for my baby")

Step 1.5: AI Category-Adaptive Analysis

Before searching, generate category_profile JSON, strictly following this Schema:

{
  "category": "<category name>",
  "category_type": "<food|durable_goods|electronics|personal_care|service|other>",
  "locale": "<locale code, e.g. en-US, zh-CN, ja-JP>",
  "language": "<language code, e.g. en, zh, ja>",
  "currency": "<currency code, e.g. USD, CNY, JPY>",
  "evaluation_dimensions": [
    {"name":"dimension name","weight":0.25,"description":"description","key_parameters":["param1"],"data_sources":["source"]}
  ],
  "pain_point_keywords": {"safety":[],"quality":[],"experience":[],"trust":[]},
  "safety_risk_types": {"critical":[],"high":[],"medium":[],"low":[]},
  "platform_relevance": {
    "<platform_key>": <weight 0.0-1.0>,
    "...": "..."
  },
  "regional_platforms": {
    "<platform_key>": {
      "name": "<display name>",
      "site": "<domain>",
      "description": "<role description>",
      "base_weight": 0.8
    }
  },
  "category_positive_signals": [{"pattern_description":"description","regex_hint":"regex","score":15,"label":"label"}],
  "has_variant_issue": false,
  "variant_types": [],
  "variant_search_keywords": [],
  "non_commercial_indicators": [],
  "commercial_bias_sources": [],
  "regulatory_authorities": ["<relevant regulatory bodies for this region>"],
  "marketing_signals": {
    "high_neg": ["<region-specific marketing buzzwords/phrases>"],
    "medium_neg": ["<region-specific promotional patterns>"],
    "low_neg": ["<region-specific clickbait patterns>"]
  },
  "authenticity_signals": {
    "long_term_use": ["<region-specific long-term use phrases, e.g. 'used for 6 months', '半年使用感受'>"],
    "defect_description": ["<region-specific defect/complaint terms>"],
    "purchase_proof": ["<region-specific purchase proof terms, e.g. 'verified purchase', '已购买'>"],
    "time_units": ["<region-specific time expressions>"]
  },
  "ecommerce_search_strategy": {
    "enabled": true,
    "primary_platforms": ["<region-appropriate e-commerce platforms>"],
    "search_templates": {
      "review_aggregation": ["[product] <region-appropriate review search terms>"],
      "negative_reviews": ["[product] <region-appropriate negative review search terms>"],
      "long_term_reviews": ["[product] <region-appropriate long-term review search terms>"]
    },
    "high_value_indicators": ["<region-appropriate follow-up review indicators>"],
    "low_value_indicators": ["<region-appropriate fake/incentivized review indicators>"]
  },
  "comment_section_strategy": {
    "enabled": true,
    "primary_platforms": ["<region-appropriate social platforms>"],
    "search_templates": {
      "debunk_feedback": ["[product] <region-appropriate debunking search terms>"],
      "experience_sharing": ["[product] <region-appropriate real experience search terms>"]
    },
    "high_value_indicators": ["<region-appropriate real comment indicators>"],
    "low_value_indicators": ["<region-appropriate astroturfing comment indicators>"]
  },
  "safety_search_config": {
    "general_keywords": ["<region-appropriate recall/safety terms>"],
    "regulatory_keywords": ["<region-appropriate regulatory terms>"],
    "source_domains": ["<region-appropriate regulatory/news domains>"]
  },
  "report_labels": {
    "recommend": "<region-language recommendation label>",
    "conditional_recommend": "<region-language conditional recommendation label>",
    "caution": "<region-language caution label>",
    "avoid": "<region-language avoid label>",
    "high_credibility": "<region-language high credibility label>",
    "medium_credibility": "<region-language medium credibility label>",
    "low_credibility": "<region-language low credibility label>",
    "suspected_ad": "<region-language suspected ad label>",
    "sufficient": "<data sufficiency label>",
    "mostly_sufficient": "<mostly sufficient label>",
    "insufficient": "<insufficient label>",
    "severely_insufficient": "<severely insufficient label>"
  }
}

Constraints: 3-6 dimensions, max 0.4 weight per dimension, weights sum to 1.0. Platform weights adjusted per category. [product] placeholders in search_templates are replaced with actual product names during search.

CRITICAL: The regional_platforms, marketing_signals, authenticity_signals, ecommerce_search_strategy, comment_section_strategy, safety_search_config, and report_labels fields are ALL dynamically generated by the AI based on the detected locale. They must be in the user's language and appropriate for the user's region. The scripts will read these from the profile and use them instead of hardcoded defaults.

Step 2: Multi-layer Data Source Search (with E-commerce + Comment Section + Result Adaptation)

Search in 3 tiers from highest to lowest data source priority, ensuring high-value sources get priority coverage.

Step 2a: E-commerce Review Indirect Search (L1, ≥15% of total)

E-commerce platform reviews are dynamically loaded — search engines cannot directly index them. Use indirect strategies from ecommerce_search_strategy.search_templates.

Tag results with source_layer: "L1_ecommerce", base_weight: 0.85.

Step 2b: Social Comment Section Indirect Search (L2, ≥15% of total)

Search for real "debunking" feedback in comment sections. Use templates from comment_section_strategy.search_templates.

Tag results with source_layer: "L2_comment_section", base_weight: 0.75.

Step 2c: Forum Post + Independent Post Search (L3/L4, ≤70% of total)

Full mode: Use web_search + site: for targeted searches on platforms from regional_platforms. Fallback mode: Use python scripts/platform_search.py or python scripts/web_search_fallback.py --site [domain] instead.

Search Balance Strategy: 40% neutral + 20% positive + 40% negative.

Dual Time Window: Each search group combines current year (instant window) + no year limit (historical window).

Platform Priority: Sort by platform_relevance weight, skip platforms with weight < 0.2.

Search Keyword Construction (in the user's language):

  • Neutral: [product] [category] review comparison [key_parameters]
  • Positive: [product] [category] long-term use satisfied recommend
  • Negative: [product] [category] [pain_point_keywords.quality/experience/trust]

Search Result Adaptation:

SufficiencyConditionStrategy
SufficientTotal ≥30 AND ≥5 per productProceed normally
Mostly SufficientTotal ≥15 AND ≤1 product underservedSupplement search for underserved product
InsufficientTotal <15 OR multiple products underservedRemove site: restriction, expand time window, add platforms
Severely InsufficientTotal <8Niche category mode: lower scoring thresholds, note data limitations in report
python scripts/platform_search.py "[query]" --adaptive \
    --candidate-products "Product A,Product B,Product C" \
    --category-profile category_profile.json

Step 3: Content Fetching & Analysis

web_fetch to retrieve valuable posts (containing usage duration, multi-person discussion, no marketing keywords in title).

Step 3.5: Category Parameter Structured Extraction

Extract structured parameter tables for candidate products based on evaluation_dimensions[].key_parameters.

Step 4: Dynamic Deep Dive (with E-commerce Review Deep Dive)

Execute negative long-tail searches for high-frequency models, using keywords from pain_point_keywords.

E-commerce review deep dive: For each candidate model, execute additional e-commerce review searches using templates from the profile.

python scripts/deep_dive_search.py --auto-extract results.json --days 730 \
    --category-profile category_profile.json \
    --ecommerce-dive

Step 4.5: Safety Event Search

For each candidate brand, search for safety events across the web. Two-tier classification: general layer (recall/death/removal) + category layer (safety_risk_types). Use keywords from safety_search_config.

python scripts/deep_dive_search.py "[brand]" --days 365 \
    --category-profile category_profile.json

Step 5: Credibility Assessment

python scripts/credibility_scorer.py results.json --v2 --output scored.json --threshold 40 \
    --category-profile category_profile.json

Scoring Architecture: Regex pre-filter → Category signal injection (from profile) → AI semantic analysis (gray zone 30-85) → Weighted fusion

Step 5.5: Evidence Conflict Arbitration

When the same product receives contradictory reviews from different sources:

python scripts/conflict_resolver.py scored.json \
    --category-profile category_profile.json \
    --output conflicts.json

Arbitration rules: Non-commercial sources > commercial sources, long-term feedback > short-term feedback, high credibility > low credibility.

Step 6: Multi-dimensional Scoring

python scripts/brand_scorer.py scored.json \
    --category-profile category_profile.json \
    --safety-results safety.json \
    --output scores.json
ScoreVerdict
≥70Recommend (use report_labels.recommend)
55-69Conditional Recommend (use report_labels.conditional_recommend)
40-54Caution (use report_labels.caution)
<40Avoid (use report_labels.avoid)

Safety Capping: food (threshold 30) > personal_care (25) > electronics (20) > durable_goods (15)

Step 7: Report Generation

python scripts/generate_report.py scored.json \
    --query "[category]" --budget [budget] --pain-point "[pain point]" \
    --category-profile category_profile.json \
    --brand-scores scores.json \
    --output report.md

The report MUST be written in the user's language (as specified by category_profile.language). All section headers, verdicts, labels, and analysis text must match the user's language.

Key Rules (Non-skippable)

  1. Confirm requirements before searching — Budget, category, and use case are all mandatory; ask user if any are missing
  2. Never assume user needs — If user says "recommend a phone" without budget or use case, ask first
  3. Generate category_profile before searching — It is the foundation for all subsequent steps
  4. Search twice — After broad search, always do targeted negative deep dive on high-frequency models
  5. Append year to searches — Include current year and previous year
  6. Negative search ratio ≥40% — Actively search for negatives; finding none means search depth is insufficient
  7. Safety events MUST be searched — Top recommended brands must pass safety event screening
  8. Adapt search results — Expand when insufficient, trim when excessive
  9. High-engagement content needs scrutiny — High upvotes/likes ≠ authenticity (applies to Zhihu, Reddit, etc.)
  10. Prioritize long-term feedback — "Used for 2 years" is 10x more valuable than "just bought, looks great"
  11. Cross-validation is core — Commercial review says good + niche forum complains → trust the latter
  12. Profile is the sole category knowledge source — Script hardcoded values are only fallback
  13. E-commerce review layer is mandatory — Every research must include e-commerce review indirect search (L1), ≥15% of total
  14. Comment section layer is mandatory — Every research must include social comment section search (L2), ≥15% of total
  15. Follow-up reviews > unboxing — Long-term follow-up reviews (3+ months) are far more valuable than unboxing reviews
  16. Comment sections > post body — Real "debunking" feedback in comment sections takes priority over the post's own conclusions
  17. Match user's language throughout — ALL search queries, scoring labels, and the final report MUST be in the user's language

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Research

Blog Writer Pro

博客写作助手。完整文章生成(Markdown输出)、多角度大纲、SEO优化诊断、开头段落、系列文章规划、风格改写、CTA文案。Blog writer with full articles, outlines, SEO analysis, hooks, series planning, rewriting, CTA...

Registry SourceRecently Updated
Research

aliyun-domain

通过阿里云 OpenAPI 管理域名资产,支持域名查询、续费、转移、注册、信息修改等操作。涉及资金操作时需要用户二次确认。同时提供阿里云国内站域名优惠政策咨询,包括注册活动价格、批量注册优惠、转入优惠、续费折扣、优惠口令等。新增域名、建站、备案行业咨询能力,基于 RAG 检索本地知识库(knowledge/ali...

Registry SourceRecently Updated
Research

Meme Coin Scanner

Scan new meme coins for risks and opportunities — honeypot detection, liquidity analysis, holder concentration, and rug pull indicators using DexScreener and...

Registry SourceRecently Updated
Research

Web Search Plus 2.8.6

Unified search skill with Intelligent Auto-Routing. Uses multi-signal analysis to automatically select between Serper (Google), Tavily (Research), Exa (Neura...

Registry SourceRecently Updated