npx skills add ...
npx skills add senclaw-cdn.italent.cn/beisen-approval
北森审批中心查询。本 Skill 用于查询审批流程的当前状态、节点、审批人等信息,覆盖本人待办、已办;支持按流程状态(在途/已结束)和时间范围筛选。当用户询问'我有什么审批待办'、'审批进度'、'已办事项'、'流程到哪了'、'在途流程'、'已结束流程'等审批相关问题时触发。每人仅能查询自己发起或参与过的流程,不支持创建、审批、转交等写操作。
npx skills add senclaw-cdn.italent.cn/beisen-approval
CRITICAL — 开始前 MUST 读取 ../beisen-shared/SKILL.md
本 Skill 处理:审批流程状态、节点、审批人查询(本人待办 / 已办 )
不归本 Skill 处理:
当用户表达以下意图时触发:
| 场景 | CLI 命令 | 说明 |
|---|---|---|
| 查询自己的待办 | beisen-cli approval task queryMyPendingTasks | 返回当前用户待处理的审批列表 |
| 查询自己的已办 | beisen-cli approval task queryMyCompletedTasks | 返回当前用户已处理的审批列表(默认近 30 天) |
查本人待办:用户需要查询自己的待办时,执行 beisen-cli approval task queryMyPendingTasks,结果按到达时间降序排列,需保证统计的数量与查询到的数量一致
查本人已办:用户需要查询自己的已办时,执行 beisen-cli approval task queryMyCompletedTasks,默认查询近 30 天的已办任务,结果按发起时间降序排列,需保证统计的数量与查询到的数量一致
时间范围提取:用户提到时间范围时,自行提取查询的开始/结束时间,格式 YYYY-MM-DD,作为 startDate / endDate 传入 --data。
流程状态:流程状态的名称与值见 references/processstate.md [blocked](审批中=1、通过=2、不通过=3、已完成=4、已终止=5、已驳回=6、已撤回=7)。筛选在途/已结束流程时,按对应状态值作为 approvalStatuses 传入 --data。
结果输出:根据查询结果先进行总结,再以 Markdown 表格展示详细内容;若结果中返回了 detailPageUrl 任务链接,将链接作为流程标题的超链形式展示。
approval task queryMyPendingTasks 获取待办列表,提取 processTitle、currentNode、currentApproverName、startTime、arrivalTime、detailPageUrl 等关键字段approvalObjectId 或 taskId 补查详情(如有对应命令)approval task queryMyCompletedTasks 获取已处理记录,提取 processStatus/processStatusName(审批状态)和 arrivalTime(到达时间)approvalObjectId 后,不要重复查询列表ownerId(员工ID),且仅能查询自己发起或参与过的流程--data 的 JSON 传入(approvalStatuses / approvalTypes / startDate / endDate),均为可选approvalStatuses 取值见 references/processstate.md [blocked];approvalObjectId、taskId、currentApproverId 等 ID 必须从 CLI 返回中提取,严禁编造CLI 返回为 JSON,外层为信封,内层为业务数据:
ok:CLI 调用是否成功identity:身份标识data.code:状态码("200" 表示成功)data.data:审批条目数组以下字段在 queryMyPendingTasks、queryMyCompletedTasks 返回的每条审批记录中一致出现:
| 字段 | 类型 | 说明 |
|---|---|---|
approvalObjectId | string | 审批对象ID(UUID 格式),审批实例的唯一标识 |
taskId | string | 任务ID(UUID 格式),当前任务实例标识 |
processTitle | string | 流程标题 |
approvalCategory | number | 审批类型编码 |
approvalCategoryName | string|null | 审批类型名称(可能为 null) |
bizAppName | string | 业务应用名称(如 BeisenCloudStepAAA、BeisenCloudDemo、ServiceCenter) |
processStatus | number | 流程状态值(1=审批中、2=通过、3=不通过、4=已完成、5=已终止、6=已驳回、7=已撤回) |
processStatusName | string | 流程状态名称(如"审批中") |
currentNode | string | 当前审批节点名称 |
currentApproverId | number[] | 当前审批人ID列表 |
currentApproverName | string | 当前审批人姓名 |
startTime | string | 流程发起时间(ISO 8601 格式,如 2025-05-08T15:30:47.36) |
arrivalTime | string | 任务到达时间(格式 YYYY-MM-DD HH:mm,如 2025-05-08 15:30) |
detailPageUrl | string | 审批详情页URL(用于在流程标题上做超链展示) |
所有字段必须从 CLI 返回中提取真实值,严禁编造。
约束:基于 queryMyPendingTasks 查询出的结果,按到达时间降序排列。
问题实例:帮我查下我还有哪些没审批的待办
回复实例:你有一条李四的晋升审批待审批
待你处理(1条)
| 流程标题 | 审批类型 | 当前节点 | 当前审批人 | 发起时间 | 到达时间 |
|---|---|---|---|---|---|
| 李四的晋升审批 | 晋升审批 | 部门总监审批 | 李四 | 2026-06-10T09:30:00 | 2026-06-12 14:00 |
约束:基于 queryMyCompletedTasks 查询出的结果,按发起时间降序排列。
问题实例:帮我查下我有哪些已办
回复实例:你已处理了以下数据
你已处理(2条)
| 序号 | 流程标题 | 审批类型 | 状态 | 当前节点 | 当前审批人 | 发起时间 |
|---|---|---|---|---|---|---|
| 1 | 张三的请假审批 | 请假 | 审批中 | 部门总监审批 | 李四 | 2026-06-10T09:30:00 |
| 2 | 张三的请假审批 | 请假 | 已通过 | -- | -- | 2026-06-12T10:00:00 |
用户问:"我有什么待办审批?"
执行步骤:
beisen-cli approval task queryMyPendingTasksdata.data 数组,按 arrivalTime 降序展示流程标题(processTitle)、当前节点(currentNode)、当前审批人(currentApproverName)、发起时间(startTime)、到达时间(arrivalTime)用户问:"我最近处理了哪些审批?"
执行步骤:
beisen-cli approval task queryMyCompletedTasks(默认近 30 天)startTime)降序展示流程标题(processTitle)、状态(processStatusName)、当前节点(currentNode)、当前审批人(currentApproverName)、发起时间(startTime)