pi-feishu-cli 0.1.0

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 (407) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +111 -0
  3. package/dist/src/bot.d.ts +29 -0
  4. package/dist/src/bot.js +75 -0
  5. package/dist/src/cards.d.ts +6 -0
  6. package/dist/src/cards.js +87 -0
  7. package/dist/src/config.d.ts +3 -0
  8. package/dist/src/config.js +28 -0
  9. package/dist/src/daemon.d.ts +2 -0
  10. package/dist/src/daemon.js +151 -0
  11. package/dist/src/extension.d.ts +2 -0
  12. package/dist/src/extension.js +124 -0
  13. package/dist/src/poller.d.ts +33 -0
  14. package/dist/src/poller.js +94 -0
  15. package/dist/src/renderer.d.ts +8 -0
  16. package/dist/src/renderer.js +31 -0
  17. package/dist/src/session-registry.d.ts +15 -0
  18. package/dist/src/session-registry.js +82 -0
  19. package/dist/src/types.d.ts +25 -0
  20. package/dist/src/types.js +1 -0
  21. package/dist/tests/bot.test.d.ts +1 -0
  22. package/dist/tests/bot.test.js +89 -0
  23. package/dist/tests/cards.test.d.ts +1 -0
  24. package/dist/tests/cards.test.js +39 -0
  25. package/dist/tests/config.test.d.ts +1 -0
  26. package/dist/tests/config.test.js +59 -0
  27. package/dist/tests/renderer.test.d.ts +1 -0
  28. package/dist/tests/renderer.test.js +61 -0
  29. package/dist/tests/session-registry.test.d.ts +1 -0
  30. package/dist/tests/session-registry.test.js +92 -0
  31. package/dist/tests/types.test.d.ts +1 -0
  32. package/dist/tests/types.test.js +30 -0
  33. package/package.json +35 -0
  34. package/skills/lark-approval/SKILL.md +56 -0
  35. package/skills/lark-apps/SKILL.md +92 -0
  36. package/skills/lark-apps/references/lark-apps-access-scope-get.md +104 -0
  37. package/skills/lark-apps/references/lark-apps-access-scope-set.md +126 -0
  38. package/skills/lark-apps/references/lark-apps-create.md +112 -0
  39. package/skills/lark-apps/references/lark-apps-html-publish.md +151 -0
  40. package/skills/lark-apps/references/lark-apps-list.md +95 -0
  41. package/skills/lark-apps/references/lark-apps-update.md +86 -0
  42. package/skills/lark-attendance/SKILL.md +57 -0
  43. package/skills/lark-base/SKILL.md +359 -0
  44. package/skills/lark-base/references/dashboard-block-data-config.md +350 -0
  45. package/skills/lark-base/references/examples.md +140 -0
  46. package/skills/lark-base/references/formula-field-guide.md +737 -0
  47. package/skills/lark-base/references/lark-base-advperm-disable.md +83 -0
  48. package/skills/lark-base/references/lark-base-advperm-enable.md +80 -0
  49. package/skills/lark-base/references/lark-base-base-copy.md +74 -0
  50. package/skills/lark-base/references/lark-base-base-create.md +68 -0
  51. package/skills/lark-base/references/lark-base-base-get.md +39 -0
  52. package/skills/lark-base/references/lark-base-cell-value.md +151 -0
  53. package/skills/lark-base/references/lark-base-dashboard-arrange.md +83 -0
  54. package/skills/lark-base/references/lark-base-dashboard-block-create.md +108 -0
  55. package/skills/lark-base/references/lark-base-dashboard-block-delete.md +46 -0
  56. package/skills/lark-base/references/lark-base-dashboard-block-get.md +57 -0
  57. package/skills/lark-base/references/lark-base-dashboard-block-list.md +53 -0
  58. package/skills/lark-base/references/lark-base-dashboard-block-update.md +84 -0
  59. package/skills/lark-base/references/lark-base-dashboard-create.md +73 -0
  60. package/skills/lark-base/references/lark-base-dashboard-delete.md +44 -0
  61. package/skills/lark-base/references/lark-base-dashboard-get.md +59 -0
  62. package/skills/lark-base/references/lark-base-dashboard-list.md +52 -0
  63. package/skills/lark-base/references/lark-base-dashboard-update.md +69 -0
  64. package/skills/lark-base/references/lark-base-dashboard.md +240 -0
  65. package/skills/lark-base/references/lark-base-data-analysis-sop.md +88 -0
  66. package/skills/lark-base/references/lark-base-data-query.md +375 -0
  67. package/skills/lark-base/references/lark-base-field-create.md +104 -0
  68. package/skills/lark-base/references/lark-base-field-delete.md +51 -0
  69. package/skills/lark-base/references/lark-base-field-get.md +42 -0
  70. package/skills/lark-base/references/lark-base-field-list.md +44 -0
  71. package/skills/lark-base/references/lark-base-field-search-options.md +48 -0
  72. package/skills/lark-base/references/lark-base-field-update.md +97 -0
  73. package/skills/lark-base/references/lark-base-field.md +22 -0
  74. package/skills/lark-base/references/lark-base-form-create.md +87 -0
  75. package/skills/lark-base/references/lark-base-form-delete.md +64 -0
  76. package/skills/lark-base/references/lark-base-form-detail.md +198 -0
  77. package/skills/lark-base/references/lark-base-form-get.md +68 -0
  78. package/skills/lark-base/references/lark-base-form-list.md +73 -0
  79. package/skills/lark-base/references/lark-base-form-questions-create.md +118 -0
  80. package/skills/lark-base/references/lark-base-form-questions-delete.md +68 -0
  81. package/skills/lark-base/references/lark-base-form-questions-list.md +84 -0
  82. package/skills/lark-base/references/lark-base-form-questions-update.md +92 -0
  83. package/skills/lark-base/references/lark-base-form-questions.md +23 -0
  84. package/skills/lark-base/references/lark-base-form-submit.md +171 -0
  85. package/skills/lark-base/references/lark-base-form-update.md +82 -0
  86. package/skills/lark-base/references/lark-base-form.md +25 -0
  87. package/skills/lark-base/references/lark-base-history.md +16 -0
  88. package/skills/lark-base/references/lark-base-record-batch-create.md +58 -0
  89. package/skills/lark-base/references/lark-base-record-batch-update.md +53 -0
  90. package/skills/lark-base/references/lark-base-record-delete.md +62 -0
  91. package/skills/lark-base/references/lark-base-record-history-list.md +86 -0
  92. package/skills/lark-base/references/lark-base-record-share-link-create.md +72 -0
  93. package/skills/lark-base/references/lark-base-record-upsert.md +64 -0
  94. package/skills/lark-base/references/lark-base-record.md +31 -0
  95. package/skills/lark-base/references/lark-base-role-create.md +89 -0
  96. package/skills/lark-base/references/lark-base-role-delete.md +83 -0
  97. package/skills/lark-base/references/lark-base-role-get.md +87 -0
  98. package/skills/lark-base/references/lark-base-role-list.md +81 -0
  99. package/skills/lark-base/references/lark-base-role-update.md +94 -0
  100. package/skills/lark-base/references/lark-base-shortcut-field-properties.md +481 -0
  101. package/skills/lark-base/references/lark-base-table-create.md +62 -0
  102. package/skills/lark-base/references/lark-base-table-delete.md +51 -0
  103. package/skills/lark-base/references/lark-base-table-get.md +46 -0
  104. package/skills/lark-base/references/lark-base-table-list.md +43 -0
  105. package/skills/lark-base/references/lark-base-table-update.md +49 -0
  106. package/skills/lark-base/references/lark-base-table.md +20 -0
  107. package/skills/lark-base/references/lark-base-view-create.md +50 -0
  108. package/skills/lark-base/references/lark-base-view-delete.md +48 -0
  109. package/skills/lark-base/references/lark-base-view-get-card.md +38 -0
  110. package/skills/lark-base/references/lark-base-view-get-filter.md +38 -0
  111. package/skills/lark-base/references/lark-base-view-get-group.md +38 -0
  112. package/skills/lark-base/references/lark-base-view-get-sort.md +38 -0
  113. package/skills/lark-base/references/lark-base-view-get-timebar.md +38 -0
  114. package/skills/lark-base/references/lark-base-view-get-visible-fields.md +28 -0
  115. package/skills/lark-base/references/lark-base-view-get.md +38 -0
  116. package/skills/lark-base/references/lark-base-view-list.md +44 -0
  117. package/skills/lark-base/references/lark-base-view-rename.md +44 -0
  118. package/skills/lark-base/references/lark-base-view-set-card.md +55 -0
  119. package/skills/lark-base/references/lark-base-view-set-filter.md +181 -0
  120. package/skills/lark-base/references/lark-base-view-set-group.md +65 -0
  121. package/skills/lark-base/references/lark-base-view-set-sort.md +63 -0
  122. package/skills/lark-base/references/lark-base-view-set-timebar.md +51 -0
  123. package/skills/lark-base/references/lark-base-view-set-visible-fields.md +46 -0
  124. package/skills/lark-base/references/lark-base-view.md +44 -0
  125. package/skills/lark-base/references/lark-base-workflow-create.md +180 -0
  126. package/skills/lark-base/references/lark-base-workflow-disable.md +94 -0
  127. package/skills/lark-base/references/lark-base-workflow-enable.md +94 -0
  128. package/skills/lark-base/references/lark-base-workflow-get.md +147 -0
  129. package/skills/lark-base/references/lark-base-workflow-guide.md +718 -0
  130. package/skills/lark-base/references/lark-base-workflow-list.md +124 -0
  131. package/skills/lark-base/references/lark-base-workflow-schema.md +935 -0
  132. package/skills/lark-base/references/lark-base-workflow-update.md +167 -0
  133. package/skills/lark-base/references/lark-base-workflow.md +23 -0
  134. package/skills/lark-base/references/lark-base-workspace.md +18 -0
  135. package/skills/lark-base/references/lookup-field-guide.md +512 -0
  136. package/skills/lark-base/references/role-config.md +539 -0
  137. package/skills/lark-calendar/SKILL.md +154 -0
  138. package/skills/lark-calendar/references/lark-calendar-agenda.md +78 -0
  139. package/skills/lark-calendar/references/lark-calendar-create.md +109 -0
  140. package/skills/lark-calendar/references/lark-calendar-freebusy.md +124 -0
  141. package/skills/lark-calendar/references/lark-calendar-room-find.md +113 -0
  142. package/skills/lark-calendar/references/lark-calendar-rsvp.md +42 -0
  143. package/skills/lark-calendar/references/lark-calendar-schedule-meeting.md +265 -0
  144. package/skills/lark-calendar/references/lark-calendar-suggestion.md +125 -0
  145. package/skills/lark-calendar/references/lark-calendar-update.md +105 -0
  146. package/skills/lark-contact/SKILL.md +45 -0
  147. package/skills/lark-contact/references/lark-contact-get-user.md +19 -0
  148. package/skills/lark-contact/references/lark-contact-search-user.md +124 -0
  149. package/skills/lark-doc/SKILL.md +65 -0
  150. package/skills/lark-doc/references/lark-doc-create.md +89 -0
  151. package/skills/lark-doc/references/lark-doc-fetch.md +141 -0
  152. package/skills/lark-doc/references/lark-doc-md.md +71 -0
  153. package/skills/lark-doc/references/lark-doc-media-download.md +50 -0
  154. package/skills/lark-doc/references/lark-doc-media-insert.md +114 -0
  155. package/skills/lark-doc/references/lark-doc-media-preview.md +41 -0
  156. package/skills/lark-doc/references/lark-doc-update.md +252 -0
  157. package/skills/lark-doc/references/lark-doc-whiteboard.md +100 -0
  158. package/skills/lark-doc/references/lark-doc-xml.md +169 -0
  159. package/skills/lark-doc/references/style/lark-doc-create-workflow.md +56 -0
  160. package/skills/lark-doc/references/style/lark-doc-style.md +106 -0
  161. package/skills/lark-doc/references/style/lark-doc-update-workflow.md +54 -0
  162. package/skills/lark-drive/SKILL.md +369 -0
  163. package/skills/lark-drive/references/lark-drive-add-comment.md +182 -0
  164. package/skills/lark-drive/references/lark-drive-apply-permission.md +77 -0
  165. package/skills/lark-drive/references/lark-drive-create-folder.md +73 -0
  166. package/skills/lark-drive/references/lark-drive-create-shortcut.md +103 -0
  167. package/skills/lark-drive/references/lark-drive-delete.md +79 -0
  168. package/skills/lark-drive/references/lark-drive-download.md +31 -0
  169. package/skills/lark-drive/references/lark-drive-export-download.md +50 -0
  170. package/skills/lark-drive/references/lark-drive-export.md +119 -0
  171. package/skills/lark-drive/references/lark-drive-import.md +159 -0
  172. package/skills/lark-drive/references/lark-drive-inspect.md +50 -0
  173. package/skills/lark-drive/references/lark-drive-move.md +120 -0
  174. package/skills/lark-drive/references/lark-drive-pull.md +137 -0
  175. package/skills/lark-drive/references/lark-drive-push.md +162 -0
  176. package/skills/lark-drive/references/lark-drive-reactions.md +113 -0
  177. package/skills/lark-drive/references/lark-drive-search.md +266 -0
  178. package/skills/lark-drive/references/lark-drive-status.md +198 -0
  179. package/skills/lark-drive/references/lark-drive-task-result.md +302 -0
  180. package/skills/lark-drive/references/lark-drive-upload.md +67 -0
  181. package/skills/lark-drive/references/lark-drive-version-delete.md +38 -0
  182. package/skills/lark-drive/references/lark-drive-version-get.md +71 -0
  183. package/skills/lark-drive/references/lark-drive-version-history.md +73 -0
  184. package/skills/lark-drive/references/lark-drive-version-revert.md +198 -0
  185. package/skills/lark-event/SKILL.md +145 -0
  186. package/skills/lark-event/references/lark-event-im.md +86 -0
  187. package/skills/lark-im/SKILL.md +162 -0
  188. package/skills/lark-im/references/lark-im-chat-create.md +162 -0
  189. package/skills/lark-im/references/lark-im-chat-identity.md +55 -0
  190. package/skills/lark-im/references/lark-im-chat-list.md +198 -0
  191. package/skills/lark-im/references/lark-im-chat-messages-list.md +148 -0
  192. package/skills/lark-im/references/lark-im-chat-search.md +136 -0
  193. package/skills/lark-im/references/lark-im-chat-update.md +84 -0
  194. package/skills/lark-im/references/lark-im-flag-cancel.md +198 -0
  195. package/skills/lark-im/references/lark-im-flag-create.md +67 -0
  196. package/skills/lark-im/references/lark-im-flag-list.md +100 -0
  197. package/skills/lark-im/references/lark-im-messages-mget.md +95 -0
  198. package/skills/lark-im/references/lark-im-messages-reply.md +228 -0
  199. package/skills/lark-im/references/lark-im-messages-resources-download.md +94 -0
  200. package/skills/lark-im/references/lark-im-messages-search.md +232 -0
  201. package/skills/lark-im/references/lark-im-messages-send.md +229 -0
  202. package/skills/lark-im/references/lark-im-reactions.md +297 -0
  203. package/skills/lark-im/references/lark-im-threads-messages-list.md +111 -0
  204. package/skills/lark-mail/SKILL.md +648 -0
  205. package/skills/lark-mail/references/lark-mail-decline-receipt.md +115 -0
  206. package/skills/lark-mail/references/lark-mail-draft-create.md +123 -0
  207. package/skills/lark-mail/references/lark-mail-draft-edit.md +400 -0
  208. package/skills/lark-mail/references/lark-mail-forward.md +173 -0
  209. package/skills/lark-mail/references/lark-mail-message.md +230 -0
  210. package/skills/lark-mail/references/lark-mail-messages.md +108 -0
  211. package/skills/lark-mail/references/lark-mail-reply-all.md +206 -0
  212. package/skills/lark-mail/references/lark-mail-reply.md +242 -0
  213. package/skills/lark-mail/references/lark-mail-send-receipt.md +198 -0
  214. package/skills/lark-mail/references/lark-mail-send.md +216 -0
  215. package/skills/lark-mail/references/lark-mail-share-to-chat.md +198 -0
  216. package/skills/lark-mail/references/lark-mail-signature.md +98 -0
  217. package/skills/lark-mail/references/lark-mail-template-create.md +129 -0
  218. package/skills/lark-mail/references/lark-mail-template-update.md +198 -0
  219. package/skills/lark-mail/references/lark-mail-thread.md +111 -0
  220. package/skills/lark-mail/references/lark-mail-triage.md +122 -0
  221. package/skills/lark-mail/references/lark-mail-watch.md +94 -0
  222. package/skills/lark-minutes/SKILL.md +139 -0
  223. package/skills/lark-minutes/references/lark-minutes-download.md +137 -0
  224. package/skills/lark-minutes/references/lark-minutes-search.md +206 -0
  225. package/skills/lark-minutes/references/lark-minutes-upload.md +104 -0
  226. package/skills/lark-okr/SKILL.md +133 -0
  227. package/skills/lark-okr/references/lark-okr-contentblock.md +359 -0
  228. package/skills/lark-okr/references/lark-okr-cycle-detail.md +84 -0
  229. package/skills/lark-okr/references/lark-okr-cycle-list.md +90 -0
  230. package/skills/lark-okr/references/lark-okr-entities.md +329 -0
  231. package/skills/lark-okr/references/lark-okr-image-upload.md +116 -0
  232. package/skills/lark-okr/references/lark-okr-progress-create.md +81 -0
  233. package/skills/lark-okr/references/lark-okr-progress-delete.md +47 -0
  234. package/skills/lark-okr/references/lark-okr-progress-get.md +62 -0
  235. package/skills/lark-okr/references/lark-okr-progress-list.md +80 -0
  236. package/skills/lark-okr/references/lark-okr-progress-update.md +81 -0
  237. package/skills/lark-openapi-explorer/SKILL.md +153 -0
  238. package/skills/lark-shared/SKILL.md +144 -0
  239. package/skills/lark-sheets/SKILL.md +343 -0
  240. package/skills/lark-sheets/references/lark-sheets-cell-data.md +197 -0
  241. package/skills/lark-sheets/references/lark-sheets-cell-images.md +59 -0
  242. package/skills/lark-sheets/references/lark-sheets-cell-style-and-merge.md +141 -0
  243. package/skills/lark-sheets/references/lark-sheets-dropdown.md +133 -0
  244. package/skills/lark-sheets/references/lark-sheets-filter-views.md +193 -0
  245. package/skills/lark-sheets/references/lark-sheets-float-images.md +125 -0
  246. package/skills/lark-sheets/references/lark-sheets-formula.md +88 -0
  247. package/skills/lark-sheets/references/lark-sheets-row-column-management.md +151 -0
  248. package/skills/lark-sheets/references/lark-sheets-sheet-management.md +164 -0
  249. package/skills/lark-sheets/references/lark-sheets-spreadsheet-management.md +140 -0
  250. package/skills/lark-skill-maker/SKILL.md +85 -0
  251. package/skills/lark-slides/SKILL.md +296 -0
  252. package/skills/lark-slides/assets/templates/administration--all_hands_meeting.xml +1999 -0
  253. package/skills/lark-slides/assets/templates/administration--annual_gala.xml +1160 -0
  254. package/skills/lark-slides/assets/templates/administration--company_intro.xml +1376 -0
  255. package/skills/lark-slides/assets/templates/administration--corporate_culture.xml +1765 -0
  256. package/skills/lark-slides/assets/templates/hr--employee_training.xml +912 -0
  257. package/skills/lark-slides/assets/templates/hr--employee_training_workshop.xml +1504 -0
  258. package/skills/lark-slides/assets/templates/hr--onboarding.xml +933 -0
  259. package/skills/lark-slides/assets/templates/marketing--brand_communication.xml +1367 -0
  260. package/skills/lark-slides/assets/templates/marketing--brand_logo_design.xml +1347 -0
  261. package/skills/lark-slides/assets/templates/marketing--brand_operations_plan.xml +1309 -0
  262. package/skills/lark-slides/assets/templates/marketing--business_plan.xml +1646 -0
  263. package/skills/lark-slides/assets/templates/marketing--marketing_plan.xml +198 -0
  264. package/skills/lark-slides/assets/templates/marketing--marketing_strategy.xml +1484 -0
  265. package/skills/lark-slides/assets/templates/marketing--product_whitepaper.xml +198 -0
  266. package/skills/lark-slides/assets/templates/marketing--roadshow_business_plan.xml +1506 -0
  267. package/skills/lark-slides/assets/templates/misc--book_sharing.xml +198 -0
  268. package/skills/lark-slides/assets/templates/misc--club_event_plan.xml +4885 -0
  269. package/skills/lark-slides/assets/templates/misc--student_career_plan.xml +1854 -0
  270. package/skills/lark-slides/assets/templates/office--dark_general.xml +3763 -0
  271. package/skills/lark-slides/assets/templates/office--dept_annual_report.xml +1192 -0
  272. package/skills/lark-slides/assets/templates/office--light_general.xml +3378 -0
  273. package/skills/lark-slides/assets/templates/office--project_kickoff.xml +3152 -0
  274. package/skills/lark-slides/assets/templates/office--quarterly_review.xml +1253 -0
  275. package/skills/lark-slides/assets/templates/office--work_report.xml +1099 -0
  276. package/skills/lark-slides/assets/templates/office--work_summary.xml +4420 -0
  277. package/skills/lark-slides/assets/templates/office--work_summary_report.xml +1523 -0
  278. package/skills/lark-slides/assets/templates/operations--brand_logo_design.xml +1347 -0
  279. package/skills/lark-slides/assets/templates/operations--brand_operations_plan.xml +1309 -0
  280. package/skills/lark-slides/assets/templates/operations--marketing_plan.xml +1469 -0
  281. package/skills/lark-slides/assets/templates/operations--product_promotion.xml +687 -0
  282. package/skills/lark-slides/assets/templates/personal--experience_sharing.xml +2242 -0
  283. package/skills/lark-slides/assets/templates/personal--personal_resume.xml +2047 -0
  284. package/skills/lark-slides/assets/templates/personal--promotion_defense.xml +1099 -0
  285. package/skills/lark-slides/assets/templates/personal--promotion_report.xml +1039 -0
  286. package/skills/lark-slides/assets/templates/personal--self_intro.xml +696 -0
  287. package/skills/lark-slides/assets/templates/personal--teaching_sharing.xml +3013 -0
  288. package/skills/lark-slides/assets/templates/product--business_case_analysis.xml +1341 -0
  289. package/skills/lark-slides/assets/templates/product--market_analysis.xml +898 -0
  290. package/skills/lark-slides/assets/templates/product--product_analysis.xml +1537 -0
  291. package/skills/lark-slides/assets/templates/product--product_intro.xml +2838 -0
  292. package/skills/lark-slides/assets/templates/product--product_promotion.xml +687 -0
  293. package/skills/lark-slides/assets/templates/product--product_promotion_2.xml +198 -0
  294. package/skills/lark-slides/references/asset-planning.md +124 -0
  295. package/skills/lark-slides/references/examples.md +261 -0
  296. package/skills/lark-slides/references/lark-slides-create.md +137 -0
  297. package/skills/lark-slides/references/lark-slides-edit-workflows.md +142 -0
  298. package/skills/lark-slides/references/lark-slides-media-upload.md +128 -0
  299. package/skills/lark-slides/references/lark-slides-replace-slide.md +239 -0
  300. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-create.md +220 -0
  301. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-delete.md +123 -0
  302. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-get.md +110 -0
  303. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-replace.md +186 -0
  304. package/skills/lark-slides/references/lark-slides-xml-presentations-get.md +98 -0
  305. package/skills/lark-slides/references/planning-layer.md +219 -0
  306. package/skills/lark-slides/references/slide-templates.md +201 -0
  307. package/skills/lark-slides/references/slides_demo.xml +226 -0
  308. package/skills/lark-slides/references/slides_xml_schema_definition.xml +3004 -0
  309. package/skills/lark-slides/references/template-catalog.md +463 -0
  310. package/skills/lark-slides/references/template-index.json +198 -0
  311. package/skills/lark-slides/references/troubleshooting.md +198 -0
  312. package/skills/lark-slides/references/validation-checklist.md +102 -0
  313. package/skills/lark-slides/references/visual-planning.md +250 -0
  314. package/skills/lark-slides/references/xml-format-guide.md +369 -0
  315. package/skills/lark-slides/references/xml-schema-quick-ref.md +215 -0
  316. package/skills/lark-slides/scripts/template_tool.py +970 -0
  317. package/skills/lark-slides/scripts/template_tool_test.py +177 -0
  318. package/skills/lark-slides/scripts/xml_text_overlap_lint.py +367 -0
  319. package/skills/lark-slides/scripts/xml_text_overlap_lint_test.py +263 -0
  320. package/skills/lark-task/SKILL.md +165 -0
  321. package/skills/lark-task/references/lark-task-assign.md +38 -0
  322. package/skills/lark-task/references/lark-task-comment.md +28 -0
  323. package/skills/lark-task/references/lark-task-complete.md +27 -0
  324. package/skills/lark-task/references/lark-task-create.md +57 -0
  325. package/skills/lark-task/references/lark-task-followers.md +35 -0
  326. package/skills/lark-task/references/lark-task-get-my-tasks.md +55 -0
  327. package/skills/lark-task/references/lark-task-get-related-tasks.md +53 -0
  328. package/skills/lark-task/references/lark-task-reminder.md +36 -0
  329. package/skills/lark-task/references/lark-task-reopen.md +27 -0
  330. package/skills/lark-task/references/lark-task-search.md +41 -0
  331. package/skills/lark-task/references/lark-task-set-ancestor.md +32 -0
  332. package/skills/lark-task/references/lark-task-subscribe-event.md +86 -0
  333. package/skills/lark-task/references/lark-task-tasklist-create.md +35 -0
  334. package/skills/lark-task/references/lark-task-tasklist-members.md +36 -0
  335. package/skills/lark-task/references/lark-task-tasklist-search.md +38 -0
  336. package/skills/lark-task/references/lark-task-tasklist-task-add.md +38 -0
  337. package/skills/lark-task/references/lark-task-update.md +37 -0
  338. package/skills/lark-task/references/lark-task-upload-attachment.md +59 -0
  339. package/skills/lark-vc/SKILL.md +168 -0
  340. package/skills/lark-vc/references/lark-vc-notes.md +126 -0
  341. package/skills/lark-vc/references/lark-vc-recording.md +153 -0
  342. package/skills/lark-vc/references/lark-vc-search.md +193 -0
  343. package/skills/lark-vc-agent/SKILL.md +121 -0
  344. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md +247 -0
  345. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-join.md +133 -0
  346. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-leave.md +111 -0
  347. package/skills/lark-whiteboard/SKILL.md +144 -0
  348. package/skills/lark-whiteboard/references/connectors.md +102 -0
  349. package/skills/lark-whiteboard/references/content.md +40 -0
  350. package/skills/lark-whiteboard/references/image.md +80 -0
  351. package/skills/lark-whiteboard/references/lark-whiteboard-query.md +49 -0
  352. package/skills/lark-whiteboard/references/lark-whiteboard-update.md +100 -0
  353. package/skills/lark-whiteboard/references/layout.md +374 -0
  354. package/skills/lark-whiteboard/references/schema.md +357 -0
  355. package/skills/lark-whiteboard/references/style.md +318 -0
  356. package/skills/lark-whiteboard/references/typography.md +73 -0
  357. package/skills/lark-whiteboard/routes/dsl.md +107 -0
  358. package/skills/lark-whiteboard/routes/mermaid.md +27 -0
  359. package/skills/lark-whiteboard/routes/svg.md +54 -0
  360. package/skills/lark-whiteboard/scenes/architecture.md +433 -0
  361. package/skills/lark-whiteboard/scenes/bar-chart.md +187 -0
  362. package/skills/lark-whiteboard/scenes/comparison.md +135 -0
  363. package/skills/lark-whiteboard/scenes/fishbone.md +238 -0
  364. package/skills/lark-whiteboard/scenes/flowchart.md +198 -0
  365. package/skills/lark-whiteboard/scenes/flywheel.md +195 -0
  366. package/skills/lark-whiteboard/scenes/funnel.md +198 -0
  367. package/skills/lark-whiteboard/scenes/line-chart.md +214 -0
  368. package/skills/lark-whiteboard/scenes/mermaid.md +130 -0
  369. package/skills/lark-whiteboard/scenes/milestone.md +139 -0
  370. package/skills/lark-whiteboard/scenes/organization.md +173 -0
  371. package/skills/lark-whiteboard/scenes/photo-showcase.md +198 -0
  372. package/skills/lark-whiteboard/scenes/pyramid.md +99 -0
  373. package/skills/lark-whiteboard/scenes/swimlane.md +371 -0
  374. package/skills/lark-whiteboard/scenes/treemap.md +198 -0
  375. package/skills/lark-wiki/SKILL.md +119 -0
  376. package/skills/lark-wiki/references/lark-wiki-delete-space.md +205 -0
  377. package/skills/lark-wiki/references/lark-wiki-member-add.md +66 -0
  378. package/skills/lark-wiki/references/lark-wiki-member-list.md +76 -0
  379. package/skills/lark-wiki/references/lark-wiki-member-remove.md +61 -0
  380. package/skills/lark-wiki/references/lark-wiki-move.md +183 -0
  381. package/skills/lark-wiki/references/lark-wiki-node-copy.md +72 -0
  382. package/skills/lark-wiki/references/lark-wiki-node-create.md +127 -0
  383. package/skills/lark-wiki/references/lark-wiki-node-delete.md +62 -0
  384. package/skills/lark-wiki/references/lark-wiki-node-get.md +56 -0
  385. package/skills/lark-wiki/references/lark-wiki-node-list.md +198 -0
  386. package/skills/lark-wiki/references/lark-wiki-space-create.md +46 -0
  387. package/skills/lark-wiki/references/lark-wiki-space-list.md +198 -0
  388. package/skills/lark-workflow-meeting-summary/SKILL.md +104 -0
  389. package/skills/lark-workflow-standup-report/SKILL.md +120 -0
  390. package/skills/mmx-cli/SKILL.md +440 -0
  391. package/src/bot.ts +109 -0
  392. package/src/cards.ts +105 -0
  393. package/src/config.ts +33 -0
  394. package/src/daemon.ts +217 -0
  395. package/src/extension.ts +132 -0
  396. package/src/poller.ts +135 -0
  397. package/src/renderer.ts +47 -0
  398. package/src/session-registry.ts +90 -0
  399. package/src/types.ts +29 -0
  400. package/tests/bot.test.ts +104 -0
  401. package/tests/cards.test.ts +48 -0
  402. package/tests/config.test.ts +59 -0
  403. package/tests/renderer.test.ts +74 -0
  404. package/tests/session-registry.test.ts +94 -0
  405. package/tests/types.test.ts +35 -0
  406. package/tsconfig.json +16 -0
  407. package/vitest.config.ts +7 -0
@@ -0,0 +1,55 @@
1
+ # task +get-my-tasks
2
+
3
+ If the user query only specifies a task name (e.g., "Complete task Lobster No. 1"), use this command to list and search for the task by its summary.
4
+
5
+ > **Prerequisites:** Please read `../lark-shared/SKILL.md` to understand authentication, global parameters, and security rules.
6
+ >
7
+ > **⚠️ Note:** This API must be called with a user identity. **Do NOT use an app identity, otherwise the call will fail.**
8
+ >
9
+ > **Output rendering note:**
10
+ > 1. If you need to present user fields (assignee, creator, etc.), do not only output the raw `id` (e.g. open_id). Also try to resolve and display the user's real name (e.g. via the contact skill) for readability.
11
+ > 2. When rendering timestamps (e.g. created time, due time), use the local timezone. Format is 2006-01-02 15:04:05
12
+
13
+ List tasks assigned to the current user, with support for filtering by completion status, creation time, and due date.
14
+ By default, the command will automatically paginate up to 20 times. Use `--page-all` to fetch more (up to 40 pages).
15
+
16
+ ## Recommended Commands
17
+
18
+ ```bash
19
+ # Search for a specific task by name
20
+ lark-cli task +get-my-tasks --query "Lobster No. 1"
21
+
22
+ # Get all my tasks (fetches up to 20 pages by default)
23
+ lark-cli task +get-my-tasks
24
+
25
+ # Get my incomplete tasks (fetches up to 20 pages by default)
26
+ lark-cli task +get-my-tasks --complete=false
27
+
28
+ # Fetch all my tasks (up to 40 pages)
29
+ lark-cli task +get-my-tasks --page-all
30
+
31
+ # Fetch up to 10 pages
32
+ lark-cli task +get-my-tasks --page-limit 10
33
+
34
+ # Resume from a known page token
35
+ lark-cli task +get-my-tasks --page-token "pt_xxx"
36
+ ```
37
+
38
+ ## Parameters
39
+
40
+ | Parameter | Required | Description |
41
+ |-----------|----------|-------------|
42
+ | `--query <string>` | No | Search for tasks by summary. Returns exact matches if any; otherwise returns partial matches. |
43
+ | `--complete=<bool>` | No | Optional. If not provided, it fetches all tasks (both incomplete and completed). Set to `true` to fetch only completed tasks, or `false` for incomplete tasks. |
44
+ | `--created_at <string>` | No | Query tasks created after this time. Supports date: `YYYY-MM-DD`, relative: `-2d`, or ms timestamp. |
45
+ | `--due-start <string>` | No | Query tasks with a due date after this time. Supports date: `YYYY-MM-DD`, relative: `-2d`, or ms timestamp. |
46
+ | `--due-end <string>` | No | Query tasks with a due date before this time. Supports date: `YYYY-MM-DD`, relative: `-2d`, or ms timestamp. |
47
+ | `--page-all` | No | Automatically paginate through all pages (max 40). |
48
+ | `--page-limit <int>` | No | Max page limit (default 20). |
49
+ | `--page-token <string>` | No | Start from the specified page token (useful for resuming a previous query). |
50
+
51
+ ## Workflow
52
+
53
+ 1. Determine the filters based on the user's request.
54
+ 2. Execute the command. The CLI will automatically loop up to the specified limit (default 20, or 40 with `--page-all`) to fetch records.
55
+ 3. Show the results (ID, summary, due time, and created date).
@@ -0,0 +1,53 @@
1
+ # task +get-related-tasks
2
+
3
+ > **Prerequisites:** Please read `../lark-shared/SKILL.md` to understand authentication, global parameters, and security rules.
4
+ >
5
+ > **⚠️ Note:** This API must be called with a user identity. **Do NOT use an app identity, otherwise the call will fail.**
6
+ >
7
+ > **Pagination / Time Cursor Rule:**
8
+ > In `+get-related-tasks`, `page_token` is the task `updated_at` cursor in microseconds.
9
+ >
10
+ > **Execution Priority:**
11
+ > 1. If the request contains a start/end time boundary (for example, "今年以来", "最近一个月", "从 3 月 1 日开始"), first convert the **start time** boundary to a microsecond `page_token` and query from that token.
12
+ > 2. Continue pagination using returned `page_token` until `has_more=false`, but never exceed 40 total page fetches.
13
+ > 3. Do NOT default to `--page-all` for time-bounded queries.
14
+ >
15
+ > Only use `--page-all` from the beginning when:
16
+ > 1. the user explicitly asks for a full scan of all related tasks, or
17
+ > 2. no time boundary can be inferred from the request.
18
+
19
+ List tasks related to the current user.
20
+
21
+ ## Recommended Commands
22
+
23
+ ```bash
24
+ # List all related tasks
25
+ lark-cli task +get-related-tasks
26
+
27
+ # List incomplete related tasks starting from a page token
28
+ lark-cli task +get-related-tasks --include-complete=false --page-token "1752730590582902"
29
+
30
+ # Show only tasks created by me
31
+ lark-cli task +get-related-tasks --created-by-me
32
+ ```
33
+
34
+ ## Parameters
35
+
36
+ | Parameter | Required | Description |
37
+ |-----------|----------|-------------|
38
+ | `--include-complete=<bool>` | No | Default behavior includes completed tasks. Set to `false` to keep only incomplete tasks. |
39
+ | `--page-all` | No | Automatically paginate through all pages (max 40). |
40
+ | `--page-limit <int>` | No | Max page limit (default 20). |
41
+ | `--page-token <string>` | No | Start from the specified page token. This token is the task's last update time cursor in microseconds. |
42
+ | `--created-by-me` | No | Keep only tasks whose creator is the current user. This is a client-side filter applied after fetching related-task pages. |
43
+ | `--followed-by-me` | No | Keep only tasks followed by the current user. This is a client-side filter applied after fetching related-task pages. |
44
+
45
+ > **Page Token Note:** In `+get-related-tasks`, the `page_token` is a microsecond-level cursor representing the task's last update time. For example, `1752730590582902` should be treated as an updated-at cursor, not a task ID.
46
+ >
47
+ > **Pagination Note for Client-side Filters:** When `--created-by-me` or `--followed-by-me` is used, filtering happens locally after each upstream related-task page is fetched. The returned `has_more` and `page_token` still describe the upstream cursor, so later pages may contain more matching tasks, or may contain none.
48
+
49
+ ## Workflow
50
+
51
+ 1. Determine whether the user needs all related tasks or a filtered subset.
52
+ 2. Execute `lark-cli task +get-related-tasks ...`
53
+ 3. Report the matching tasks and, if present, the next `page_token`.
@@ -0,0 +1,36 @@
1
+ # task +reminder
2
+
3
+ > **Prerequisites:** Please read `../lark-shared/SKILL.md` to understand authentication, global parameters, and security rules.
4
+ > **Priority:** For creating or modifying task reminder times, prioritize using this `+reminder` shortcut over other task update methods. It provides a more reliable and direct way to manage reminders.
5
+
6
+ Manage task reminders. Set new reminders or remove existing ones. Note that setting a task reminder requires a due date.
7
+
8
+ ## Recommended Commands
9
+
10
+ ```bash
11
+ # Set a reminder (e.g., 30 minutes before due)
12
+ lark-cli task +reminder --task-id "<task_guid>" --set "30"
13
+
14
+ # Set a reminder (e.g., 1 hour before due)
15
+ lark-cli task +reminder --task-id "<task_guid>" --set "1h"
16
+
17
+ # Remove all reminders
18
+ lark-cli task +reminder --task-id "<task_guid>" --remove "true"
19
+ ```
20
+
21
+ ## Parameters
22
+
23
+ | Parameter | Required | Description |
24
+ |-----------|----------|-------------|
25
+ | `--task-id <guid>` | Yes | The task GUID to modify. For Feishu task applinks, use the `guid` query parameter, not the `suite_entity_num` / display task ID like `t104121`. |
26
+ | `--set <val>` | No | Relative fire minutes before the due time. Supports numbers (e.g., `30`) or units (e.g., `15m`, `1h`, `1d`). |
27
+ | `--remove <bool>` | No | If set to `true`, removes all existing reminders from the task. |
28
+
29
+ ## Workflow
30
+
31
+ 1. Confirm the task and reminder action.
32
+ 2. Execute the command.
33
+ 3. Report success.
34
+
35
+ > [!CAUTION]
36
+ > This is a **Write Operation** -- You must confirm the user's intent before executing.
@@ -0,0 +1,27 @@
1
+ # task +reopen
2
+
3
+ > **Prerequisites:** Please read `../lark-shared/SKILL.md` to understand authentication, global parameters, and security rules.
4
+
5
+ Reopen a previously completed task.
6
+
7
+ ## Recommended Commands
8
+
9
+ ```bash
10
+ # Reopen a task
11
+ lark-cli task +reopen --task-id "<task_guid>"
12
+ ```
13
+
14
+ ## Parameters
15
+
16
+ | Parameter | Required | Description |
17
+ |-----------|----------|-------------|
18
+ | `--task-id <guid>` | Yes | The task GUID to reopen. For Feishu task applinks, use the `guid` query parameter, not the `suite_entity_num` / display task ID like `t104121`. |
19
+
20
+ ## Workflow
21
+
22
+ 1. Confirm the task to reopen.
23
+ 2. Execute the command.
24
+ 3. Report success.
25
+
26
+ > [!CAUTION]
27
+ > This is a **Write Operation** -- You must confirm the user's intent before executing.
@@ -0,0 +1,41 @@
1
+ # task +search
2
+
3
+ > **Prerequisites:** Please read `../lark-shared/SKILL.md` to understand authentication, global parameters, and security rules.
4
+ >
5
+ > **⚠️ Note:** This API must be called with a user identity. **Do NOT use an app identity, otherwise the call will fail.**
6
+
7
+ Search tasks by keyword and optional filters.
8
+
9
+ ## Recommended Commands
10
+
11
+ ```bash
12
+ # Search by keyword
13
+ lark-cli task +search --query "test"
14
+
15
+ # Search incomplete tasks assigned to specific users
16
+ lark-cli task +search --assignee "ou_xxx,ou_yyy" --completed=false
17
+
18
+ # Search by due time range
19
+ lark-cli task +search --query "release" --due "-1d,+7d"
20
+ ```
21
+
22
+ ## Parameters
23
+
24
+ | Parameter | Required | Description |
25
+ |-----------|----------|-------------|
26
+ | `--query <string>` | No | Search keyword. If omitted, at least one filter must be provided. |
27
+ | `--creator <ids>` | No | Creator open_ids, comma-separated. |
28
+ | `--assignee <ids>` | No | Assignee open_ids, comma-separated. |
29
+ | `--follower <ids>` | No | Follower open_ids, comma-separated. |
30
+ | `--completed=<bool>` | No | Filter by completion state. |
31
+ | `--due <range>` | No | Due time range in `start,end` form. Each side supports ISO/date/relative/ms input. |
32
+ | `--page-token <string>` | No | Page token for pagination. |
33
+ | `--page-all` | No | Automatically paginate through all pages (max 40). |
34
+ | `--page-limit <int>` | No | Max page limit (default 20). |
35
+
36
+ ## Workflow
37
+
38
+ 1. Build the keyword and filters from the user's request.
39
+ 2. Execute `lark-cli task +search ...`
40
+ 3. Report the matched tasks and include the next `page_token` if more results exist.
41
+
@@ -0,0 +1,32 @@
1
+ # task +set-ancestor
2
+
3
+ > **Prerequisites:** Please read `../lark-shared/SKILL.md` to understand authentication, global parameters, and security rules.
4
+
5
+ Set a parent task for a task, or clear the parent to make it independent.
6
+
7
+ ## Recommended Commands
8
+
9
+ ```bash
10
+ # Set a parent task
11
+ lark-cli task +set-ancestor --task-id "guid_1" --ancestor-id "guid_2"
12
+
13
+ # Clear the parent task
14
+ lark-cli task +set-ancestor --task-id "guid_1"
15
+ ```
16
+
17
+ ## Parameters
18
+
19
+ | Parameter | Required | Description |
20
+ |-----------|----------|-------------|
21
+ | `--task-id <guid>` | Yes | The task GUID to update. |
22
+ | `--ancestor-id <guid>` | No | The parent task GUID. Omit it to clear the ancestor. |
23
+
24
+ ## Workflow
25
+
26
+ 1. Confirm the child task and, if applicable, the ancestor task.
27
+ 2. Execute `lark-cli task +set-ancestor ...`
28
+ 3. Report the updated task GUID and whether the ancestor was set or cleared.
29
+
30
+ > [!CAUTION]
31
+ > This is a **Write Operation** -- You must confirm the user's intent before executing.
32
+
@@ -0,0 +1,86 @@
1
+ # task +subscribe-event
2
+
3
+ > **Prerequisites:** Please read `../lark-shared/SKILL.md` to understand authentication, global parameters, and security rules.
4
+ >
5
+ > **⚠️ Note:** This API supports both `user` and `bot` identities. Use `user` to subscribe the current user's accessible tasks; use `bot` to subscribe tasks the **application is responsible for**.
6
+
7
+ Subscribe task update events with the current identity.
8
+
9
+ This shortcut is different from `event +subscribe`:
10
+ - `task +subscribe-event` registers task-event access for the **current identity**
11
+ - with `--as user`, it subscribes the **current user** to task events for tasks they created, are responsible for, or follow
12
+ - with `--as bot`, it subscribes using the **application identity** for tasks the application is responsible for
13
+
14
+ The task event type is:
15
+
16
+ ```text
17
+ task.task.update_user_access_v2
18
+ ```
19
+
20
+ Within this event, task changes are represented by commit types (string values). Deduped list:
21
+
22
+ ```text
23
+ task_assignees_update
24
+ task_completed_update
25
+ task_create
26
+ task_deleted
27
+ task_desc_update
28
+ task_followers_update
29
+ task_reminders_update
30
+ task_start_due_update
31
+ task_summary_update
32
+ ```
33
+
34
+ Event payload shape (example):
35
+
36
+ ```json
37
+ {
38
+ "event_id": "evt_xxx",
39
+ "event_types": ["task_summary_update"],
40
+ "task_guid": "task_guid_xxx",
41
+ "timestamp": "1775793266152",
42
+ "type": "task.task.update_user_access_v2"
43
+ }
44
+ ```
45
+
46
+ - `type`: event type, should be `task.task.update_user_access_v2`
47
+ - `event_id`: unique event id (useful for dedup)
48
+ - `event_types`: list of commit types (see the deduped list above)
49
+ - `task_guid`: the task GUID that changed
50
+ - `timestamp`: event timestamp (ms)
51
+
52
+ In practice, this means:
53
+ - with `--as user`, the subscribed user can receive updates for tasks visible to them through authorship, assignment, or following
54
+ - with `--as bot`, the subscription covers tasks the application is responsible for
55
+
56
+ To actually receive the subscribed events, use the standard event WebSocket receiver:
57
+
58
+ ```bash
59
+ lark-cli event +subscribe --event-types task.task.update_user_access_v2 --compact --quiet
60
+ ```
61
+
62
+ The full flow is:
63
+ 1. Register the subscription with `lark-cli task +subscribe-event [--as user|bot]`
64
+ 2. Receive those events with `lark-cli event +subscribe --event-types task.task.update_user_access_v2 ...`
65
+
66
+ ## Recommended Commands
67
+
68
+ ```bash
69
+ lark-cli task +subscribe-event
70
+ ```
71
+ # Subscribe with app identity
72
+ lark-cli task +subscribe-event --as bot
73
+
74
+
75
+ ## Parameters
76
+
77
+ This shortcut has no additional parameters.
78
+
79
+ ## Workflow
80
+
81
+ 1. Confirm whether the user wants to subscribe with `user` identity or `bot` identity.
82
+ 2. Execute `lark-cli task +subscribe-event`
83
+ 3. Report whether the subscription succeeded, and clarify which identity the subscription applies to.
84
+
85
+ > [!CAUTION]
86
+ > This is a **Write Operation** -- You must confirm the user's intent before executing.
@@ -0,0 +1,35 @@
1
+ # task +tasklist-create
2
+
3
+ > **Prerequisites:** Please read `../lark-shared/SKILL.md` to understand authentication, global parameters, and security rules.
4
+
5
+ Create a new tasklist, and optionally batch create tasks within it.
6
+
7
+ ## Recommended Commands
8
+
9
+ ```bash
10
+ # Create an empty tasklist
11
+ lark-cli task +tasklist-create --name "Q1 Goals"
12
+
13
+ # Create a tasklist and add members
14
+ lark-cli task +tasklist-create --name "Project A" --member "ou_xxx,ou_yyy"
15
+
16
+ # Create a tasklist and batch create tasks within it
17
+ lark-cli task +tasklist-create --name "Launch Checklist" --data '[{"summary": "Code Review", "assignee": "ou_aaa"}, {"summary": "Deploy", "assignee": "ou_bbb"}]'
18
+ ```
19
+
20
+ ## Parameters
21
+
22
+ | Parameter | Required | Description |
23
+ |-----------|----------|-------------|
24
+ | `--name <text>` | Yes | The name of the tasklist. |
25
+ | `--member <ids>` | No | Comma-separated list of user `open_id`s to add as editors. |
26
+ | `--data <json>` | No | JSON array of task definitions to create and add to the tasklist automatically. |
27
+
28
+ ## Workflow
29
+
30
+ 1. Confirm the tasklist name, members, and tasks (if any).
31
+ 2. Execute the command `lark-cli task +tasklist-create ...`.
32
+ 3. Report success, including the new tasklist ID and the result of the batch task creation.
33
+
34
+ > [!CAUTION]
35
+ > This is a **Write Operation** -- You must confirm the user's intent before executing.
@@ -0,0 +1,36 @@
1
+ # task +tasklist-members
2
+
3
+ > **Prerequisites:** Please read `../lark-shared/SKILL.md` to understand authentication, global parameters, and security rules.
4
+
5
+ Manage tasklist members (editors/owners).
6
+
7
+ ## Recommended Commands
8
+
9
+ ```bash
10
+ # Add a member
11
+ lark-cli task +tasklist-members --tasklist-id "tl_xxx" --add "ou_aaa"
12
+
13
+ # Remove a member
14
+ lark-cli task +tasklist-members --tasklist-id "tl_xxx" --remove "ou_aaa"
15
+
16
+ # Replace all members exactly
17
+ lark-cli task +tasklist-members --tasklist-id "tl_xxx" --set "ou_aaa,ou_bbb"
18
+ ```
19
+
20
+ ## Parameters
21
+
22
+ | Parameter | Required | Description |
23
+ |-----------|----------|-------------|
24
+ | `--tasklist-id <id>` | Yes | The GUID of the tasklist, or a full AppLink URL. |
25
+ | `--add <ids>` | No | Comma-separated list of user `open_id`s to add as members. |
26
+ | `--remove <ids>` | No | Comma-separated list of user `open_id`s to remove from members. |
27
+ | `--set <ids>` | No | Comma-separated list of user `open_id`s to exactly set as members (replaces all existing). |
28
+
29
+ ## Workflow
30
+
31
+ 1. Confirm the tasklist and members to add/remove/set.
32
+ 2. Execute the command.
33
+ 3. Report success.
34
+
35
+ > [!CAUTION]
36
+ > This is a **Write Operation** -- You must confirm the user's intent before executing.
@@ -0,0 +1,38 @@
1
+ # task +tasklist-search
2
+
3
+ > **Prerequisites:** Please read `../lark-shared/SKILL.md` to understand authentication, global parameters, and security rules.
4
+ >
5
+ > **⚠️ Note:** This shortcut uses tasklist search followed by tasklist detail queries to render the final output.
6
+
7
+ Search tasklists by keyword and optional filters.
8
+
9
+ ## Recommended Commands
10
+
11
+ ```bash
12
+ # Search by keyword
13
+ lark-cli task +tasklist-search --query "测试"
14
+
15
+ # Search tasklists created by specific users
16
+ lark-cli task +tasklist-search --creator "ou_xxx,ou_yyy"
17
+
18
+ # Search by creation time range
19
+ lark-cli task +tasklist-search --query "Q2" --create-time "-30d,+0d"
20
+ ```
21
+
22
+ ## Parameters
23
+
24
+ | Parameter | Required | Description |
25
+ |-----------|----------|-------------|
26
+ | `--query <string>` | No | Search keyword. If omitted, at least one filter must be provided. |
27
+ | `--creator <ids>` | No | Creator open_ids, comma-separated. |
28
+ | `--create-time <range>` | No | Creation time range in `start,end` form. Each side supports ISO/date/relative/ms input. |
29
+ | `--page-token <string>` | No | Page token for pagination. |
30
+ | `--page-all` | No | Automatically paginate through all pages (max 40). |
31
+ | `--page-limit <int>` | No | Max page limit (default 20). |
32
+
33
+ ## Workflow
34
+
35
+ 1. Build the search keyword and filters from the user's request.
36
+ 2. Execute `lark-cli task +tasklist-search ...`
37
+ 3. Report the matched tasklists and the next `page_token` if more results exist.
38
+
@@ -0,0 +1,38 @@
1
+ # task +tasklist-task-add
2
+
3
+ > **Prerequisites:** Please read `../lark-shared/SKILL.md` to understand authentication, global parameters, and security rules.
4
+
5
+ Add existing tasks to a tasklist.
6
+
7
+ ## Recommended Commands
8
+
9
+ ```bash
10
+ # Add a single task to a tasklist
11
+ lark-cli task +tasklist-task-add --tasklist-id "<tasklist_guid>" --task-id "<task_guid>"
12
+
13
+ # Add multiple tasks to a tasklist
14
+ lark-cli task +tasklist-task-add --tasklist-id "<tasklist_guid>" --task-id "<task_guid>,<another_task_guid>,<third_task_guid>"
15
+
16
+ # Add a task to a specific section in the tasklist
17
+ lark-cli task +tasklist-task-add \
18
+ --tasklist-id "<tasklist_guid>" \
19
+ --task-id "<task_guid>" \
20
+ --section-guid "<section_guid>"
21
+ ```
22
+
23
+ ## Parameters
24
+
25
+ | Parameter | Required | Description |
26
+ |-----------|----------|-------------|
27
+ | `--tasklist-id <guid>` | Yes | The GUID of the tasklist, or a full AppLink URL. |
28
+ | `--task-id <guids>` | Yes | Comma-separated list of task GUIDs to add to the tasklist. For Feishu task applinks, use each task's `guid` query parameter, not the `suite_entity_num` / display task ID like `t104121`. |
29
+ | `--section-guid <guid>` | No | The GUID of the custom section to add the tasks to. If omitted, tasks will be added to the default section. |
30
+
31
+ ## Workflow
32
+
33
+ 1. Confirm the tasklist and the tasks to add.
34
+ 2. Execute the command `lark-cli task +tasklist-task-add ...`.
35
+ 3. Report the result (successful vs failed tasks).
36
+
37
+ > [!CAUTION]
38
+ > This is a **Write Operation** -- You must confirm the user's intent before executing.
@@ -0,0 +1,37 @@
1
+ # task +update
2
+
3
+ > **Prerequisites:** Please read `../lark-shared/SKILL.md` to understand authentication, global parameters, and security rules.
4
+
5
+ Update an existing task in Lark.
6
+
7
+ ## Recommended Commands
8
+
9
+ ```bash
10
+ # Update task summary
11
+ lark-cli task +update --task-id "<task_guid>" --summary "New Summary"
12
+
13
+ # Update multiple tasks' due dates
14
+ lark-cli task +update --task-id "<task_guid>,<another_task_guid>" --due "+2d"
15
+
16
+ # Update with JSON data
17
+ lark-cli task +update --task-id "<task_guid>" --data '{"description": "New description"}'
18
+ ```
19
+
20
+ ## Parameters
21
+
22
+ | Parameter | Required | Description |
23
+ |-----------|----------|-------------|
24
+ | `--task-id <guid>` | Yes | The task GUID to update. Comma-separated task GUIDs are supported for multiple tasks. For Feishu task applinks, use the `guid` query parameter, not the `suite_entity_num` / display task ID like `t104121`. |
25
+ | `--summary <text>` | No | New summary/title for the task. |
26
+ | `--description <text>` | No | New description for the task. |
27
+ | `--due <time>` | No | New due date (supports relative time). |
28
+ | `--data <json>` | No | JSON payload for fields to update. |
29
+
30
+ ## Workflow
31
+
32
+ 1. Confirm with the user the tasks to update and the fields.
33
+ 2. Execute `lark-cli task +update --task-id "..." ...`
34
+ 3. Report the successful updates.
35
+
36
+ > [!CAUTION]
37
+ > This is a **Write Operation** -- You must confirm the user's intent before executing.
@@ -0,0 +1,59 @@
1
+ # task +upload-attachment
2
+
3
+ > **Prerequisites:** Please read `../lark-shared/SKILL.md` to understand authentication, global parameters, and security rules.
4
+
5
+ Upload a single local file as an attachment to a task (or any resource type accepted by the Task attachment endpoint). Max file size per upload is **50 MB**. For task agents, use `--resource-type=task_delivery`.
6
+
7
+ ## Recommended Commands
8
+
9
+ ```bash
10
+ # Upload a local file as a task attachment (relative path required)
11
+ lark-cli task +upload-attachment \
12
+ --resource-id "<task_guid>" \
13
+ --file "./report.pdf"
14
+
15
+ # Pass a Feishu task applink instead of a raw guid — the guid is extracted automatically
16
+ lark-cli task +upload-attachment \
17
+ --resource-id "https://applink.feishu.cn/client/todo/task?guid=<task_guid>" \
18
+ --file "./note.md"
19
+
20
+ # Explicit resource type / user id type
21
+ lark-cli task +upload-attachment \
22
+ --resource-id "<task_guid>" \
23
+ --resource-type task \
24
+ --user-id-type open_id \
25
+ --file "./design.png"
26
+
27
+ # Upload a local file to a task agent
28
+ lark-cli task +upload-attachment \
29
+ --resource-id "4b113c53-a68b-419f-8bd0-c9c532a3285a" \
30
+ --file "./飞书.zip" \
31
+ --resource-type task_delivery
32
+ ```
33
+
34
+ ## Parameters
35
+
36
+ | Parameter | Required | Description |
37
+ |-----------|----------|-------------|
38
+ | `--resource-id <guid_or_applink>` | Yes | Target resource GUID. Accepts a raw task GUID or a Feishu task applink URL (`.../client/todo/task?guid=...`); the `guid` query parameter is extracted automatically. Do not use `suite_entity_num` / display IDs like `t104121`. |
39
+ | `--file <path>` | Yes | Local file path to upload. Must be a relative path within the current working directory; absolute paths and paths escaping the cwd are rejected. Single file only, ≤ 50 MB. |
40
+ | `--resource-type <type>` | No | Owning resource type. Defaults to `task`. Use `task_delivery` when uploading to task agents. |
41
+ | `--user-id-type <type>` | No | User ID type for the request. Defaults to `open_id`. |
42
+
43
+ ## Workflow
44
+
45
+ 1. Confirm the target task GUID (or applink) and the local file path with the user.
46
+ 2. Ensure the file is within the current working directory and its size is ≤ 50 MB; otherwise ask the user to move/split the file.
47
+ 3. Determine if this is a task agent: if yes, add `--resource-type task_delivery`.
48
+ 4. Execute `lark-cli task +upload-attachment --resource-id "..." --file "..."`.
49
+ 5. Report the returned attachment record. The output exposes all fields returned by the API (e.g. `guid`, `name`, `size`, `url`, `uploader`, ...); always surface the attachment `guid` and, if present, the `url` so the user can jump to the attachment directly.
50
+
51
+ ## Output
52
+
53
+ The command returns the single created attachment record as a flat JSON object — every field returned by the API (`guid`, `name`, `size`, `url`, `resource_type`, `resource_id`, `uploader`, ...) is preserved verbatim. Pretty mode also prints a human-readable summary with the resource, file name, size, and attachment GUID.
54
+
55
+ > [!CAUTION]
56
+ > This is a **Write Operation** -- You must confirm the user's intent before executing.
57
+
58
+ > [!NOTE]
59
+ > The Task attachment upload endpoint accepts exactly one file per call. To upload multiple files, invoke the shortcut once per file.