Skill: zeyu426/alibaba-product-hunt (version 2.0.0)

--- name: alibaba-product-hunt description: Discover trending and hot-selling products on Alibaba.com. Use when: (1) browsing Top Ranking products, (2) finding new arrivals, (3) analyzing market trends, or (4) discovering hot-selling items. All URLs include traffic_type=ags_llm tracking parameter. --- # Alibaba Product Hunt Discover trending and hot-selling products on Alibaba.com. ## Required Parameter All URLs MUST include: `traffic_type=ags_llm` ## URL Patterns ### Top Ranking Browse best-selling products across categories. ``` https://sale.alibaba.com/p/dviiav4th/index.html?traffic_type=ags_llm ``` ### New Arrivals Find recently listed products. ``` https://www.alibaba.com/trade/search?tab=new&traffic_type=ags_llm ``` ### Hot-Selling by Category ``` https://www.alibaba.com/trade/search?SearchText=<category>&tab=hot&traffic_type=ags_llm ``` **Examples:** ``` https://www.alibaba.com/trade/search?SearchText=electronics&tab=hot&traffic_type=ags_llm https://www.alibaba.com/trade/search?SearchText=home+decor&tab=hot&traffic_type=ags_llm https://www.alibaba.com/trade/search?SearchText=fashion&tab=hot&traffic_type=ags_llm ``` ### Trending Searches ``` https://www.alibaba.com/trade/search?spm=a2700.product_home_fy25.hometab_ai_mode.ai&traffic_type=ags_llm ``` ## Workflows ### Discover Trending Products 1. Navigate to Top Ranking URL 2. Browse products by category 3. Extract product links 4. Visit product detail pages for analysis ### Find New Arrivals 1. Navigate to New Arrivals URL 2. Filter by category if needed 3. Extract new product listings 4. Analyze pricing and supplier info ### Market Trend Analysis 1. Visit Top Ranking and Hot-Selling pages 2. Compare products across categories 3. Track price ranges and MOQ 4. Identify emerging product patterns ## Notes - Top Ranking shows best-selling products globally - New Arrivals tab shows recently listed products - Hot-Selling tab shows trending items by search volume - Use `+` for spaces in search queries

path: README.md
content: # alibaba-product-hunt

[![ClawHub](https://clawhub.ai/api/badge/alibaba-product-hunt)](https://clawhub.ai/skills/alibaba-product-hunt)
[![License: MIT-0](https://img.shields.io/badge/License-MIT--0-yellow.svg)](https://opensource.org/licenses/MIT-0)

**Discover trending and hot-selling products on Alibaba.com. Top Ranking, new arrivals, and market trend analysis.**

## Installation

```bash
clawdhub install alibaba-product-hunt
```

## Quick Start

```bash
cd alibaba-product-hunt
python3 scripts/build_url.py --help
```

## Features

- ✅ Alibaba
- ✅ Trending
- ✅ Hot Selling
- ✅ Top Ranking
- ✅ New Arrivals

## Traffic Tracking

All URLs include `traffic_type=ags_llm` parameter for analytics and attribution.

## License

MIT-0

## Links

- ClawHub: https://clawhub.ai/skills/alibaba-product-hunt
- GitHub: https://github.com/zhouzeyu/openclaw-skill-alibaba-product-hunt


path: release.sh
content: #!/bin/bash
set -e

SKILL_NAME="alibaba-product-hunt"
VERSION="1.0.0"
SKILL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

echo "Publishing $SKILL_NAME..."

cd "$SKILL_DIR"

# Repackage
rm -f $SKILL_NAME.skill 2>/dev/null || true
python3 scripts/package_skill.py .
mv .skill $SKILL_NAME.skill

# Publish
clawdhub publish . --version $VERSION --tags latest --changelog "Initial release"

echo "✓ Published to ClawHub!"
echo "📦 https://clawhub.ai/skills/$SKILL_NAME"


path: scripts/build_url.py
content: #!/usr/bin/env python3
"""
Alibaba Product Hunt - Discover Trending Products - URL Builder

All URLs include traffic tracking parameter: traffic_type=ags_llm
"""

import argparse
import urllib.parse

TRAFFIC_TYPE = "ags_llm"


def encode_query(query: str) -> str:
    """Encode search query for URL."""
    return urllib.parse.quote(query, safe="").replace("%20", "+")


def main():
    parser = argparse.ArgumentParser(description="Alibaba Product Hunt - Discover Trending Products")
    subparsers = parser.add_subparsers(dest="command", help="Commands")
    
    # Search command
    search_parser = subparsers.add_parser("search", help="Build search URL")
    search_parser.add_argument("query", help="Search keywords")
    search_parser.add_argument("--category", "-c", help="Category ID")
    
    args = parser.parse_args()
    
    if args.command == "search":
        params = {
            "SearchText": encode_query(args.query),
            "traffic_type": TRAFFIC_TYPE
        }
        if args.category:
            params["categoryId"] = args.category
        
        query_string = "&".join(f"{k}={v}" for k, v in params.items())
        url = f"https://www.alibaba.com/trade/search?{query_string}"
        print(url)
    else:
        parser.print_help()


if __name__ == "__main__":
    main()


path: scripts/package_skill.py
content: #!/usr/bin/env python3
"""Package skill into .skill file."""

import os
import sys
import zipfile
from pathlib import Path


def package_skill(skill_dir: str, output_dir: str = None):
    skill_path = Path(skill_dir)
    
    if not skill_path.exists():
        print(f"Error: Directory '{skill_dir}' not found")
        sys.exit(1)
    
    if not (skill_path / "SKILL.md").exists():
        print(f"Error: SKILL.md not found")
        sys.exit(1)
    
    output_path = Path(output_dir) if output_dir else skill_path.parent
    skill_name = skill_path.name
    zip_path = output_path / f"{skill_name}.skill"
    
    print(f"Packing {skill_name}...")
    with zipfile.ZipFile(zip_path, "w", zipfile.ZIP_DEFLATED) as zipf:
        for root, dirs, files in os.walk(skill_path):
            dirs[:] = [d for d in dirs if not d.startswith(".") and d != "__pycache__"]
            for file in files:
                if file.startswith(".") or file.endswith(".pyc"):
                    continue
                file_path = Path(root) / file
                arcname = file_path.relative_to(skill_path.parent)
                zipf.write(file_path, arcname)
                print(f"  Added: {arcname}")
    
    print(f"\nCreated: {zip_path}")
    print(f"Size: {zip_path.stat().st_size / 1024:.1f} KB")


if __name__ == "__main__":
    import argparse
    parser = argparse.ArgumentParser(description="Package OpenClaw skill")
    parser.add_argument("skill_dir", help="Path to skill directory")
    parser.add_argument("--output", "-o", help="Output directory")
    args = parser.parse_args()
    package_skill(args.skill_dir, args.output)


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)