Skip to main content

qianniu-listing

Taobao/Tmall 千牛 listing (商品) CRUD via the Excel bulk round trip — 商品管理 → 更多批量操作 → excel商品批量导出 (export) → edit the workbook → excel商品批量编辑 / 批量导入 (import). One round trip creates/edits many 商品 at once (price, stock, title, attributes). Load before any browser-use action that lists, edits, prices, restocks, or bulk-updates 商品 on a 千牛 store. Prefer this bulk flow over per-item clicking; the single-item 发布商品 wizard is the fallback. Requires qianniu-shared for login + navigation.

Zur Installation springen

Quellinformationen

Repository
zpoint/vibe-seller
Letzte Quellaktivität
3. Juli 2026 um 16:13
Erkannte Sprache von SKILL.md
Englisch
Sterne
83
Forks
19

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
3 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
qianniu-listing
description
Taobao/Tmall 千牛 listing (商品) CRUD via the Excel bulk round trip — 商品管理 → 更多批量操作 → excel商品批量导出 (export) → edit the workbook → excel商品批量编辑 / 批量导入 (import). One round trip creates/edits many 商品 at once (price, stock, title, attributes). Load before any browser-use action that lists, edits, prices, restocks, or bulk-updates 商品 on a 千牛 store. Prefer this bulk flow over per-item clicking; the single-item 发布商品 wizard is the fallback. Requires qianniu-shared for login + navigation.
allowed-tools
Bash(browser-use:*)
requires
["qianniu-shared"]
# Qianniu (Taobao/Tmall) — Listing CRUD (Excel bulk round trip) > **PREREQUISITE:** `../qianniu-shared/SKILL.md` (chrome login is a HUMAN > step; the popup-close rule; page map; per-store download dir; GB18030 CSV; > the 0.13 heredoc CLI + `cdp()`-not-in-`js()` gotcha). 千牛 **商品管理** has a first-class **Excel bulk** surface — the batch equivalent of the per-item 发布/编辑 wizard, and the default for touching more than one 商品. Entry point (verified live 2026-07-03): 商品管理 (`https://myseller.taobao.com/home.htm/SellManage/on_sale`) → **更多批量操作** → | Menu item | Purpose | |---|---| | **excel商品批量导出** | **download** the selected/all 商品 as an `.xlsx` workbook | | **excel商品批量编辑** | download the editable workbook (edit → re-upload) | | **批量导入** | **upload** the edited workbook to apply changes | | 批量编辑商品属性 / 批量设置运费 | scoped batch edits (attributes / shipping) | ## Work it like a human: export → inspect → edit → import → verify The workbook's exact columns are **category-specific and change over time** — do NOT hardcode them. Run the loop a human runs (same philosophy as `amazon-listing`): 1. **Export a fresh workbook** (`excel商品批量导出`) for the target 商品. It lands in `~/.vibe-seller/downloads/<slug>/`. 2. **`inspect` it** — `listing_bulk.py inspect WORKBOOK.xlsx` dumps the header row + the columns actually present (商品ID, 商品标题, 价格, 库存, the SKU sub-table, etc.). The header names are the ground truth, not this doc. 3. **`fill`** — set values **by header name** for the rows you're changing (`listing_bulk.py fill … --spec spec.json --out out.xlsx`). Touch only the columns you mean to change; leave the rest as exported. 4. **Import** the edited workbook (`批量导入`) — **a WRITE; only after the user has reviewed the diff.** Then read the import result. 5. **Verify on the source of truth, not the submit toast:** re-open 商品管理 (or the 商品 detail) and confirm the change landed. Import results also surface a per-row success/failure list — read it and fix exactly the rows/ fields it flags, then re-import (self-correct loop). > **Read-only vs write.** Export + inspect + verify are reads. **Import > (`批量导入`) is a write** — surface the intended change for the user to > review before uploading; never auto-import. ## The script ```bash S=<skills>/qianniu-listing/scripts PY=<project-venv>/bin/python3 # needs openpyxl ``` - **`listing_bulk.py`** — header-keyed Excel round-trip helper (locale-robust: keys by the export's own column headers, never by position): - `inspect WORKBOOK.xlsx` — find the header row, dump every column name + the row count; flags the identity column (商品ID/宝贝ID) and the SKU sub-table. - `fill WORKBOOK.xlsx --spec SPEC.json --out OUT.xlsx` — for each spec row (matched by 商品ID), set the named columns; preserve every other cell verbatim so the import only changes what you intended. - `parse-import RESULT.xlsx` — summarise the import result workbook into per-row 成功/失败 + the failure reason (the self-correct signal). `SPEC.json` shape (values keyed by the workbook's **own** header names, from `inspect`; use realistic placeholders — never a real 商品ID/SKU/brand): ```json { "rows": [ { "商品ID": "600000000001", "fields": { "价格": "199.00", "库存": "50" } }, { "商品ID": "600000000002", "fields": { "价格": "89.00" } } ] } ``` ## Single-item fallback For a one-off change with no bulk column, use the UI: 商品管理 → the row's 编辑, or 发布商品 for a new 商品 (a multi-step wizard). Drive it with the 0.13 CLI (`click_at_xy` after a screenshot; `js(...)` to read state) per `qianniu-shared`. Still a **write** → user review first. ## What this skill is NOT - Not ads — that's `qianniu-ads` (万相台无界). - Not 生意参谋 (sycm) retail reports — a separate concern (no skill ships for it yet). - Never auto-imports or publishes; the human reviews every write.
Auf GitHub ansehen