360 Secure SkillHub
360 安全技能中心

工作协同官方skill

提供企业工作协同的全流程执行能力:先经依赖 Skill 获取 AppKey 鉴权,再用 python3 脚本调用 CWork 开放接口,完成员工搜索、汇报草稿与发送、汇报查询与审阅、任务创建与查询、催办、待办、模板、草稿箱、业务单元及虚拟员工管理;发送类操作要求先存草稿并二次确认。

spzwin
spzwin
热度 73.86
最近更新 2026-05-29 17:11:39
分类:协作依赖:代码执行 / 第三方 API应用场景:报告撰写 / 任务管理 / 工作流 / 自动化脚本 ...

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add cms-cwork-workflow
Metadata
name
cms-cwork-workflow
description
提供【工作协同】全流程执行能力。用户一旦表达“写汇报/发汇报/发周报/提交汇报/查看收件箱/查待办/任务协作/业务单元”等执行意图,必须进入本 Skill 的脚本调用流程;仅当用户明确是纯咨询(如问规则、问怎么做)时,才允许先文字说明并二次确认是否执行。本 Skill 通过依赖 `cms-auth-skills` 获取 `AppKey` 并完成鉴权后,才允许进入脚本调用链路。
skillcode
cms-cwork-workflow
github
https://github.com/xgjk/cwork-skills
dependencies
["cms-auth-skills"]
version
1.0.15
tools_provided
[{"name":"cwork_client","category":"exec","risk_level":"medium","permission":"exec","description":"CWork API共享客户端,封装HTTP请求、认证和所有业务API方法","status":"active"},{"name":"cwork-search-emp","category":"exec","risk_level":"low","permission":"read","description":"搜索员工信息(支持模糊查询)","status":"active"},{"name":"cwork-send-report","category":"exec","risk_level":"medium","permission":"write","description":"发送工作协同汇报(🚨限制:当你明确知道确切的人员姓名时才可使用;如果你不知道发给谁,绝对不要猜,立即停止使用此工具!)","status":"active"},{"name":"cwork-query-report","category":"exec","risk_level":"low","permission":"read","description":"查询汇报(收件箱/发件箱/详情/历史/按汇报ID查正文与附件等)","status":"active"},{"name":"cwork-create-task","category":"exec","risk_level":"medium","permission":"write","description":"创建工作计划/任务","status":"active"},{"name":"cwork-review-report","category":"exec","risk_level":"medium","permission":"write","description":"审阅汇报(回复/标记已读)","status":"active"},{"name":"cwork-query-tasks","category":"exec","risk_level":"low","permission":"read","description":"查询任务(我的/创建的/团队/详情)","status":"active"},{"name":"cwork-nudge-report","category":"exec","risk_level":"medium","permission":"write","description":"催办闭环(识别未闭环/生成催办/发送)","status":"active"},{"name":"cwork-todo","category":"exec","risk_level":"medium","permission":"write","description":"待办管理(查询/完成决策/建议/反馈)","status":"active"},{"name":"cwork-templates","category":"exec","risk_level":"low","permission":"read","description":"查询汇报模板列表","status":"active"},{"name":"cwork-draft-box","category":"exec","risk_level":"high","permission":"write","description":"草稿箱列表(5.24)与批量删除草稿(5.28)","status":"active"},{"name":"cwork-business-unit","category":"exec","risk_level":"medium","permission":"write","description":"业务单元管理(创建/更新/查询/删除)","status":"active"},{"name":"cms-match-businessunit","category":"exec","risk_level":"medium","permission":"write","description":"自动根据正文智能选择业务单元去发送(🚨前置要求:如果不清楚具体该发给谁,必须优先执行这个工具!哪怕报错未匹配,也要先调!)","status":"active"},{"name":"cwork-virtual-employee","category":"exec","risk_level":"medium","permission":"write","description":"虚拟员工管理(创建/列表/修改/删除),并在汇报/回复/任务中透传 virtualEmpId","status":"active"}]

cms-cwork-workflow

核心定位

本 Skill 只做一件事:根据用户执行意图,读取对应 references/*.md,再执行 scripts/*.py。
参数、边界、分支逻辑都以 references 为准,SKILL.md 只负责入口和流程约束。

强制前置(保持不变)

调用任何脚本前,必须先通过依赖 Skill cms-auth-skills 获取有效 AppKey。
未鉴权时,不允许执行本 Skill 的任何 Python 脚本。 本 Skill 发起的所有 CWork API 请求均基于该 AppKey 鉴权。

AppKey 的获取与传递方式必须为:由上游 cms-auth-skills 注入/传递到本 Skill 执行命令中(--app-key)。

标准执行流程(必须遵循)

  1. 识别用户是“执行动作”还是“纯咨询”。
  2. 若是执行动作:先定位目标脚本。
  3. 先读取 references/auth.md,确保 AppKey 获取与注入规则满足(未读不得进入鉴权相关链路)。
  4. 再读取该脚本对应的 references/*.md(未读不得执行)。
  5. 按文档组装参数并执行 python3 scripts/<name>.py。
  6. 如一轮调用多个脚本,每个脚本的 reference 都要先读再执行。
  7. 查询汇报/任务时,若结果可识别业务 ID,应优先返回可点击 shareLink;如补链失败,不得阻断主查询结果。
  8. 查询汇报时,只要用户给出了疑似汇报唯一编码(例如 2603ABFRZ、D2606473 这类字母数字混合编码),必须优先按编码精确检索,不得先路由到 inbox/outbox 这类“按收件箱/发件箱翻页找标题”的流程;优先使用 cwork-query-report.py --mode search-list --report-code <编码>,命中后再根据需要取详情 / record-simple-info。
    • 识别规则:如果用户原话里出现“汇报/搜汇报/查汇报/找汇报/搜索汇报”等动作词,并且后面跟着一段疑似编码(通常为 6~20 位、包含字母和数字,允许以单个字母开头),一律视为 report-code,不要把它当普通关键词。
    • 典型例子:帮我搜索汇报2603ABFRZ、查一下 D2606473 这条汇报、搜汇报 2605ABICZ 并看回复。
  9. 用户表达“发汇报/写汇报/提交汇报”且提到“建议人/决策人/节点/流程/reportLevelList”时,必须走汇报链路(cwork-send-report.py 或 cms-match-businessunit.py),禁止误路由到 cwork-create-task.py。

常用命令与必读文档

脚本 必读 reference 用途
cwork-search-emp.py references/cwork-search-emp.md 搜索员工
cwork-send-report.py references/cwork-send-report.md 发送汇报(草稿 -> 确认)
cms-match-businessunit.py references/cms-match-businessunit.md 正文匹配业务单元并发送
cwork-query-report.py references/cwork-query-report.md 查询汇报 / 分页搜索汇报列表
cwork-create-task.py references/cwork-create-task.md 创建任务
cwork-review-report.py references/cwork-review-report.md 审阅汇报
cwork-query-tasks.py references/cwork-query-tasks.md 查询任务
cwork-nudge-report.py references/cwork-nudge-report.md 催办闭环
cwork-todo.py references/cwork-todo.md 待办管理
cwork-templates.py references/cwork-templates.md 模板查询
cwork-draft-box.py references/cwork-draft-box.md 草稿箱
cwork-business-unit.py references/cwork-business-unit.md 业务单元管理
cwork-virtual-employee.py references/cwork-virtual-employee.md 虚拟员工管理

补充:写/发汇报场景,还需先读 references/report-virtual-identity.md。

测试示例(推荐)

示例 1:查未读汇报

# 第一步:先读 references/cwork-query-report.md
# 第二步:执行脚本
python3 scripts/cwork-query-report.py --app-key "<AppKey>" --mode unread --page-size 10

示例 2:分页搜索汇报列表

# 第一步:先读 references/cwork-query-report.md
python3 scripts/cwork-query-report.py \
  --app-key "<AppKey>" \
  --mode search-list \
  --page-index 1 \
  --page-size 20 \
  --start-date 2026-01-01 \
  --end-date 2026-01-31 \
  --keyword "公章" \
  --classification-id 31121223 \
  --from-emp-id <senderEmpId> \
  --to-emp-id <receiverEmpId>

提醒:search-list 对应开放接口 /open-api/work-report/report/record/searchPage。当用户给出汇报唯一编码时,优先使用 --report-code 做精确搜索;若没有明确编码,再使用 --keyword 进行模糊搜索。关键词可匹配汇报主题、唯一编码、发/收件人和正文内容;pageIndex 从 0 开始,而脚本参数 --page-index 仍按常见习惯从 1 开始,脚本会自动转换。

示例 3:按汇报唯一编码精确搜索

# 第一步:先读 references/cwork-query-report.md
python3 scripts/cwork-query-report.py \
  --app-key "<AppKey>" \
  --mode search-list \
  --page-index 1 \
  --page-size 20 \
  --report-code <ReportCode>

这里的 <ReportCode> 只是占位符,不要填真实编号到文档示例里。

示例 4:标准发送汇报(两步)

# 第一步:先读 references/cwork-send-report.md
python3 scripts/cwork-send-report.py \
  --app-key "<AppKey>" \
  --title "周报" \
  --content "<p>本周完成联调</p>" \
  --receivers "张三" \
  --confirm-save-draft

# 第二步:用户明确确认后再发出
python3 scripts/cwork-send-report.py --app-key "<AppKey>" --draft-id "<reportId>" --confirm-send

字段说明:上述 --title / --content 是脚本参数名;脚本调用开放接口时会自动映射为请求体字段 main / contentHtml。

示例 3:收件人不明确时先匹配业务单元

# 第一步:先读 references/cms-match-businessunit.md
python3 scripts/cms-match-businessunit.py \
  --app-key "<AppKey>" \
  --title "周报" \
  --content "<p>本周完成 API 联调</p>" \
  --content-type html \
  --dry-run

反向示例(不要这样做)

  • 未获取 AppKey 就直接执行 scripts/*.py。
  • 没读对应 references/*.md 就起调脚本。
  • 发送汇报时一次性带 --confirm-send 直接发出(缺少草稿确认步骤)。
  • 保存/更新草稿时不带 --confirm-save-draft(未获用户确认即落草稿)。
  • cms-match-businessunit.py 返回未匹配后,擅自猜测接收人继续发送。
  • 测试/调试汇报默认发给无关同事(应优先 --test-mode + 当前用户本人或测试账号)。
  • 用户明确在配置汇报节点(如建议/决策)却调用 cwork-create-task.py 创建任务。

错误处理与通用参数

通用错误格式、特殊字符处理、--params-file 用法请查看 references/common-params.md。


目录结构

cms-cwork-workflow/
├── SKILL.md                          ← 本文件(意图级接口文档)
├── scripts/
│   ├── cwork_client.py               ← 共享 API 客户端(HTTP 封装 + 所有 API 方法)
│   ├── cwork-search-emp.py           ← 0. 搜索员工
│   ├── cwork-send-report.py          ← 1. 发送汇报
│   ├── cwork-query-report.py         ← 2. 查询汇报
│   ├── cwork-create-task.py          ← 3. 创建任务
│   ├── cwork-review-report.py        ← 4. 审阅汇报
│   ├── cwork-query-tasks.py          ← 5. 查询任务
│   ├── cwork-nudge-report.py         ← 6. 催办闭环
│   ├── cwork-todo.py                 ← 7. 待办管理
│   ├── cwork-templates.py            ← 8. 模板管理
│   ├── cwork-draft-box.py            ← 9. 草稿箱列表 / 批量删除(API 5.24 / 5.28)
│   ├── cwork-business-unit.py        ← 10. 业务单元管理
│   ├── cms-match-businessunit.py     ← 11. 正文匹配业务单元并发汇报
│   └── cwork-virtual-employee.py     ← 12. 虚拟员工管理
└── references/
    ├── auth.md
    ├── cwork-search-emp.md
    ├── cwork-send-report.md
    ├── cwork-query-report.md
    ├── cwork-create-task.md
    ├── cwork-review-report.md
    ├── cwork-query-tasks.md
    ├── cwork-nudge-report.md
    ├── cwork-todo.md
    ├── cwork-templates.md
    ├── cwork-draft-box.md
    ├── cwork-business-unit.md
    ├── cms-match-businessunit.md
    ├── cwork-virtual-employee.md
    ├── report-virtual-identity.md
    ├── edge-cases.md
    ├── agent-patterns.md
    ├── common-params.md
    └── maintenance.md                ← Skill 维护/发布参考(非 Cursor 规则)