feat: 寰汐插件随 v1.0.0 生产切换升级到 v2 技能组,新增独立管理端插件

huanxi 插件的技能内容从 v1 全面替换为 v2(huanxi-org/huanxi-weekly 等
v1 专属技能下线,新增 huanxi-issue/huanxi-lookup/huanxi-meeting),MCP
连接与 Token 获取方式同步更新为个人中心自助生成。

新增独立的 huanxi-admin 插件(管理端 4 个技能,hxa_ Token,普通员工无需
安装),此前一直卡在"v2 未部署到生产域名前不推送"这条约束,今晚寰汐
v1.0.0 生产切换完成后条件满足。

产物由 huanxi-menagement 仓库 skills/sync_marketplace.py 生成,技能源码
单一真相在该仓库的 skills/,本仓库只接收产物、不手工编辑。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018xxRKMuiGR4wYT3QbwCpDc
This commit is contained in:
SkyJourney
2026-08-22 02:14:34 +08:00
co-authored by Claude Sonnet 5
parent d7aaaf8224
commit 600c0dd323
23 changed files with 786 additions and 1126 deletions
+32 -70
View File
@@ -1,101 +1,63 @@
---
name: huanxi-leader
description: "寰汐负责人日报工作流:查看下属汇报情况(+check)、AI 生成并保存草稿(+draft)、提交负责人日报(+submit)、撤回(+withdraw)。当用户说"查看下属汇报"、"写负责人日报"、"汇总下属情况"、"负责人日报"时触发。"
description: "寰汐负责人日报:查看下属汇报情况、起草模块汇总、批量提交。当用户说「写负责人日报」「模块汇总」「我下属今天报了什么」「谁还没交」时使用。"
---
# 寰汐负责人日报
**前置条件:先 Read `../huanxi-shared/SKILL.md`(缓存规则 + TTL 策略)**
**前置:先读 `huanxi-shared`。**
> ⚠️ **工具调用规范**:执行任何 `mcp__huanxi__*` 调用前,以工具实际注册的参数名和类型为准,本文档示例仅供工作流引导(见 shared 全局约定第 6 条)。
与员工日报是两件事:员工日报是「我做了什么」的条目列表,负责人日报是「我这个模块
整体怎么样」的一段整体内容,**结构不同、接口不同,不要混用**。
---
## 标准工作流(完整流程
## 标准流程
```
Step 0: 确认身份和负责的模块
→ Read ~/.claude/huanxi-cache/me.json(永久缓存)
→ Read ~/.claude/huanxi-cache/modules.json24h 缓存
→ 筛选 my_role == 'leader' 的模块
→ 若有多个 leader 模块,询问用户选择哪个(或所有)
Step 1 leader_report_get(date?, module_ids?)
↓ 一次拿全每个模块的:进度、我这条汇总的现状、**未提交成员名单**、
以及成员们当天各自报了什么(member_reports
↓ 起草素材全在这里,不需要再调别的工具取
Step 1: 获取并展示下属汇报汇总
→ 单模块:mcp__huanxi__leader_report_get_subordinates(date=今日, module_id)
→ 多模块:mcp__huanxi__leader_report_get_batch(date=今日, module_ids=[...])
再按模块逐一展示
→ 展示结构化汇总:
✅ 已提交(N人):[姓名] + 汇报内容摘要
⏳ 未提交(M人):[姓名]
→ 若有未提交成员:告知用户(供参考,不强制等待)
Step 2 基于 member_reports 归纳,为每个模块起草一段汇总
↓ 归纳而非罗列——把「三个人各自做了什么」写成「这个模块本周推进到哪」
↓ 有 pending_members 时提醒用户:这几位还没交,汇总可能不完整
Step 2: 询问是否 AI 汇总
→ 展示已提交成员的汇报内容后,询问:
"是否需要 AI 根据以上下属汇报自动生成今日负责人日报?"
→ 用户同意 → mcp__huanxi__llm_generate_leader_summary(module_id, date=今日)
→ 展示 AI 生成的汇总报告,供用户审阅和修改
→ 用户拒绝 → 引导用户手动填写报告内容
Step 3 leader_report_save(entries=[{module_id, content}, ...])
Step 3: 保存草稿
→ 详见 references/leader-summary.md
→ mcp__huanxi__leader_report_save(report_date, content=<确认后内容>, module_id)
Step 4 ⏸ 展示全部草稿,等待用户明确确认
Step 4: 确认并提交
→ 展示最终内容,等待用户明确确认("确认"/"提交"/"好的"等
→ ⚠️ 未收到确认前,禁止调用 leader_report_submit
→ mcp__huanxi__leader_report_submit(report_date, module_id)
Step 5 leader_report_submit(module_ids=[...])
↓ 不传 module_ids 则提交我负责的全部(自动跳过已提交与内容为空的
```
---
## Shortcuts
## 「谁还没交」
| 指令 | 说明 |
|------|------|
| `+check` | 查看指定日期下属提交情况 |
| [`+draft`](references/leader-summary.md) | AI 生成草稿并保存(需用户确认内容) |
| `+submit` | 提交负责人日报(必须先确认) |
| `+withdraw` | 撤回已提交负责人日报 |
这是最高频的单点问题,`leader_report_get``pending_members` 直接回答,
不需要遍历成员逐个查。
想看全公司范围而不只是我负责的模块,那是管理端的 `report_pending`(见
`huanxi-admin`),个人端拿不到。
---
## +check:查看下属汇报
## 撤回
```
1. 确定模块(从 modules.json 缓存中取 leader 身份的模块)
2. mcp__huanxi__leader_report_get_subordinates(date, module_id)
3. 展示:
✅ 已提交(N人):张三、李四、...
⏳ 未提交(M人):王五、...
(非工作日时:提示"今日非工作日,成员无需强制提交")
leader_report_withdraw(module_ids=[...]) → 变回草稿,仅当天可撤
```
---
## +withdraw:撤回负责人日报
## 几条容易踩的
```
1. 确认当前已提交状态
2. 告知撤回影响,等待用户确认
3. mcp__huanxi__leader_report_withdraw(report_date, module_id)
```
---
## 多模块处理
若用户有多个 leader 模块:
```
- 默认展示全部模块的下属情况(+check)
- 提交时需逐模块操作:每个模块单独调用 leader_report_save + submit
- 可用 leader_report_get_batch(date, module_ids) 批量拉取数据
```
---
## 关键约束
- **禁止自动提交**`leader_report_submit(report_date, module_id)` 前必须展示内容并等待用户确认
- **成员未提交不阻塞**:负责人日报不依赖所有成员提交,可随时填写
- 若当前用户不是任何模块的 leader,告知用户并建议使用 `/huanxi-report` 填写员工日报
- **一个模块一条**`module_id` 是主键的一部分,同一模块当天只有一条汇总,
重复保存是覆盖不是新增。
- **内容为空不能提交**:批量提交会静默跳过空内容的模块并在返回里说明,
不要以为「提交成功」就等于每个模块都交了——看返回的 `skipped_empty_count`
- **不要前置校验下属是否交齐**:负责人日报不依赖员工日报的提交状态,
下属没交也能交自己的汇总(这是有意设计,避免一个人拖住整条链)。
- 只有 `leader` 角色的模块才会出现在这里;`reviewer` 不写负责人日报。