Install
openclaw skills install @gzbarry1980-bot/sycm-shop-reportGenerate illustrated (chart-rich) Simplified-Chinese .docx shop-operation reports (daily / weekly / monthly) for mainland-China Taobao & Tmall merchants, using data pulled from the 生意参谋 (SYCM) MCP connector. Each invocation must specify a shop name, a report period, and the merchant's own connected 生意参谋 account; the skill does not run on guessed context. Outputs Chinese text and defaults to Asia/Shanghai timezone because the underlying data source (生意参谋 / 千牛 / 万相台) is a mainland-China merchant console. Use ONLY when a merchant explicitly asks for a 日报 / 周报 / 月报 or 经营分析 based on 生意参谋 store data. Do NOT use for generic "make me a report" requests, non-e-commerce analytics, or stores outside the Taobao/Tmall ecosystem.
openclaw skills install @gzbarry1980-bot/sycm-shop-report把生意参谋后台数据做成图文并茂、说人话、带行动建议的中文 Word 报表。日报 / 周报有内置脚本可直接复用,月报按周报模板扩展。
taobao-open-platform MCP 里的生意参谋接口。不做抖音 / 拼多多 / 京东 / Shopify 报表。用户说「做{{某店铺}}的日报 / 上周周报 / 上月月报」,且明确要基于生意参谋数据。模糊请求(如「随便做份报告」「跟上次的样式再来一份」但未指定店铺与周期)不触发,需要先问清楚。
docx@9.x。运行 docx 脚本时设 NODE_PATH 指向 npm root -g(Windows 常为 %APPDATA%\npm\node_modules)。matplotlib。中文字体用 Microsoft YaHei(无则换系统任一 CJK 字体,改 JSON 里的 font 字段)。taobao-open-platform MCP 已连接并授权到用户自己的店铺账号(本技能不携带任何凭证、不外发数据)。本技能由三个脚本协作完成一份报表,每个脚本单独看职责都很窄、组合起来才端到端:
| 步骤 | 脚本 | 只负责 | 不负责 |
|---|---|---|---|
| 1 | agent 自己 | 从生意参谋 MCP 取数 → 写 JSON 数据文件 | 任何渲染 |
| 2 | scripts/build_*_charts.py | 读 JSON → 输出 PNG 到 <output_dir>/<charts_subdir>/ | 不取数、不写 docx |
| 3 | scripts/build_*_report.js | 读 JSON + 已生成的 PNG → 输出 .docx 到 <output_dir>/ | 不取数、不调 MCP |
所以:单个脚本文件里看不到「端到端生成报表」的全部逻辑,是设计如此。SKILL.md 描述的完整能力由这三步协作实现。
- [ ] 1 确认店铺名、周期、基线日期(缺项先反问,不猜)
- [ ] 2 从生意参谋 MCP 取数(含同比区间)
- [ ] 3 校验:环比双向核对、去重/累加差异、异常字段
- [ ] 4 把数据填进 JSON(只改 JSON,不碰脚本)
- [ ] 5 跑图表脚本 → PNG(会创建/覆盖 output_dir 下图表文件)
- [ ] 6 跑 docx 脚本 → .docx(会创建/覆盖 output_dir 下同名报表文件)
- [ ] 7 OOXML 校验 + 抽数字复核
- [ ] 8 交付(present_files)+ 简述结论与风险
Step 1 确认参数。先 date 拿准今天。日报=昨天;周报=上周一至上周日;月报=上一自然月。同比基线:日报对去年同日历日,周报对去年同 ISO 周(52 周对齐、同为周一至周日),月报对去年同自然月。
Step 2 取数。用 qwenwork_mcp_tool_get 拿 schema、qwenwork_mcp_tool_call 调用。核心接口与参数字段映射见 references/data_contract.md。至少取:流量看板概览 + 趋势、自定义对比看板(拉同比区间)、流量来源构成(含同比)、店铺绩效(同行同层 avg/exc)、商品排行。
Step 3 校验(不可跳)。① 环比:接口 cycleCrc 与趋势接口原值双向核对。② 去重 vs 累加:周/多日访客去重值 ≠ 各日累加值,报告须标注口径。③ 异常字段:发现自相矛盾即剔除并记录。
Step 4 填数据 JSON。复制 scripts/daily_data.example.json(或 weekly_data.example.json)为同目录 daily_data.json / weekly_data.json,把真实取到的数字与叙事填进去,改 shop_name、output_dir、period。只改 JSON,不碰脚本。
⚠️ example JSON 里的数值都是合成 DEMO 假数据(店铺名「示例店铺DEMO」、所有数字全 9 或按量级随机),仅用于演示 JSON 结构,绝不代表任何真实店铺业绩。真实报表必须走 Step 2 现取数据再填。
Step 5-6 生成。
python scripts/build_daily_charts.py # 或 build_weekly_charts.py
NODE_PATH="<全局 node_modules>" node scripts/build_daily_report.js # 或 build_weekly_report.js
写入行为提示:Step 5 会在 <output_dir>/<charts_subdir>/ 下创建或覆盖同名 PNG;Step 6 会在 <output_dir>/ 下创建或覆盖同名 .docx。建议给每份报表单独开目录,或用带日期的命名规范避免撞车。
Step 7 校验。
PYTHONUTF8=1 python "<docx 技能>/toolkit/ooxml/audit.py" 输出.docx
无 LibreOffice 时不做逐页渲染;改为 audit 通过 + 解压 docx 后 grep 关键数字逐项复核。
Step 8 交付。用 qwenwork_file_present_files 给出文件,正文简述核心结论 + 风险 + 行动项。
{店铺名}-店铺经营日报-YYYY.MM.DD.docx;周报 …周报-YYYY.MM.DD-MM.DD.docx;月报 …月报-YYYY.MM.docx。存到用户指定 output_dir。
taobao-open-platform MCP 拉店铺经营指标(无客户 PII、无订单收货信息、无凭证)。output_dir 下的 PNG 与 docx,不写其他路径。npm i -g / pip install 只在首次环境自检时按 references 提示建议用户手动执行。