@yandy0725/pi-lark 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 (392) hide show
  1. package/README.md +30 -0
  2. package/README.zh.md +30 -0
  3. package/package.json +36 -0
  4. package/skills/lark-approval/SKILL.md +56 -0
  5. package/skills/lark-approval/references/lark-approval-initiate.md +196 -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-apps/SKILL.md +78 -0
  9. package/skills/lark-apps/references/lark-apps-access-scope-get.md +28 -0
  10. package/skills/lark-apps/references/lark-apps-access-scope-set.md +40 -0
  11. package/skills/lark-apps/references/lark-apps-cloud-dev.md +120 -0
  12. package/skills/lark-apps/references/lark-apps-create.md +40 -0
  13. package/skills/lark-apps/references/lark-apps-db-env-create.md +31 -0
  14. package/skills/lark-apps/references/lark-apps-db-execute.md +40 -0
  15. package/skills/lark-apps/references/lark-apps-db-table-get.md +29 -0
  16. package/skills/lark-apps/references/lark-apps-db-table-list.md +31 -0
  17. package/skills/lark-apps/references/lark-apps-env-pull.md +35 -0
  18. package/skills/lark-apps/references/lark-apps-git-credential.md +37 -0
  19. package/skills/lark-apps/references/lark-apps-html-publish.md +57 -0
  20. package/skills/lark-apps/references/lark-apps-init.md +37 -0
  21. package/skills/lark-apps/references/lark-apps-list.md +37 -0
  22. package/skills/lark-apps/references/lark-apps-local-dev.md +76 -0
  23. package/skills/lark-apps/references/lark-apps-release-create.md +30 -0
  24. package/skills/lark-apps/references/lark-apps-release-get.md +28 -0
  25. package/skills/lark-apps/references/lark-apps-release-list.md +31 -0
  26. package/skills/lark-apps/references/lark-apps-session-messages-list.md +53 -0
  27. package/skills/lark-apps/references/lark-apps-update.md +30 -0
  28. package/skills/lark-attendance/SKILL.md +57 -0
  29. package/skills/lark-base/SKILL.md +157 -0
  30. package/skills/lark-base/references/dashboard-block-data-config.md +350 -0
  31. package/skills/lark-base/references/formula-field-guide.md +737 -0
  32. package/skills/lark-base/references/lark-base-cell-value.md +153 -0
  33. package/skills/lark-base/references/lark-base-dashboard-block-get-data.md +717 -0
  34. package/skills/lark-base/references/lark-base-dashboard.md +238 -0
  35. package/skills/lark-base/references/lark-base-data-analysis-sop.md +210 -0
  36. package/skills/lark-base/references/lark-base-data-query-guide.md +61 -0
  37. package/skills/lark-base/references/lark-base-data-query.md +452 -0
  38. package/skills/lark-base/references/lark-base-field-create.md +103 -0
  39. package/skills/lark-base/references/lark-base-field-json.md +489 -0
  40. package/skills/lark-base/references/lark-base-field-update.md +171 -0
  41. package/skills/lark-base/references/lark-base-form-detail.md +71 -0
  42. package/skills/lark-base/references/lark-base-form-questions-create.md +118 -0
  43. package/skills/lark-base/references/lark-base-form-questions-update.md +92 -0
  44. package/skills/lark-base/references/lark-base-form-submit.md +170 -0
  45. package/skills/lark-base/references/lark-base-record-batch-create.md +57 -0
  46. package/skills/lark-base/references/lark-base-record-batch-update.md +52 -0
  47. package/skills/lark-base/references/lark-base-record-history-list.md +43 -0
  48. package/skills/lark-base/references/lark-base-record-upsert.md +63 -0
  49. package/skills/lark-base/references/lark-base-role-guide.md +65 -0
  50. package/skills/lark-base/references/lark-base-view-set-filter.md +189 -0
  51. package/skills/lark-base/references/lark-base-workflow-guide.md +830 -0
  52. package/skills/lark-base/references/lark-base-workflow-schema.md +1071 -0
  53. package/skills/lark-base/references/lookup-field-guide.md +512 -0
  54. package/skills/lark-base/references/role-config.md +549 -0
  55. package/skills/lark-calendar/SKILL.md +137 -0
  56. package/skills/lark-calendar/references/lark-calendar-agenda.md +78 -0
  57. package/skills/lark-calendar/references/lark-calendar-create.md +106 -0
  58. package/skills/lark-calendar/references/lark-calendar-freebusy.md +124 -0
  59. package/skills/lark-calendar/references/lark-calendar-meeting.md +40 -0
  60. package/skills/lark-calendar/references/lark-calendar-room-find.md +113 -0
  61. package/skills/lark-calendar/references/lark-calendar-rsvp.md +42 -0
  62. package/skills/lark-calendar/references/lark-calendar-schedule-meeting.md +265 -0
  63. package/skills/lark-calendar/references/lark-calendar-search-event.md +29 -0
  64. package/skills/lark-calendar/references/lark-calendar-suggestion.md +125 -0
  65. package/skills/lark-calendar/references/lark-calendar-update.md +105 -0
  66. package/skills/lark-contact/SKILL.md +59 -0
  67. package/skills/lark-contact/references/lark-contact-get-user.md +19 -0
  68. package/skills/lark-contact/references/lark-contact-search-user.md +124 -0
  69. package/skills/lark-doc/SKILL.md +79 -0
  70. package/skills/lark-doc/references/lark-doc-create.md +79 -0
  71. package/skills/lark-doc/references/lark-doc-fetch.md +138 -0
  72. package/skills/lark-doc/references/lark-doc-md.md +76 -0
  73. package/skills/lark-doc/references/lark-doc-media-download.md +50 -0
  74. package/skills/lark-doc/references/lark-doc-media-insert.md +114 -0
  75. package/skills/lark-doc/references/lark-doc-media-preview.md +41 -0
  76. package/skills/lark-doc/references/lark-doc-resource-cover.md +70 -0
  77. package/skills/lark-doc/references/lark-doc-update.md +259 -0
  78. package/skills/lark-doc/references/lark-doc-whiteboard.md +154 -0
  79. package/skills/lark-doc/references/lark-doc-xml.md +181 -0
  80. package/skills/lark-doc/references/style/lark-doc-create-workflow.md +59 -0
  81. package/skills/lark-doc/references/style/lark-doc-style.md +86 -0
  82. package/skills/lark-doc/references/style/lark-doc-update-workflow.md +55 -0
  83. package/skills/lark-drive/SKILL.md +215 -0
  84. package/skills/lark-drive/references/lark-drive-add-comment.md +193 -0
  85. package/skills/lark-drive/references/lark-drive-apply-permission.md +77 -0
  86. package/skills/lark-drive/references/lark-drive-comment-location.md +193 -0
  87. package/skills/lark-drive/references/lark-drive-comments-guide.md +72 -0
  88. package/skills/lark-drive/references/lark-drive-cover.md +79 -0
  89. package/skills/lark-drive/references/lark-drive-create-folder.md +73 -0
  90. package/skills/lark-drive/references/lark-drive-create-shortcut.md +103 -0
  91. package/skills/lark-drive/references/lark-drive-delete.md +79 -0
  92. package/skills/lark-drive/references/lark-drive-download.md +31 -0
  93. package/skills/lark-drive/references/lark-drive-export-download.md +50 -0
  94. package/skills/lark-drive/references/lark-drive-export.md +145 -0
  95. package/skills/lark-drive/references/lark-drive-files-list.md +158 -0
  96. package/skills/lark-drive/references/lark-drive-import.md +170 -0
  97. package/skills/lark-drive/references/lark-drive-inspect.md +50 -0
  98. package/skills/lark-drive/references/lark-drive-member-add.md +66 -0
  99. package/skills/lark-drive/references/lark-drive-move.md +120 -0
  100. package/skills/lark-drive/references/lark-drive-permission-guide.md +41 -0
  101. package/skills/lark-drive/references/lark-drive-preview.md +87 -0
  102. package/skills/lark-drive/references/lark-drive-pull.md +137 -0
  103. package/skills/lark-drive/references/lark-drive-push.md +162 -0
  104. package/skills/lark-drive/references/lark-drive-reactions.md +113 -0
  105. package/skills/lark-drive/references/lark-drive-search.md +269 -0
  106. package/skills/lark-drive/references/lark-drive-secure-label.md +52 -0
  107. package/skills/lark-drive/references/lark-drive-status.md +137 -0
  108. package/skills/lark-drive/references/lark-drive-task-result.md +302 -0
  109. package/skills/lark-drive/references/lark-drive-upload.md +101 -0
  110. package/skills/lark-drive/references/lark-drive-version-delete.md +38 -0
  111. package/skills/lark-drive/references/lark-drive-version-get.md +71 -0
  112. package/skills/lark-drive/references/lark-drive-version-history.md +73 -0
  113. package/skills/lark-drive/references/lark-drive-version-revert.md +35 -0
  114. package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-analysis.md +249 -0
  115. package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-discovery.md +253 -0
  116. package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-execution.md +200 -0
  117. package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-planning.md +336 -0
  118. package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize-rollback.md +308 -0
  119. package/skills/lark-drive/references/lark-drive-workflow-knowledge-organize.md +226 -0
  120. package/skills/lark-drive/references/lark-drive-workflow-permission-governance-commands.md +168 -0
  121. package/skills/lark-drive/references/lark-drive-workflow-permission-governance-outputs.md +424 -0
  122. package/skills/lark-drive/references/lark-drive-workflow-permission-governance.md +207 -0
  123. package/skills/lark-drive/references/lark-drive-workflow.md +130 -0
  124. package/skills/lark-event/SKILL.md +154 -0
  125. package/skills/lark-event/references/lark-event-im.md +87 -0
  126. package/skills/lark-event/references/lark-event-minutes.md +54 -0
  127. package/skills/lark-event/references/lark-event-task.md +78 -0
  128. package/skills/lark-event/references/lark-event-vc.md +94 -0
  129. package/skills/lark-event/references/lark-event-whiteboard.md +67 -0
  130. package/skills/lark-im/SKILL.md +247 -0
  131. package/skills/lark-im/references/lark-im-card-action-reply.md +175 -0
  132. package/skills/lark-im/references/lark-im-chat-create.md +162 -0
  133. package/skills/lark-im/references/lark-im-chat-identity.md +55 -0
  134. package/skills/lark-im/references/lark-im-chat-list.md +166 -0
  135. package/skills/lark-im/references/lark-im-chat-messages-list.md +157 -0
  136. package/skills/lark-im/references/lark-im-chat-search.md +142 -0
  137. package/skills/lark-im/references/lark-im-chat-update.md +84 -0
  138. package/skills/lark-im/references/lark-im-feed-group-list-item.md +68 -0
  139. package/skills/lark-im/references/lark-im-feed-group-list.md +65 -0
  140. package/skills/lark-im/references/lark-im-feed-group-query-item.md +44 -0
  141. package/skills/lark-im/references/lark-im-feed-groups.md +452 -0
  142. package/skills/lark-im/references/lark-im-feed-shortcut-create.md +97 -0
  143. package/skills/lark-im/references/lark-im-feed-shortcut-list.md +103 -0
  144. package/skills/lark-im/references/lark-im-feed-shortcut-remove.md +48 -0
  145. package/skills/lark-im/references/lark-im-flag-cancel.md +67 -0
  146. package/skills/lark-im/references/lark-im-flag-create.md +67 -0
  147. package/skills/lark-im/references/lark-im-flag-list.md +100 -0
  148. package/skills/lark-im/references/lark-im-message-enrichment.md +54 -0
  149. package/skills/lark-im/references/lark-im-messages-mget.md +99 -0
  150. package/skills/lark-im/references/lark-im-messages-reply.md +267 -0
  151. package/skills/lark-im/references/lark-im-messages-resources-download.md +94 -0
  152. package/skills/lark-im/references/lark-im-messages-search.md +234 -0
  153. package/skills/lark-im/references/lark-im-messages-send.md +267 -0
  154. package/skills/lark-im/references/lark-im-reactions.md +299 -0
  155. package/skills/lark-im/references/lark-im-threads-messages-list.md +115 -0
  156. package/skills/lark-mail/SKILL.md +287 -0
  157. package/skills/lark-mail/assets/templates/job-application--resume.html +33 -0
  158. package/skills/lark-mail/assets/templates/newsletter--weekly-brief.html +50 -0
  159. package/skills/lark-mail/assets/templates/research--market-report.html +256 -0
  160. package/skills/lark-mail/assets/templates/weekly--personal-report.html +43 -0
  161. package/skills/lark-mail/assets/templates/weekly--team-report.html +9 -0
  162. package/skills/lark-mail/references/lark-mail-calendar-invite.md +36 -0
  163. package/skills/lark-mail/references/lark-mail-decline-receipt.md +115 -0
  164. package/skills/lark-mail/references/lark-mail-draft-create.md +127 -0
  165. package/skills/lark-mail/references/lark-mail-draft-edit.md +404 -0
  166. package/skills/lark-mail/references/lark-mail-forward.md +239 -0
  167. package/skills/lark-mail/references/lark-mail-html.md +333 -0
  168. package/skills/lark-mail/references/lark-mail-lint-html.md +243 -0
  169. package/skills/lark-mail/references/lark-mail-message.md +233 -0
  170. package/skills/lark-mail/references/lark-mail-messages.md +108 -0
  171. package/skills/lark-mail/references/lark-mail-recall.md +66 -0
  172. package/skills/lark-mail/references/lark-mail-recipient-search.md +59 -0
  173. package/skills/lark-mail/references/lark-mail-reply-all.md +213 -0
  174. package/skills/lark-mail/references/lark-mail-reply.md +249 -0
  175. package/skills/lark-mail/references/lark-mail-rules.md +31 -0
  176. package/skills/lark-mail/references/lark-mail-send-as.md +44 -0
  177. package/skills/lark-mail/references/lark-mail-send-receipt.md +120 -0
  178. package/skills/lark-mail/references/lark-mail-send-status.md +46 -0
  179. package/skills/lark-mail/references/lark-mail-send.md +222 -0
  180. package/skills/lark-mail/references/lark-mail-share-to-chat.md +87 -0
  181. package/skills/lark-mail/references/lark-mail-signature.md +98 -0
  182. package/skills/lark-mail/references/lark-mail-template-create.md +129 -0
  183. package/skills/lark-mail/references/lark-mail-template-update.md +150 -0
  184. package/skills/lark-mail/references/lark-mail-template.md +54 -0
  185. package/skills/lark-mail/references/lark-mail-thread.md +111 -0
  186. package/skills/lark-mail/references/lark-mail-triage.md +131 -0
  187. package/skills/lark-mail/references/lark-mail-watch.md +94 -0
  188. package/skills/lark-markdown/SKILL.md +69 -0
  189. package/skills/lark-markdown/references/lark-markdown-create.md +94 -0
  190. package/skills/lark-markdown/references/lark-markdown-diff.md +156 -0
  191. package/skills/lark-markdown/references/lark-markdown-fetch.md +79 -0
  192. package/skills/lark-markdown/references/lark-markdown-overwrite.md +85 -0
  193. package/skills/lark-markdown/references/lark-markdown-patch.md +160 -0
  194. package/skills/lark-minutes/SKILL.md +192 -0
  195. package/skills/lark-minutes/references/lark-minutes-detail.md +62 -0
  196. package/skills/lark-minutes/references/lark-minutes-download.md +137 -0
  197. package/skills/lark-minutes/references/lark-minutes-search.md +204 -0
  198. package/skills/lark-minutes/references/lark-minutes-speaker-replace.md +107 -0
  199. package/skills/lark-minutes/references/lark-minutes-summary.md +122 -0
  200. package/skills/lark-minutes/references/lark-minutes-todo.md +138 -0
  201. package/skills/lark-minutes/references/lark-minutes-update.md +41 -0
  202. package/skills/lark-minutes/references/lark-minutes-upload.md +104 -0
  203. package/skills/lark-note/SKILL.md +94 -0
  204. package/skills/lark-note/references/lark-note-detail.md +26 -0
  205. package/skills/lark-note/references/lark-note-transcript.md +23 -0
  206. package/skills/lark-okr/SKILL.md +115 -0
  207. package/skills/lark-okr/references/lark-okr-batch-create.md +106 -0
  208. package/skills/lark-okr/references/lark-okr-contentblock.md +359 -0
  209. package/skills/lark-okr/references/lark-okr-cycle-detail.md +84 -0
  210. package/skills/lark-okr/references/lark-okr-cycle-list.md +90 -0
  211. package/skills/lark-okr/references/lark-okr-entities.md +329 -0
  212. package/skills/lark-okr/references/lark-okr-image-upload.md +116 -0
  213. package/skills/lark-okr/references/lark-okr-indicator-update.md +80 -0
  214. package/skills/lark-okr/references/lark-okr-progress-create.md +81 -0
  215. package/skills/lark-okr/references/lark-okr-progress-delete.md +47 -0
  216. package/skills/lark-okr/references/lark-okr-progress-get.md +62 -0
  217. package/skills/lark-okr/references/lark-okr-progress-list.md +80 -0
  218. package/skills/lark-okr/references/lark-okr-progress-update.md +81 -0
  219. package/skills/lark-okr/references/lark-okr-reorder.md +81 -0
  220. package/skills/lark-okr/references/lark-okr-weight.md +96 -0
  221. package/skills/lark-openapi-explorer/SKILL.md +153 -0
  222. package/skills/lark-shared/SKILL.md +168 -0
  223. package/skills/lark-shared/references/lark-wiki-token-routing.md +42 -0
  224. package/skills/lark-sheets/SKILL.md +165 -0
  225. package/skills/lark-sheets/references/lark-sheets-batch-update.md +191 -0
  226. package/skills/lark-sheets/references/lark-sheets-chart.md +330 -0
  227. package/skills/lark-sheets/references/lark-sheets-conditional-format.md +179 -0
  228. package/skills/lark-sheets/references/lark-sheets-core-operations.md +103 -0
  229. package/skills/lark-sheets/references/lark-sheets-filter-view.md +137 -0
  230. package/skills/lark-sheets/references/lark-sheets-filter.md +130 -0
  231. package/skills/lark-sheets/references/lark-sheets-float-image.md +159 -0
  232. package/skills/lark-sheets/references/lark-sheets-formula-translation.md +267 -0
  233. package/skills/lark-sheets/references/lark-sheets-pivot-table.md +166 -0
  234. package/skills/lark-sheets/references/lark-sheets-range-operations.md +267 -0
  235. package/skills/lark-sheets/references/lark-sheets-read-data.md +235 -0
  236. package/skills/lark-sheets/references/lark-sheets-search-replace.md +111 -0
  237. package/skills/lark-sheets/references/lark-sheets-sheet-structure.md +212 -0
  238. package/skills/lark-sheets/references/lark-sheets-sparkline.md +149 -0
  239. package/skills/lark-sheets/references/lark-sheets-visual-standards.md +205 -0
  240. package/skills/lark-sheets/references/lark-sheets-workbook.md +395 -0
  241. package/skills/lark-sheets/references/lark-sheets-write-cells.md +565 -0
  242. package/skills/lark-sheets/scripts/sheets_df.py +32 -0
  243. package/skills/lark-skill-maker/SKILL.md +85 -0
  244. package/skills/lark-slides/SKILL.md +293 -0
  245. package/skills/lark-slides/assets/templates/administration--all_hands_meeting.xml +1999 -0
  246. package/skills/lark-slides/assets/templates/administration--annual_gala.xml +1160 -0
  247. package/skills/lark-slides/assets/templates/administration--company_intro.xml +1376 -0
  248. package/skills/lark-slides/assets/templates/administration--corporate_culture.xml +1765 -0
  249. package/skills/lark-slides/assets/templates/hr--employee_training.xml +912 -0
  250. package/skills/lark-slides/assets/templates/hr--employee_training_workshop.xml +1504 -0
  251. package/skills/lark-slides/assets/templates/hr--onboarding.xml +933 -0
  252. package/skills/lark-slides/assets/templates/marketing--brand_communication.xml +1367 -0
  253. package/skills/lark-slides/assets/templates/marketing--brand_logo_design.xml +1347 -0
  254. package/skills/lark-slides/assets/templates/marketing--brand_operations_plan.xml +1309 -0
  255. package/skills/lark-slides/assets/templates/marketing--business_plan.xml +1646 -0
  256. package/skills/lark-slides/assets/templates/marketing--marketing_plan.xml +1469 -0
  257. package/skills/lark-slides/assets/templates/marketing--marketing_strategy.xml +1484 -0
  258. package/skills/lark-slides/assets/templates/marketing--product_whitepaper.xml +1455 -0
  259. package/skills/lark-slides/assets/templates/marketing--roadshow_business_plan.xml +1506 -0
  260. package/skills/lark-slides/assets/templates/misc--book_sharing.xml +1338 -0
  261. package/skills/lark-slides/assets/templates/misc--club_event_plan.xml +4885 -0
  262. package/skills/lark-slides/assets/templates/misc--student_career_plan.xml +1854 -0
  263. package/skills/lark-slides/assets/templates/office--dark_general.xml +3763 -0
  264. package/skills/lark-slides/assets/templates/office--dept_annual_report.xml +1192 -0
  265. package/skills/lark-slides/assets/templates/office--light_general.xml +3378 -0
  266. package/skills/lark-slides/assets/templates/office--project_kickoff.xml +3152 -0
  267. package/skills/lark-slides/assets/templates/office--quarterly_review.xml +1253 -0
  268. package/skills/lark-slides/assets/templates/office--work_report.xml +1099 -0
  269. package/skills/lark-slides/assets/templates/office--work_summary.xml +4420 -0
  270. package/skills/lark-slides/assets/templates/office--work_summary_report.xml +1523 -0
  271. package/skills/lark-slides/assets/templates/operations--brand_logo_design.xml +1347 -0
  272. package/skills/lark-slides/assets/templates/operations--brand_operations_plan.xml +1309 -0
  273. package/skills/lark-slides/assets/templates/operations--marketing_plan.xml +1469 -0
  274. package/skills/lark-slides/assets/templates/operations--product_promotion.xml +687 -0
  275. package/skills/lark-slides/assets/templates/personal--experience_sharing.xml +2242 -0
  276. package/skills/lark-slides/assets/templates/personal--personal_resume.xml +2047 -0
  277. package/skills/lark-slides/assets/templates/personal--promotion_defense.xml +1099 -0
  278. package/skills/lark-slides/assets/templates/personal--promotion_report.xml +1039 -0
  279. package/skills/lark-slides/assets/templates/personal--self_intro.xml +696 -0
  280. package/skills/lark-slides/assets/templates/personal--teaching_sharing.xml +3013 -0
  281. package/skills/lark-slides/assets/templates/product--business_case_analysis.xml +1341 -0
  282. package/skills/lark-slides/assets/templates/product--market_analysis.xml +898 -0
  283. package/skills/lark-slides/assets/templates/product--product_analysis.xml +1537 -0
  284. package/skills/lark-slides/assets/templates/product--product_intro.xml +2838 -0
  285. package/skills/lark-slides/assets/templates/product--product_promotion.xml +687 -0
  286. package/skills/lark-slides/assets/templates/product--product_promotion_2.xml +687 -0
  287. package/skills/lark-slides/references/asset-planning.md +124 -0
  288. package/skills/lark-slides/references/examples.md +261 -0
  289. package/skills/lark-slides/references/iconpark-index.json +41901 -0
  290. package/skills/lark-slides/references/iconpark.md +46 -0
  291. package/skills/lark-slides/references/lark-slides-create.md +137 -0
  292. package/skills/lark-slides/references/lark-slides-edit-workflows.md +144 -0
  293. package/skills/lark-slides/references/lark-slides-media-upload.md +128 -0
  294. package/skills/lark-slides/references/lark-slides-replace-pages.md +95 -0
  295. package/skills/lark-slides/references/lark-slides-replace-slide.md +240 -0
  296. package/skills/lark-slides/references/lark-slides-screenshot.md +94 -0
  297. package/skills/lark-slides/references/lark-slides-whiteboard.md +330 -0
  298. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-create.md +220 -0
  299. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-delete.md +123 -0
  300. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-get.md +110 -0
  301. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-replace.md +187 -0
  302. package/skills/lark-slides/references/lark-slides-xml-presentations-get.md +98 -0
  303. package/skills/lark-slides/references/planning-layer.md +219 -0
  304. package/skills/lark-slides/references/slide-templates.md +201 -0
  305. package/skills/lark-slides/references/slides_demo.xml +226 -0
  306. package/skills/lark-slides/references/slides_xml_schema_definition.xml +3049 -0
  307. package/skills/lark-slides/references/template-catalog.md +463 -0
  308. package/skills/lark-slides/references/template-index.json +1853 -0
  309. package/skills/lark-slides/references/troubleshooting.md +63 -0
  310. package/skills/lark-slides/references/validation-checklist.md +110 -0
  311. package/skills/lark-slides/references/visual-planning.md +254 -0
  312. package/skills/lark-slides/references/xml-format-guide.md +369 -0
  313. package/skills/lark-slides/references/xml-schema-quick-ref.md +245 -0
  314. package/skills/lark-slides/scripts/iconpark_tool.py +362 -0
  315. package/skills/lark-slides/scripts/iconpark_tool_test.py +177 -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 +167 -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 +61 -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-tasklist-create.md +35 -0
  333. package/skills/lark-task/references/lark-task-tasklist-members.md +36 -0
  334. package/skills/lark-task/references/lark-task-tasklist-search.md +38 -0
  335. package/skills/lark-task/references/lark-task-tasklist-task-add.md +38 -0
  336. package/skills/lark-task/references/lark-task-update.md +37 -0
  337. package/skills/lark-task/references/lark-task-upload-attachment.md +59 -0
  338. package/skills/lark-vc/SKILL.md +202 -0
  339. package/skills/lark-vc/references/lark-vc-detail.md +44 -0
  340. package/skills/lark-vc/references/lark-vc-recording.md +154 -0
  341. package/skills/lark-vc/references/lark-vc-search.md +163 -0
  342. package/skills/lark-vc/references/vc-domain-boundaries.md +188 -0
  343. package/skills/lark-vc-agent/SKILL.md +169 -0
  344. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-events.md +287 -0
  345. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-join.md +141 -0
  346. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-leave.md +105 -0
  347. package/skills/lark-vc-agent/references/lark-vc-agent-meeting-list-active.md +91 -0
  348. package/skills/lark-whiteboard/SKILL.md +47 -0
  349. package/skills/lark-whiteboard/elements/connectors.md +102 -0
  350. package/skills/lark-whiteboard/elements/content.md +40 -0
  351. package/skills/lark-whiteboard/elements/image.md +80 -0
  352. package/skills/lark-whiteboard/elements/layout.md +374 -0
  353. package/skills/lark-whiteboard/elements/schema.md +357 -0
  354. package/skills/lark-whiteboard/elements/style.md +318 -0
  355. package/skills/lark-whiteboard/elements/typography.md +73 -0
  356. package/skills/lark-whiteboard/references/lark-whiteboard-query.md +60 -0
  357. package/skills/lark-whiteboard/references/lark-whiteboard-update.md +122 -0
  358. package/skills/lark-whiteboard/references/lark-whiteboard-workflow.md +94 -0
  359. package/skills/lark-whiteboard/routes/dsl.md +107 -0
  360. package/skills/lark-whiteboard/routes/mermaid.md +27 -0
  361. package/skills/lark-whiteboard/routes/svg-edit.md +85 -0
  362. package/skills/lark-whiteboard/routes/svg.md +54 -0
  363. package/skills/lark-whiteboard/scenes/architecture.md +433 -0
  364. package/skills/lark-whiteboard/scenes/bar-chart.md +187 -0
  365. package/skills/lark-whiteboard/scenes/comparison.md +135 -0
  366. package/skills/lark-whiteboard/scenes/fishbone.md +238 -0
  367. package/skills/lark-whiteboard/scenes/flowchart.md +185 -0
  368. package/skills/lark-whiteboard/scenes/flywheel.md +195 -0
  369. package/skills/lark-whiteboard/scenes/funnel.md +101 -0
  370. package/skills/lark-whiteboard/scenes/line-chart.md +214 -0
  371. package/skills/lark-whiteboard/scenes/mermaid.md +130 -0
  372. package/skills/lark-whiteboard/scenes/milestone.md +139 -0
  373. package/skills/lark-whiteboard/scenes/organization.md +173 -0
  374. package/skills/lark-whiteboard/scenes/photo-showcase.md +126 -0
  375. package/skills/lark-whiteboard/scenes/pyramid.md +99 -0
  376. package/skills/lark-whiteboard/scenes/swimlane.md +371 -0
  377. package/skills/lark-whiteboard/scenes/treemap.md +216 -0
  378. package/skills/lark-wiki/SKILL.md +110 -0
  379. package/skills/lark-wiki/references/lark-wiki-delete-space.md +205 -0
  380. package/skills/lark-wiki/references/lark-wiki-member-add.md +67 -0
  381. package/skills/lark-wiki/references/lark-wiki-member-list.md +76 -0
  382. package/skills/lark-wiki/references/lark-wiki-member-remove.md +61 -0
  383. package/skills/lark-wiki/references/lark-wiki-move.md +183 -0
  384. package/skills/lark-wiki/references/lark-wiki-node-copy.md +72 -0
  385. package/skills/lark-wiki/references/lark-wiki-node-create.md +127 -0
  386. package/skills/lark-wiki/references/lark-wiki-node-delete.md +62 -0
  387. package/skills/lark-wiki/references/lark-wiki-node-get.md +57 -0
  388. package/skills/lark-wiki/references/lark-wiki-node-list.md +88 -0
  389. package/skills/lark-wiki/references/lark-wiki-space-create.md +46 -0
  390. package/skills/lark-wiki/references/lark-wiki-space-list.md +68 -0
  391. package/skills/lark-workflow-meeting-summary/SKILL.md +122 -0
  392. package/skills/lark-workflow-standup-report/SKILL.md +122 -0
@@ -0,0 +1,452 @@
1
+ # im feed.groups
2
+
3
+ > **Prerequisite:** Read [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) first to understand authentication, global parameters, and safety rules.
4
+
5
+ This reference is the shared annotation target for the IM feed-group (tag) APIs: it documents what each method does, the `--params` / `--data` request and response shapes, and the enum surface used in payloads. The full method list is in [Command Overview](#command-overview) below.
6
+
7
+ > **Important:** The six raw commands (`create`, `update`, `delete`, `batch_query`, `batch_add_item`, `batch_remove_item`) take structured input through `--params '<json>'` and `--data '<json>'` rather than typed flags. The three read methods (`list`, `list_item`, `batch_query_item`) are exposed only as typed `+` shortcut wrappers — see [Shortcuts](#shortcuts). All methods are user-only; see [Common Notes](#common-notes).
8
+
9
+ > **Picking a read method:** `batch_query` / `+feed-group-query-item` are lightweight ID lookups; `+feed-group-list` / `+feed-group-list-item` paginate the whole set and are much heavier. When you already hold the IDs (`group_id` from `create`, the `feed_id`s you passed to `batch_add_item`), prefer the lightweight lookup. Reserve the list methods for when you actually need to discover IDs you don't have.
10
+
11
+ ## Command Overview
12
+
13
+ | Method | Purpose |
14
+ |---|---|
15
+ | `feed.groups.create` | Create a new feed group (tag) |
16
+ | `feed.groups.update` | Update a feed group's name and/or rules |
17
+ | `feed.groups.delete` | Delete one feed group |
18
+ | `feed.groups.batch_query` | Look up feed groups by ID list |
19
+ | `feed.groups.list` | List the caller's feed groups with optional time-range filter — **CLI: only via `+feed-group-list` shortcut** |
20
+ | `feed.groups.batch_add_item` | Add feed cards (chats) into a feed group |
21
+ | `feed.groups.batch_remove_item` | Remove feed cards from a feed group |
22
+ | `feed.groups.batch_query_item` | Look up feed cards inside a group by ID list — **CLI: only via `+feed-group-query-item` shortcut** |
23
+ | `feed.groups.list_item` | List feed cards inside one feed group — **CLI: only via `+feed-group-list-item` shortcut** |
24
+
25
+ > HTTP method and path are not duplicated here. For the six raw methods, inspect them with `lark-cli schema im.feed.groups.<method>` when needed; the three shortcut-only read methods (`list`, `list_item`, `batch_query_item`) use typed flags (see their `--help`).
26
+
27
+ ## Shortcuts
28
+
29
+ Three typed `+` shortcuts cover the feed-group read paths. All are user-only.
30
+
31
+ | Shortcut | Purpose | Notes |
32
+ |---|---|---|
33
+ | [`+feed-group-list`](lark-im-feed-group-list.md) | List your feed groups | Its `--page-all` correctly merges the live and soft-deleted lists. No enrichment |
34
+ | [`+feed-group-list-item`](lark-im-feed-group-list-item.md) | List the feed cards inside a group | Enriches each card with `chat_name` |
35
+ | [`+feed-group-query-item`](lark-im-feed-group-query-item.md) | Look up feed cards in a group by ID | Enriches each card with `chat_name` |
36
+
37
+ The two `*-item` shortcuts resolve `chat_name` via a follow-up `chats/batch_query`, so they need `im:chat:read` in addition to `im:feed_group_v1:read`; `+feed-group-list` needs only `im:feed_group_v1:read`. All three are the **only** CLI surface for their methods — `list`, `list_item`, and `batch_query_item` have no raw command; full flags and response shapes live in the shortcut docs linked above.
38
+
39
+ ## Common Notes
40
+
41
+ - `feed_group_id` is the feed-group identifier returned by `create`, typically formatted as `ofg_xxx`. It is an opaque string — the group's stable ID.
42
+ - `feed_id` is the identifier of one feed card inside a group. In v1 only the `chat` feed card type is supported (see `feed_card_type` below), so `feed_id` is currently a chat ID such as `oc_xxx`.
43
+ - All `feed.groups.*` methods require `user_access_token`. Run with `--as user`; bot/tenant tokens are rejected.
44
+ - Read APIs (`batch_query`, `list`, `batch_query_item`, `list_item`) return **two parallel lists**: a live list (`groups[]` or `items[]`) and a soft-deleted list (`deleted_groups[]` or `deleted_items[]`). Consumers tracking incremental sync should consume both.
45
+ - Time-range fields (`start_time`, `end_time`, `update_time`) are Unix timestamps **in milliseconds**, encoded as decimal strings (e.g. `1767196800000`).
46
+ - Rule-based feed groups (`type=rule`) auto-populate from the rules declared in `feed_group_creator.rules`. Normal feed groups (`type=normal`) are managed explicitly via `batch_add_item` / `batch_remove_item`.
47
+
48
+ > **Choose the simplest group that fits** — it keeps `create` / `update` fast and predictable. Apply these in order:
49
+ > 1. **Prefer `type=normal`.** When the target chats are known up front, set membership explicitly with `batch_add_item` / `batch_remove_item`. Use `type=rule` only when membership must be derived automatically.
50
+ > 2. **Keep the rule set smallest.** Use the fewest `rules[]` and `condition_items[]` that express the intent (one condition is ideal). This outranks the style rules below — never split a rule or add conditions just to satisfy them (e.g. one `match_any` rule beats two single-condition rules for "A or B").
51
+ > 3. **Within that, make each condition precise.** Prefer positive, specific conditions (`is`, or `contain` with a distinctive keyword) over exclusion (`is_not`, `not_contain`) or broad keywords, which capture more than intended. For a multi-condition rule, prefer `match_all` (narrower) over `match_any` (wider).
52
+
53
+ ## Inspect Schema
54
+
55
+ ```bash
56
+ lark-cli schema im.feed.groups
57
+ lark-cli schema im.feed.groups.create --format pretty
58
+ lark-cli schema im.feed.groups.batch_add_item --format pretty
59
+ ```
60
+
61
+ > `list`, `list_item`, and `batch_query_item` have no raw method schema (they are shortcut-only). Inspect their flags with `lark-cli im +feed-group-list --help` / `+feed-group-list-item --help` / `+feed-group-query-item --help` instead.
62
+
63
+ ## create
64
+
65
+ Create a new feed group. Returns the new `group_id` on success.
66
+
67
+ > **Prefer `type=normal`.** Use `type=rule` only when membership must be derived automatically, and keep the rule set small and precise — see the guidance under [Common Notes](#common-notes).
68
+
69
+ ```bash
70
+ # Normal (empty) group
71
+ lark-cli im feed.groups create --as user \
72
+ --data '{"feed_group_creator":{"type":"normal","name":"Releases"}}'
73
+
74
+ # Rule-based group: auto-add p2p chats with "release" in their name
75
+ lark-cli im feed.groups create --as user \
76
+ --data '{
77
+ "feed_group_creator":{
78
+ "type":"rule",
79
+ "name":"Auto: release chats",
80
+ "rules":{
81
+ "rules":[
82
+ {
83
+ "condition":{
84
+ "match_type":"match_all",
85
+ "condition_items":[
86
+ {"type":"chat_type","operator":"is","chat_type":"p2p"},
87
+ {"type":"keyword","operator":"contain","keyword":"release"}
88
+ ]
89
+ },
90
+ "action":"add"
91
+ }
92
+ ]
93
+ }
94
+ }
95
+ }'
96
+ ```
97
+
98
+ ### Request
99
+
100
+ #### `--params`
101
+
102
+ | Parameter | Required | Description |
103
+ |---|---|---|
104
+ | `user_id_type` | No | ID type used when the request body contains `user_id` references inside rules. One of `open_id`, `union_id`, `user_id` |
105
+
106
+ #### `--data`
107
+
108
+ | Field | Required | Description |
109
+ |---|---|---|
110
+ | `feed_group_creator.type` | Yes | `normal` (empty group) or `rule` (auto-populated by rules) |
111
+ | `feed_group_creator.name` | Yes | Display name, e.g. `"标签名称测试"` |
112
+ | `feed_group_creator.rules` | No | Rule object (required when `type=rule`). See `feed_group_rules` section below |
113
+
114
+ ### Response
115
+
116
+ ```json
117
+ {
118
+ "group_id": "ofg_xxx"
119
+ }
120
+ ```
121
+
122
+ ## update
123
+
124
+ Update a feed group's name and/or rules. The `update_fields` array tells the server which fields are being updated.
125
+
126
+ > **Scope each update to what actually changed.** If you only need to rename, pass `update_fields:[1]` so the rules are left untouched. When you do change rules, the same guidance under [Common Notes](#common-notes) applies to the resulting set.
127
+
128
+ ```bash
129
+ # Rename only
130
+ lark-cli im feed.groups update --as user \
131
+ --params '{"feed_group_id":"ofg_xxx"}' \
132
+ --data '{"feed_group_updater":{"name":"测试标签名称","update_fields":[1]}}'
133
+
134
+ # Replace rules only (rules array uses the feed_group_rules shape — see that section)
135
+ lark-cli im feed.groups update --as user \
136
+ --params '{"feed_group_id":"ofg_xxx"}' \
137
+ --data '{
138
+ "feed_group_updater":{
139
+ "rules":{"rules":[]},
140
+ "update_fields":[2]
141
+ }
142
+ }'
143
+ ```
144
+
145
+ ### Request
146
+
147
+ #### `--params`
148
+
149
+ | Parameter | Required | Description |
150
+ |---|---|---|
151
+ | `feed_group_id` | Yes | Path parameter — the feed group to update |
152
+ | `user_id_type` | No | ID type for any `user_id` fields inside `rules` |
153
+
154
+ #### `--data`
155
+
156
+ | Field | Required | Description |
157
+ |---|---|---|
158
+ | `feed_group_updater.name` | No | New display name |
159
+ | `feed_group_updater.rules` | No | Replacement rule object. Same structure as `create.feed_group_creator.rules` |
160
+ | `feed_group_updater.update_fields` | No | Array of integer update markers: `1` = name, `2` = rules. Server applies only the listed fields |
161
+
162
+ ### Response
163
+
164
+ Empty body on success. Inspect the CLI exit code for status.
165
+
166
+ ## delete
167
+
168
+ Delete one feed group.
169
+
170
+ ```bash
171
+ lark-cli im feed.groups delete --as user \
172
+ --params '{"feed_group_id":"ofg_xxx"}'
173
+ ```
174
+
175
+ ### Request
176
+
177
+ | Parameter | Required | Description |
178
+ |---|---|---|
179
+ | `feed_group_id` | Yes | Path parameter — the feed group to delete |
180
+
181
+ ### Response
182
+
183
+ Empty body on success.
184
+
185
+ ## batch_query
186
+
187
+ Look up feed groups by an explicit list of IDs. Returns both live and soft-deleted matches.
188
+
189
+ ```bash
190
+ lark-cli im feed.groups batch_query --as user \
191
+ --params '{"user_id_type":"open_id"}' \
192
+ --data '{"group_ids":["ofg_xxx","ofg_yyy"]}'
193
+ ```
194
+
195
+ ### Request
196
+
197
+ #### `--params`
198
+
199
+ | Parameter | Required | Description |
200
+ |---|---|---|
201
+ | `user_id_type` | No | ID type used when the response includes `user_id` references inside `groups[].rules` |
202
+
203
+ #### `--data`
204
+
205
+ | Field | Required | Description |
206
+ |---|---|---|
207
+ | `group_ids` | Yes | Array of feed group IDs to look up |
208
+
209
+ ### Response
210
+
211
+ ```json
212
+ {
213
+ "groups": [
214
+ {
215
+ "group_id": "ofg_xxx",
216
+ "type": "normal",
217
+ "name": "test",
218
+ "rules": { "rules": [] }
219
+ }
220
+ ],
221
+ "deleted_groups": [
222
+ {
223
+ "group_id": "ofg_yyy",
224
+ "type": "rule",
225
+ "name": "test",
226
+ "rules": { "rules": [] }
227
+ }
228
+ ]
229
+ }
230
+ ```
231
+
232
+ Each `rules.rules[]` element follows the `feed_group_rules` shape — see that section for the full structure.
233
+
234
+ ### Top-Level Fields
235
+
236
+ | Field | Type | Meaning |
237
+ |---|---|---|
238
+ | `groups` | `array<object>` | Live feed groups for the requested IDs |
239
+ | `deleted_groups` | `array<object>` | Soft-deleted matches, returned for incremental-sync clients |
240
+
241
+ Each element carries `group_id`, `type`, `name`, and (when defined) `rules`.
242
+
243
+ ## list
244
+
245
+ Shortcut-only: [`+feed-group-list`](lark-im-feed-group-list.md). Lists the caller's feed groups, optionally filtered by an update-time window. Its `--page-all` correctly merges the live (`groups`) and soft-deleted (`deleted_groups`) lists across pages. There is no raw command — flags and response shape are in the linked shortcut doc.
246
+
247
+ ## batch_add_item
248
+
249
+ Add feed cards (chats) into one feed group. Partial failures are reported in `failed_items`.
250
+
251
+ ```bash
252
+ lark-cli im feed.groups batch_add_item --as user \
253
+ --params '{"feed_group_id":"ofg_xxx"}' \
254
+ --data '{
255
+ "items":[
256
+ {"feed_id":"oc_xxx","feed_type":"chat"},
257
+ {"feed_id":"oc_yyy","feed_type":"chat"}
258
+ ]
259
+ }'
260
+ ```
261
+
262
+ ### Request
263
+
264
+ | Source | Field | Required | Description |
265
+ |---|---|---|---|
266
+ | `--params` | `feed_group_id` | Yes | Path parameter — the target feed group |
267
+ | `--data` | `items[]` | Yes | Array of feed cards to add |
268
+ | `--data` | `items[].feed_id` | No | The chat ID to add (e.g. `oc_xxx`) |
269
+ | `--data` | `items[].feed_type` | Yes (`"chat"` only) | Wire-typed as an open string. v1 OAPI service accepts only `chat`; anything else is rejected at runtime. See the Enums section. |
270
+
271
+ > Note: `items[].feed_id` is not marked as required in the API schema, but every element of `items` must set it — a missing field yields an unusable entry. Always pass `{"feed_id": "oc_xxx", "feed_type": "chat"}` per item.
272
+
273
+ ### Response
274
+
275
+ ```json
276
+ {
277
+ "failed_items": [
278
+ {
279
+ "item": { "feed_id": "oc_xxx", "feed_type": "chat" },
280
+ "error_code": 240001,
281
+ "error_message": "feed_id is invalid"
282
+ }
283
+ ]
284
+ }
285
+ ```
286
+
287
+ | Field | Type | Meaning |
288
+ |---|---|---|
289
+ | `failed_items` | `array<object>` | Items that failed; absent or empty means all succeeded |
290
+ | `failed_items[].item` | `object` | The original `{feed_id, feed_type}` element |
291
+ | `failed_items[].error_code` | `integer` | Numeric error code |
292
+ | `failed_items[].error_message` | `string` | Human-readable failure reason |
293
+
294
+ ## batch_remove_item
295
+
296
+ Remove feed cards from one feed group. Same request and response shape as `batch_add_item`.
297
+
298
+ ```bash
299
+ lark-cli im feed.groups batch_remove_item --as user \
300
+ --params '{"feed_group_id":"ofg_xxx"}' \
301
+ --data '{
302
+ "items":[
303
+ {"feed_id":"oc_xxx","feed_type":"chat"}
304
+ ]
305
+ }'
306
+ ```
307
+
308
+ ### Request
309
+
310
+ | Source | Field | Required | Description |
311
+ |---|---|---|---|
312
+ | `--params` | `feed_group_id` | Yes | Path parameter — the target feed group |
313
+ | `--data` | `items[]` | Yes | Array of feed cards to remove |
314
+ | `--data` | `items[].feed_id` | No | The chat ID to remove |
315
+ | `--data` | `items[].feed_type` | Yes (`"chat"` only) | Wire-typed as an open string. v1 OAPI service accepts only `chat`; anything else is rejected at runtime. See the Enums section. |
316
+
317
+ > Note: same caveat as `batch_add_item` — `items[].feed_id` is optional per the API schema but must be present in practice.
318
+
319
+ ### Response
320
+
321
+ Identical shape to `batch_add_item` — `failed_items[]` lists rows that did not remove cleanly.
322
+
323
+ ## batch_query_item
324
+
325
+ Shortcut-only: [`+feed-group-query-item`](lark-im-feed-group-query-item.md). Looks up feed cards in a group by an explicit ID list and enriches each with `chat_name`. There is no raw command — flags and response shape are in the linked shortcut doc.
326
+
327
+ ## list_item
328
+
329
+ Shortcut-only: [`+feed-group-list-item`](lark-im-feed-group-list-item.md). Lists the feed cards inside a group (paginated, `--page-all` supported) and enriches each with `chat_name`. There is no raw command — flags and response shape are in the linked shortcut doc.
330
+
331
+ ## Enums
332
+
333
+ All enum values listed here are exhaustive.
334
+
335
+ ### `feed_group_type`
336
+
337
+ Used in `feed_group_creator.type` and the response `groups[].type`.
338
+
339
+ - `normal` — empty group; members managed explicitly via `batch_add_item` / `batch_remove_item`.
340
+ - `rule` — auto-populated; `feed_group_creator.rules` must be supplied.
341
+
342
+ ### `feed_card_type`
343
+
344
+ Used in `items[].feed_type` everywhere a feed card appears. Wire type is an open string.
345
+
346
+ - `chat` — the only value the v1 OAPI service accepts. `feed_id` is therefore a chat ID such as `oc_xxx`.
347
+
348
+ The CLI does not pre-validate this field — passing anything other than `chat` reaches the server and is rejected at runtime. Treat `chat` as effectively required.
349
+
350
+ ### `feed_group_rule_action`
351
+
352
+ Used inside `feed_group_rules.rules[].action`.
353
+
354
+ - `add` — when the condition matches, add the matching feed into this group.
355
+ - `remove` — when the condition matches, remove the matching feed from this group.
356
+
357
+ ### `feed_group_rule_cond_match_type`
358
+
359
+ Used inside `feed_group_rules.rules[].condition.match_type`.
360
+
361
+ - `match_all` — every condition item must match.
362
+ - `match_any` — at least one condition item must match.
363
+
364
+ ### `feed_group_rule_cond_item_type`
365
+
366
+ Used inside `feed_group_rules.rules[].condition.condition_items[].type`. Determines which sibling field of the item is consulted.
367
+
368
+ - `keyword` — match against a keyword; consult the `keyword` field.
369
+ - `chatter` — match against a user; consult the `user_id` field (interpreted per the request's `user_id_type`).
370
+ - `chat_type` — match against a chat type; consult the `chat_type` field.
371
+
372
+ ### `feed_group_rule_cond_item_operator`
373
+
374
+ Used inside `feed_group_rules.rules[].condition.condition_items[].operator`. Typically paired with the relevant `type`:
375
+
376
+ - `contain` — substring match; typically paired with `keyword`.
377
+ - `not_contain` — substring non-match; typically paired with `keyword`.
378
+ - `is` — equality; typically paired with `chatter` or `chat_type`.
379
+ - `is_not` — non-equality; typically paired with `chatter` or `chat_type`.
380
+
381
+ ### `feed_group_rule_cond_item_chat_type`
382
+
383
+ Used inside `feed_group_rules.rules[].condition.condition_items[].chat_type` when `type=chat_type`.
384
+
385
+ - `p2p`
386
+ - `group`
387
+ - `thread_group`
388
+ - `helpdesk`
389
+ - `bot`
390
+ - `mute`
391
+ - `flag`
392
+ - `cross_tenant`
393
+ - `any`
394
+
395
+ ### `update_fields`
396
+
397
+ Used inside `feed_group_updater.update_fields`. Multiple values may be listed.
398
+
399
+ - `1` — update name only.
400
+ - `2` — update rules only.
401
+
402
+ Wire form: integers (`1` = name, `2` = rules). The server rejects the lowercase string forms (`"name"`, `"rules"`) with `9499 Invalid parameter value`. Omit the array (or pass an empty array) to make no field updates.
403
+
404
+ ## feed_group_rules
405
+
406
+ The same nested object is used in `feed_group_creator.rules` (create), `feed_group_updater.rules` (update), and in read responses under `groups[].rules`. Shape:
407
+
408
+ ```json
409
+ {
410
+ "rules": [
411
+ {
412
+ "condition": {
413
+ "match_type": "match_all",
414
+ "condition_items": [
415
+ { "type": "chat_type", "operator": "is", "chat_type": "group" },
416
+ { "type": "keyword", "operator": "contain", "keyword": "release" }
417
+ ]
418
+ },
419
+ "action": "add"
420
+ }
421
+ ]
422
+ }
423
+ ```
424
+
425
+ Per-`type` required-field legend:
426
+
427
+ - `type=keyword` → `keyword` is required; `user_id` and `chat_type` are ignored.
428
+ - `type=chatter` → `user_id` is required; the request's `user_id_type` query parameter tells the server how to interpret it.
429
+ - `type=chat_type` → `chat_type` is required.
430
+
431
+ ## Permissions
432
+
433
+ | Method | Scope |
434
+ |---|---|
435
+ | `feed.groups.create` | `im:feed_group_v1:write` |
436
+ | `feed.groups.update` | `im:feed_group_v1:write` |
437
+ | `feed.groups.delete` | `im:feed_group_v1:write` |
438
+ | `feed.groups.batch_query` | `im:feed_group_v1:read` |
439
+ | `feed.groups.batch_add_item` | `im:feed_group_v1:write` |
440
+ | `feed.groups.batch_remove_item` | `im:feed_group_v1:write` |
441
+
442
+ The three read methods are shortcut-only:
443
+
444
+ - [`+feed-group-list`](lark-im-feed-group-list.md) — `im:feed_group_v1:read`
445
+ - [`+feed-group-list-item`](lark-im-feed-group-list-item.md) / [`+feed-group-query-item`](lark-im-feed-group-query-item.md) — `im:feed_group_v1:read` **plus** `im:chat:read` (they always resolve `chat_name`)
446
+
447
+ If a required scope is missing, the CLI surfaces a hint such as `lark-cli auth login --scope "im:feed_group_v1:write"`.
448
+
449
+ ## References
450
+
451
+ - [lark-im](../SKILL.md) — all IM commands
452
+ - [lark-shared](../../lark-shared/SKILL.md) — authentication and global parameters
@@ -0,0 +1,97 @@
1
+ # im +feed-shortcut-create
2
+
3
+ > **Prerequisite:** Read [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) for authentication, global parameters, and security rules.
4
+
5
+ This skill maps to shortcut: `lark-cli im +feed-shortcut-create`. Underlying API: `POST /open-apis/im/v2/feed_shortcuts`.
6
+
7
+ ## What it does
8
+
9
+ Adds one or more chats to the **current user's** feed shortcuts — equivalent to right-clicking a chat in the Feishu client and pinning it to the feed sidebar.
10
+
11
+ - Only **CHAT-type** shortcuts are exposed by the OpenAPI gateway right now (`feed_card_id` must be an `oc_xxx` open_chat_id).
12
+ - Batch up to **10 chat IDs per call**; pass more by issuing multiple calls.
13
+ - Currently only supports **user identity** (`--as user`); bot identity is not allowed by the server.
14
+ - If you only know a group name, resolve its `oc_xxx` first with `im +chat-search` or `im +chat-list`.
15
+
16
+ ## Commands
17
+
18
+ ```bash
19
+ # Add a single chat as a feed shortcut (defaults to head/top insertion)
20
+ lark-cli im +feed-shortcut-create --as user --chat-id oc_xxx
21
+
22
+ # Add multiple chats; comma-separated or repeated flag both work
23
+ lark-cli im +feed-shortcut-create --as user --chat-id oc_a,oc_b,oc_c
24
+ lark-cli im +feed-shortcut-create --as user --chat-id oc_a --chat-id oc_b
25
+
26
+ # Append at the bottom of the shortcut list instead of the top
27
+ lark-cli im +feed-shortcut-create --as user --chat-id oc_xxx --tail
28
+
29
+ # Preview the request without sending
30
+ lark-cli im +feed-shortcut-create --as user --chat-id oc_xxx --dry-run
31
+ ```
32
+
33
+ ## Parameters
34
+
35
+ | Parameter | Default | Description |
36
+ |------|------|------|
37
+ | `--chat-id <oc_xxx>` | required | open_chat_id to add as a feed shortcut; repeatable or comma-separated; **max 10 per call** |
38
+ | `--head` | true (implied) | Insert at the top of the shortcut list; mutually exclusive with `--tail` |
39
+ | `--tail` | false | Append at the bottom of the shortcut list |
40
+ | `--as user` | required | Server only accepts user_access_token for this API |
41
+
42
+ ## Response
43
+
44
+ The response is a batch ledger. A full success exits `0` with `ok:true`. Any non-empty `failed_shortcuts` is a partial failure: the process exits non-zero (currently exit `1`), stdout carries `ok:false`, and the full ledger remains machine-readable:
45
+
46
+ | Field | Meaning |
47
+ |------|------|
48
+ | `total` | Number of requested shortcuts |
49
+ | `success_count` | Number of requested shortcuts not reported in `failed_shortcuts` |
50
+ | `failure_count` | Number of requested shortcuts reported as failed; `failed_shortcuts` preserves the raw server failure list |
51
+ | `succeeded_shortcuts` | Requested shortcut entries that succeeded |
52
+ | `failed_shortcuts` | Per-item failures returned by the server, enriched with `reason_label` |
53
+
54
+ The shortcut adds a `reason_label` field next to each numeric `reason`:
55
+
56
+ | `reason` | `reason_label` | Meaning |
57
+ |---:|------|------|
58
+ | 1 | `no_permission` | User has no permission on the feed card |
59
+ | 2 | `invalid_item` | `feed_card_id` is invalid or type doesn't match |
60
+ | 3 | `has_pending_delete` | The chat is being deleted |
61
+ | 4 | `type_not_support` | Type is not whitelisted (only CHAT is open now) |
62
+ | 5 | `internal_error` | Server internal error |
63
+
64
+ Example:
65
+
66
+ ```json
67
+ {
68
+ "ok": false,
69
+ "data": {
70
+ "total": 2,
71
+ "success_count": 1,
72
+ "failure_count": 1,
73
+ "succeeded_shortcuts": [
74
+ { "feed_card_id": "oc_good", "type": 1 }
75
+ ],
76
+ "failed_shortcuts": [
77
+ {
78
+ "shortcut": { "feed_card_id": "oc_bad", "type": 1 },
79
+ "reason": 2,
80
+ "reason_label": "invalid_item"
81
+ }
82
+ ]
83
+ }
84
+ }
85
+ ```
86
+
87
+ ## Permissions
88
+
89
+ - Required scope: `im:feed.shortcut:write`
90
+ - Only available with user identity (`--as user`). The CLI will reject `--as bot` for this shortcut.
91
+
92
+ ## Note
93
+
94
+ - The shortcut list is **per user**: the call adds shortcuts for the currently authenticated user only.
95
+ - Adding the same chat twice is **idempotent at the user level** (re-adding an existing shortcut is a no-op rather than an error).
96
+ - Scripts should check the process exit code, top-level `ok`, and ledger counts. Partial failures intentionally keep machine-readable success and failure details on stdout.
97
+ - To inspect the current shortcut list, use [`+feed-shortcut-list`](lark-im-feed-shortcut-list.md). To remove a shortcut, use [`+feed-shortcut-remove`](lark-im-feed-shortcut-remove.md).
@@ -0,0 +1,103 @@
1
+ # im +feed-shortcut-list
2
+
3
+ > **Prerequisite:** Read [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) for authentication, global parameters, and security rules.
4
+
5
+ This skill maps to shortcut: `lark-cli im +feed-shortcut-list`. Underlying API: `GET /open-apis/im/v2/feed_shortcuts`.
6
+
7
+ ## What it does
8
+
9
+ Lists **one page** of the **current user's** feed shortcuts.
10
+
11
+ - Only **CHAT-type** shortcuts are exposed via OpenAPI today (others in the IDL are not yet whitelisted).
12
+ - The shortcut is a **thin one-page wrapper** — there is no built-in auto-pagination. Callers drive their own loop when they actually need to paginate.
13
+ - Server-side page size is controlled by the service; in normal use one page usually covers the list.
14
+ - Pagination tokens are opaque. If a token is rejected because the shortcut list changed, restart by omitting `--page-token`.
15
+
16
+ ## Commands
17
+
18
+ ```bash
19
+ # First page (the only call most users ever need — --page-token omitted)
20
+ lark-cli im +feed-shortcut-list --as user
21
+
22
+ # Continue from the previous response's page_token
23
+ lark-cli im +feed-shortcut-list --as user --page-token <token-from-previous-response>
24
+
25
+ # Skip detail enrichment when only IDs are needed; avoids the extra im:chat:read lookup
26
+ lark-cli im +feed-shortcut-list --as user --no-detail -q '.data.shortcuts[].feed_card_id'
27
+ ```
28
+
29
+ > If you need to walk every page, write the loop yourself: read `data.page_token` from each response and pass it back in until `has_more=false`. The shortcut intentionally does not auto-walk because page-token errors require the caller to decide whether to restart from the first page.
30
+
31
+ ## Parameters
32
+
33
+ | Parameter | Required | Description |
34
+ |------|------|------|
35
+ | `--page-token <token>` | no | Opaque pagination token from the previous response. **Omit it for the first page.** |
36
+ | `--no-detail` | no (default `false`) | Skip fetching each entry's full info object. By default enrichment is enabled: CHAT-type entries call `im.chats.batch_query`, need `im:chat:read`, and attach the object under the `detail` field. Pass `--no-detail` to skip the extra call and scope. |
37
+ | `--as user` | yes | Server only accepts user_access_token for this API |
38
+
39
+ ## Response Structure
40
+
41
+ | Field | Type | Description |
42
+ |------|------|------|
43
+ | `shortcuts` | array | Feed shortcut entries; each has `feed_card_id` (oc_xxx) and `type` (1=CHAT). By default (without `--no-detail`), each entry also has a `detail` field with the full per-type info object. |
44
+ | `has_more` | boolean | Whether more pages exist |
45
+ | `page_token` | string | Opaque token to pass to the next call when continuing pagination |
46
+
47
+ Example (with detail enrichment, CHAT type):
48
+
49
+ ```json
50
+ {
51
+ "data": {
52
+ "shortcuts": [
53
+ {
54
+ "feed_card_id": "oc_092f0100fe59c35995727db1039777a8",
55
+ "type": 1,
56
+ "detail": {
57
+ "chat_id": "oc_092f0100fe59c35995727db1039777a8",
58
+ "chat_mode": "group",
59
+ "name": "Engineering",
60
+ "avatar": "https://...",
61
+ "description": "",
62
+ "external": false,
63
+ "owner_id": "ou_xxx",
64
+ "owner_id_type": "open_id",
65
+ "tenant_key": "..."
66
+ }
67
+ },
68
+ {
69
+ "feed_card_id": "oc_c82061d126a06635aa3569587b134bb1",
70
+ "type": 1,
71
+ "detail": {
72
+ "chat_id": "oc_c82061d126a06635aa3569587b134bb1",
73
+ "chat_mode": "p2p",
74
+ "name": "",
75
+ "p2p_target_id": "ou_xxx",
76
+ "p2p_target_type": "user",
77
+ "avatar": "",
78
+ "description": "",
79
+ "external": false,
80
+ "tenant_key": "..."
81
+ }
82
+ }
83
+ ],
84
+ "has_more": false,
85
+ "page_token": "v1.example-opaque-token"
86
+ }
87
+ }
88
+ ```
89
+
90
+ ## Detail Enrichment
91
+
92
+ The `detail` payload is dispatched **per `type`**. Today only CHAT is wired in; future shortcut types can attach different object shapes. Callers should `switch` on `type` before parsing `detail`. For CHAT (`type=1`):
93
+
94
+ - **Source**: `POST /open-apis/im/v1/chats/batch_query` (50 ids per call, server limit).
95
+ - **Payload**: the **full chat object** is passed through verbatim — `chat_id`, `chat_mode` (`group` / `p2p` / `topic`), `name`, `avatar`, `description`, `external`, `tenant_key`, plus type-specific fields (`owner_id*` for groups, `p2p_target_*` for p2p).
96
+ - **P2P chats** return an empty `name` because the Feishu client renders the partner's display name there. The rest of the object (especially `p2p_target_id`) still flows through, so callers can resolve the partner via `+contact-search` if a display title is needed.
97
+ - **Lookup failure** (missing scope, network error) → the list still returns successfully; a warning is printed to stderr, the data payload carries a `_notice` field (`"detail enrichment skipped: ..."`), and affected entries simply lack the `detail` field. Check `_notice` to tell "enrichment skipped" from "nothing to enrich".
98
+
99
+ ## Permissions
100
+
101
+ - Required scope: `im:feed.shortcut:read`
102
+ - Conditional scope (default detail path only): `im:chat:read`; pass `--no-detail` to avoid this extra scope and lookup.
103
+ - Only available with user identity (`--as user`).