--- name: huanxi-report description: "寰汐员工日报工作流:查看今日日报状态(+check)、保存草稿(+draft)、提交日报(+submit)、撤回日报(+withdraw)。当用户说"帮我写日报"、"填日报"、"提交日报"、"查看今日汇报情况"时触发。" --- # 寰汐员工日报 **前置条件:先 Read `../huanxi-shared/SKILL.md`(缓存规则 + TTL 策略)** --- ## 标准工作流(完整流程) ``` Step 0: 确认身份 → Read ~/.claude/huanxi-cache/me.json(永久缓存) → 若 me.json 为空:mcp__huanxi__user_get_me() → 写入缓存 Step 1: 检查是否工作日 → 查 workdays.json["今日日期"] → 未缓存:mcp__huanxi__system_get_workday() → 追加写入 workdays.json → 非工作日:告知用户,询问"是否仍要填写?"(不强制中断) Step 2: 查看今日日报状态 → mcp__huanxi__report_get_today() → submitted → 告知"今日已提交",询问是否撤回 → draft/empty → 继续 Step 3 Step 3: 获取待汇报任务并收集内容 → mcp__huanxi__report_get_tasks_to_report() → 展示待汇报任务列表(task_id, name, 模块, 当前进度) → 引导用户逐一填写今日进展和完成百分比 → 详见 references/report-draft.md Step 4: 保存草稿并展示初稿 → mcp__huanxi__report_save_draft(items=[...]) → 展示完整初稿内容供用户预览 Step 5: 询问是否 AI 润色 → 询问用户:"是否需要 AI 润色优化表达?" → 用户同意 → mcp__huanxi__llm_polish_report(content=<初稿内容>) → 展示润色后版本,与初稿对比 → 用户选择采用润色版或保留原版 → 若采用润色版:mcp__huanxi__report_save_draft(items=[...]) 更新草稿 → 用户拒绝 → 直接进入 Step 6 Step 6: 确认并提交 → 展示最终内容,等待用户明确确认("确认"/"提交"/"好的"等) → ⚠️ 未收到确认前,禁止调用 report_submit_item → 用户确认后: a. mcp__huanxi__report_get_today() → 获取各条目的 item_id b. 对每个需提交的草稿条目 → mcp__huanxi__report_submit_item(item_id) c. 逐条提交,不影响其他条目 → 详见 references/report-submit.md ``` --- ## Shortcuts | 指令 | 说明 | |------|------| | [`+check`](#check) | 查看今日日报状态(已提交/草稿/空) | | [`+draft`](references/report-draft.md) | 读取待报任务并保存草稿 | | [`+submit`](references/report-submit.md) | 提交当天日报(必须先确认) | | `+withdraw` | 撤回已提交日报(询问确认) | --- ## +check:查看今日状态 {#check} ``` 1. mcp__huanxi__report_get_today() 2. 展示: - 提交状态(submitted / draft / 未填) - 已填任务列表及内容摘要 - 未填/dismissed 任务 3. 若已提交:询问"是否需要撤回修改?" 4. 若草稿:询问"是否继续编辑并提交?" ``` --- ## +withdraw:撤回日报 ``` 1. mcp__huanxi__report_get_today() → 获取各条目状态和 item_id 2. 展示已提交的条目列表,询问用户要撤回哪条(可多选) 3. 等待用户确认(撤回后该条目变为草稿,其他已提交条目不受影响) 4. 对用户选择的每条 → mcp__huanxi__report_withdraw_item(item_id) 5. 告知撤回成功,可重新编辑后用 report_submit_item 重新提交 ``` --- ## 关键约束 - **禁止自动提交**:Step 6 必须展示内容并等待用户明确确认("确认"/"提交"/"好的"等),不得自动调用 `report_submit_item` - **逐条操作,不做全量**:提交/撤回必须使用 `report_submit_item` / `report_withdraw_item`(需传 item_id),禁止批量操作所有条目,除非用户明确要求"全部提交/撤回" - **dismissed 状态**:用户主动标记"今天不汇报该任务",dismiss 的条目不计入汇报,不要提示用户补填 - **非工作日**:检测到非工作日时,明确告知但不中断,询问用户意愿 - **已提交则不重复操作**:Step 2 发现已提交时,不继续 Step 3-6,改为询问是否撤回