--- name: huanxi-weekly description: "寰汐周报工作流(仅限模块负责人):查看本周周报状态(+check)、基于本周负责人日报 AI 汇总草稿(+draft)、提交周报(+submit)、撤回(+withdraw)。当用户说"写周报"、"提交周报"、"本周总结"、"周报进度"时触发。" --- # 寰汐周报(仅限模块负责人) **前置条件:先 Read `../huanxi-shared/SKILL.md`(缓存规则 + TTL 策略)** --- ## 权限说明 **周报只有模块负责人(`my_role == 'leader'`)才需要提交。** 若用户不是任何模块的负责人: - 告知:"您目前不是任何模块的负责人,无需提交周报。" - 建议:若有疑问,可联系管理员确认模块角色。 --- ## ISO 周数规范(重要) 寰汐周报使用 **ISO 8601 标准**: - `year` 字段存 **ISO year**(不是日历年) - 12月底/1月初可能跨年:如 2025-12-29 的 ISO year = 2026(第1周) - Python 获取:`date.isocalendar()` → `(iso_year, week, weekday)` **当前日期 → ISO 周号计算示例:** - 2026-04-13(周一)→ year=2026, week=16 --- ## 标准工作流 ``` Step 0: 确认负责人身份和模块 → Read ~/.claude/huanxi-cache/modules.json(24h 缓存) → 若过期:mcp__huanxi__module_list() → 更新缓存 → 筛选 my_role == 'leader' 的模块列表 → 若列表为空:告知用户无需提交周报,流程终止 → 若有多个 leader 模块:询问"要提交哪些模块的周报?" Step 1: 确定当前 ISO 周号 → 根据今日日期计算 (iso_year, iso_week) → 告知:第 iso_week 周(周一 ~ 周日 日期范围) Step 2: 批量拉取周报草稿 → mcp__huanxi__weekly_report_get_batch( year=iso_year, week=iso_week, module_ids=[] ) → 返回:各模块的现有草稿状态 Step 3: 逐日拉取本周负责人日报 → 计算本周日期范围(周一到今日,YYYY-MM-DD 格式列表) → 对每个日期逐一调用: mcp__huanxi__leader_report_get_batch( date=<单个日期>, module_ids=[] ) → 汇总所有日期的返回数据 → 展示:本周每日负责人日报记录(含各日进展摘要 + 下属提交情况) Step 4: 询问是否 AI 汇总 → 展示本周负责人日报数据后,询问: "是否需要 AI 根据本周负责人日报自动生成周报草稿?" → 用户同意 → AI 基于 leader_report_batch 起草: · content:本周模块整体进展总结 · next_week_plan:下周模块工作计划 → 展示草稿,供用户审阅和修改 → 用户拒绝 → 引导用户手动填写本周总结和下周计划 Step 5: 逐模块保存草稿 → 详见 references/weekly-draft.md → mcp__huanxi__weekly_report_save(module_id, year, week_number, content, next_week_plan) Step 6: 确认并提交 → 展示所有模块最终内容,等待用户明确确认("确认"/"提交"/"好的"等) → ⚠️ 未收到确认前,禁止调用 weekly_report_submit → mcp__huanxi__weekly_report_submit(module_id) ``` --- ## Shortcuts | 指令 | 说明 | |------|------| | `+check` | 查看本周周报状态(草稿/已提交) | | [`+draft`](references/weekly-draft.md) | 基于本周负责人日报 AI 生成草稿 | | `+submit` | 提交周报(必须先确认) | | `+withdraw` | 撤回已提交周报 | --- ## +check:查看本周状态 ``` 1. 确认 leader 模块列表(同 Step 0) 2. 若无 leader 模块:告知无需提交周报 3. mcp__huanxi__weekly_report_get_batch(year, week, module_ids) 4. 展示各模块周报状态: - submitted:已提交,展示摘要 - draft:草稿中,展示已填内容 - empty:未填,建议运行 +draft ``` --- ## +withdraw:撤回周报 ``` 1. 确认 leader 模块(从 modules.json 缓存中取) 2. 若有多个 leader 模块,询问要撤回哪个模块的周报 3. 告知撤回影响(状态变为草稿,可重新编辑),等待用户确认 4. mcp__huanxi__weekly_report_withdraw(module_id) (默认撤回当周;如需撤回历史周:传 year + week_number) 5. 告知成功,可重新编辑后再次提交 ``` --- ## 关键约束 - **仅负责人可提交**:首先检查 `my_role == 'leader'`,非负责人直接告知无需操作 - **禁止自动提交**:`weekly_report_submit(module_id)` 前必须展示全部内容并等待用户确认 - **year 存 ISO year**:高频出错点,必须使用 `isocalendar()[0]`,不要用 `date.year` - 每个模块独立提交,有多个模块时逐一处理 - 撤回后可重新编辑,不影响当前状态