param-xlsx-synclisted
Install: claude install-skill CookiesHaha/ash-claude-skills
# param 表更新工作流(xlsx → md)
## 适用场景
- "把这个 xlsx 转成 md,更新 param_xxx.md"
- "对比一下 param 表和 workstation-review,看有没有不一致"
- "我在 xlsx 里用删除线标了要删的记录,帮我处理"
- "把这次改动记录到 param_change_history.md"
## 定位
处理**结构化设备参数表**(机器人/容器/货架/充电桩/工作站等)从 Excel 到 Markdown 数据文件的同步,典型用于 HPS3/HPC 等产品线选型算法的数据源维护(如 `business-flow-config-design.md` 类文档 §4 会直接引用这些 param 表)。不负责 PRD 正文撰写,那是 write-a-prd / lark-workflow-prd-sync 的职责——如果 param 更新最终要反映到 PRD 正文,本 skill 只把结论准备好,落到哪份规格文档由用户决定。
## 前置
- Python3 + `openpyxl`(读取带样式的 xlsx,用于识别删除线)+ `pandas`(转 Markdown 表格,`to_markdown` 依赖 `tabulate`)
- 目标 `.md` 文件已存在且是「## sheet名」分节结构(按 sheet 名对齐替换整个分节,不做逐行 diff 合并)
- lark-cli(Step 4 同步飞书 `param_change_history` 文档时需要;参考 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md) 做认证)
- 项目里需要知道 `param_change_history` 对应的飞书文档 token/URL(通常记在本地 `param_change_history.md` 的 frontmatter,或直接问用户要)
## 固定四步流程
```
Step 1: xlsx → md(清除删除线记录)
│
▼
Step 2: 与规格文档(workstation-review 等)逐条比对差异
│
▼
Step 3: 整理更新清单 → 用户审批 ──[驳回/修改]──┐
│ │
[批准] │
│◄─────────────────────────────────────────┘
▼
写入 param_hps3.md / param_hps5.md(或对应 HPC 文件)
│
▼
Step 4: 变更记录写入本地 param_change_history.md + 同步 append 到飞书对应文档
```
**关键约束:Step 1/2 只做只读分析,不修改任何 param_*.md。只有 Step 3 用户明确批准后,才允许写入。** 这是与 v1.0 版本最大的区别——旧版本在生成差异后即直接写入,新版本强制过一道人工审批闸门再落盘。
---
## Step 1 — xlsx → md:清除所有带删除线的记录
不能只用 `pandas.read_excel`(会丢失删除线等格式信息)。用 `openpyxl.load_workbook(path, dat