@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,114 @@
1
+
2
+ # docs +media-insert(文档末尾插入图片/文件)
3
+
4
+ > **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
5
+
6
+ 把"创建空 block → 上传文件 → 设置 token"三步合并成一个命令,在**文档末尾**插入本地图片或文件。
7
+
8
+ ## 来源选择(Agent 必读)
9
+
10
+ > **最高优先级:用户明确指定了来源,就严格按用户的来。** 下面的启发式只在用户没表态时生效。
11
+ >
12
+ > - 用户说"把这张截图插进去"、"用剪切板里的图"、"我刚复制的" → 无条件走 `--from-clipboard`。
13
+ > - 用户说"用 `~/Downloads/foo.png`"、"插本地这个文件"、给了具体路径 → 无条件走 `--file`。
14
+ > - 用户两者都没说清 → 按下表的启发式推断。
15
+ >
16
+ > 即使推断看起来更"优"(比如用户说了路径但你觉得走剪切板更省事),也**不要自作主张**换来源。要换,先问。
17
+
18
+ 按下列顺序判断,**不要反向做**:
19
+
20
+ | 用户的图片来源 | 命令 | 禁止做法 |
21
+ |----------------|------|----------|
22
+ | 图片已经在剪切板里(截图快捷键、从飞书/浏览器复制、从设计稿复制) | `--from-clipboard` | ❌ 不要先把剪切板存到本地文件再用 `--file`。多一步文件 I/O,还得清理临时文件。 |
23
+ | 图片是磁盘上的真实文件 | `--file <path>` | — |
24
+ | 图片是 URL | 先下载到本地 → `--file`;或用 `drive` 相关命令 | — |
25
+
26
+ `--from-clipboard` 走进程内存直传,不产生临时文件;macOS / Windows 内置支持,Linux 需要 `xclip` 或 `wl-paste` 或 `xsel` 任一。
27
+
28
+ ### 剪切板为空时的 fallback
29
+
30
+ `--from-clipboard` 失败(剪切板里不是图片 / 没有图片 / Linux 上三个工具都没装)时,命令会返回 `clipboard contains no image data`(或类似的平台错误)。**这不是错误退出理由,而是 fallback 信号。**
31
+
32
+ **Agent 的标准处置顺序**(每一步失败再进下一步,不要并行):
33
+
34
+ 1. 先用 `--from-clipboard` 试一次。
35
+ 2. 如果返回"no image data"类错误,**向用户明确说明剪切板里没有可识别的图片**,请用户提供本地文件路径或重新复制一张图。
36
+ 3. 拿到本地路径后,用 `--file <path>` 重试**同一条插入命令**(其他参数如 `--doc` / `--align` / `--caption` 保持不变)。
37
+
38
+ **禁止做法**:
39
+ - ❌ 不要悄悄把空剪切板当"成功但没插入"处理。必须提示用户。
40
+ - ❌ 不要在剪切板失败后自行瞎猜某个本地文件路径(比如最近修改的 png)。必须让用户给路径。
41
+ - ❌ 不要用"先让用户保存剪切板到磁盘再 `--file`"的建议绕过 `--from-clipboard`,当且仅当剪切板确实没图片时才退回本地路径。
42
+
43
+ ## 命令
44
+
45
+ ```bash
46
+ # 🟢 推荐:从剪切板直接插入(无需先存盘)
47
+ lark-cli docs +media-insert --doc doxcnXXX --from-clipboard
48
+
49
+ # 从本地文件插入
50
+ # 除了上传本地文件,还可以在 `docs +update` 时直接通过网络 URL 插入图片,无需先下载到本地:
51
+ lark-cli docs +update --doc "<doc_id>" --command block_insert_after \
52
+ --block-id "目标 block_id" \
53
+ --content '<img href="https://example.com/photo.png"/>'
54
+
55
+ # 插入图片(默认)
56
+ lark-cli docs +media-insert --doc doxcnXXX --file ./image.png
57
+
58
+ # doc 支持直接传 docx URL(自动提取 document_id)
59
+ lark-cli docs +media-insert --doc "https://xxx.feishu.cn/docx/doxcnXXX" --from-clipboard
60
+
61
+ # 如果上一步是 create-doc,优先传返回值里的 doc_id
62
+ # 不要把 /wiki/... 形式的 doc_url 直接传给 docs +media-insert
63
+ lark-cli docs +media-insert --doc doxcnReturnedByCreateDoc --file ./image.png
64
+
65
+ # 插入文件(非图片)
66
+ lark-cli docs +media-insert --doc doxcnXXX --file ./spec.pdf --type file
67
+
68
+ # 图片对齐与描述(caption)
69
+ lark-cli docs +media-insert --doc doxcnXXX --from-clipboard --align center --caption "架构图"
70
+
71
+ # Insert image with explicit display width (height auto-computed from aspect ratio)
72
+ lark-cli docs +media-insert --doc doxcnXXX --file ./banner.png --width 800 --align center
73
+
74
+ # Insert image with explicit width and height
75
+ lark-cli docs +media-insert --doc doxcnXXX --from-clipboard --width 800 --height 447 --caption "architecture diagram"
76
+ ```
77
+
78
+ ## 参数
79
+
80
+ | 参数 | 必填 | 说明 |
81
+ |------|------|------|
82
+ | `--doc <id>` | 是 | 文档 ID 或 docx URL(仅支持 `/docx/<document_id>` 形式自动提取;**不支持 `/wiki/...` URL 自动提取**) |
83
+ | `--from-clipboard` | 二选一 | 从系统剪切板读取图片(与 `--file` 互斥)。macOS/Windows 内置支持,Linux 需要 `xclip` / `wl-paste` / `xsel` 之一。 |
84
+ | `--file <path>` | 二选一 | 本地文件路径(文件大于 20MB 时自动切换分片上传) |
85
+ | `--type <type>` | 否 | `image`(默认)或 `file`。`--from-clipboard` 目前只产出 image。 |
86
+ | `--align <align>` | 否 | 仅图片:`left` / `center`(默认)/ `right` |
87
+ | `--caption <text>` | 否 | 仅图片:图片描述 |
88
+ | `--width <px>` | 否 | Image display width in pixels (only for `--type=image`). If `--height` is omitted, it is auto-computed from the source image aspect ratio. Supported auto-detection formats: PNG, JPEG, GIF; other formats (WebP, BMP, etc.) require both `--width` and `--height`. |
89
+ | `--height <px>` | 否 | Image display height in pixels (only for `--type=image`). If `--width` is omitted, it is auto-computed from the source image aspect ratio. Supported auto-detection formats: PNG, JPEG, GIF; other formats (WebP, BMP, etc.) require both `--width` and `--height`. |
90
+
91
+ > [!IMPORTANT]
92
+ > 如果上一步是 [`lark-doc-create`](lark-doc-create.md),并且它在知识库/知识空间场景下返回的是 `/wiki/...` 形式的 `doc_url`,后续调用 `docs +media-insert` 时应优先传 `doc_id`,不要直接传这个 `doc_url`。
93
+
94
+ ## 平台注意(仅 `--from-clipboard`)
95
+
96
+ | 平台 | 依赖 | 典型错误 |
97
+ |------|------|---------|
98
+ | macOS | osascript(内置) | 剪切板为空 / 不是图片 → "clipboard contains no image data" |
99
+ | Windows | PowerShell + System.Windows.Forms(内置) | 同上 |
100
+ | Linux | `xclip` 或 `wl-paste` 或 `xsel` 任一 | 都没安装 → 报错会提示用发行版包管理器安装 |
101
+
102
+ 命令不支持读取 TIFF 等非 PNG/JPEG/GIF/WebP/BMP 的冷门格式;遇到这类剪切板会返回 "contains no image data",此时才考虑先用系统工具转成文件再 `--file`。
103
+
104
+ ## 输出
105
+
106
+ 命令成功后会输出 JSON,包含:`document_id`、`block_id`、`file_token`、`file_name`(剪切板路径下为 `clipboard.png`)、`type`。
107
+
108
+ > [!CAUTION]
109
+ > 这是**写入操作**(会修改文档内容)—— 执行前必须确认用户意图。
110
+
111
+ ## 参考
112
+
113
+ - [lark-doc-fetch](lark-doc-fetch.md) — 获取文档内容(可用于确认插入后的结果、以及提取媒体 token)
114
+ - [lark-shared](../../lark-shared/SKILL.md) — 认证和全局参数
@@ -0,0 +1,41 @@
1
+
2
+ # docs +media-preview(预览文档素材)
3
+
4
+ > **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
5
+
6
+ 优先用于查看、预览文档中的图片或文件素材(`file_token`)。命令会把素材保存到本地路径,便于后续打开查看内容。
7
+
8
+ ## 选择规则
9
+
10
+ - 用户说“看一下素材 / 图片 / 附件”“预览一下”时,优先使用 `docs +media-preview`
11
+ - 用户明确说“下载”时,使用 [`docs +media-download`](lark-doc-media-download.md)
12
+ - 如果目标明确是画板 / whiteboard / 画板缩略图,不要使用 `+media-preview`,改用 `docs +media-download --type whiteboard`
13
+
14
+ ## 命令
15
+
16
+ ```bash
17
+ # 预览图片/文件素材
18
+ lark-cli docs +media-preview --token "Z1Fjxxxxxxxx" --output ./asset
19
+
20
+ # 指定输出文件名(带扩展名则不会自动补全)
21
+ lark-cli docs +media-preview --token "Z1Fjxxxxxxxx" --output ./asset.png
22
+ ```
23
+
24
+ ## 参数
25
+
26
+ | 参数 | 必填 | 说明 |
27
+ |------|------|------|
28
+ | `--token <token>` | 是 | 素材 token,即 `file_token` |
29
+ | `--output <path>` | 是 | 本地保存路径;不带扩展名会自动补全 |
30
+
31
+ ## token 从哪里来
32
+
33
+ - 若你是从文档内容里提取:`lark-doc-fetch` 返回的 Markdown 里可能包含:
34
+ - 图片:`<image token="..." .../>`
35
+ - 文件:`<file token="..." name="..."/>`
36
+
37
+ ## 参考
38
+
39
+ - [lark-doc-fetch](lark-doc-fetch.md) — 获取文档内容(用于提取 token)
40
+ - [lark-doc-media-download](lark-doc-media-download.md) — 明确下载素材,或下载画板缩略图
41
+ - [lark-shared](../../lark-shared/SKILL.md) — 认证和全局参数
@@ -0,0 +1,70 @@
1
+ # docs +resource-*(Docx 封面图资源)
2
+
3
+ > **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
4
+
5
+ Docx 封面图不是正文里的 `<img token="...">` 素材块。读取、更新、删除文档封面图时,使用 `docs +resource-download/+resource-update/+resource-delete --type cover`,不要使用 `+media-insert` 或 `+media-download --token <cover.token>` 让用户手动拼步骤。
6
+
7
+ ## 选择规则
8
+
9
+ - 用户要下载文档封面图:`docs +resource-download --type cover`
10
+ - 用户要设置/替换文档封面图:`docs +resource-update --type cover`
11
+ - 用户要删除文档封面图:`docs +resource-delete --type cover`
12
+ - 用户要下载正文图片、附件、画板缩略图:继续使用 [`docs +media-download`](lark-doc-media-download.md)
13
+
14
+ ## 命令
15
+
16
+ ```bash
17
+ # 下载封面图。CLI 会先读取 document.cover.token,再下载图片内容并保存到本地。
18
+ lark-cli docs +resource-download --doc doxcnXXX --type cover --output ./cover
19
+
20
+ # 使用本地文件更新封面图。
21
+ lark-cli docs +resource-update --doc doxcnXXX --type cover --file ./cover.png
22
+
23
+ # 使用剪切板图片更新封面图。
24
+ lark-cli docs +resource-update --doc doxcnXXX --type cover --from-clipboard
25
+
26
+ # 使用 HTTPS URL 更新封面图。CLI 会先下载 URL 内容,再上传并写入 cover.token。
27
+ lark-cli docs +resource-update --doc doxcnXXX --type cover --url "https://example.com/cover.png"
28
+
29
+ # 可选:设置封面图裁切偏移。
30
+ lark-cli docs +resource-update --doc doxcnXXX --type cover --file ./cover.png --offset-ratio-x 0.2 --offset-ratio-y 0.8
31
+
32
+ # 删除封面图;当文档本来没有封面图时也成功返回。
33
+ lark-cli docs +resource-delete --doc doxcnXXX --type cover
34
+ ```
35
+
36
+ ## 参数
37
+
38
+ | 命令 | 参数 | 必填 | 说明 |
39
+ |------|------|------|------|
40
+ | all | `--doc <id>` | 是 | 文档 ID、docx URL,或可解析为 docx 的 wiki URL |
41
+ | all | `--type cover` | 否 | 当前只支持 `cover`;默认值也是 `cover` |
42
+ | download | `--output <path>` | 是 | 本地保存路径;不带扩展名会根据响应类型自动补全 |
43
+ | download | `--overwrite` | 否 | 覆盖已存在的输出文件 |
44
+ | update | `--file <path>` | 三选一 | 磁盘上的真实图片文件;大于 20MiB 自动使用分片上传 |
45
+ | update | `--from-clipboard` | 三选一 | 从系统剪切板读取图片 |
46
+ | update | `--url <https-url>` | 三选一 | 从 HTTPS URL 下载图片后上传 |
47
+ | update | `--offset-ratio-x <number>` | 否 | 视图相对原图中心的横向偏移比例:水平偏移 px / 原图宽度 px;0 为居中,正数向右,负数向左 |
48
+ | update | `--offset-ratio-y <number>` | 否 | 视图相对原图中心的纵向偏移比例:垂直偏移 px / 原图高度 px;0 为居中,正数向上,负数向下 |
49
+
50
+ ## 输出契约
51
+
52
+ - `+resource-download` 成功时 stdout JSON 的 `data` 包含 `document_id`、`type`、`saved_path`、`size_bytes`、`content_type`、`cover.token`。如果文档没有封面图,命令失败退出,错误包含 `document has no cover` 和脱敏 `document_id`,不会创建输出文件。
53
+ - `+resource-update` 成功时 stdout JSON 的 `data` 包含完整 `file_token` 和 `cover.token`;stderr 只打印脱敏 token。
54
+ - `+resource-delete` 成功时 stdout JSON 的 `data.deleted` 表示本次是否真的发起删除,`data.already_empty` 表示删除前是否没有封面图。空封面图是幂等成功,不报错。
55
+
56
+ ## URL 来源安全边界
57
+
58
+ `+resource-update --url` 只用于下载公开 HTTPS 图片:
59
+
60
+ - 只允许 `https://`,拒绝 HTTP、空 host 和 URL userinfo。
61
+ - 拒绝解析到 private、loopback、link-local、multicast、unspecified 地址的 host。
62
+ - 最多跟随 3 次跳转,每次跳转都重新校验 URL。
63
+ - 响应 `Content-Type` 只允许 `image/png`、`image/jpeg`、`image/gif`、`image/webp`。
64
+ - 响应体最大 20MiB。
65
+
66
+ ## 参考
67
+
68
+ - [lark-doc-media-download](lark-doc-media-download.md) — 下载正文素材或画板缩略图
69
+ - [lark-doc-media-insert](lark-doc-media-insert.md) — 在正文插入图片/文件
70
+ - [lark-shared](../../lark-shared/SKILL.md) — 认证和全局参数
@@ -0,0 +1,259 @@
1
+
2
+ # docs +update(更新飞书云文档)
3
+
4
+ > **前置条件(MUST READ):** 生成文档内容前,必须先用 Read 工具读取以下文件,缺一不可:
5
+ > 1. [`lark-doc-xml.md`](lark-doc-xml.md) — XML 语法规则(使用 Markdown 格式时改读 [`lark-doc-md.md`](lark-doc-md.md))
6
+ > 2. [`lark-doc-style.md`](style/lark-doc-style.md) — 排版指南(元素选择、丰富度规则、颜色语义)
7
+ > 3. [`lark-doc-update-workflow.md`](style/lark-doc-update-workflow.md) — 改写增强工作流(Code-Act Loop、并行执行策略)
8
+ >
9
+ > **未读完以上文件就生成内容会导致格式错误。**
10
+
11
+ 通过八种指令精确更新飞书云文档。支持字符串级别和 block 级别的操作。
12
+
13
+ > **⚠️ 格式选择规则:**
14
+ > - **局部精修**(`str_replace` / `block_insert_after` / `block_replace` / `block_delete` / `block_move_after`):优先使用 XML(默认)。XML 能稳定表达 block 结构和样式,精准编辑更可控;不要因为 Markdown 写起来更简单就自行切换。
15
+ > - **整段写入**(`append` / `overwrite`):XML 和 Markdown 都可以。用户提供 `.md` 本地文件或明确要求 Markdown 时直接用 Markdown;否则默认 XML。
16
+ >
17
+ > **Markdown 局限 & block ID 前提:** Markdown 不携带 block ID,也无样式(颜色、对齐、callout 等)。需要按 block ID 定位(`block_*` 指令的 `--block-id`)时,先 `docs +fetch --detail with-ids` **配合 `--scope`(`outline` / `range` / `keyword` / `section`)局部获取**目标段落,不要全量 fetch。拿到 block ID 后 `--content` 仍可用 Markdown,只是写入内容不带样式。
18
+
19
+ ## 参数
20
+
21
+ | 参数 | 必填 | 说明 |
22
+ |------|------|------|
23
+ | `--doc` | 是 | 文档 URL 或 token |
24
+ | `--command` | 是 | 操作指令(见下方指令速查表) |
25
+ | `--doc-format` | 否 | 内容格式:`xml`(默认,始终优先使用)\| `markdown`(仅用户明确要求时) |
26
+ | `--content` | 视指令 | 写入内容(`str_replace` 传空字符串可实现删除) |
27
+ | `--pattern` | 视指令 | 匹配文本(str_replace) |
28
+ | `--block-id` | 视指令 | 目标 block ID(block_* 操作),逗号分隔可批量删除,-1 表示末尾 |
29
+ | `--src-block-ids` | 视指令 | 源 block ID(逗号分隔),用于 block_copy_insert_after / block_move_after |
30
+ | `--revision-id` | 否 | 基准版本号,-1 = 最新(默认 `-1`) |
31
+
32
+ ## 指令速查表
33
+
34
+ | 指令 | 说明 | 必需参数 |
35
+ |------|------|----------|
36
+ | `str_replace` | 全文文本查找替换(replacement 支持富文本标签;`--content` 传空字符串即为删除) | `--pattern` `--content` |
37
+ | `block_insert_after` | 在指定 block 之后插入新内容 | `--block-id` `--content` |
38
+ | `block_copy_insert_after` | 复制源 block 并插入到锚点之后(源块不变) | `--block-id` `--src-block-ids` |
39
+ | `block_replace` | 替换指定 block(同一 block 仅限一次) | `--block-id` `--content` |
40
+ | `block_delete` | 删除指定 block(逗号分隔可批量) | `--block-id` |
41
+ | `overwrite` | ⚠️ 清空文档后全文重写(可能丢失图片、评论) | `--content` |
42
+ | `append` | ⚠️ 在文档**末尾**追加内容(等价于 `block_insert_after --block-id -1`)。**不适用于逐章填充**——逐章写入请用 `block_insert_after` 并指定对应标题的 `--block-id` | `--content` |
43
+ | `block_move_after` | 移动已有 block 到指定位置 | `--block-id` `--src-block-ids` |
44
+
45
+ ## Block ID 生命周期
46
+
47
+ 写操作后不要默认复用之前 fetch 到的 block ID:
48
+
49
+ - `overwrite` / `block_replace` / `block_delete`:受影响旧 ID 失效,继续 block 级操作前重新 fetch
50
+ - `block_insert_after` / `append` / `block_copy_insert_after`:锚点 / 源 ID 通常保留,新内容是新 ID;要操作新内容先重新 fetch
51
+ - `block_move_after`:被移动 ID 通常保留,但位置、章节、range 语义变化;后续依赖位置时重新 fetch
52
+ - `str_replace`:简单行内替换通常不改变 ID;跨行 / 大段替换后如继续 block 级操作,先重新 fetch
53
+
54
+ ## 指令示例
55
+
56
+ ### str_replace — 全文文本替换
57
+
58
+ > **匹配范围:**
59
+ > - **XML 模式(默认)**:`--pattern` 只支持**行内匹配**,不能跨 block / 跨段落匹配。涉及整段或多 block 的改动,请改用 `block_replace`。
60
+ > - **Markdown 模式**(`--doc-format markdown`):`--pattern` 同时支持**行内和跨行匹配**,可以用多行字符串匹配并替换一整段内容。
61
+ > - 还支持**`前缀...后缀` 省略号语法**:用 `...`(三个英文句点)串联起始与结束片段,匹配从前缀到后缀之间的全部内容(含中间被省略部分)。适合一段很长、但首尾特征明显的文本,避免把整段都塞进 `--pattern`。
62
+ > - 前缀、后缀本身仍遵循 Markdown 转义规则;省略号中间的内容**会被替换**为 `--content` 的完整文本,不会被保留。
63
+
64
+ ```bash
65
+ # 简单文本替换
66
+ lark-cli docs +update --doc "<doc_id>" --command str_replace \
67
+ --pattern "张三" --content "李四"
68
+
69
+ # 替换为富文本(加粗 + 链接)
70
+ lark-cli docs +update --doc "<doc_id>" --command str_replace \
71
+ --pattern "旧链接" --content '<b>新链接</b> <a href="https://example.com">点击查看</a>'
72
+
73
+ # 仅当用户明确要求时才使用 Markdown
74
+ lark-cli docs +update --doc "<doc_id>" --command str_replace \
75
+ --doc-format markdown --pattern "旧内容" --content "新内容"
76
+
77
+ # Markdown 模式下支持跨行匹配(--pattern 与 --content 都需要真实换行;"..."/'...' 里的 \n 是字面量)
78
+ # 多行内容推荐 heredoc 或 --content @file.md,避免 shell 转义踩坑
79
+ lark-cli docs +update --doc "<doc_id>" --command str_replace \
80
+ --doc-format markdown \
81
+ --pattern "$(printf '## 旧标题\n\n第一段原文\n\n第二段原文')" \
82
+ --content - <<'EOF'
83
+ ## 新标题
84
+
85
+ 改写后的第一段
86
+
87
+ 改写后的第二段
88
+ EOF
89
+
90
+ # Markdown 模式下使用 `前缀...后缀` 省略号匹配首尾特征明显的大段内容
91
+ # 下例会把「## 旧标题」到「结束语。」之间的所有内容整体替换
92
+ lark-cli docs +update --doc "<doc_id>" --command str_replace \
93
+ --doc-format markdown \
94
+ --pattern "## 旧标题...结束语。" \
95
+ --content - <<'EOF'
96
+ ## 新标题
97
+
98
+ 重写后的正文...
99
+
100
+ 新的结束语。
101
+ EOF
102
+
103
+ # 删除文本:--content 传空字符串即可
104
+ lark-cli docs +update --doc "<doc_id>" --command str_replace \
105
+ --pattern "废弃的内容" --content ""
106
+ ```
107
+
108
+ ### block_insert_after — 在指定 block 之后插入
109
+
110
+ ```bash
111
+ lark-cli docs +update --doc "<doc_id>" --command block_insert_after \
112
+ --block-id "目标 block_id" \
113
+ --content '<h2>新章节</h2><ul><li>要点 1</li><li>要点 2</li></ul>'
114
+ ```
115
+
116
+ ### block_replace — 替换指定 block
117
+
118
+ ```bash
119
+ lark-cli docs +update --doc "<doc_id>" --command block_replace \
120
+ --block-id "目标 block_id" \
121
+ --content '<p>替换后的段落内容</p>'
122
+ ```
123
+
124
+ ### block_delete — 删除指定 block
125
+
126
+ ```bash
127
+ # 删除多个块时用逗号 "," 分隔
128
+ lark-cli docs +update --doc "<doc_id>" --command block_delete \
129
+ --block-id "block_id_1,block_id_2,block_id_3"
130
+ ```
131
+
132
+ ### overwrite — 全文覆盖
133
+
134
+ ```bash
135
+ lark-cli docs +update --doc "<doc_id>" --command overwrite \
136
+ --content '<title>全新文档</title><h1>概述</h1><p>新的内容</p>'
137
+ ```
138
+
139
+ > ⚠️ 会清空文档后重写,可能丢失图片、评论等。仅在需要完全重建文档时使用。
140
+
141
+ ### append — 在文档末尾追加
142
+
143
+ ```bash
144
+ lark-cli docs +update --doc "<doc_id>" --command append \
145
+ --content '<h2>新增章节</h2><p>追加的内容</p>'
146
+ ```
147
+
148
+ > 等价于 `block_insert_after --block-id -1`,无需先获取 block ID。
149
+
150
+ ### block_copy_insert_after — 复制块并插入
151
+
152
+ 将一个或多个源块复制到锚点块之后,源块保持不变。`--src-block-ids` 为逗号分隔的源块 ID,按顺序依次插入到锚点之后。
153
+
154
+ ```bash
155
+ # 复制多个块(按顺序插入:anchor → a → b → c)
156
+ lark-cli docs +update --doc "<doc_id>" --command block_copy_insert_after \
157
+ --block-id "锚点 block_id" \
158
+ --src-block-ids "block_a,block_b,block_c"
159
+ ```
160
+
161
+ ### block_move_after — 移动已有 block
162
+
163
+ 将文档中已有的 block 移动到指定锚点之后。使用 `--src-block-ids` 指定要移动的块 ID,无需 `--content`。
164
+
165
+ ```bash
166
+ # 移动到页面末尾
167
+ lark-cli docs +update --doc "<doc_id>" --command block_move_after \
168
+ --block-id "-1表示末尾,page_id表示开头,blk" \
169
+ --src-block-ids "block_a,block_b"
170
+ ```
171
+
172
+ ## 返回值
173
+
174
+ ```json
175
+ {
176
+ "ok": true,
177
+ "identity": "user",
178
+ "data": {
179
+ "document": {
180
+ "revision_id": 13,
181
+ "new_blocks": [
182
+ { "block_id": "blkcnXXXX", "block_type": "whiteboard", "block_token": "boardXXXX" }
183
+ ]
184
+ },
185
+ "result": "success",
186
+ "updated_blocks_count": 3,
187
+ "warnings": []
188
+ }
189
+ }
190
+ ```
191
+
192
+ | 字段 | 说明 |
193
+ |------|------|
194
+ | `result` | `success` \| `partial_success` \| `failed` |
195
+ | `updated_blocks_count` | 实际更新的 block 数量 |
196
+ | `warnings` | 警告信息列表 |
197
+ | `document.new_blocks` | 本次操作新增的 block 列表(如画板)。`block_id` 可用于后续精确编辑;`block_token` 是资源块 token(如画板)可交给 `lark-whiteboard` 等 skill 继续操作 |
198
+
199
+ ## 典型工作流
200
+
201
+ ### 精确 block 级更新
202
+
203
+ 1. **获取文档内容和 block ID**:
204
+ ```bash
205
+ lark-cli docs +fetch --doc "<doc_id>" --detail with-ids
206
+ ```
207
+
208
+ 2. **定位目标 block**:从返回的 XML 中找到要修改的 block 及其 `id` 属性
209
+
210
+ 3. **执行更新**:
211
+ ```bash
212
+ # 替换特定 block
213
+ lark-cli docs +update --doc "<doc_id>" --command block_replace \
214
+ --block-id "blkcnXXXX" --content "<p>新内容</p>"
215
+
216
+ # 在某 block 后插入
217
+ lark-cli docs +update --doc "<doc_id>" --command block_insert_after \
218
+ --block-id "blkcnXXXX" --content "<h2>追加的章节</h2>"
219
+ ```
220
+
221
+ ### 简单文本替换
222
+
223
+ 不需要 block ID,直接匹配替换:
224
+
225
+ ```bash
226
+ lark-cli docs +update --doc "<doc_id>" --command str_replace \
227
+ --pattern "v1.0" --content "v2.0"
228
+ ```
229
+
230
+ ## 画板处理
231
+
232
+ > **`docs +update` 不能直接编辑已有画板的内容。** 本命令只能**新增**画板块;要修改已有画板,先用 `docs +fetch` 取到 `<whiteboard token="...">`,再按 [`lark-doc-whiteboard.md`](lark-doc-whiteboard.md) 启动 SubAgent 读取 [`lark-whiteboard`](../../lark-whiteboard/SKILL.md) 并写入。
233
+
234
+ 画板的语法选型与插入示例见 [`lark-doc-style.md`](style/lark-doc-style.md) 的「画板语法与插入」章节。
235
+
236
+ ## 最佳实践
237
+
238
+ - **精确操作优于全文覆盖**:使用 `block_replace`/`block_insert_after` 精确修改,避免 `overwrite` 全文覆盖
239
+ - **str_replace 的匹配范围取决于格式**:
240
+ - **XML 模式(默认)**:`--pattern` 只支持**行内**匹配,不支持跨行 / 跨 block。段落、整块或容器级(列表、表格、分栏、引用块等)改动请改用 `block_replace` 指定 block_id 重建。
241
+ - **Markdown 模式**(`--doc-format markdown`):`--pattern` 同时支持**行内和跨行**匹配,还支持 `前缀...后缀` 省略号语法(用 `...` 串联首尾片段匹配一大段内容),可以一次替换多行文本;但仍建议优先按最小片段匹配,跨 block 容器级重写仍优先用 `block_replace`,避免副作用。
242
+ - **保护不可重建的内容**:图片、画板、电子表格等以 token 形式存储,替换时避开这些 block
243
+ - **str_replace 的 replacement 支持富文本**:可以用行内标签 `<b>`、`<a>`、`<cite>`、`<latex>` 等替换普通文本为富文本
244
+ - **同一 block 只能被 replace 一次**:多次修改同一 block 请合并为一次 block_replace
245
+ - **block_delete 支持批量**:用逗号分隔多个 block_id 一次删除
246
+ - **复杂结构重组**:将多个段落转换为 grid / table 等复杂布局时,分步操作比 overwrite 更安全:
247
+ 1. 用 `block_insert_after` 在目标位置插入新的富文本结构
248
+ 2. 用 `block_delete` 批量删除旧的 block
249
+ 3. 这样可以保留文档中其他不相关的内容(图片、评论等)
250
+ - **表达形式**:插入或替换内容时,优先沿用用户要求和已有文档风格;需要结构化表达时可参考 [`lark-doc-style.md`](style/lark-doc-style.md),但不要为了固定丰富度主动添加组件
251
+
252
+ ## 参考
253
+
254
+ - [`lark-doc-update-workflow.md`](style/lark-doc-update-workflow.md) — 改写增强工作流(Code-Act Loop、并行执行策略)
255
+ - [`lark-doc-style.md`](style/lark-doc-style.md) — 文档样式指南(元素选择 + 丰富度规则 + 颜色语义)
256
+ - [`lark-doc-xml.md`](lark-doc-xml.md) — XML 语法规范
257
+ - [`lark-doc-fetch.md`](lark-doc-fetch.md) — 获取文档
258
+ - [`lark-doc-create.md`](lark-doc-create.md) — 创建文档
259
+ - [`lark-doc-media-insert.md`](lark-doc-media-insert.md) — 插入图片/文件到文档
@@ -0,0 +1,154 @@
1
+ # lark-doc 画板处理指南
2
+
3
+ > **前置条件:** 先阅读 [`../../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
4
+
5
+ ## 两个 Skill 的职责边界
6
+
7
+ | Skill | 核心职责 | 约束 |
8
+ |-------------------|-----------------------------------------------------------|---------------------------------|
9
+ | `lark-doc` | 识别画板机会、使用 Mermaid/SVG 创建图表、调度 SubAgent、插入简单 SVG 画板或复杂空白画板 | 主 Agent 不直接创作画板内容; |
10
+ | `lark-whiteboard` | 查询/导出已有画板;复杂图表生成(Mermaid/DSL/SVG 路由、场景选型、渲染验证);写入已有/空白画板 | 仅特别复杂的图表或已有画板更新时由独立 SubAgent 读取 |
11
+
12
+ ## 画板适用规则
13
+
14
+ 写文档时,核心流程、系统架构、方案对比、风险链路、里程碑、指标趋势、因果归因、组织关系、能力分层等内容,如果图示能明显降低理解成本,可以规划为画板;结构简单或文字更清楚的内容不必强行画板化。
15
+
16
+ 同一篇文档可以有多个画板。确有多个独立图示点时,可拆成多个聚焦画板,而不是把所有信息塞进一张大图。
17
+
18
+ ## 文档与画板协同流程
19
+
20
+ ### 步骤 1:识别画板机会
21
+
22
+ | 场景 | 入口 |
23
+ |-------------------------|-----------------------------------------------------------|
24
+ | 文档中需要思维导图、时序图、类图、饼图、甘特图 | 步骤 2A:使用 mermaid 插入图表 |
25
+ | 文档中需要插入其他图表/自定义图形 | 步骤 2B: 使用 SVG 插入图表 |
26
+ | 已有画板需要更新内容 | 先 `docs +fetch` 获取 `board_token`,跳至步骤 3B |
27
+ | 只查看 / 下载已有画板 | 切换至 `lark-whiteboard`,不走本流程 |
28
+
29
+ > [!IMPORTANT]
30
+ > ⚠️ **分别对每个图表进行决策**
31
+
32
+ 如果有多个位置需要插入图表,你需要根据每个图表的内容**分别决定**采用步骤 2A 还是 2B
33
+ 中的方式插入这个图表。在需要插入思维导图、时序图、类图、饼图、甘特图的时候可以插入 mermaid 块,在需要插入其他类型图表时启动
34
+ SubAgent 插入 SVG。
35
+
36
+ 建议优先使用 SVG 插入图表,除非其属于思维导图、时序图、类图、饼图、甘特图这类可以直接使用 mermaid 语法描述,且不适宜用 SVG 绘制的图表
37
+
38
+ ### 步骤 2A: 使用 mermaid 插入图表
39
+
40
+ ```xml
41
+
42
+ <whiteboard type="mermaid">
43
+ mermaid 代码...
44
+ </whiteboard>
45
+ ```
46
+
47
+ ### 步骤 2B: SubAgent 使用 SVG 插入图表
48
+
49
+ 主 Agent 启动 SubAgent,让它用 `docs +create` / `docs +update` 插入:
50
+
51
+ ```xml
52
+
53
+ <whiteboard type="svg">
54
+ <svg...>...
55
+ </svg>
56
+ </whiteboard>
57
+ ```
58
+
59
+ Sub Agent 需要携带以下的最小上下文,以及后续的 [SVG 设计 Workflow] 章节指南:
60
+
61
+ - doc token、插入位置(标题 / block_id / command)
62
+ - 图表目标、受众、源段落或数据
63
+ - 要求读取 `lark-doc-xml.md`;不需要读取 `lark-whiteboard`
64
+ - SVG 必须完整自包含:包含 `<svg>` 根节点和 `viewBox`,不引用外部图片、脚本、远程资源
65
+
66
+ #### 画板 SVG 设计指南
67
+
68
+ 使用 SVG 插入画板时,最终交付是**画板跨越重排渲染的节点**(你写 SVG → 画板解析)
69
+ **核心心智纠正 (重要)**:
70
+
71
+ - 大多数 AI 如果只考虑“绝对不报错/完美映射”, 最终给出的都是全篇纯白底色加单层 `<rect>` 的方正卡片网格, 极其死板单调, *
72
+ *这将被视为不及格!**
73
+ - **SVG 给你了完全的设计自由**, 请大胆使用你脑内的图标路径 (`<path>`), 连接指引 (`流畅的 <path>`), 各种环境氛围点缀,
74
+ 大胆一点, 充分信任你的品味, 发挥出你的顶级艺术创造力!
75
+
76
+ ##### SVG 设计 Workflow
77
+
78
+ ###### 1. 想清楚要画什么
79
+
80
+ - **核心信息是什么?** 能做到一图胜千言, 绝对不要只生成平平无奇的文字表格, 要有设计感
81
+ - **内容充实度**:如果用户描述稀疏简略, 利用你的领域知识扩展, 保证信息维度和内容充实, 但不要过度堆砌, 淹没重点
82
+ - **视觉层级与隐喻**:这个没有固定的形式, 你自由判断, 比如: 给重要的节点加光环, 加高亮背景;给对比项设计天平或对称结构
83
+
84
+ ###### 2. 写 SVG
85
+
86
+ > [!IMPORTANT]
87
+ > 布局, 配色, 信息密度, 装饰物——**全部由你判断**, 打破单调的 `<rect>` 牢笼, 严禁通篇用矩形和文字应付用户
88
+ > 操作边界约束:
89
+
90
+ - **语言跟随用户**:图表文字的语言与用户 prompt 保持一致, 技术术语用行业里通用的写法, 不机械翻译
91
+ - 文字用 `<text>`(不是 `<path>`), 容器宽度留够——画板按 CJK ≈ 1em / Latin ≈ 0.6em 重排
92
+ - 连线使用正交折线替代斜直线(`<polyline>` 带水平/垂直折点)视觉效果更好
93
+ - 可自由使用 `translate`, `rotate`, `scale`但请尽量避免使用 `skewX` / `skewY` / `matrix(...)` 发生空间级扭曲
94
+
95
+ ###### 画板怎么处理 SVG
96
+
97
+ 画板的 svg-parser 把可识别元素转成可编辑节点, 其余降级为内嵌图片(渲染没问题, 虽然不可编辑, 但是可以正常显示);但
98
+ `<radialGradient>` / `<filter>` / `<clipPath>` 等装饰特性画板完全不支持,会导致渲染问题(见下方⚠️)
99
+ **不需要所有元素都可编辑, 但必须避免使用不支持的装饰特性, 且要兼顾可编辑和美观漂亮**
100
+
101
+ **可识别的元素**
102
+
103
+ - 形状:`<rect>` / `<circle>` / `<ellipse>` / `<polygon>`
104
+ - 连线:`<line>` / `<polyline>` / `<path>`(自动识别为直线 / 折线 / 曲线)
105
+ - 文本:`<text>` / `<tspan>` 画板硬编码 Noto Sans SC **文字必须用 `<text>`**
106
+ - 分组:`<g>` / `<a>` / `<use>` 引用 `<symbol>`
107
+ - 变换:`translate` / `rotate` / `scale` 正常;`skewX` / `skewY` / `matrix(...)` 降级
108
+
109
+ > [!IMPORTANT]
110
+ > ⚠️ ** 不支持的装饰特性**
111
+
112
+ - `<radialGradient>` / `<filter>` / `<pattern>` / `<clipPath>` / `<mask>` → 画板都不支持,**请避免使用,否则会导致画板渲染问题
113
+ **
114
+
115
+ ###### 3.插入后审查
116
+
117
+ 插入画板后,可以从返回值使用 lark-cli 指令,将画板内容导出为 png
118
+ 图片。若是对设计不满意,可以修改后,删除原来的画板再重新插入,或是调用 [
119
+ `../../lark-whiteboard/SKILL.md`](../../lark-whiteboard/SKILL.md) 编辑。
120
+
121
+ ```bash
122
+ lark-cli whiteboard +query \
123
+ --whiteboard-token "wbcnxxxxxxxx" \
124
+ --output_as image \
125
+ --output ./preview.png
126
+ ```
127
+
128
+ ### 步骤 3B:编辑已有画板 — 启动 lark-whiteboard SubAgent
129
+
130
+ 复杂图和已有画板更新必须启动 SubAgent。主 Agent 只传最小上下文,不直接执行 `lark-whiteboard` 的渲染和写入流程。
131
+
132
+ 复杂图 SubAgent 的最小上下文:
133
+
134
+ - board_token
135
+ - 图表目标、推荐画板类型、受众
136
+ - 与图表直接相关的源段落或数据
137
+ - 要求读取 [`../../lark-whiteboard/SKILL.md`](../../lark-whiteboard/SKILL.md),按其完整流程写入该 board_token
138
+
139
+ 多个画板互不依赖时,可并行启动多个 SubAgent;每个 SubAgent 只负责一个画板或一个 SVG 插入点,不要互相复用上下文。
140
+
141
+ ### 步骤 4:完成校验
142
+
143
+ - Mermaid: 确认插入的是 `<whiteboard type="mermaid">`,且内容 mermaid 语法完整
144
+ - SVG: 确认插入的是 `<whiteboard type="svg">`,且内容是完整 `<svg ...>...</svg>`
145
+ - 不保留空白占位画板;复杂路径只有空白画板而无内容视为任务未完成
146
+
147
+ ---
148
+
149
+
150
+ ---
151
+
152
+ ## 关联参考
153
+
154
+ - 画板查询/创作/修改/渲染写入:[`../../lark-whiteboard/SKILL.md`](../../lark-whiteboard/SKILL.md)