Skip to content

Commit b1ff52e

Browse files
committed
feat(affordance): per-command usage guidance as per-domain markdown
Per-command usage guidance authored as one markdown file per domain under affordance/, rendered in `--help` and the schema output and read directly at runtime (lazy, cached). Covers all domains. Change-Id: If3eed706f074902106550056ceb5038fde682a9b
1 parent b3514e5 commit b1ff52e

21 files changed

Lines changed: 2326 additions & 167 deletions

affordance/approval.md

Lines changed: 269 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,269 @@
1+
# approval · 审批域
2+
> skill: lark-approval
3+
4+
## instances get
5+
已知 instance_code,查询某审批实例的状态、表单内容与审批节点进度
6+
7+
### Avoid when
8+
- 还没有 instance_code(先用 [[instances initiated]] 列出自己发起的实例)
9+
- 要查的是审批任务而非实例(用 [[tasks query]]
10+
11+
### Prerequisites
12+
- 已有 instance_code(如来自 [[tasks query]] / [[instances initiated]],或审批事件、发起结果等外部来源)
13+
14+
### Tips
15+
- locale 控制返回文案语言(如 zh-CN / en-US)
16+
17+
### Examples
18+
19+
**按 instance_code 查询实例详情**
20+
```bash
21+
lark-cli approval instances get --instance-code "81D3****4E71"
22+
```
23+
24+
**指定 locale 返回英文文案**
25+
```bash
26+
lark-cli approval instances get --instance-code "81D3****4E71" --locale "en-US"
27+
```
28+
29+
## instances initiated
30+
列出当前用户发起的审批实例,可按 definition_code 只看某类审批
31+
32+
### Avoid when
33+
- 想查别人发起的实例(接口只返回当前用户自己的)
34+
- 要查待办/已办的审批任务(用 [[tasks query]]
35+
36+
### Tips
37+
- definition_code 用于过滤到某一个审批定义(审批模板)
38+
39+
### Examples
40+
41+
**列出自己发起的实例(单页,默认分页大小)**
42+
```bash
43+
lark-cli approval instances initiated
44+
```
45+
46+
**按审批定义(模板)过滤,只看某一类审批**
47+
```bash
48+
lark-cli approval instances initiated --definition-code "7C46****7A85"
49+
```
50+
51+
## instances cancel
52+
作为发起人撤回(撤销)一个仍在审批中的实例
53+
54+
### Avoid when
55+
- 你是审批人想否决(用 [[tasks reject]]
56+
- 只是想退回到上一节点补材料(用 [[tasks rollback]]
57+
58+
### Prerequisites
59+
- 已有 instance_code(来自 [[instances initiated]] 或发起结果)
60+
- 通常仅发起人可撤回,且实例仍在进行中
61+
62+
### Tips
63+
- 已结束(通过/拒绝/已撤回)的实例无法再撤回
64+
65+
### Examples
66+
67+
**撤回一个进行中的实例**
68+
```bash
69+
lark-cli approval instances cancel --data '{"instance_code":"81D3****4E71"}'
70+
```
71+
72+
## instances cc
73+
把一个审批实例抄送给指定用户,让其知悉而不参与审批
74+
75+
### Avoid when
76+
- 希望对方实际参与审批(用 [[tasks transfer]] 转交或 [[tasks add_sign]] 加签)
77+
- 只是查看实例详情(用 [[instances get]]
78+
79+
### Prerequisites
80+
- 已有 instance_code(来自 [[instances initiated]] 或发起结果)
81+
82+
### Tips
83+
- cc_user_ids 的 ID 类型需与 --user-id-type 一致(默认 open_id)
84+
85+
### Examples
86+
87+
**抄送给用户并附带说明**
88+
```bash
89+
lark-cli approval instances cc --data '{"instance_code":"81D3****4E71","cc_user_ids":["ou_3cda****83e1"],"comment":"请知悉"}'
90+
```
91+
92+
**用 user_id 类型抄送给多人**
93+
```bash
94+
lark-cli approval instances cc --user-id-type "user_id" --data '{"instance_code":"81D3****4E71","cc_user_ids":["a1b2c3d4","e5f6g7h8"]}'
95+
```
96+
97+
## tasks query
98+
列出当前用户的审批任务(按 topic 区分待办 / 已办等),用于拿到 task_id 再去同意或拒绝
99+
100+
### Avoid when
101+
- 要查的是审批实例而非任务(用 [[instances initiated]]
102+
103+
### Tips
104+
- topic 必填,用于选择任务分类(如待办/已办)
105+
106+
### Examples
107+
108+
**查询待办任务(topic 1)**
109+
```bash
110+
lark-cli approval tasks query --topic "1"
111+
```
112+
113+
**查询已办任务(topic 2)**
114+
```bash
115+
lark-cli approval tasks query --topic "2"
116+
```
117+
118+
**按审批定义过滤待办任务**
119+
```bash
120+
lark-cli approval tasks query --topic "1" --definition-code "7C46****7A85"
121+
```
122+
123+
**查询未读知会(被抄送、待阅读的通知,非待审批任务,topic 17)**
124+
```bash
125+
lark-cli approval tasks query --topic "17"
126+
```
127+
128+
## tasks approve
129+
作为审批人同意(通过)一个待办审批任务
130+
131+
### Avoid when
132+
- 要否决该任务(用 [[tasks reject]]
133+
- 想让别人来审(用 [[tasks transfer]] 转交 / [[tasks add_sign]] 加签)
134+
135+
### Prerequisites
136+
- 已有 instance_code 与 task_id(来自 [[tasks query]]),且当前用户为该任务的审批人
137+
138+
### Tips
139+
- 若审批节点要求填表单,用 form 字段提交
140+
141+
### Examples
142+
143+
**同意并附带意见**
144+
```bash
145+
lark-cli approval tasks approve --data '{"instance_code":"81D3****4E71","task_id":"123456789","comment":"同意"}'
146+
```
147+
148+
**同意时提交节点要求的表单**
149+
```bash
150+
lark-cli approval tasks approve --data '{"instance_code":"81D3****4E71","task_id":"123456789","comment":"同意","form":"[{\"id\":\"user_name\",\"type\":\"input\",\"value\":\"张三\"}]"}'
151+
```
152+
153+
## tasks reject
154+
作为审批人拒绝(否决)一个待办审批任务,终止该流程
155+
156+
### Avoid when
157+
- 想退回到前序节点补充材料而不终止流程(用 [[tasks rollback]]
158+
- 要同意(用 [[tasks approve]]
159+
160+
### Prerequisites
161+
- 已有 instance_code 与 task_id(来自 [[tasks query]]),且当前用户为该任务的审批人
162+
163+
### Tips
164+
-[[tasks rollback]] 区别:reject 终止流程,rollback 让流程退回重审
165+
166+
### Examples
167+
168+
**拒绝任务并附带理由**
169+
```bash
170+
lark-cli approval tasks reject --data '{"instance_code":"81D3****4E71","task_id":"123456789","comment":"预算不足,拒绝"}'
171+
```
172+
173+
## tasks transfer
174+
把一个待办审批任务整体转交给另一个人处理
175+
176+
### Avoid when
177+
- 想在保留自己的同时增加审批人(用 [[tasks add_sign]] 加签)
178+
- 自己直接处理(用 [[tasks approve]] / [[tasks reject]]
179+
180+
### Prerequisites
181+
- 已有 instance_code、task_id(来自 [[tasks query]])与转交目标 transfer_user_id
182+
183+
### Tips
184+
- transfer_user_id 的 ID 类型需与 --user-id-type 一致
185+
186+
### Examples
187+
188+
**把任务转交给指定用户**
189+
```bash
190+
lark-cli approval tasks transfer --data '{"instance_code":"81D3****4E71","task_id":"123456789","transfer_user_id":"ou_3cda****83e1","comment":"转交给你处理"}'
191+
```
192+
193+
**用 user_id 类型指定转交目标**
194+
```bash
195+
lark-cli approval tasks transfer --user-id-type "user_id" --data '{"instance_code":"81D3****4E71","task_id":"123456789","transfer_user_id":"a1b2c3d4"}'
196+
```
197+
198+
## tasks add_sign
199+
在当前审批节点增加审批人(加签),由 add_sign_type 决定前加签/后加签/并加签
200+
201+
### Avoid when
202+
- 想把任务整体交给别人而非增加(用 [[tasks transfer]]
203+
204+
### Prerequisites
205+
- 已有 instance_code、task_id(来自 [[tasks query]])、加签人 add_sign_user_ids 与 add_sign_type
206+
207+
### Tips
208+
- add_sign_type 控制加签方式(前/后/并),按业务语义选择
209+
210+
### Examples
211+
212+
**前加签:先让指定人审批(add_sign_type 1)**
213+
```bash
214+
lark-cli approval tasks add_sign --data '{"instance_code":"2893****BCAE","task_id":"6955****7956","add_sign_user_ids":["ou_3cda****83e1"],"add_sign_type":1,"comment":"前加签"}'
215+
```
216+
217+
**后加签:自己审批后再让指定人审批(add_sign_type 2)**
218+
```bash
219+
lark-cli approval tasks add_sign --data '{"instance_code":"2893****BCAE","task_id":"6955****7956","add_sign_user_ids":["ou_3cda****83e1"],"add_sign_type":2,"comment":"后加签"}'
220+
```
221+
222+
**并加签:与多名加签人会签(add_sign_type 3,会签 approval_method 1)**
223+
```bash
224+
lark-cli approval tasks add_sign --data '{"instance_code":"2893****BCAE","task_id":"6955****7956","add_sign_user_ids":["ou_3cda****83e1","ou_8a1f****e6f7"],"add_sign_type":3,"approval_method":1,"comment":"并加签"}'
225+
```
226+
227+
## tasks rollback
228+
把审批退回到之前的某个/某些节点重新审批(流程继续,不终止)
229+
230+
### Avoid when
231+
- 想直接否决并终止流程(用 [[tasks reject]]
232+
- 想撤销整个实例(用 [[instances cancel]]
233+
234+
### Prerequisites
235+
- 已有 instance_code、task_id(来自 [[tasks query]])与要退回到的 node_ids
236+
237+
### Tips
238+
- node_ids 指定退回到哪些节点;与 reject 不同,流程不会被终止
239+
240+
### Examples
241+
242+
**退回到指定节点重新审批**
243+
```bash
244+
lark-cli approval tasks rollback --data '{"instance_code":"2893****BCAE","task_id":"6955****8956","node_ids":["manager_node_id"],"comment":"请补充材料后重新提交"}'
245+
```
246+
247+
## tasks remind
248+
催办(提醒)某审批任务的待办审批人尽快处理
249+
250+
### Avoid when
251+
- 自己就是审批人要直接处理(用 [[tasks approve]] / [[tasks reject]]
252+
253+
### Prerequisites
254+
- 已有 instance_code 与 task_ids(来自 [[tasks query]]
255+
256+
### Tips
257+
- task_ids 是数组,可一次催办同一实例下的多个任务
258+
259+
### Examples
260+
261+
**催办单个待办任务**
262+
```bash
263+
lark-cli approval tasks remind --data '{"instance_code":"81D3****4E71","task_ids":["6955****7956"],"comment":"麻烦尽快处理"}'
264+
```
265+
266+
**一次催办同一实例下的多个任务**
267+
```bash
268+
lark-cli approval tasks remind --data '{"instance_code":"81D3****4E71","task_ids":["6955****7956","6955****8956"]}'
269+
```

0 commit comments

Comments
 (0)