lark-comment-looplisted
Install: claude install-skill aaronartistzhang-afk/DailyWork
# 飞书文档评论闭环(lark-comment-loop)
拉一篇 docx 的未解决评论 → 按时间过滤到"今天的" → 归类 → **编号 propose 等确认** →
确认后逐条最小半径落改 → 逐条回复说明改法 → 按模式决定是否 resolve → 大改提议新版本。
**两条线规矩相反,别弄反**:
- **PRD 迭代线** = 改完 **resolve**(模式 `resolve`;writing-prds 委托本 skill 时显式传)。
- **数据报告线** = 只回复**不 resolve**(模式 `reply-only`,本 skill **默认**——更安全)。
**铁律**:propose-first——落改前一律先出编号清单等用户确认,绝不确认前动文档。
## 关键前置事实
- 飞书评论 API **无服务端时间过滤**:`file.comments list` 不接受 since/until 参数,
"只看今天"必须**拉全量后客户端按 `create_time` 过滤**(本 skill 的核心新增逻辑)。
- `create_time` 是 **epoch 秒**(字符串)。"今天 0 点"按**本机时区**算。
- 编辑 docx 正文的机制与坑(相对路径 @file、整表 block_replace、@人 cite)见
`~/.claude/skills/writing-prds/lark-editing.md`——本 skill 只管评论回路,正文落改照那份。
- lark-cli 版本注记:1.0.52 skills 与 1.0.60 binary 不同步、1.0.65 可升——**本波不升级**,
遇命令行为异常先核 `lark-cli skills read lark-doc` 拿当前 schema,不要自行升级。
## 七步流程
### 1. 输入解析
- **文档**:接受 docx `token` 或完整 URL(URL 取 `/docx/` 后那段 token)。`file_type` 固定 `docx`。
- **`--since`**:默认**今天 0 点**(本机时区)。用户给别的("这周""昨天起")就换算成 epoch 秒。
取今天 0 点 epoch:
```bash
SINCE=$(date -v0H -v0M -v0S +%s) # macOS BSD date;本机时区
```
- **模式**:`resolve | reply-only`,**默认 `reply-only`**。writing-prds 场景显式传 `resolve`。
- **可选 `--verify`**:跑完派 codex 逐条核对闭环(见第 7 步)。
### 2. 拉取 + 客户端时间过滤
```bash
# 拉全部未解决评论(分页拉全)
lark-cli drive file.comments list \
--params '{"file_token":"<docx_token>","file_type":"docx","is_solved":false}' \
--page-all
```
拉回后**客户端**按 `create_time >= SINCE` 过滤(API 无服务端过滤):
```bash
# 上一条命令的 JSON 存为 comments.json,SINCE 为今天 0 点 epoch
jq --arg sin