/SKILL.md
# pdd_skills (Pinduoduo PDDAgent) This skill describes how to use **pdd_skills_cli.py** to open the Pinduoduo app, search, parse products and stores, and **fully collect a store by keyword and output CSV**. ## Architecture - **PDDAgent** extends **MobileAgent** and uses **UIAutomator** (backed by **UIAutomatorAndroid**). - CLI entry: `pdd_skills_cli.py`; see `requirements.txt` for dependencies. ## How to run From the repo root or from the `pdd_skills` directory: ```bash python pdd_skills/p
npx skillsauth add samchen2009/pdd_skills pdd_skillsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill describes how to use pdd_skills_cli.py to open the Pinduoduo app, search, parse products and stores, and fully collect a store by keyword and output CSV.
pdd_skills_cli.py; see requirements.txt for dependencies.From the repo root or from the pdd_skills directory:
python pdd_skills/pdd_skills_cli.py <command> [args]
# or
python -m pdd_skills.pdd_skills_cli <command> [args]
You can also run the library module (it delegates to the CLI):
python pdd_skills/pdd_skills.py <command> [args]
| Command | Description |
|---------|-------------|
| open | Open Pinduoduo (optional --stop to stop then start) |
| ensure-search-page | Open Pinduoduo and go to search page (clicks "搜索" if not already there) |
| search KEYWORD | Search inside the app (optional --search-button for button text) |
| dump-products | Parse product list from current page (--limit N, default 10) |
| dump-stores STORE1 [STORE2 ...] -o FILE | Collect multiple stores in sequence and merge into one CSV |
| dump-products-by-list LIST_FILE [-o CSV] | For each row (store, product, price): search store → in-store search product → open detail → share/copy link; output CSV (default *_YYMMDD.csv). List: JSON [{store,product,price}] or text lines store,product,price (price optional). |
--output-csv FILE).--device / -d: Device (Android serial or IP:port); omit for auto-detect.--json: Output full JSON (including ok/result); otherwise only print result or ok.store: Store keyword (required to run full flow).--output-csv: Path to write the structured CSV.--max-products: Max number of products to click when looking for the target store (default 20).--no-new-limit: Stop after this many scrolls with no new content inside the store (default 5).# Open Pinduoduo
python pdd_skills/pdd_skills_cli.py open
# Go to search page
python pdd_skills/pdd_skills_cli.py ensure-search-page
# Search
python pdd_skills/pdd_skills_cli.py search 3CE
# Dump stores
python pdd_skills/dump-stores "3CE" "4DF" -o reports.csv
# Parse products on current page (max 5)
python pdd_skills/pdd_skills_cli.py dump-products --limit 5
Use this helper before running app automation when the device is locked.
app_skills/unlock_phone_screen.pyapp_skills/mocks/hms4_unlock.xml# from repo root
python app_skills/unlock_phone_screen.py --password 123456
# with explicit device
python app_skills/unlock_phone_screen.py --password 123456 --device 192.168.1.8:5555
When store search fails on abnormal pages (for example popup-covered startup page, missing search page, empty result XML), pdd_skills now auto-saves UI screenshots via uiautomator2.
pdd_skills/tmp/debug_screenshots/debug_screenshot: problem=..., file=..., path=...ensure_search_page_failedsearch_result_no_xmlstore_search_not_foundQuick workflow:
debug_screenshot.path.pdd_store logs (search_store, popup close attempts, retries).See requirements.txt (includes mobile_agent, uiautomator_android, etc.).
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.