@amaster.ai/pi-lark 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. package/package.json +3 -3
  2. package/skills/lark-approval/SKILL.md +99 -0
  3. package/skills/lark-approval/references/lark-approval-approvals-get.md +128 -0
  4. package/skills/lark-approval/references/lark-approval-approvals-search.md +103 -0
  5. package/skills/lark-approval/references/lark-approval-initiate.md +221 -0
  6. package/skills/lark-approval/references/lark-approval-instance-form-control-parameters.md +606 -0
  7. package/skills/lark-approval/references/lark-approval-instance-value-sourcing.md +108 -0
  8. package/skills/lark-approval/references/lark-approval-instances-cancel.md +78 -0
  9. package/skills/lark-approval/references/lark-approval-instances-cc.md +105 -0
  10. package/skills/lark-approval/references/lark-approval-instances-get.md +145 -0
  11. package/skills/lark-approval/references/lark-approval-instances-initiated.md +128 -0
  12. package/skills/lark-approval/references/lark-approval-tasks-add-sign.md +120 -0
  13. package/skills/lark-approval/references/lark-approval-tasks-approve.md +81 -0
  14. package/skills/lark-approval/references/lark-approval-tasks-query.md +85 -0
  15. package/skills/lark-approval/references/lark-approval-tasks-reject.md +73 -0
  16. package/skills/lark-approval/references/lark-approval-tasks-remind.md +82 -0
  17. package/skills/lark-approval/references/lark-approval-tasks-rollback.md +89 -0
  18. package/skills/lark-approval/references/lark-approval-tasks-transfer.md +91 -0
  19. package/skills/lark-apps/SKILL.md +110 -0
  20. package/skills/lark-apps/references/lark-apps-access-scope-get.md +28 -0
  21. package/skills/lark-apps/references/lark-apps-access-scope-set.md +40 -0
  22. package/skills/lark-apps/references/lark-apps-automation.md +164 -0
  23. package/skills/lark-apps/references/lark-apps-cloud-dev.md +120 -0
  24. package/skills/lark-apps/references/lark-apps-create.md +40 -0
  25. package/skills/lark-apps/references/lark-apps-db-execute.md +228 -0
  26. package/skills/lark-apps/references/lark-apps-db.md +162 -0
  27. package/skills/lark-apps/references/lark-apps-env-pull.md +37 -0
  28. package/skills/lark-apps/references/lark-apps-env.md +48 -0
  29. package/skills/lark-apps/references/lark-apps-file.md +96 -0
  30. package/skills/lark-apps/references/lark-apps-get.md +43 -0
  31. package/skills/lark-apps/references/lark-apps-git-credential.md +37 -0
  32. package/skills/lark-apps/references/lark-apps-html-publish.md +62 -0
  33. package/skills/lark-apps/references/lark-apps-init.md +36 -0
  34. package/skills/lark-apps/references/lark-apps-list.md +37 -0
  35. package/skills/lark-apps/references/lark-apps-local-dev.md +78 -0
  36. package/skills/lark-apps/references/lark-apps-observability.md +48 -0
  37. package/skills/lark-apps/references/lark-apps-openapi-key.md +79 -0
  38. package/skills/lark-apps/references/lark-apps-plugin-install.md +36 -0
  39. package/skills/lark-apps/references/lark-apps-plugin-list.md +23 -0
  40. package/skills/lark-apps/references/lark-apps-plugin-uninstall.md +25 -0
  41. package/skills/lark-apps/references/lark-apps-release-create.md +32 -0
  42. package/skills/lark-apps/references/lark-apps-release-get.md +28 -0
  43. package/skills/lark-apps/references/lark-apps-release-list.md +31 -0
  44. package/skills/lark-apps/references/lark-apps-role.md +133 -0
  45. package/skills/lark-apps/references/lark-apps-session-messages-list.md +53 -0
  46. package/skills/lark-apps/references/lark-apps-update.md +30 -0
  47. package/skills/lark-attendance/SKILL.md +57 -0
  48. package/skills/lark-base/SKILL.md +161 -0
  49. package/skills/lark-base/references/dashboard-block-data-config.md +376 -0
  50. package/skills/lark-base/references/formula-field-guide.md +737 -0
  51. package/skills/lark-base/references/lark-base-cell-value.md +158 -0
  52. package/skills/lark-base/references/lark-base-dashboard-block-get-data.md +717 -0
  53. package/skills/lark-base/references/lark-base-dashboard.md +247 -0
  54. package/skills/lark-base/references/lark-base-data-analysis-sop.md +210 -0
  55. package/skills/lark-base/references/lark-base-data-query-guide.md +61 -0
  56. package/skills/lark-base/references/lark-base-data-query.md +454 -0
  57. package/skills/lark-base/references/lark-base-field-create.md +105 -0
  58. package/skills/lark-base/references/lark-base-field-json.md +527 -0
  59. package/skills/lark-base/references/lark-base-field-update.md +173 -0
  60. package/skills/lark-base/references/lark-base-form-detail.md +71 -0
  61. package/skills/lark-base/references/lark-base-form-questions-create.md +118 -0
  62. package/skills/lark-base/references/lark-base-form-questions-update.md +92 -0
  63. package/skills/lark-base/references/lark-base-form-submit.md +170 -0
  64. package/skills/lark-base/references/lark-base-record-batch-create.md +57 -0
  65. package/skills/lark-base/references/lark-base-record-batch-update.md +52 -0
  66. package/skills/lark-base/references/lark-base-record-history-list.md +43 -0
  67. package/skills/lark-base/references/lark-base-record-upsert.md +63 -0
  68. package/skills/lark-base/references/lark-base-role-guide.md +65 -0
  69. package/skills/lark-base/references/lark-base-view-set-filter.md +191 -0
  70. package/skills/lark-base/references/lark-base-workflow-guide.md +830 -0
  71. package/skills/lark-base/references/lark-base-workflow-schema.md +1071 -0
  72. package/skills/lark-base/references/lookup-field-guide.md +512 -0
  73. package/skills/lark-base/references/role-config.md +549 -0
  74. package/skills/lark-calendar/SKILL.md +198 -0
  75. package/skills/lark-calendar/references/lark-calendar-create.md +83 -0
  76. package/skills/lark-calendar/references/lark-calendar-meeting.md +40 -0
  77. package/skills/lark-calendar/references/lark-calendar-recurring.md +90 -0
  78. package/skills/lark-calendar/references/lark-calendar-room-find.md +109 -0
  79. package/skills/lark-calendar/references/lark-calendar-rsvp.md +38 -0
  80. package/skills/lark-calendar/references/lark-calendar-schedule-clear-time.md +59 -0
  81. package/skills/lark-calendar/references/lark-calendar-schedule-fuzzy-time.md +88 -0
  82. package/skills/lark-calendar/references/lark-calendar-schedule-meeting.md +122 -0
  83. package/skills/lark-calendar/references/lark-calendar-suggestion.md +121 -0
  84. package/skills/lark-calendar/references/lark-calendar-update.md +100 -0
  85. package/skills/lark-contact/SKILL.md +55 -0
  86. package/skills/lark-contact/references/lark-contact-get-user.md +19 -0
  87. package/skills/lark-contact/references/lark-contact-search-user.md +123 -0
  88. package/skills/lark-doc/SKILL.md +84 -0
  89. package/skills/lark-doc/references/lark-doc-create.md +80 -0
  90. package/skills/lark-doc/references/lark-doc-fetch.md +140 -0
  91. package/skills/lark-doc/references/lark-doc-history.md +107 -0
  92. package/skills/lark-doc/references/lark-doc-md.md +76 -0
  93. package/skills/lark-doc/references/lark-doc-media-download.md +50 -0
  94. package/skills/lark-doc/references/lark-doc-media-insert.md +114 -0
  95. package/skills/lark-doc/references/lark-doc-media-preview.md +41 -0
  96. package/skills/lark-doc/references/lark-doc-mindnote.md +128 -0
  97. package/skills/lark-doc/references/lark-doc-resource-cover.md +70 -0
  98. package/skills/lark-doc/references/lark-doc-update.md +260 -0
  99. package/skills/lark-doc/references/lark-doc-whiteboard.md +158 -0
  100. package/skills/lark-doc/references/lark-doc-word-stat.md +93 -0
  101. package/skills/lark-doc/references/lark-doc-xml-extended-blocks.md +35 -0
  102. package/skills/lark-doc/references/lark-doc-xml.md +182 -0
  103. package/skills/lark-doc/references/style/lark-doc-create-workflow.md +47 -0
  104. package/skills/lark-doc/references/style/lark-doc-style.md +68 -0
  105. package/skills/lark-doc/references/style/lark-doc-update-workflow.md +48 -0
  106. package/skills/lark-doc/scripts/doc_word_stat.py +1243 -0
  107. package/skills/lark-drive/SKILL.md +232 -0
  108. package/skills/lark-drive/references/lark-drive-add-comment.md +193 -0
  109. package/skills/lark-drive/references/lark-drive-apply-permission.md +77 -0
  110. package/skills/lark-drive/references/lark-drive-comment-location.md +205 -0
  111. package/skills/lark-drive/references/lark-drive-comments-guide.md +80 -0
  112. package/skills/lark-drive/references/lark-drive-cover.md +79 -0
  113. package/skills/lark-drive/references/lark-drive-create-folder.md +73 -0
  114. package/skills/lark-drive/references/lark-drive-create-shortcut.md +103 -0
  115. package/skills/lark-drive/references/lark-drive-delete.md +103 -0
  116. package/skills/lark-drive/references/lark-drive-download.md +31 -0
  117. package/skills/lark-drive/references/lark-drive-export-download.md +50 -0
  118. package/skills/lark-drive/references/lark-drive-export.md +174 -0
  119. package/skills/lark-drive/references/lark-drive-files-list.md +183 -0
  120. package/skills/lark-drive/references/lark-drive-import.md +178 -0
  121. package/skills/lark-drive/references/lark-drive-inspect.md +52 -0
  122. package/skills/lark-drive/references/lark-drive-list-comments.md +125 -0
  123. package/skills/lark-drive/references/lark-drive-member-add.md +66 -0
  124. package/skills/lark-drive/references/lark-drive-move.md +122 -0
  125. package/skills/lark-drive/references/lark-drive-permission-guide.md +53 -0
  126. package/skills/lark-drive/references/lark-drive-preview.md +87 -0
  127. package/skills/lark-drive/references/lark-drive-pull.md +137 -0
  128. package/skills/lark-drive/references/lark-drive-push.md +189 -0
  129. package/skills/lark-drive/references/lark-drive-reactions.md +113 -0
  130. package/skills/lark-drive/references/lark-drive-search.md +273 -0
  131. package/skills/lark-drive/references/lark-drive-secure-label.md +52 -0
  132. package/skills/lark-drive/references/lark-drive-status.md +135 -0
  133. package/skills/lark-drive/references/lark-drive-task-result.md +355 -0
  134. package/skills/lark-drive/references/lark-drive-upload.md +101 -0
  135. package/skills/lark-drive/references/lark-drive-version-delete.md +38 -0
  136. package/skills/lark-drive/references/lark-drive-version-get.md +71 -0
  137. package/skills/lark-drive/references/lark-drive-version-history.md +73 -0
  138. package/skills/lark-drive/references/lark-drive-version-revert.md +35 -0
  139. package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-analysis.md +249 -0
  140. package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-discovery.md +253 -0
  141. package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-execution.md +200 -0
  142. package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-planning.md +336 -0
  143. package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-rollback.md +308 -0
  144. package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize.md +232 -0
  145. package/skills/lark-drive/references/lark-drive-workflow-permission-governance-commands.md +168 -0
  146. package/skills/lark-drive/references/lark-drive-workflow-permission-governance-outputs.md +424 -0
  147. package/skills/lark-drive/references/lark-drive-workflow-permission-governance.md +207 -0
  148. package/skills/lark-drive/references/lark-drive-workflow.md +131 -0
  149. package/skills/lark-event/SKILL.md +155 -0
  150. package/skills/lark-event/references/lark-event-approval.md +170 -0
  151. package/skills/lark-event/references/lark-event-im.md +87 -0
  152. package/skills/lark-event/references/lark-event-minutes.md +54 -0
  153. package/skills/lark-event/references/lark-event-task.md +78 -0
  154. package/skills/lark-event/references/lark-event-vc.md +106 -0
  155. package/skills/lark-event/references/lark-event-whiteboard.md +67 -0
  156. package/skills/lark-im/SKILL.md +249 -0
  157. package/skills/lark-im/references/card/card-2.0-schema.md +107 -0
  158. package/skills/lark-im/references/card/components/button.md +63 -0
  159. package/skills/lark-im/references/card/components/chart.md +57 -0
  160. package/skills/lark-im/references/card/components/checker.md +38 -0
  161. package/skills/lark-im/references/card/components/collapsible_panel.md +46 -0
  162. package/skills/lark-im/references/card/components/column_set.md +53 -0
  163. package/skills/lark-im/references/card/components/date_picker.md +34 -0
  164. package/skills/lark-im/references/card/components/div.md +36 -0
  165. package/skills/lark-im/references/card/components/form.md +51 -0
  166. package/skills/lark-im/references/card/components/header.md +34 -0
  167. package/skills/lark-im/references/card/components/hr.md +17 -0
  168. package/skills/lark-im/references/card/components/img.md +34 -0
  169. package/skills/lark-im/references/card/components/img_combination.md +30 -0
  170. package/skills/lark-im/references/card/components/input.md +43 -0
  171. package/skills/lark-im/references/card/components/interactive_container.md +46 -0
  172. package/skills/lark-im/references/card/components/markdown.md +56 -0
  173. package/skills/lark-im/references/card/components/multi_select_person.md +40 -0
  174. package/skills/lark-im/references/card/components/multi_select_static.md +40 -0
  175. package/skills/lark-im/references/card/components/overflow.md +36 -0
  176. package/skills/lark-im/references/card/components/person.md +30 -0
  177. package/skills/lark-im/references/card/components/person_list.md +31 -0
  178. package/skills/lark-im/references/card/components/picker_datetime.md +34 -0
  179. package/skills/lark-im/references/card/components/picker_time.md +34 -0
  180. package/skills/lark-im/references/card/components/recycling_container.md +35 -0
  181. package/skills/lark-im/references/card/components/select_img.md +42 -0
  182. package/skills/lark-im/references/card/components/select_person.md +39 -0
  183. package/skills/lark-im/references/card/components/select_static.md +43 -0
  184. package/skills/lark-im/references/card/components/table.md +53 -0
  185. package/skills/lark-im/references/card/lark-im-card-create.md +180 -0
  186. package/skills/lark-im/references/card/lark-im-card-style.md +281 -0
  187. package/skills/lark-im/references/card/resource/colors.md +34 -0
  188. package/skills/lark-im/references/card/resource/icons.md +38 -0
  189. package/skills/lark-im/references/lark-im-card-action-reply.md +175 -0
  190. package/skills/lark-im/references/lark-im-chat-create.md +162 -0
  191. package/skills/lark-im/references/lark-im-chat-identity.md +55 -0
  192. package/skills/lark-im/references/lark-im-chat-list.md +166 -0
  193. package/skills/lark-im/references/lark-im-chat-members-list.md +83 -0
  194. package/skills/lark-im/references/lark-im-chat-messages-list.md +157 -0
  195. package/skills/lark-im/references/lark-im-chat-search.md +142 -0
  196. package/skills/lark-im/references/lark-im-chat-update.md +84 -0
  197. package/skills/lark-im/references/lark-im-feed-group-list-item.md +68 -0
  198. package/skills/lark-im/references/lark-im-feed-group-list.md +65 -0
  199. package/skills/lark-im/references/lark-im-feed-group-query-item.md +44 -0
  200. package/skills/lark-im/references/lark-im-feed-groups.md +452 -0
  201. package/skills/lark-im/references/lark-im-feed-shortcut-create.md +97 -0
  202. package/skills/lark-im/references/lark-im-feed-shortcut-list.md +103 -0
  203. package/skills/lark-im/references/lark-im-feed-shortcut-remove.md +48 -0
  204. package/skills/lark-im/references/lark-im-flag-cancel.md +67 -0
  205. package/skills/lark-im/references/lark-im-flag-create.md +67 -0
  206. package/skills/lark-im/references/lark-im-flag-list.md +100 -0
  207. package/skills/lark-im/references/lark-im-message-enrichment.md +54 -0
  208. package/skills/lark-im/references/lark-im-messages-mget.md +99 -0
  209. package/skills/lark-im/references/lark-im-messages-reply.md +277 -0
  210. package/skills/lark-im/references/lark-im-messages-resources-download.md +94 -0
  211. package/skills/lark-im/references/lark-im-messages-search.md +234 -0
  212. package/skills/lark-im/references/lark-im-messages-send.md +279 -0
  213. package/skills/lark-im/references/lark-im-reactions.md +299 -0
  214. package/skills/lark-im/references/lark-im-threads-messages-list.md +115 -0
  215. package/skills/lark-mail/SKILL.md +290 -0
  216. package/skills/lark-mail/assets/templates/job-application--resume.html +33 -0
  217. package/skills/lark-mail/assets/templates/newsletter--weekly-brief.html +50 -0
  218. package/skills/lark-mail/assets/templates/research--market-report.html +256 -0
  219. package/skills/lark-mail/assets/templates/weekly--personal-report.html +43 -0
  220. package/skills/lark-mail/assets/templates/weekly--team-report.html +9 -0
  221. package/skills/lark-mail/references/lark-mail-calendar-invite.md +36 -0
  222. package/skills/lark-mail/references/lark-mail-decline-receipt.md +115 -0
  223. package/skills/lark-mail/references/lark-mail-draft-create.md +127 -0
  224. package/skills/lark-mail/references/lark-mail-draft-edit.md +404 -0
  225. package/skills/lark-mail/references/lark-mail-forward.md +239 -0
  226. package/skills/lark-mail/references/lark-mail-html.md +333 -0
  227. package/skills/lark-mail/references/lark-mail-lint-html.md +243 -0
  228. package/skills/lark-mail/references/lark-mail-message-modify.md +48 -0
  229. package/skills/lark-mail/references/lark-mail-message-trash.md +41 -0
  230. package/skills/lark-mail/references/lark-mail-message.md +233 -0
  231. package/skills/lark-mail/references/lark-mail-messages.md +108 -0
  232. package/skills/lark-mail/references/lark-mail-recall.md +66 -0
  233. package/skills/lark-mail/references/lark-mail-recipient-search.md +59 -0
  234. package/skills/lark-mail/references/lark-mail-reply-all.md +213 -0
  235. package/skills/lark-mail/references/lark-mail-reply.md +249 -0
  236. package/skills/lark-mail/references/lark-mail-rules.md +31 -0
  237. package/skills/lark-mail/references/lark-mail-send-as.md +44 -0
  238. package/skills/lark-mail/references/lark-mail-send-receipt.md +120 -0
  239. package/skills/lark-mail/references/lark-mail-send-status.md +46 -0
  240. package/skills/lark-mail/references/lark-mail-send.md +222 -0
  241. package/skills/lark-mail/references/lark-mail-share-to-chat.md +87 -0
  242. package/skills/lark-mail/references/lark-mail-signature.md +98 -0
  243. package/skills/lark-mail/references/lark-mail-template-create.md +129 -0
  244. package/skills/lark-mail/references/lark-mail-template-update.md +150 -0
  245. package/skills/lark-mail/references/lark-mail-template.md +54 -0
  246. package/skills/lark-mail/references/lark-mail-thread.md +111 -0
  247. package/skills/lark-mail/references/lark-mail-triage.md +131 -0
  248. package/skills/lark-mail/references/lark-mail-watch.md +94 -0
  249. package/skills/lark-markdown/SKILL.md +70 -0
  250. package/skills/lark-markdown/references/lark-markdown-create.md +114 -0
  251. package/skills/lark-markdown/references/lark-markdown-diff.md +156 -0
  252. package/skills/lark-markdown/references/lark-markdown-fetch.md +79 -0
  253. package/skills/lark-markdown/references/lark-markdown-overwrite.md +85 -0
  254. package/skills/lark-markdown/references/lark-markdown-patch.md +160 -0
  255. package/skills/lark-minutes/SKILL.md +207 -0
  256. package/skills/lark-minutes/references/lark-minutes-detail.md +62 -0
  257. package/skills/lark-minutes/references/lark-minutes-download.md +135 -0
  258. package/skills/lark-minutes/references/lark-minutes-search.md +202 -0
  259. package/skills/lark-minutes/references/lark-minutes-speaker-replace.md +107 -0
  260. package/skills/lark-minutes/references/lark-minutes-summary.md +120 -0
  261. package/skills/lark-minutes/references/lark-minutes-todo.md +136 -0
  262. package/skills/lark-minutes/references/lark-minutes-update.md +39 -0
  263. package/skills/lark-minutes/references/lark-minutes-upload.md +104 -0
  264. package/skills/lark-note/SKILL.md +94 -0
  265. package/skills/lark-note/references/lark-note-detail.md +26 -0
  266. package/skills/lark-note/references/lark-note-transcript.md +23 -0
  267. package/skills/lark-okr/SKILL.md +122 -0
  268. package/skills/lark-okr/references/lark-okr-alignments.md +180 -0
  269. package/skills/lark-okr/references/lark-okr-batch-create.md +106 -0
  270. package/skills/lark-okr/references/lark-okr-contentblock.md +427 -0
  271. package/skills/lark-okr/references/lark-okr-cycle-detail.md +91 -0
  272. package/skills/lark-okr/references/lark-okr-cycle-list.md +93 -0
  273. package/skills/lark-okr/references/lark-okr-entities.md +329 -0
  274. package/skills/lark-okr/references/lark-okr-image-upload.md +116 -0
  275. package/skills/lark-okr/references/lark-okr-indicator-update.md +80 -0
  276. package/skills/lark-okr/references/lark-okr-indicators.md +223 -0
  277. package/skills/lark-okr/references/lark-okr-patch.md +104 -0
  278. package/skills/lark-okr/references/lark-okr-progress-create.md +85 -0
  279. package/skills/lark-okr/references/lark-okr-progress-delete.md +47 -0
  280. package/skills/lark-okr/references/lark-okr-progress-get.md +93 -0
  281. package/skills/lark-okr/references/lark-okr-progress-list.md +80 -0
  282. package/skills/lark-okr/references/lark-okr-progress-update.md +85 -0
  283. package/skills/lark-okr/references/lark-okr-reorder.md +81 -0
  284. package/skills/lark-okr/references/lark-okr-weight.md +96 -0
  285. package/skills/lark-openapi-explorer/SKILL.md +153 -0
  286. package/skills/lark-shared/SKILL.md +211 -0
  287. package/skills/lark-shared/references/lark-wiki-token-routing.md +42 -0
  288. package/skills/lark-sheets/SKILL.md +234 -0
  289. package/skills/lark-sheets/references/lark-sheets-batch-update.md +200 -0
  290. package/skills/lark-sheets/references/lark-sheets-changeset.md +105 -0
  291. package/skills/lark-sheets/references/lark-sheets-chart.md +332 -0
  292. package/skills/lark-sheets/references/lark-sheets-conditional-format.md +181 -0
  293. package/skills/lark-sheets/references/lark-sheets-filter-view.md +137 -0
  294. package/skills/lark-sheets/references/lark-sheets-filter.md +130 -0
  295. package/skills/lark-sheets/references/lark-sheets-float-image.md +159 -0
  296. package/skills/lark-sheets/references/lark-sheets-formula-translation.md +276 -0
  297. package/skills/lark-sheets/references/lark-sheets-formula-verify.md +77 -0
  298. package/skills/lark-sheets/references/lark-sheets-history.md +93 -0
  299. package/skills/lark-sheets/references/lark-sheets-pivot-table.md +171 -0
  300. package/skills/lark-sheets/references/lark-sheets-range-operations.md +297 -0
  301. package/skills/lark-sheets/references/lark-sheets-read-data.md +235 -0
  302. package/skills/lark-sheets/references/lark-sheets-search-replace.md +111 -0
  303. package/skills/lark-sheets/references/lark-sheets-sheet-structure.md +212 -0
  304. package/skills/lark-sheets/references/lark-sheets-sparkline.md +149 -0
  305. package/skills/lark-sheets/references/lark-sheets-visual-standards.md +205 -0
  306. package/skills/lark-sheets/references/lark-sheets-workbook.md +420 -0
  307. package/skills/lark-sheets/references/lark-sheets-write-cells.md +575 -0
  308. package/skills/lark-sheets/scripts/sheets_df.py +32 -0
  309. package/skills/lark-skill-maker/SKILL.md +85 -0
  310. package/skills/lark-slides/SKILL.md +285 -0
  311. package/skills/lark-slides/references/asset-planning.md +135 -0
  312. package/skills/lark-slides/references/examples.md +91 -0
  313. package/skills/lark-slides/references/iconpark-index.json +41901 -0
  314. package/skills/lark-slides/references/iconpark.md +46 -0
  315. package/skills/lark-slides/references/lark-slides-create.md +156 -0
  316. package/skills/lark-slides/references/lark-slides-edit-workflows.md +144 -0
  317. package/skills/lark-slides/references/lark-slides-media-upload.md +127 -0
  318. package/skills/lark-slides/references/lark-slides-pptx-template-workflows.md +89 -0
  319. package/skills/lark-slides/references/lark-slides-replace-pages.md +95 -0
  320. package/skills/lark-slides/references/lark-slides-replace-slide.md +240 -0
  321. package/skills/lark-slides/references/lark-slides-screenshot.md +97 -0
  322. package/skills/lark-slides/references/lark-slides-whiteboard.md +331 -0
  323. package/skills/lark-slides/references/lark-slides-xml-get.md +100 -0
  324. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-delete.md +125 -0
  325. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-get.md +110 -0
  326. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-replace.md +189 -0
  327. package/skills/lark-slides/references/lark-slides-xml-presentations-get.md +99 -0
  328. package/skills/lark-slides/references/planning-layer.md +246 -0
  329. package/skills/lark-slides/references/slide-templates.md +201 -0
  330. package/skills/lark-slides/references/slides_chart_demo.xml +1 -0
  331. package/skills/lark-slides/references/slides_demo.xml +226 -0
  332. package/skills/lark-slides/references/slides_xml_schema_definition.xml +3054 -0
  333. package/skills/lark-slides/references/troubleshooting.md +45 -0
  334. package/skills/lark-slides/references/validation-checklist.md +119 -0
  335. package/skills/lark-slides/references/visual-planning.md +255 -0
  336. package/skills/lark-slides/references/xml-format-guide.md +433 -0
  337. package/skills/lark-slides/references/xml-schema-quick-ref.md +249 -0
  338. package/skills/lark-slides/scripts/iconpark_tool.py +362 -0
  339. package/skills/lark-slides/scripts/iconpark_tool_test.py +177 -0
  340. package/skills/lark-slides/scripts/xml_text_overlap_lint.py +1220 -0
  341. package/skills/lark-slides/scripts/xml_text_overlap_lint_test.py +1170 -0
  342. package/skills/lark-task/SKILL.md +168 -0
  343. package/skills/lark-task/references/lark-task-assign.md +38 -0
  344. package/skills/lark-task/references/lark-task-comment.md +28 -0
  345. package/skills/lark-task/references/lark-task-complete.md +27 -0
  346. package/skills/lark-task/references/lark-task-create.md +70 -0
  347. package/skills/lark-task/references/lark-task-followers.md +35 -0
  348. package/skills/lark-task/references/lark-task-get-my-tasks.md +61 -0
  349. package/skills/lark-task/references/lark-task-get-related-tasks.md +53 -0
  350. package/skills/lark-task/references/lark-task-reminder.md +36 -0
  351. package/skills/lark-task/references/lark-task-reopen.md +27 -0
  352. package/skills/lark-task/references/lark-task-search.md +41 -0
  353. package/skills/lark-task/references/lark-task-set-ancestor.md +32 -0
  354. package/skills/lark-task/references/lark-task-tasklist-create.md +35 -0
  355. package/skills/lark-task/references/lark-task-tasklist-members.md +36 -0
  356. package/skills/lark-task/references/lark-task-tasklist-search.md +38 -0
  357. package/skills/lark-task/references/lark-task-tasklist-task-add.md +38 -0
  358. package/skills/lark-task/references/lark-task-update.md +37 -0
  359. package/skills/lark-task/references/lark-task-upload-attachment.md +59 -0
  360. package/skills/lark-vc/SKILL.md +205 -0
  361. package/skills/lark-vc/references/lark-vc-detail.md +44 -0
  362. package/skills/lark-vc/references/lark-vc-recording.md +152 -0
  363. package/skills/lark-vc/references/lark-vc-search.md +163 -0
  364. package/skills/lark-vc/references/vc-domain-boundaries.md +196 -0
  365. package/skills/lark-vc-agent/SKILL.md +201 -0
  366. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md +315 -0
  367. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-join.md +141 -0
  368. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-leave.md +105 -0
  369. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-list-active.md +91 -0
  370. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-message-send.md +134 -0
  371. package/skills/lark-whiteboard/SKILL.md +47 -0
  372. package/skills/lark-whiteboard/elements/connectors.md +102 -0
  373. package/skills/lark-whiteboard/elements/content.md +40 -0
  374. package/skills/lark-whiteboard/elements/image.md +80 -0
  375. package/skills/lark-whiteboard/elements/layout.md +374 -0
  376. package/skills/lark-whiteboard/elements/schema.md +357 -0
  377. package/skills/lark-whiteboard/elements/style.md +318 -0
  378. package/skills/lark-whiteboard/elements/typography.md +73 -0
  379. package/skills/lark-whiteboard/references/lark-whiteboard-query.md +60 -0
  380. package/skills/lark-whiteboard/references/lark-whiteboard-update.md +122 -0
  381. package/skills/lark-whiteboard/references/lark-whiteboard-workflow.md +97 -0
  382. package/skills/lark-whiteboard/routes/dsl.md +107 -0
  383. package/skills/lark-whiteboard/routes/mermaid.md +27 -0
  384. package/skills/lark-whiteboard/routes/svg-edit.md +85 -0
  385. package/skills/lark-whiteboard/routes/svg.md +54 -0
  386. package/skills/lark-whiteboard/scenes/architecture.md +433 -0
  387. package/skills/lark-whiteboard/scenes/bar-chart.md +187 -0
  388. package/skills/lark-whiteboard/scenes/comparison.md +135 -0
  389. package/skills/lark-whiteboard/scenes/fishbone.md +238 -0
  390. package/skills/lark-whiteboard/scenes/flowchart.md +185 -0
  391. package/skills/lark-whiteboard/scenes/flywheel.md +195 -0
  392. package/skills/lark-whiteboard/scenes/funnel.md +101 -0
  393. package/skills/lark-whiteboard/scenes/line-chart.md +214 -0
  394. package/skills/lark-whiteboard/scenes/mermaid.md +130 -0
  395. package/skills/lark-whiteboard/scenes/milestone.md +139 -0
  396. package/skills/lark-whiteboard/scenes/organization.md +173 -0
  397. package/skills/lark-whiteboard/scenes/photo-showcase.md +126 -0
  398. package/skills/lark-whiteboard/scenes/pyramid.md +99 -0
  399. package/skills/lark-whiteboard/scenes/swimlane.md +371 -0
  400. package/skills/lark-whiteboard/scenes/treemap.md +216 -0
  401. package/skills/lark-wiki/SKILL.md +114 -0
  402. package/skills/lark-wiki/references/lark-wiki-delete-space.md +205 -0
  403. package/skills/lark-wiki/references/lark-wiki-member-add.md +67 -0
  404. package/skills/lark-wiki/references/lark-wiki-member-list.md +76 -0
  405. package/skills/lark-wiki/references/lark-wiki-member-remove.md +61 -0
  406. package/skills/lark-wiki/references/lark-wiki-move-to-drive.md +122 -0
  407. package/skills/lark-wiki/references/lark-wiki-move.md +185 -0
  408. package/skills/lark-wiki/references/lark-wiki-node-copy.md +72 -0
  409. package/skills/lark-wiki/references/lark-wiki-node-create.md +127 -0
  410. package/skills/lark-wiki/references/lark-wiki-node-delete.md +62 -0
  411. package/skills/lark-wiki/references/lark-wiki-node-get.md +57 -0
  412. package/skills/lark-wiki/references/lark-wiki-node-list.md +95 -0
  413. package/skills/lark-wiki/references/lark-wiki-space-create.md +46 -0
  414. package/skills/lark-wiki/references/lark-wiki-space-list.md +68 -0
  415. package/skills/lark-workflow-meeting-summary/SKILL.md +122 -0
  416. package/skills/lark-workflow-standup-report/SKILL.md +122 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amaster.ai/pi-lark",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "Pi extension for Lark/Feishu workspace — calendar, docs, drive, sheets, tasks, mail and more via lark-cli.",
5
5
  "keywords": [
6
6
  "pi-package",
@@ -56,12 +56,12 @@
56
56
  }
57
57
  },
58
58
  "devDependencies": {
59
- "@earendil-works/pi-coding-agent": "0.74.0",
59
+ "@earendil-works/pi-coding-agent": "0.80.10",
60
60
  "typebox": "*",
61
61
  "vitest": "^4.0.0"
62
62
  },
63
63
  "dependencies": {
64
- "@amaster.ai/pi-shared": "0.1.4"
64
+ "@amaster.ai/pi-shared": "0.1.6"
65
65
  },
66
66
  "scripts": {
67
67
  "fetch-skills": "node scripts/fetch-skills.mjs",
@@ -0,0 +1,99 @@
1
+ ---
2
+ name: lark-approval
3
+ version: 1.2.0
4
+ description: "飞书审批:查询和处理审批待办/已办/实例,搜索可发起审批定义、查看定义详情并发起原生审批实例。当用户要处理审批任务、查看审批实例、搜索或发起审批时使用。审批待办不是飞书任务;非审批类待办走 lark-task。不负责创建审批定义;三方审批定义不走原生提单。"
5
+ metadata:
6
+ requires:
7
+ bins: ["lark-cli"]
8
+ cliHelp: "lark-cli approval --help"
9
+ ---
10
+
11
+
12
+ **CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md),其中包含认证、权限处理**
13
+
14
+ 所有命令默认 `--as user`(审批是人的动作)。调用前先按需读取 references 下对应的文件,查参数结构,不要猜字段;**references 是第一信息源**,只有在 reference 未覆盖的原生 / 高级场景下,才额外用 `lark-cli ... --help`、`lark-cli schema` 等方式补充确认字段。
15
+
16
+ ## 路由优先级(先判断是不是审批,再选命令)
17
+
18
+ 审批待办不是飞书任务。**只要用户的核心对象是审批单据 / 审批待办 / 审批实例,就优先使用 `lark-approval`,不要让渡给 `lark-task`。**
19
+
20
+ ### 明确归 `lark-approval` 的高优先级语义
21
+
22
+ 出现以下任一语义时,优先走 `lark-approval`:
23
+
24
+ - 审批待办 / 审批单据 / 审批实例 / 审批意见 / 审批定义
25
+ - 同意 / 拒绝 / 转交 / 退回 / 撤回 / 催办 / 加签 / 抄送
26
+ - 待办列表 / 待办单据 / 已发起审批 / 已办审批 / 审批详情 / 同意可编辑
27
+
28
+ **判定规则:** 只要最终动作是对审批单据做同意、拒绝、转交、退回、撤回、催办、加签、抄送、查详情、查已发起/已办/待办,就归 `lark-approval`。只有当用户处理的是**非审批类任务/待办**时,才走 [`lark-task`](../lark-task/SKILL.md)。
29
+
30
+ ## 选哪个命令
31
+
32
+ | 想做什么 | 命令 | 按需读取 reference |
33
+ |---|---|---------------------------------------------------------------------------------|
34
+ | 搜可发起定义 | `approvals search` | [`lark-approval-approvals-search.md`](references/lark-approval-approvals-search.md) |
35
+ | 看审批定义详情/提单前确认表单与流程 | `approvals get` | [`lark-approval-approvals-get.md`](references/lark-approval-approvals-get.md) |
36
+ | 发起原生审批实例/提交请假审批/提交报销审批/创建审批实例 | `instances create` | [`lark-approval-initiate.md`](references/lark-approval-initiate.md) |
37
+ | 查待办/已办 | `tasks query`(`topic`:1待办 2已办 17未读 18已读) | [`lark-approval-tasks-query.md`](references/lark-approval-tasks-query.md) |
38
+ | 看表单/进度/当前节点 | `instances get` | [`lark-approval-instances-get.md`](references/lark-approval-instances-get.md) |
39
+ | 同意审批 | `tasks approve` | [`lark-approval-tasks-approve.md`](references/lark-approval-tasks-approve.md) |
40
+ | 拒绝审批 | `tasks reject` | [`lark-approval-tasks-reject.md`](references/lark-approval-tasks-reject.md) |
41
+ | 转交审批 | `tasks transfer` | [`lark-approval-tasks-transfer.md`](references/lark-approval-tasks-transfer.md) |
42
+ | 加签审批 | `tasks add_sign` | [`lark-approval-tasks-add-sign.md`](references/lark-approval-tasks-add-sign.md) |
43
+ | 退回审批 | `tasks rollback` | [`lark-approval-tasks-rollback.md`](references/lark-approval-tasks-rollback.md) |
44
+ | 催办审批 | `tasks remind` | [`lark-approval-tasks-remind.md`](references/lark-approval-tasks-remind.md) |
45
+ | 撤回已发起审批 | `instances cancel` | [`lark-approval-instances-cancel.md`](references/lark-approval-instances-cancel.md) |
46
+ | 给审批实例追加抄送 | `instances cc` | [`lark-approval-instances-cc.md`](references/lark-approval-instances-cc.md) |
47
+ | 按定义查已发起审批 | `instances initiated` | [`lark-approval-instances-initiated.md`](references/lark-approval-instances-initiated.md) |
48
+
49
+ 处理链:
50
+
51
+ - 发起审批:`approvals search` -> `approvals get` -> `instances create`
52
+ - 处理审批:`tasks query` 拿 `instance_code` + `task_id`(操作必须成对带上)→ 只有用户明确需要查看详情、当前节点、表单内容、或流程进度时,再 `instances get` → 执行操作
53
+
54
+ ## 执行原则(减少误路由、误重试和无效消耗)
55
+
56
+ ### 1) 先拿最小必要信息,再执行
57
+
58
+ - 目标只是处理待办时,优先 `tasks query` 获取 `instance_code` + `task_id`
59
+ - **只有**用户明确要看详情、当前节点、表单内容、流程进度时,才调用 `instances get`
60
+ - 用户已经明确给出 `instance_code` / `task_id` 时,不要先查列表再过滤
61
+
62
+ ### 2) 已知对象时直达动作
63
+
64
+ - 已拿到 `instance_code` + `task_id` 后,优先直接执行 `tasks approve/reject/transfer/add_sign/rollback/remind`
65
+ - 同一轮里如果已有足够的新鲜查询结果,不要重复 `tasks query`
66
+ - 不要默认走 `list -> filter -> detail -> write` 全链路;对象已明确时应压缩步骤
67
+
68
+ ### 3) 错误码驱动,而不是盲目重试
69
+
70
+ - 写操作失败后,先看错误码和报错语义,再决定是否补查或结束
71
+ - **除非错误明确提示可恢复或需要补充参数,否则不要重复刷同一个写操作**
72
+ - 同一个失败原因不要连续多次重试,避免 token 和耗时失控,最多重试1次
73
+
74
+ ## 写操作失败处理:1395001 决策树
75
+
76
+ 当拒绝 / 转交 / 退回 / 撤回 / 同意等写操作返回 `1395001`(任务状态异常 / 写前置校验失败)时,按下面规则处理:
77
+
78
+ 1. **先停止盲目重试**,不要连续重复提交相同写操作,最多重试1次
79
+ 2. 优先从以下角度解释:
80
+ - 任务可能已被他人处理
81
+ - 单据状态已变化,当前动作已不再允许
82
+ - 当前用户已不具备该任务的操作资格
83
+ - 当前节点或单据状态不支持该操作
84
+ 3. 如需确认,只补 **一次** 状态查询(`tasks query` 或 `instances get`),不要陷入 query/write 循环
85
+ 4. 最终给用户明确结论和下一步建议,而不是继续无意义重试
86
+
87
+ **特别注意:** 对拒绝 / 转交 / 撤回场景更要严格执行上述规则;这些场景最容易因状态切换而失败。
88
+
89
+ ```bash
90
+ lark-cli approval approvals search --data '{"keyword":"请假"}' --as user
91
+ lark-cli approval approvals get --params '{"approval_code":"<code>"}' --as user
92
+ lark-cli approval instances create --data '{"approval_code":"<code>","form":"[...]"}' --yes --as user
93
+ lark-cli approval tasks query --params '{"topic":"1"}' --as user
94
+ lark-cli approval tasks approve --data '{"instance_code":"<ic>","task_id":"<tid>","comment":"同意"}' --as user
95
+ ```
96
+
97
+ ## 不在本 skill 范围
98
+
99
+ 创建审批定义(走飞书客户端或审批管理后台);三方定义发起(返回 `create_link`,引导用户通过链接发起);非审批类待办 → [`lark-task`](../lark-task/SKILL.md)
@@ -0,0 +1,128 @@
1
+
2
+ # approval approvals get
3
+
4
+ 获取单个审批定义详情(用户级只读操作)。适合在发起审批实例前,先确认审批名称、表单控件结构、选项值范围以及流程节点信息。
5
+
6
+ 需要的 scopes: ["approval:approval:read"]
7
+
8
+ ## 命令
9
+
10
+ ```bash
11
+ # 按 approval_code 查询审批定义详情
12
+ lark-cli approval approvals get --params '{"approval_code":"<APPROVAL_CODE>"}' --as user
13
+
14
+ # 表格格式输出,便于快速浏览顶层字段
15
+ lark-cli approval approvals get --params '{"approval_code":"<APPROVAL_CODE>"}' --format table --as user
16
+
17
+ # 预览 API 调用,不执行
18
+ lark-cli approval approvals get --params '{"approval_code":"<APPROVAL_CODE>"}' --as user --dry-run
19
+ ```
20
+
21
+ ## 参数
22
+
23
+ | 参数 | 必填 | 说明 |
24
+ |------|------|------|
25
+ | `--params '{...}'` | 是 | 查询参数,使用 JSON 传入 |
26
+ | `approval_code` | 是 | 审批定义 Code;通常来自 `approval approvals search` 的结果 |
27
+ | `locale` | 否 | 返回语言,例如 `zh-CN`、`en-US`、`ja-JP` |
28
+ | `--as user` | 否 | 建议显式指定用户身份;审批定义详情通常按当前用户可见范围读取 |
29
+ | `--format` | 否 | 输出格式:`json`(默认)、`ndjson`、`table`、`csv` |
30
+ | `--dry-run` | 否 | 预览 API 调用,不执行 |
31
+
32
+ ## 常见输入来源
33
+
34
+ 如果你已经有 `approval_code`,可直接查询:
35
+
36
+ ```bash
37
+ lark-cli approval approvals get --params '{"approval_code":"<APPROVAL_CODE>"}' --as user
38
+ ```
39
+
40
+ 如果你还没有 `approval_code`,先搜索可发起审批定义:
41
+
42
+ ```bash
43
+ lark-cli approval approvals search --data '{"keyword":"请假"}' --as user
44
+ ```
45
+
46
+ ## 输出重点字段
47
+
48
+ 返回结果中,优先关注以下字段:
49
+
50
+ | 字段 | 说明 |
51
+ |------|------|
52
+ | `approval_code` | 审批定义 Code |
53
+ | `approval_name` | 审批定义名称;确认是不是用户想发起的那张单 |
54
+ | `form` | 表单定义快照;用于识别控件 `id`、`type`、选项值范围、明细子控件结构 |
55
+ | `node_list` | 流程节点列表;用于识别节点 key、是否需要补充审批人、是否允许多人 |
56
+
57
+ ## form 的使用重点
58
+
59
+ `form` 最重要的作用是帮助 agent **识别怎么组装 `instances.create.data.form`**,而不是直接把它原样提交出去。
60
+
61
+ 重点看:
62
+
63
+ | 字段 / 结构 | 说明 |
64
+ |------|------|
65
+ | `form[].id` | 控件 ID;后续创建实例时必须使用 |
66
+ | `form[].type` | 控件类型,例如 `input`、`date`、`radio`、`checkbox`、`fieldList` |
67
+ | `form[].value` / 选项定义 | 用来识别可选值范围、默认值或选项值 |
68
+ | 明细 / 子控件结构 | 用于识别 `fieldList`、控件组等复杂控件的子字段结构 |
69
+
70
+ **注意:`approvals.get.form` 不是 `instances.create` 可直接复用的 payload 模板。** 它是“定义快照”,主要用于识别字段结构与选项值范围。
71
+
72
+ ## node_list 的使用重点
73
+
74
+ `node_list` 主要用于后续决定是否要补 `node_approver_list` / `node_cc_list`。
75
+
76
+ 重点看:
77
+
78
+ | 字段 | 说明 |
79
+ |------|------|
80
+ | `node_list[].custom_node_id` | 自定义节点标识;后续补节点参数时优先作为 key |
81
+ | `node_list[].node_id` | 节点 ID;若没有 `custom_node_id`,通常退回用它做 key |
82
+ | `node_list[].need_approver` | 是否要求发起人补充审批人 |
83
+ | `node_list[].approver_chosen_multi` | 是否允许为该节点选择多个审批人 |
84
+
85
+ ## 使用建议
86
+
87
+ - **这是发起原生审批实例前的必要只读步骤。** 推荐固定走:`approvals search` -> `approvals get` -> `instances create`。
88
+ - **如果用户已经明确给了 `approval_code`,直接用这个命令。** 不必再走 `approvals search`。
89
+ - **先确认 `approval_name`。** 避免把相似名称的审批定义搞混。
90
+ - **先用 `form` 识别控件结构,再组装创建 payload。** 不要在未看详情时猜控件 `id`、`type` 或选项值。
91
+ - **先用 `node_list` 看是否需要补审批人。** 若某节点 `need_approver=true`,创建实例时通常要补 `node_approver_list`。
92
+ - **`node_list` 的 key 优先取 `custom_node_id`。** 若不存在,再使用 `node_id`。
93
+ - **`approver_chosen_multi=false` 时,一个节点通常只能补一个审批人。**
94
+
95
+ ## 输出与后续操作
96
+
97
+ 读取定义详情后,常见下一步:
98
+
99
+ ```bash
100
+ # 发起原生审批实例
101
+ lark-cli approval instances create --data '{"approval_code":"<APPROVAL_CODE>","form":"[...]"}' --as user --yes
102
+ ```
103
+
104
+ 如果需要进一步理解控件取值与节点参数,优先参考:
105
+
106
+ - `lark-approval-instance-form-control-parameters.md`
107
+ - `lark-approval-instance-value-sourcing.md`
108
+ - `lark-approval-initiate.md`
109
+
110
+ ## 结果整理方式
111
+
112
+ **将结果整理为“审批定义概览 + 表单结构摘要 + 节点要求摘要”。**
113
+
114
+ 建议输出成下面这种结构:
115
+
116
+ ```text
117
+ 审批定义:请假申请
118
+ approval_code: 7C468A54-8745-2245-9675-08B7C63E7A85
119
+
120
+ 表单控件摘要:
121
+ - leave_type: radio,可选值 [annual_leave, sick_leave]
122
+ - reason: textarea
123
+ - start_end: dateInterval
124
+
125
+ 节点要求摘要:
126
+ - manager_node:need_approver=true,approver_chosen_multi=false
127
+ - hr_node:need_approver=false
128
+ ```
@@ -0,0 +1,103 @@
1
+
2
+ # approval approvals search
3
+
4
+ 搜索**当前用户可发起**的审批定义(launchable approvals)。只读操作,不会创建审批实例。
5
+
6
+ 需要的 scopes: ["approval:approval:read"]
7
+
8
+ ## 命令
9
+
10
+ ```bash
11
+ # 按关键词搜索可发起审批定义
12
+ lark-cli approval approvals search --data '{"keyword":"请假"}' --as user
13
+
14
+ # 使用 page_token 翻页
15
+ lark-cli approval approvals search --data '{"keyword":"请假", "page_token":"example_page_token"}' --as user
16
+
17
+ # 表格格式输出,便于快速浏览候选定义
18
+ lark-cli approval approvals search --data '{"keyword":"出差"}' --format table --as user
19
+
20
+ # 预览 API 调用,不执行
21
+ lark-cli approval approvals search --data '{"keyword":"请假"}' --as user --dry-run
22
+ ```
23
+
24
+ ## 参数
25
+
26
+ | 参数 | 必填 | 说明 |
27
+ |------|------|------|
28
+ | `--data '{...}'` | 是 | 查询参数,使用 JSON 传入 |
29
+ | `keyword` | 是 | 搜索关键词,例如 `请假`、`报销`、`出差`、`采购` |
30
+ | `locale` | 否 | 返回语言,例如 `zh-CN`、`en-US`、`ja-JP` |
31
+ | `page_size` | 否 | 分页大小 |
32
+ | `page_token` | 否 | 翻页标记;首次请求不填,后续使用上一次返回的 `page_token` |
33
+ | `--as user` | 否 | 建议显式指定用户身份;“可发起审批定义”是面向当前用户的查询 |
34
+ | `--format` | 否 | 输出格式:`json`(默认)、`ndjson`、`table`、`csv` |
35
+ | `--dry-run` | 否 | 预览 API 调用,不执行 |
36
+
37
+ ## 这个命令解决什么问题
38
+
39
+ 当用户只有自然语言意图,还没有 `approval_code` 时,先用它把“可发起的审批定义候选项”找出来。
40
+
41
+ 典型场景:
42
+
43
+ - “帮我找一下请假审批”
44
+ - “有哪些可以发起的报销单?”
45
+ - “先搜一下出差审批,再帮我提单”
46
+
47
+ ## 输出重点字段
48
+
49
+ 返回结果里,优先关注以下字段:
50
+
51
+ | 字段 | 说明 |
52
+ |------|------|
53
+ | `approval_code` | 审批定义 Code;后续 `approvals get` 和 `instances create` 都要用它 |
54
+ | `approval_name` | 审批定义名称;给用户做候选选择时最关键 |
55
+ | `is_external` | 是否为三方审批定义;`true` 表示不能走原生 `instances.create` |
56
+ | `create_link` | 三方审批定义的发起链接;`is_external=true` 时优先返回给用户 |
57
+
58
+ ## 使用规则
59
+
60
+ - **这是发起审批工作流的第一步。** 标准顺序是:`approvals search` -> `approvals get` -> `instances create`。
61
+ - **搜索结果为空时,不要猜。** 直接告诉用户当前关键词下没有可发起定义,并建议用户换关键词。
62
+ - **命中多个结果时,不要替用户拍板。** 先把候选定义列出来,让用户选择目标审批定义。
63
+ - **`is_external=true` 时不要调用 `approval instances create`。** 这类定义属于三方审批,优先返回 `create_link` 并说明需要通过链接发起。
64
+ - **只有 `is_external=false` 的原生定义,才继续 `approvals get`。**
65
+ - **如果用户已经明确给出 `approval_code`,不要再 search。** 直接执行 `approval approvals get`。
66
+
67
+ ## 结果整理方式
68
+
69
+ **将结果整理为候选清单,优先展示“名称 + approval_code + 是否三方定义 + 下一步建议”。**
70
+
71
+ 建议输出成下面这种结构:
72
+
73
+ ```text
74
+ 找到 3 个可发起审批定义:
75
+
76
+ 1. 请假申请
77
+ - approval_code: 7C468A54-8745-2245-9675-08B7C63E7A85
78
+ - is_external: false
79
+ - next: 可继续读取 definitions 详情(approvals get)
80
+
81
+ 2. 差旅报销
82
+ - approval_code: 99887766-xxxx
83
+ - is_external: true
84
+ - next: 返回 create_link,引导用户通过链接发起
85
+ ```
86
+
87
+ ## 常见后续操作
88
+
89
+ ### 1)用户选中了某个定义,继续查看详情
90
+
91
+ ```bash
92
+ lark-cli approval approvals get --params '{"approval_code":"<APPROVAL_CODE>"}' --as user
93
+ ```
94
+
95
+ ### 2)确认是原生定义后,再准备发起审批实例
96
+
97
+ ```bash
98
+ lark-cli approval instances create --data '{"approval_code":"<APPROVAL_CODE>","form":"[...]"}' --as user --yes
99
+ ```
100
+
101
+ ### 3)确认是三方定义时,直接返回链接
102
+
103
+ 当 `is_external=true` 时,优先向用户返回 `create_link`,说明该审批需在三方系统或跳转页面中发起,而不是通过原生 `instances.create`。
@@ -0,0 +1,221 @@
1
+ # 审批提单工作流
2
+
3
+ ## 执行摘要
4
+
5
+ - **原生审批提单如果用户未明确给出 `approval_code`,必须固定走 `approvals search` -> `approvals get` -> `instances create`** 不要跳过 `get` 直接拼请求。
6
+ - **原生审批提单如果用户明确给出 `approval_code`,固定走 `approvals get` -> `instances create`** 不要跳过 `get` 直接拼请求。
7
+ - **`is_external=true` 的定义是三方定义。** 这类定义不要调用 `instances create`,应优先使用 `create_link`。
8
+ - **所有人员类参数默认使用 `open_id`。** 若用户给的是姓名、邮箱或其他身份,先用 [`../../lark-contact/SKILL.md`](../../lark-contact/SKILL.md) 解析。
9
+ - **先读控件参数 reference 和值来源 reference,再读本文里的创建参数规则。** 提单前必须先阅读 [`lark-approval-instance-form-control-parameters.md`](./lark-approval-instance-form-control-parameters.md) 和 [`lark-approval-instance-value-sourcing.md`](./lark-approval-instance-value-sourcing.md)。
10
+ - **`approvals.get.form` 不是创建 payload 的原样模板。** 它主要用于识别控件 `id`、`type`、选项值范围和明细子控件结构;真正的 `instances create --data.form` 中,控件 `value` 结构以 [`lark-approval-instance-form-control-parameters.md`](./lark-approval-instance-form-control-parameters.md) 为准。
11
+ - **节点参数只从 `node_list` 和本文里的节点参数规则里取。** 节点 key 必须来自定义详情返回的节点标识;审批人/抄送人列表传用户 ID 时,不要混用姓名或其他身份标识。
12
+ - **看到 `need_approver=true` 就说明该节点需要发起人补充审批人。** 如果 `approver_chosen_multi=false`,该节点只允许一个 `open_id`。
13
+ - **创建实例前先确认。** `approval instances create` 是写操作,执行前,让用户确认最终定义、表单值和节点参数;真正执行时显式传 `--yes`。
14
+
15
+ ## 适用场景
16
+
17
+ - “帮我提交一个请假审批”
18
+ - “帮我发起报销审批”
19
+ - “我想提一个出差审批”
20
+ - “先搜可发起的审批,再帮我提单”
21
+
22
+ ## 严禁行为
23
+
24
+ - **严禁在未先阅读本文中的创建参数规则、[`lark-approval-instance-form-control-parameters.md`](./lark-approval-instance-form-control-parameters.md) 和 [`lark-approval-instance-value-sourcing.md`](./lark-approval-instance-value-sourcing.md) 的情况下直接提单。**
25
+ - **严禁跳过 `approvals.get`。** 未拿到 `form` 和 `node_list` 前,不得调用 `instances create`。
26
+ - **严禁把姓名直接写进 `node_approver_list`、`node_cc_list` 或表单人员控件。** 必须先转成 `open_id`。
27
+ - **严禁对三方定义调用 `instances create`。**
28
+ - **严禁对 API 不支持的控件硬提单。** 如果目标定义包含创建实例 API 不支持的控件,应明确告诉用户该定义不能仅通过 API 完整发起。
29
+ - **严禁把 `approvals.get.form` 当成可直接提交的原样模板。**
30
+ - **严禁在未得到用户确认前直接执行真实提单。**
31
+
32
+ ## 工作流
33
+
34
+ ### 1. 搜索可发起审批定义
35
+
36
+ 先搜索定义:
37
+
38
+ ```bash
39
+ lark-cli approval approvals search --data '{"keyword":"请假"}'
40
+ ```
41
+
42
+ 处理规则:
43
+
44
+ - 若结果为空,告诉用户当前关键词下没有可发起定义。
45
+ - 若命中多个定义,必须把候选项列给用户选择,不要自行猜测。
46
+ - 若目标定义 `is_external=true`,优先返回 `create_link`,说明这是三方定义,不能走原生 `instances create`。
47
+ - 只有 `is_external=false` 的原生定义才继续下一步。
48
+
49
+ ### 2. 获取审批定义详情
50
+
51
+ 拿到 `approval_code` 后,读取定义详情:
52
+
53
+ ```bash
54
+ lark-cli approval approvals get \
55
+ --params '{"approval_code":"7C468A54-8745-2245-9675-08B7C63E7A85"}'
56
+ ```
57
+
58
+ 重点关注返回:
59
+
60
+ - `approval_name`: 当前发起的是哪个审批定义。
61
+ - `form`: 表单定义快照,用于识别控件 `id`、`type`、选项值范围以及明细子控件结构;不是创建实例时可直接原样提交的 payload 模板。
62
+ - `node_list`: 流程节点信息,是后续 `node_approver_list` / `node_cc_list` 的唯一可靠来源。
63
+
64
+ ### 3. 创建请求参数速查
65
+
66
+ 输入参数如下:
67
+
68
+ | 参数 | 必填 | 说明 |
69
+ |---|---|---|
70
+ | `--data '{...}'` | 是 | 请求体,使用 JSON 传入 |
71
+ | `approval_code` | 是 | 审批定义 Code;必须先通过 `approvals search` / `approvals get` 确认 |
72
+ | `form` | 否 | 表单值,**JSON 数组字符串**,不是普通对象;API 层非必填,但审批定义存在必填控件或用户需要提交表单值时必须传 |
73
+ | `node_approver_list` | 否 | 节点审批人列表;仅在定义要求补充审批人时传 |
74
+ | `node_cc_list` | 否 | 节点抄送人列表;仅在用户明确需要补充节点抄送人时传 |
75
+ | `uuid` | 否 | 幂等标识;重复重试同一请求时建议显式传入 |
76
+ | `--as user` | 否 | 建议显式指定用户身份;审批发起通常应使用用户身份 |
77
+ | `--yes` | 是 | 写操作确认;真实执行时必须显式传入 |
78
+ | `--dry-run` | 否 | 预览 API 调用,不执行 |
79
+
80
+ ### 4. 组装 `form`
81
+
82
+ `instances create --data.form` 是可选字段;传入时必须是一个 JSON 数组字符串。无表单或无需填写表单值的审批可省略 `form`,但只要审批定义包含需要提交的控件,就必须按控件结构组装后传入。组装原则:
83
+
84
+ - 先用 `approvals.get.form` 识别有哪些控件、每个控件的 `id` / `type` / 可选值范围,再按本文中的创建参数规则与 [`lark-approval-instance-form-control-parameters.md`](./lark-approval-instance-form-control-parameters.md) 重新组装创建 payload。
85
+ - 提交时必须至少保证每个控件的 `id`、`type` 与 `value` 符合当前接口要求;不要假设定义快照里出现的其他字段都能直接照搬。
86
+ - 如果用户提供的是人员信息,优先转换成 `open_id` 后再写入对应控件。
87
+ - 单选/多选控件提交的是选项 `value`,该值可从 `approvals.get.form` 的选项定义中取得。
88
+ - `contact`、`department`、`fieldList`、`dateInterval`、`amount`、`telephone`、`document` 等控件的 `value` 结构各不相同,必须按 [`lark-approval-instance-form-control-parameters.md`](./lark-approval-instance-form-control-parameters.md) 单独组装,不要套用文本控件的写法。
89
+ - 值本身从哪里拿,优先按 [`lark-approval-instance-value-sourcing.md`](./lark-approval-instance-value-sourcing.md) 处理;不要把“知道结构”误当成“已经拿到可提交值”。
90
+ - 若 [`lark-approval-instance-form-control-parameters.md`](./lark-approval-instance-form-control-parameters.md) 标明某控件不支持通过创建实例 API 提交,则不要硬猜绕过;应明确告诉用户该定义当前无法仅通过 API 提单。
91
+ - 若遇到当前 skill 未明确覆盖的复杂控件,不要硬猜;先依据 [`lark-approval-instance-form-control-parameters.md`](./lark-approval-instance-form-control-parameters.md) 判断支持性与传值结构,再向用户确认。
92
+
93
+ ## API 不支持的控件
94
+
95
+ 根据 [`lark-approval-instance-form-control-parameters.md`](./lark-approval-instance-form-control-parameters.md),创建审批实例 API 不支持的控件至少包括:
96
+
97
+ - `text`
98
+ - `mutableGroup`
99
+ - `account`
100
+ - `serialNumber`
101
+ - `tripGroup`
102
+ - `apaascorehrOnboardingGroup`
103
+ - `apaascorehrRegularateGroup`
104
+ - `remedyGroupV2`
105
+ - `apaascorehrJobAdjustGroup`
106
+ - `apaascorehrOffboardingGroup`
107
+
108
+ 如果目标审批定义包含上述控件,不要继续硬拼 `form`;应直接告诉用户该定义不能仅通过当前 API 完整提单。
109
+
110
+ ## 高频控件速查
111
+
112
+ 优先按 [`lark-approval-instance-form-control-parameters.md`](./lark-approval-instance-form-control-parameters.md) 组装,下面只保留最常用、最容易出错的格式:
113
+
114
+ - `input` / `textarea`: `value` 是字符串
115
+ - `date`: `value` 是 RFC3339 时间字符串
116
+ - `dateInterval`: `value` 是对象,包含 `start` / `end` / `interval`
117
+ - `radio` / `radioV2`: `value` 是单个选项值,取定义详情里的 `option.value`;关联外部选项时传 `options.id`
118
+ - `checkbox` / `checkboxV2`: `value` 是选项值数组
119
+ - `number`: `value` 是数字
120
+ - `amount`: `value` 是数字,还要带 `currency`
121
+ - `formula`: `value` 必须与定义中的公式结果匹配,否则会报错
122
+ - `contact`: 只推荐写 `open_ids`,由人员信息先转换成 `open_id`
123
+ - `connect`: `value` 是关联审批实例 `instance_code` 数组,当前默认要求用户直接提供 `instance_code`
124
+ - `document`: `value` 是对象,至少含 `token` 和 `type=docx`
125
+ - `attachmentV2` / `image` / `imageV2`: `value` 是 file code 数组,当前默认要求用户直接提供
126
+ - `fieldList`: `value` 是二维数组,子项继续按各自控件类型组装
127
+ - `department`: `value` 是对象数组,元素字段名为 `open_id`,其值填写部门的 `open_department_id`
128
+ - `telephone`: `value` 是对象,包含 `countryCode` 和 `nationalNumber`
129
+ - `address`: `value` 是对象数组,至少包含地理库 `id`,可选 `detailAddress`;当前默认要求用户直接提供该 `id`
130
+
131
+ ## 特殊控件组
132
+
133
+ [`lark-approval-instance-form-control-parameters.md`](./lark-approval-instance-form-control-parameters.md) 还明确给出了若干特殊控件组的提单格式,至少包括:
134
+
135
+ - `leaveGroupV2`
136
+ - `workGroup`
137
+ - `outGroup`
138
+ - `shiftGroup`
139
+
140
+ 这类控件组不是简单文本控件,通常内部还嵌套 `radioV2`、`date`、`fieldList`、`image`、`contact` 等子控件。遇到这些控件组时:
141
+
142
+ - 先从 `approvals.get.form` 找到控件组及其子控件 ID
143
+ - 再严格按 [`lark-approval-instance-form-control-parameters.md`](./lark-approval-instance-form-control-parameters.md) 的示例组装 `value`
144
+ - 不要把控件组整体当成普通字符串或扁平对象提交
145
+
146
+ ### 5. 组装节点参数
147
+
148
+ 从 `node_list` 推导节点参数:
149
+
150
+ - 若某节点 `need_approver=true`,则必须在 `node_approver_list` 中补该节点的审批人。
151
+ - `key` 优先取 `custom_node_id`;若不存在,再用 `node_id`。
152
+ - `value` 是审批人 `open_id` 列表。
153
+ - 若 `approver_chosen_multi=false`,该节点只允许一个审批人 `open_id`。
154
+ - `node_cc_list` 仅在用户明确需要补充节点抄送人时才填写;其 `key/value` 规则与 `node_approver_list` 相同。
155
+
156
+ ### 6. 创建审批实例
157
+
158
+ 创建命令使用 `approval instances create`,需要的 scopes: ["approval:instance:write"]
159
+
160
+ 确认最终表单值和节点参数后再执行:
161
+
162
+ ```bash
163
+ lark-cli approval instances create \
164
+ --data '{
165
+ "approval_code":"7C468A54-8745-2245-9675-08B7C63E7A85",
166
+ "form":"[{\"id\":\"widget1\",\"type\":\"input\",\"value\":\"请假半天\"}]",
167
+ "node_approver_list":[
168
+ {
169
+ "key":"manager_node_id",
170
+ "value":["ou_xxx"]
171
+ }
172
+ ]
173
+ }' \
174
+ --as user \
175
+ --yes
176
+ ```
177
+
178
+ 执行规则:
179
+
180
+ - 执行前先向用户确认:目标审批定义、核心表单值、节点审批人/抄送人。
181
+ - 若需要幂等,可补 `uuid`。
182
+ - 成功后回报 `instance_code` 与 `instance_link`。
183
+
184
+ ## 组装时优先依据的资料
185
+
186
+ 优先级固定如下:
187
+
188
+ 1. 本文中的创建请求参数、节点参数和返回结果说明:决定 `instances create` 要传哪些字段、怎么执行、成功后回什么。
189
+ 2. [`lark-approval-instance-form-control-parameters.md`](./lark-approval-instance-form-control-parameters.md):决定每种控件的 `value` 结构与支持范围。
190
+ 3. [`lark-approval-instance-value-sourcing.md`](./lark-approval-instance-value-sourcing.md):决定每类值应该从哪里拿,以及当前哪些值必须由用户直接提供。
191
+ 4. `approvals.get.form`:提供当前审批定义里实际有哪些控件、控件 `id`、控件 `type`、选项值范围、明细子控件结构。
192
+ 5. `approvals.get.node_list`:提供节点 key 与是否需要补充审批人/抄送人的线索。
193
+
194
+ 不要反过来把 `approvals.get.form` 当成第一优先级,更不要把它当成可直接提交的 JSON 模板。
195
+
196
+ ## 最小判断表
197
+
198
+ | 你手上有什么 | 下一步 |
199
+ |---|---|
200
+ | 只有口语需求,比如“帮我提个请假审批” | 先 `approvals.search` |
201
+ | 已经拿到 `approval_code` | 直接 `approvals.get` |
202
+ | 已拿到 `form` / `node_list`,且用户已给出表单值和审批人 | 组装 `instances create` |
203
+ | `is_external=true` | 返回 `create_link`,不要调 `instances create` |
204
+
205
+ ## 返回结果
206
+
207
+ 完成创建后,至少向用户返回:
208
+
209
+ - `approval_name`
210
+ - `instance_code`
211
+ - `instance_link`
212
+
213
+ 建议整理为下面这种结构:
214
+
215
+ ```text
216
+ 审批已创建成功:
217
+
218
+ - approval_name: 请假申请
219
+ - instance_code: 19EAC829-F1CB-527F-BE2A-1330422E60C0
220
+ - instance_link: https://...
221
+ ```