chore: sync before memory update

This commit is contained in:
SkyJourney
2026-05-01 12:04:12 +08:00
parent 1b3ae007ee
commit 0c46ed0306
22 changed files with 1850 additions and 20 deletions
@@ -0,0 +1,131 @@
---
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.json24h 缓存)
→ 若过期: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=[<leader 模块的 ID 列表>]
)
→ 返回:各模块的现有草稿状态
Step 3: 逐日拉取本周负责人日报
→ 计算本周日期范围(周一到今日,YYYY-MM-DD 格式列表)
→ 对每个日期逐一调用:
mcp__huanxi__leader_report_get_batch(
date=<单个日期>,
module_ids=[<leader 模块的 ID 列表>]
)
→ 汇总所有日期的返回数据
→ 展示:本周每日负责人日报记录(含各日进展摘要 + 下属提交情况)
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`
- 每个模块独立提交,有多个模块时逐一处理
- 撤回后可重新编辑,不影响当前状态
@@ -0,0 +1,97 @@
# 周报草稿(+draft,仅限模块负责人)
## 数据来源
周报草稿基于**本周负责人日报汇总**(`leader_report_get_batch` 返回值),而非员工个人日报。
| 数据 | 来源 | 说明 |
|------|------|------|
| 本周每日负责人日报 | `leader_report_get_batch(date列表, module_ids)` | 含各日的模块进展 + 下属提交情况摘要 |
| 现有周报草稿 | `weekly_report_get_batch(year, week, module_ids)` | 已填写的草稿(若有) |
---
## 草稿生成步骤
```
Step 1: 解析本周负责人日报数据
→ 按日期排列,提取每日:
· 模块整体进展
· 团队成员提交情况
· 遇到的问题与风险
Step 2: AI 基于负责人日报起草 content(本周总结):
- 提炼本周模块核心进展(任务推进 + 里程碑)
- 汇总团队整体情况
- 列出本周识别的问题与应对
Step 3: AI 起草 next_week_plan(下周计划):
- 基于本周未完成项和下周目标
- 结合用户补充的计划
Step 4: 展示草稿给用户审阅修改
Step 5: 用户确认后逐模块保存:
mcp__huanxi__weekly_report_save(
module_id = "<模块ID>",
year = <ISO year>, ← 注意:ISO year,不是日历年
week = <ISO week>,
content = "<本周总结>",
next_week_plan = "<下周计划>"
)
```
---
## 内容格式建议(负责人视角)
**content(本周总结):**
```markdown
## 本周模块进展
- **[任务A]** 完成 XX 功能开发,进度推进至 80%(负责人:张三)
- **[任务B]** 完成接口联调,已提测(负责人:李四)
## 团队提交情况
本周全员提交日报,无缺报。
## 问题与风险
- [周三] 第三方接口超时问题,已升级厂商处理,预计周一恢复
## 本周总体评估
整体按计划推进,无阻塞性风险。
```
**next_week_plan(下周计划):**
```markdown
- [任务A] 目标完成剩余 20% 并提测
- [任务B] 协助测试团队完成验收
- 启动 [新需求] 的技术调研
```
---
## 已有草稿处理
`weekly_report_get_batch()` 中该模块已有草稿(非 empty):
- 展示现有草稿内容
- 询问:"是在此基础上修改,还是基于本周负责人日报重新生成?"
- 基于用户选择执行对应操作
---
## 多模块处理
```
for module in leader_modules:
1. 提取该模块的 leader_report_batch(本周各日记录)
2. AI 生成草稿(content + next_week_plan
3. 展示给用户确认/修改
4. weekly_report_save(module_id=module.id, year, week, ...)
5. 告知:模块 "{module.name}" 草稿已保存 ✅
所有模块草稿完成后:统一展示,询问是否提交
```