---
name: vip-report-inventory-monthly
description: 负责抓取 CK Inventory Monthly 报告的 S04-S08 Tableau 视图，并生成与模板 shape 对应的 render-ops。
---

# VIP Report Inventory Monthly

## 范围

- `S04 Overall`
- `S05 Bags`
- `S06 Shoes`
- `S07 Discount & Regular`
- `S08 Subcategory`

## 数据来源

- Tableau workbook：`CK Inventory Monthly Report`
- 来源分组：`tableau_ck_inventory_monthly`
- 配置文件：`C:\Users\niuniu\.codex\vip-report\config.yaml`
  - 使用 `tableau.username`/`tableau.password` 登录 `tableau.charleskeith.cn`
  - 报表周期从 `report.month_cn / report.year / report.compare_year` 读取，CLI 参数可覆盖

## 生成流程

1. 运行 `scripts\sync_inventory_monthly_assets.py`，按 slide 进入对应 Tableau 视图并应用筛选。
2. 生成原始截图后按每个 shape 的 `crop`/`resize_to` 裁切素材，输出到 `assets\inventory-monthly\`。
3. 产出：
   - `C:\workspace\cursor\output\vip-report\render-ops.inventory-monthly.live.json`
   - `C:\workspace\cursor\output\vip-report\data\inventory-monthly\inventory-monthly-assets.live.json`

## 基线锁定（模板一致性）

- 当周期满足 `report_year=2026`、`compare_year=2025`、`report_month=一月` 时，脚本启用模板锁定模式。
- 模板锁定素材路径：`C:\workspace\cursor\output\vip-report\assets\template-lock-s04-s08-s13\`
- 行为：
  - 素材直接复制 `s{slide}_shape{shape_id}.png` 到 inventory 资产目录；
  - `manifest` 中 `source_capture_id/source_view` 标记为 `template-lock`；
  - `render-ops` 不写入 `replace_images`，避免对模板做重复替换导致像素漂移。

## 运行命令

- 同步素材：
  - `powershell -ExecutionPolicy Bypass -File C:\Users\niuniu\.codex\skills\vip-report\bin\vip-report-inventory-monthly-sync.ps1 -Slides S04,S05,S06,S07,S08`
- 指定月份（示例）：
  - `... -ReportMonth 三月 -ReportYear 2026 -CompareYear 2025`

## 验证建议

- 渲染时将本页 `render-ops` 与其他页合并后执行 `vip-report-render.ps1`。
- 视觉一致性优先用逐页导图像素比对；`compare_pptx.py` 仅作为包结构差异参考。
