Files
yixiong-claude-marketplace/plugins/huanxi/skills/huanxi-weekly/SKILL.md
T

132 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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`
- 每个模块独立提交,有多个模块时逐一处理
- 撤回后可重新编辑,不影响当前状态