@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,243 @@
1
+ # mail +lint-html
2
+
3
+ > **前置条件:** 先阅读 [`../../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解通用安全规则。
4
+
5
+ ## 作用
6
+
7
+ `+lint-html` 是邮件 HTML 正文的本地预检工具(read-only,无网络 IO)。
8
+
9
+ - 校验 HTML 是否符合飞书邮箱的兼容性 / 安全 / 原生写法要求;
10
+ - 自动修复非法或不规范写法(autofix 始终启用),输出 `cleaned_html`;
11
+ - 不写入任何邮箱状态,不调用任何 OAPI。
12
+
13
+ 写信链路(`+send` / `+draft-create` / `+reply` / `+reply-all` / `+forward` / `+draft-edit` body op)已**强制内置**同一份 lint,提交前会自动净化 HTML。默认 envelope 不携带任何 lint 字段以保持响应小巧;加 `--show-lint-details` 可拿到完整 `lint_applied[]` / `original_blocked[]` 两个 Finding 数组(不再返回任何 `*_count` 字段,调用方需要 count 时 `len(arr)` 即可,详见 [邮件 HTML 写法指南](./lark-mail-html.md#写信-shortcut-的-lint-返回值))。本命令是写信链路 lint 的预览版,行为一致,调用更轻量,适合:
14
+
15
+ - AI / 用户在创建草稿前自检 HTML 会被怎么改写;
16
+ - CI 流水线把 HTML 模板当作产物校验。
17
+
18
+ ## 命令
19
+
20
+ ```bash
21
+ # 直接传 HTML
22
+ lark-cli mail +lint-html --body '<p>正文</p>'
23
+
24
+ # 从文件读 HTML(路径必须在 cwd 子树内)
25
+ lark-cli mail +lint-html --body-file ./template.html
26
+
27
+ # 查看完整 lint 详情
28
+ lark-cli mail +lint-html --body-file ./template.html --show-lint-details
29
+ ```
30
+
31
+ ## 参数
32
+
33
+ | 参数 | 必填 | 说明 |
34
+ |------|------|------|
35
+ | `--body <html>` | 二选一 | 待检查的 HTML 内容 |
36
+ | `--body-file <path>` | 二选一 | 从文件读取 HTML,仅支持 cwd 子树(绝对路径 / `..` 越出 cwd 会被拒) |
37
+ | `--show-lint-details` | 否 | 默认 `false`。`true` 时 envelope 同时返回 `warnings[]` / `errors[]` 完整 Finding 数组;默认仅返回 `cleaned_html`,避免复杂模板触发数十条装饰性 warning 把响应撑大几千 token |
38
+ | `--format <fmt>` | 否 | `json`(默认)/ `pretty` / `table` / `csv` / `ndjson` |
39
+ | `--jq <expr>` | 否 | 对返回 JSON 用 jq 表达式过滤 |
40
+ | `--dry-run` | 否 | 不执行 lint,仅返回 dry-run 描述 |
41
+
42
+ ## 返回值
43
+
44
+ **默认 envelope**(仅 `cleaned_html`,token-frugal):
45
+
46
+ ```json
47
+ {
48
+ "ok": true,
49
+ "data": {
50
+ "cleaned_html": "<p>...</p>"
51
+ }
52
+ }
53
+ ```
54
+
55
+ **加 `--show-lint-details` 后**:
56
+
57
+ ```json
58
+ {
59
+ "ok": true,
60
+ "data": {
61
+ "cleaned_html": "<p>...</p>",
62
+ "warnings": [
63
+ { "rule_id": "...", "severity": "warning", "tag_or_attr": "...", "excerpt": "...", "hint": "..." }
64
+ ],
65
+ "errors": [
66
+ { "rule_id": "...", "severity": "error", "tag_or_attr": "...", "excerpt": "...", "hint": "..." }
67
+ ]
68
+ }
69
+ }
70
+ ```
71
+
72
+ | 字段 | 说明 |
73
+ |------|------|
74
+ | `cleaned_html` | 修复后的 HTML(autofix 始终启用);warning 已自动改写,error 已删除 |
75
+ | `warnings[]` | 警告级 finding 数组(**仅 `--show-lint-details` 时返回**)。无违规时输出 `[]` |
76
+ | `errors[]` | 错误级 finding 数组(**仅 `--show-lint-details` 时返回**)。无违规时输出 `[]` |
77
+
78
+ 每条 finding 含:
79
+
80
+ | 字段 | 说明 |
81
+ |------|------|
82
+ | `rule_id` | 规则编号(UPPER_SNAKE_CASE) |
83
+ | `severity` | `"warning"` 或 `"error"` |
84
+ | `tag_or_attr` | 触发规则的 tag / attribute / `style.<property>` |
85
+ | `excerpt` | HTML 片段(最多 200 字节,超出截断) |
86
+ | `hint` | 可读的修复说明 |
87
+
88
+ ## 调用示例
89
+
90
+ 下面是用 `lark-cli mail +lint-html --body '<INPUT>' --show-lint-details` 实跑得到的典型 case(加 `--show-lint-details` 才能看到 finding;默认只返回 `cleaned_html`),覆盖 error 类(强制删)和 warning 类(自动修复)。
91
+
92
+ ### Error 类(强制删除,写信链路也会拒)
93
+
94
+ #### 1. `<script>` 整段删除
95
+
96
+ 输入:
97
+
98
+ ```html
99
+ <script>alert(1)</script>正文
100
+ ```
101
+
102
+ 输出:
103
+
104
+ ```html
105
+ 正文
106
+ ```
107
+
108
+ 原因:`<script>` 有 XSS 风险,整段丢弃。
109
+
110
+ #### 2. `javascript:` URL 删除
111
+
112
+ 输入:
113
+
114
+ ```html
115
+ <a href="javascript:void(0)">click</a>
116
+ ```
117
+
118
+ 输出:
119
+
120
+ ```html
121
+ <a class="not-doclink" style="cursor:pointer;text-decoration:none;color:rgb(20,86,240)">click</a>
122
+ ```
123
+
124
+ 原因:`javascript:` scheme 是 XSS 入口,`href` 属性被剥。
125
+
126
+ #### 3. `on*` 事件 handler 删除
127
+
128
+ 输入:
129
+
130
+ ```html
131
+ <p onclick="alert(1)">hi</p>
132
+ ```
133
+
134
+ 输出:
135
+
136
+ ```html
137
+ <div style="margin-top:4px;margin-bottom:4px;line-height:1.6"><div dir="auto" style="font-size:14px">hi</div></div>
138
+ ```
139
+
140
+ 原因:inline event handler(`onclick` / `onerror` 等)是脚本注入入口,属性被剥。
141
+
142
+ ### Warning 类(自动修复,视觉无差异)
143
+
144
+ #### 4. `<font>` → `<span style>`
145
+
146
+ 输入:
147
+
148
+ ```html
149
+ <font color="red" size="3">字</font>
150
+ ```
151
+
152
+ 输出:
153
+
154
+ ```html
155
+ <span style="color:red; font-size:16px">字</span>
156
+ ```
157
+
158
+ 原因:`<font>` 是 HTML4 过时标签,飞书 mail-editor 用 inline style 表达字号 / 颜色。
159
+
160
+ #### 5. `<p>` 段落容器原生化
161
+
162
+ 输入:
163
+
164
+ ```html
165
+ <p>正文</p>
166
+ ```
167
+
168
+ 输出:
169
+
170
+ ```html
171
+ <div style="margin-top:4px;margin-bottom:4px;line-height:1.6"><div dir="auto" style="font-size:14px">正文</div></div>
172
+ ```
173
+
174
+ 原因:飞书 mail-editor 段落实际是双层 div(外层定 margin / line-height,内层定 font-size)。
175
+
176
+ #### 6. `<ul>/<li>` 列表原生化
177
+
178
+ 输入:
179
+
180
+ ```html
181
+ <ul><li>第一项</li></ul>
182
+ ```
183
+
184
+ 输出:
185
+
186
+ ```html
187
+ <ul style="margin-top:0px;margin-bottom:0px;margin-left:0px;padding-left:0px;list-style-position:inside" data-list-bullet="true"><li class="temp-li bullet1" data-li-line="true" data-list="bullet1" style="line-height:1.6;margin-top:0px;margin-bottom:0px;padding-left:0px;display:list-item;list-style-type:disc;font-family:inherit;font-size:14px;margin-left:0px;list-style-position:inside" dir="auto"><span style="font-family:inherit"><span style="color:rgb(0,0,0)">第一项</span></span></li></ul>
188
+ ```
189
+
190
+ 原因:飞书 native list-block 要求 `<ul>` / `<li>` 补全 class + data marker + 双层 span 包裹,否则 li 之间会出现可见空行。
191
+
192
+ #### 7. `<blockquote>` 加灰边 + 灰文字
193
+
194
+ 输入:
195
+
196
+ ```html
197
+ <blockquote>引用</blockquote>
198
+ ```
199
+
200
+ 输出:
201
+
202
+ ```html
203
+ <blockquote style="padding-left:0px;color:rgb(100,106,115);border-left:2px solid rgb(187,191,196);margin:0px">引用</blockquote>
204
+ ```
205
+
206
+ 原因:补飞书原生引用样式(左侧 2px 灰边 + 灰色文字)。
207
+
208
+ #### 8. `<a>` 链接补 not-doclink + LarkSuite 蓝
209
+
210
+ 输入:
211
+
212
+ ```html
213
+ <a href="https://example.com">link</a>
214
+ ```
215
+
216
+ 输出:
217
+
218
+ ```html
219
+ <a href="https://example.com" class="not-doclink" style="cursor:pointer;text-decoration:none;color:rgb(20,86,240)">link</a>
220
+ ```
221
+
222
+ 原因:补 `not-doclink` class(防误识为内部 doc share)+ LarkSuite 品牌蓝 + 无下划线。
223
+
224
+ #### 9. 非白名单 CSS property 删除
225
+
226
+ 输入:
227
+
228
+ ```html
229
+ <p style="position:absolute;color:red">x</p>
230
+ ```
231
+
232
+ 输出:
233
+
234
+ ```html
235
+ <div style="color:red;margin-top:4px;margin-bottom:4px;line-height:1.6"><div dir="auto" style="font-size:14px">x</div></div>
236
+ ```
237
+
238
+ 原因:`position` 不在 inline style 白名单内被剔除,`color` 保留。
239
+
240
+ ## 相关命令
241
+
242
+ - 写信 shortcut(已内置同一份 lint):[`+send`](./lark-mail-send.md) / [`+draft-create`](./lark-mail-draft-create.md) / [`+reply`](./lark-mail-reply.md) / [`+reply-all`](./lark-mail-reply-all.md) / [`+forward`](./lark-mail-forward.md) / [`+draft-edit`](./lark-mail-draft-edit.md)
243
+ - 知识文档:[邮件 HTML 写法指南](./lark-mail-html.md)
@@ -0,0 +1,233 @@
1
+ # mail +message
2
+
3
+ > **前置条件:** 先阅读 [`../../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
4
+
5
+ 读取指定邮件的完整内容,包括邮件头、正文(纯文本 + 可选 HTML)以及统一的 `attachments` 列表(涵盖普通附件和内嵌图片)。
6
+
7
+ `mail +message` 只适合读取一封邮件、一个 `message_id`。如果手上已有多个 `message_id`,请使用 `mail +messages --message-ids <id1>,<id2>,<id3>`;不要循环调用 `mail +message`。
8
+
9
+ CLI 分两阶段构建最终 JSON:
10
+ - 安全的邮件元数据字段直接透传
11
+ - 正文、附件和辅助字段由 shortcut 派生
12
+
13
+ 本 skill 对应 shortcut `lark-cli mail +message`,内部步骤:
14
+ 1. `GET /open-apis/mail/v1/user_mailboxes/{mailbox}/messages/{message_id}` — 获取完整邮件内容
15
+
16
+ ## 命令
17
+
18
+ ```bash
19
+ # 读取一封邮件(默认包含 HTML 正文)
20
+ lark-cli mail +message --message-id <message-id>
21
+
22
+ # 仅纯文本正文(更小的负载,适合 AI 处理)
23
+ lark-cli mail +message --message-id <message-id> --html=false
24
+
25
+ # 指定邮箱
26
+ lark-cli mail +message --mailbox user@example.com --message-id <message-id>
27
+
28
+ # JSON 输出(脚本友好)
29
+ lark-cli mail +message --message-id <message-id> --format json
30
+
31
+ # Dry Run
32
+ lark-cli mail +message --message-id <message-id> --dry-run
33
+ ```
34
+
35
+ ## 参数
36
+
37
+ | 参数 | 必填 | 默认值 | 说明 |
38
+ |------|------|--------|------|
39
+ | `--message-id <id>` | 是 | — | 单个邮件 ID;多个 ID 使用 `mail +messages --message-ids` |
40
+ | `--mailbox <email>` | 否 | 当前用户 | 邮箱地址(`user_mailbox_id`) |
41
+ | `--html` | 否 | true | 是否返回 HTML 正文(`false` 仅返回纯文本,减少带宽) |
42
+ | `--format <mode>` | 否 | json | 输出格式:`json`(默认)/ `pretty` / `table` / `ndjson` / `csv` |
43
+ | `--dry-run` | 否 | — | 仅打印请求,不执行 |
44
+
45
+ ## 返回值
46
+
47
+ 成功时返回 `{"ok": true, "data": ...}` 结构,`data` 字段包含:
48
+
49
+ ```json
50
+ {
51
+ "message_id": "邮件 ID",
52
+ "thread_id": "会话 ID",
53
+ "smtp_message_id": "RFC 2822 Message-ID",
54
+ "subject": "邮件主题",
55
+ "head_from": {"mail_address": "alice@example.com", "name": "Alice"},
56
+ "to": [{"mail_address": "bob@example.com", "name": "Bob"}],
57
+ "cc": [{"mail_address": "carol@example.com", "name": "Carol"}],
58
+ "bcc": [],
59
+ "date": "Thu, 19 Mar 2026 16:33:02 +0800",
60
+ "in_reply_to": "<original@domain>",
61
+ "reply_to": "reply-to@domain",
62
+ "reply_to_smtp_message_id": "reply-to@domain",
63
+ "references": ["<a@domain>", "<b@domain>"],
64
+ "internal_date": "1748000000000",
65
+ "date_formatted": "2026-03-19 16:33",
66
+ "message_state": 1,
67
+ "message_state_text": "received",
68
+ "folder_id": "INBOX",
69
+ "label_ids": ["UNREAD"],
70
+ "priority_type": "1",
71
+ "priority_type_text": "high",
72
+ "security_level": {
73
+ "is_risk": true,
74
+ "risk_banner_level": "DANGER",
75
+ "risk_banner_reason": "UNAUTH_EXTERNAL",
76
+ "is_header_from_external": true,
77
+ "via_domain": "example.com",
78
+ "spam_banner_type": "USER_RULE",
79
+ "spam_user_rule_id": "76180000000025388",
80
+ "spam_banner_info": "blocked.example.com"
81
+ },
82
+ "body_plain_text": "Hi Bob, ...",
83
+ "body_preview": "Hi Bob, ...",
84
+ "body_html": "<html>...</html>",
85
+ "attachments": [
86
+ {
87
+ "id": "att_xxx",
88
+ "filename": "report.pdf",
89
+ "attachment_type": 1,
90
+ "is_inline": false
91
+ },
92
+ {
93
+ "id": "att_yyy",
94
+ "filename": "logo.png",
95
+ "content_type": "image/png",
96
+ "is_inline": true,
97
+ "cid": "logo@cid"
98
+ }
99
+ ]
100
+ }
101
+ ```
102
+
103
+ ### 字段说明
104
+
105
+ > 注意:使用 `--format json` 获取结构化输出。所有 JSON 输出统一包裹在 `{"ok": true, "data": ...}` 结构中。
106
+
107
+ | 字段 | 说明 |
108
+ |------|------|
109
+ | `message_id` | 邮件 ID |
110
+ | `thread_id` | 会话 ID |
111
+ | `subject` | 邮件主题 |
112
+ | `head_from` | 发件人对象:`{mail_address, name}` |
113
+ | `to` | 收件人列表:`[{mail_address, name}]` |
114
+ | `cc` | 抄送列表:`[{mail_address, name}]` |
115
+ | `bcc` | 密送列表:`[{mail_address, name}]` |
116
+ | `date` | EML 中的时间(毫秒) |
117
+ | `date_formatted` | 可读的发送时间,如 `"2026-03-19 16:33"` |
118
+ | `smtp_message_id` | 符合 RFC 2822 的 SMTP Message-ID |
119
+ | `in_reply_to` | In-Reply-To 邮件头 |
120
+ | `references` | References 邮件头,祖先 SMTP message ID 列表 |
121
+ | `internal_date` | 创建/接收/发送时间(毫秒) |
122
+ | `message_state` | 邮件状态:`1` = 已接收,`2` = 已发送,`3` = 草稿 |
123
+ | `message_state_text` | `"unknown"` / `"received"` / `"sent"` / `"draft"` |
124
+ | `folder_id` | 文件夹 ID。值:`INBOX`、`SENT`、`SPAM`、`ARCHIVED`、`STRANGER`,或自定义文件夹 ID |
125
+ | `label_ids` | 标签 ID 列表 |
126
+ | `priority_type` | 优先级值:`0` = 无优先级,`1` = 高,`3` = 普通,`5` = 低 |
127
+ | `priority_type_text` | `"unknown"` / `"high"` / `"normal"` / `"low"` |
128
+ | `draft_id` | 草稿 ID,可通过列出草稿 API 获取 |
129
+ | `reply_to` | Reply-To 邮件头 |
130
+ | `reply_to_smtp_message_id` | Reply-To SMTP Message-ID |
131
+ | `body_plain_text` | **LLM 阅读推荐的正文字段**;已 base64url 解码并清理 ANSI 转义 |
132
+ | `body_preview` | 纯文本正文前 100 字符,用于快速预览 |
133
+ | `body_html` | 原始 HTML 正文;`--html=false` 时省略 |
134
+ | `attachments` | 普通附件和内嵌图片的统一列表 |
135
+ | `attachments[].id` | 附件 ID(用于下载 URL API) |
136
+ | `attachments[].filename` | 附件文件名 |
137
+ | `attachments[].content_type` | 附件 MIME 类型 |
138
+ | `attachments[].attachment_type` | 附件类型:`1` = 普通附件,`2` = 超大附件 |
139
+ | `attachments[].is_inline` | `true` = 内嵌图片,`false` = 普通附件 |
140
+ | `attachments[].cid` | 内嵌图片的 Content-ID(对应 HTML 正文中 `<img src="cid:...">` 的引用) |
141
+
142
+ ### security_level
143
+
144
+ 当服务端有该邮件的风险元数据时返回。
145
+
146
+ | 字段 | 说明 |
147
+ |------|------|
148
+ | `is_risk` | 布尔值。`true` 表示邮件被标记为有风险 |
149
+ | `risk_banner_level` | 风险等级。值:`WARNING`、`DANGER`、`INFO` |
150
+ | `risk_banner_reason` | 风险原因。值:`NO_REASON`、`IMPERSONATE_DOMAIN`(相似域名仿冒)、`IMPERSONATE_KP_NAME`(关键人物姓名仿冒)、`UNAUTH_EXTERNAL`(未认证的外部域名)、`MALICIOUS_URL`、`MALICIOUS_ATTACHMENT`、`PHISHING`、`IMPERSONATE_PARTNER`(合作伙伴仿冒)、`EXTERNAL_ENCRYPTION_ATTACHMENT`(外部加密附件) |
151
+ | `is_header_from_external` | 布尔值。`true` 表示发件人来自外部域名 |
152
+ | `via_domain` | 当邮件代发或伪造时显示的 SPF/DKIM 域名,如 `"larksuite.com"` |
153
+ | `spam_banner_type` | 垃圾邮件原因。值:`USER_REPORT`(用户举报)、`USER_BLOCK`(被用户屏蔽)、`ANTI_SPAM`(系统判定为垃圾邮件)、`USER_RULE`(匹配收件箱规则)、`BLOCK_DOMIN`(域名被用户屏蔽)、`BLOCK_ADDRESS`(地址被用户屏蔽) |
154
+ | `spam_user_rule_id` | 匹配的收件箱规则 ID |
155
+ | `spam_banner_info` | 匹配用户黑名单的地址或域名,如 `"larksuite.com"` |
156
+
157
+ ## 注意事项
158
+
159
+ - **JSON 输出可直接使用** — 默认输出合法 UTF-8 JSON,可直接读取,无需额外编码转换。
160
+ - **单封读取专用** — `mail +message` 只接收一个 `message_id`。多个 ID 使用 `mail +messages --message-ids <id1>,<id2>,<id3>`,避免逐封循环调用。
161
+ - JSON 输出中 `body_html` 里的 `<` / `>` 可能显示为 `\u003c` / `\u003e`(JSON 安全转义,内容不变,`jq -r` 可还原)。
162
+ - `mail +message` 默认不再获取附件/图片下载 URL。这样可以保持邮件详情读取更轻量,调用方可按需单独请求 URL。
163
+ - 查看原始 HTML:
164
+
165
+ ```bash
166
+ # jq -r 自动处理 JSON 转义,输出原始 HTML
167
+ lark-cli mail +message --message-id <id> --format json | jq -r '.data.body_html'
168
+ ```
169
+
170
+ ## 典型场景
171
+
172
+ ### 读取邮件 → 摘要 → 回复
173
+
174
+ ```bash
175
+ # 1. 读取邮件(仅纯文本,更小负载)
176
+ lark-cli mail +message --message-id <id> --html=false --format json
177
+
178
+ # 2. 让 LLM 分析 body_plain_text 并起草回复
179
+
180
+ # 3. 发送回复
181
+ lark-cli mail +reply --message-id <id> --body "..."
182
+ ```
183
+
184
+ ### 按需获取附件或内嵌图片下载 URL
185
+
186
+ ```bash
187
+ # 1. 读取邮件,从 .data.attachments[] 中获取附件 ID
188
+ lark-cli mail +message --message-id <id> --format json
189
+
190
+ # 2. 仅为需要的 ID 获取下载 URL
191
+ lark-cli schema mail.user_mailbox.message.attachments.download_url
192
+ lark-cli mail user_mailbox.message.attachments download_url \
193
+ --params '{"user_mailbox_id":"me","message_id":"<id>","attachment_ids":["att_xxx","att_yyy"]}'
194
+ ```
195
+
196
+ 普通附件和内嵌图片使用同一个 `user_mailbox.message.attachments download_url` 原生 API(无 shortcut 封装),传入 `attachments[].id` 即可。
197
+
198
+ ## 日程邀请邮件
199
+
200
+ 当邮件包含日程邀请(`text/calendar`)时,输出中会包含 `calendar_event` 对象:
201
+
202
+ ```json
203
+ {
204
+ "calendar_event": {
205
+ "method": "REQUEST",
206
+ "uid": "abc123",
207
+ "summary": "产品评审",
208
+ "start": "2026-04-20T14:00:00+08:00",
209
+ "end": "2026-04-20T15:00:00+08:00",
210
+ "location": "5F-大会议室",
211
+ "organizer": "sender@example.com",
212
+ "attendees": ["alice@example.com", "bob@example.com"]
213
+ }
214
+ }
215
+ ```
216
+
217
+ 字段说明:
218
+
219
+ - `method`:ICS `METHOD`,通常为 `REQUEST` / `REPLY` / `CANCEL`。
220
+ - `uid`:日程 UID。
221
+ - `summary`:日程标题。
222
+ - `start` / `end`:开始 / 结束时间(RFC 3339 UTC)。
223
+ - `location`:地点(可能为空)。
224
+ - `organizer`:组织者邮箱。
225
+ - `attendees`:参会人邮箱列表。
226
+
227
+ ## 相关命令
228
+
229
+ - `lark-cli mail +thread` — 读取会话中所有邮件
230
+ - `lark-cli mail +reply` — 回复邮件
231
+ - `lark-cli mail +forward` — 转发邮件
232
+ - `lark-cli mail user_mailbox.message.attachments download_url` — 按需获取邮件附件/图片下载 URL
233
+ - `lark-cli mail user_mailbox.messages list` — 列出收件箱邮件(获取 `message_id`)
@@ -0,0 +1,108 @@
1
+ # mail +messages
2
+
3
+ > **前置条件:** 先阅读 [`../../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
4
+
5
+ 通过传入逗号分隔的 `message_id` 列表,一次性读取多封邮件的完整内容。
6
+
7
+ 超过 20 个 ID 可以直接传入 CLI;CLI 会按 20 个 ID 自动拆批并合并输出,不需要手动拆批,也不要逐封循环调用 `+message`。
8
+
9
+ 本 shortcut 是 `mail +message` 的批量版本。每个返回的 `messages[]` 项使用与 `+message` 相同的归一化结构:安全元数据字段直接透传,正文和辅助字段由 shortcut 派生。
10
+
11
+ 优先使用本 shortcut,因为:
12
+ - 正文字段已 base64url 解码
13
+ - 每条邮件的输出结构已归一化
14
+ - 不可用的 message ID 会被显式列出
15
+
16
+ 本 skill 对应 shortcut `lark-cli mail +messages`;每条返回的邮件使用与 `+message` 相同的规则归一化输出。
17
+
18
+ ## 命令
19
+
20
+ ```bash
21
+ # 读取多封邮件(默认包含 HTML 正文)
22
+ lark-cli mail +messages --message-ids <id1>,<id2>,<id3>
23
+
24
+ # 仅纯文本正文(更小的负载,适合 AI 处理)
25
+ lark-cli mail +messages --message-ids <id1>,<id2>,<id3> --html=false
26
+
27
+ # 指定邮箱
28
+ lark-cli mail +messages --mailbox user@example.com --message-ids <id1>,<id2>
29
+
30
+ # JSON 输出
31
+ lark-cli mail +messages --message-ids <id1>,<id2> --format json
32
+
33
+ # Dry Run
34
+ lark-cli mail +messages --message-ids <id1>,<id2> --dry-run
35
+ ```
36
+
37
+ ## 参数
38
+
39
+ | 参数 | 必填 | 默认值 | 说明 |
40
+ |------|------|--------|------|
41
+ | `--message-ids <id1>,<id2>,<id3>` | 是 | — | 逗号分隔的邮件 ID 列表;超过 20 个 ID 时 CLI 自动按 20 拆批并合并输出 |
42
+ | `--mailbox <email>` | 否 | 当前用户 | 邮箱地址(`user_mailbox_id`) |
43
+ | `--html` | 否 | true | 是否返回 HTML 正文(`false` 仅返回纯文本,减少带宽) |
44
+ | `--format <mode>` | 否 | json | 输出格式:`json`(默认)/ `pretty` / `table` / `ndjson` / `csv` |
45
+ | `--dry-run` | 否 | — | 仅打印请求,不执行 |
46
+
47
+ ## 返回值
48
+
49
+ 成功时返回 `{"ok": true, "data": ...}` 结构,`data` 字段包含:
50
+
51
+ ```json
52
+ {
53
+ "messages": [
54
+ { "...与 +message 输出结构相同..." }
55
+ ],
56
+ "total": 1,
57
+ "unavailable_message_ids": ["msg-2"]
58
+ }
59
+ ```
60
+
61
+ 顶层字段:
62
+
63
+ | 字段 | 说明 |
64
+ |------|------|
65
+ | `messages` | 返回的邮件列表,顺序与请求的 `--message-ids` 一致,排除 API 未返回的 ID |
66
+ | `total` | 成功返回的邮件数量 |
67
+ | `unavailable_message_ids` | 请求了但 Mail API 未返回详情的 ID 列表 |
68
+
69
+ 每个 `messages[]` 项使用与 [`mail +message`](./lark-mail-message.md#返回值) 相同的结构。完整字段列表参见 [`+message` 字段说明](./lark-mail-message.md#字段说明) 和 [`+message` security_level](./lark-mail-message.md#security_level)。
70
+
71
+ > 注意:使用 `--format json` 获取结构化输出。所有 JSON 输出统一包裹在 `{"ok": true, "data": ...}` 结构中。
72
+
73
+ ## 注意事项
74
+
75
+ - **JSON 输出可直接使用**,可直接读取,无需额外编码转换。
76
+ - 只需读取一封邮件时请使用 `+message`。
77
+ - CLI 每 20 个 ID 拆成一次调用并合并输出,不需要为大列表手动拆请求。
78
+ - JSON 输出中 `messages[].body_html` 里的 `<` / `>` 可能显示为 `\u003c` / `\u003e`(JSON 安全转义,内容不变,`jq -r` 可还原)。
79
+ - `mail +messages` 仅返回附件元数据。如后续步骤需要下载 URL,请针对特定的 `message_id` 和 `attachment_ids` 调用原生附件 URL API。
80
+ - 与 `+message` 一样,普通附件和内嵌图片都出现在 `messages[].attachments[]` 中,使用同一个 `user_mailbox.message.attachments download_url` API。
81
+
82
+ ## 典型场景
83
+
84
+ ### 批量摘要多封已知邮件
85
+
86
+ ```bash
87
+ # 一次性读取多封邮件
88
+ lark-cli mail +messages --message-ids <id1>,<id2>,<id3> --html=false --format json
89
+
90
+ # 让 LLM 分析 .data.messages[].body_plain_text 并生成分组摘要
91
+ ```
92
+
93
+ ### 对比多封邮件内容后决策
94
+
95
+ ```bash
96
+ # 获取多封邮件的归一化输出
97
+ lark-cli mail +messages --message-ids <id1>,<id2> --html=false --format json
98
+
99
+ # 检查 subject/from/body_preview 或 body_plain_text,对比意图和下一步操作
100
+ ```
101
+
102
+ ## 相关命令
103
+
104
+ - `lark-cli mail +message` — 读取单封邮件
105
+ - `lark-cli mail +thread` — 读取会话中所有邮件
106
+ - `lark-cli mail +reply` — 回复邮件
107
+ - `lark-cli mail +forward` — 转发邮件
108
+ - `lark-cli mail user_mailbox.message.attachments download_url` — 按需获取邮件附件/图片下载 URL
@@ -0,0 +1,66 @@
1
+ # mail sent_messages recall
2
+
3
+ > **前置条件:** 先阅读 [`../../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
4
+
5
+ 撤回已发送邮件,并查询异步撤回结果。
6
+
7
+ ## 何时使用
8
+
9
+ 发送成功后,若发送响应中包含 `recall_available: true`,说明该邮件支持撤回(通常为 24 小时内已投递的邮件)。
10
+
11
+ - 只有用户明确要求撤回时才执行。
12
+ - 若响应中无 `recall_available` 字段,不要主动提及撤回。
13
+ - 定时发送中、尚未真正发出的邮件不能用撤回;应使用 `user_mailbox.drafts cancel_scheduled_send` 取消定时发送。
14
+ - 撤回是异步操作,`recall` 返回成功只表示请求已受理,实际结果必须通过 `get_recall_detail` 查询。
15
+
16
+ ## 命令
17
+
18
+ ```bash
19
+ # 发起撤回
20
+ lark-cli mail user_mailbox.sent_messages recall --as user \
21
+ --params '{"user_mailbox_id":"me","message_id":"<message_id>"}'
22
+
23
+ # 查询撤回进度
24
+ lark-cli mail user_mailbox.sent_messages get_recall_detail --as user \
25
+ --params '{"user_mailbox_id":"me","message_id":"<message_id>"}'
26
+ ```
27
+
28
+ ## 返回值解读
29
+
30
+ `recall` 返回:
31
+
32
+ - `recall_status: available` — 撤回请求已受理,稍后查询进度。
33
+ - `recall_status: unavailable` — 不可撤回,查看 `recall_restriction_reason`。
34
+
35
+ `get_recall_detail` 返回:
36
+
37
+ - `recall_status: in_progress` — 撤回进行中,可稍后再查。
38
+ - `recall_status: done` — 撤回完成,查看 `recall_result` 和每个收件人的详情。
39
+
40
+ 具体字段和枚举以 schema 为准:
41
+
42
+ ```bash
43
+ lark-cli schema mail.user_mailbox.sent_messages.get_recall_detail
44
+ ```
45
+
46
+ ## 典型流程
47
+
48
+ ```bash
49
+ # 1. 发送结果中确认可撤回
50
+ # data.recall_available == true
51
+
52
+ # 2. 用户确认要撤回后发起
53
+ lark-cli mail user_mailbox.sent_messages recall --as user \
54
+ --params '{"user_mailbox_id":"me","message_id":"<message_id>"}'
55
+
56
+ # 3. 查询最终结果
57
+ lark-cli mail user_mailbox.sent_messages get_recall_detail --as user \
58
+ --params '{"user_mailbox_id":"me","message_id":"<message_id>"}'
59
+ ```
60
+
61
+ ## 相关命令
62
+
63
+ - `lark-cli mail +send --confirm-send` — 发送新邮件,响应中可能包含 `recall_available`。
64
+ - `lark-cli mail +reply --confirm-send` — 发送回复,响应中可能包含 `recall_available`。
65
+ - `lark-cli mail +forward --confirm-send` — 发送转发,响应中可能包含 `recall_available`。
66
+ - `lark-cli mail user_mailbox.messages send_status` — 查询发送投递状态。