@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,249 @@
1
+ # 知识整理工作流:Analysis
2
+
3
+ Loaded by states: `CONTENT_READ`, `ISSUE_ANALYSIS`, `RULE_GENERATION`.
4
+
5
+ This file owns low-confidence partial reads, issue analysis, classification rules, and target tree generation. It MUST NOT create execution plans, ask for execution confirmation, or perform write operations.
6
+
7
+ ## Required Context
8
+
9
+ Before executing rules in this file:
10
+
11
+ 1. `resource_items` MUST already exist from [`lark-drive-workflow-knowledge-organize-discovery.md`](lark-drive-workflow-knowledge-organize-discovery.md).
12
+ 2. For document partial reads, follow [`../../lark-doc/SKILL.md`](../../lark-doc/SKILL.md) and [`../../lark-doc/references/lark-doc-fetch.md`](../../lark-doc/references/lark-doc-fetch.md).
13
+ 3. For sheet / bitable down-drill, follow [`../../lark-sheets/SKILL.md`](../../lark-sheets/SKILL.md) or [`../../lark-base/SKILL.md`](../../lark-base/SKILL.md) only when title and path are insufficient.
14
+
15
+ ## State: CONTENT_READ
16
+
17
+ Entry: `resource_items` exists.
18
+
19
+ MUST:
20
+
21
+ 1. Build `low_confidence_items`.
22
+ 2. Apply `Low-Confidence Partial Read`.
23
+ 3. Read only supported docs through `lark-doc-fetch`.
24
+ 4. Switch to `lark-sheets` / `lark-base` only when sheet / bitable title and path are insufficient.
25
+ 5. Record read evidence for classification.
26
+ 6. Continue reading low-confidence resources in internal batches until all supported low-confidence resources in the current inventory are processed or a blocker occurs.
27
+ 7. Apply `Analysis Progress Reporting`.
28
+ 8. Output progress / summary without asking the user to continue between batches.
29
+
30
+ Exit: low-confidence items are classified or marked `needs_review=true`.
31
+
32
+ ### Low-Confidence Partial Read
33
+
34
+ Low-confidence resources include:
35
+
36
+ - 标题为空
37
+ - 标题为 `test` / `测试` / 纯数字 / 无意义短词
38
+ - 标题、路径、类型之间没有足够分类线索
39
+ - 同一标题或相似标题出现在多个候选分类中
40
+ - 用户要求按项目 / 客户 / 业务线归类,但标题和路径没有明确项目 / 客户 / 业务线名称
41
+
42
+ | Condition | Agent MUST Do | Agent MUST NOT Do |
43
+ |-----------|---------------|-------------------|
44
+ | Title / path / type clearly determine classification | Classify directly | Do not perform content read |
45
+ | Resource is low-confidence and docs-fetch-supported | Read outline via `lark-doc-fetch` | Do not skip partial read |
46
+ | Candidate project / customer / business / document-type terms exist | After outline, run keyword partial read with candidate terms | Do not use broad generic keywords |
47
+ | Partial read returns usable block id and classification is still unclear | Read the relevant section via `lark-doc-fetch` | Do not read the full document |
48
+ | Partial read still cannot classify | Set `needs_review=true`; classify to manual confirmation target | Do not invent classification |
49
+ | Read fails or permission is insufficient | Set `needs_review=true`; record failure reason | Do not retry indefinitely |
50
+
51
+ ### Partial Read Limits
52
+
53
+ | Limit | Default |
54
+ |-------|---------|
55
+ | `batch_size` | 20 resources per internal batch |
56
+ | `progress_report_interval` | 50 low-confidence resources |
57
+ | `max_attempts_per_resource` | 3 partial reads: outline, keyword, section |
58
+
59
+ Batching rules:
60
+
61
+ 1. Sort low-confidence resources by impact before reading: root-level loose items, duplicated titles, project/customer ambiguity, then empty or meaningless titles.
62
+ 2. Read supported low-confidence resources across internal batches without asking the user to continue after each batch.
63
+ 3. Process reads in internal batches of `batch_size`; do not ask the user between internal batches unless auth, permission, or API errors block progress.
64
+ 4. After each internal batch, update `low_confidence_items` with read evidence or `needs_review=true`.
65
+ 5. After every `progress_report_interval` processed resources, output a progress summary and continue automatically.
66
+ 6. If unread low-confidence resources remain because of auth, permission, API, unsupported type, or tool budget blockers, set `partial=true`, report unread count, and default remaining unread items to `needs_review=true` with target path set to manual confirmation target.
67
+ 7. Never bypass these limits by reading full documents.
68
+
69
+ ### Low-Confidence Read Start Notice
70
+
71
+ When `low_confidence_total > 100`, output this notice before reading:
72
+
73
+ ```text
74
+ 低置信度资源较多,共 <low_confidence_total> 项。我会分批做轻量读取并定期汇报进度;不会读取全文,也不会执行移动或创建。
75
+ ```
76
+
77
+ ### Low-Confidence Read Summary
78
+
79
+ Use this as progress / final summary output. Do not ask the user to continue unless a blocker occurs.
80
+
81
+ ```text
82
+ 低置信度内容读取进度
83
+
84
+ - 低置信度资源总数:<low_confidence_total>
85
+ - 已读取:<read_done>/<low_confidence_total>
86
+ - 已补充证据并完成分类:<classified_count>
87
+ - 暂入待人工确认:<needs_review_count>
88
+ - 失败:<failed_count>
89
+
90
+ 继续分析整理问题。
91
+ ```
92
+
93
+ Output this summary:
94
+
95
+ - After every 50 processed low-confidence resources.
96
+ - Once after low-confidence reading finishes.
97
+ - About every 60 seconds during long-running reads, even if fewer than 50 additional resources were processed.
98
+
99
+ ### Analysis Progress Reporting
100
+
101
+ Applies to `CONTENT_READ`, `ISSUE_ANALYSIS`, and `RULE_GENERATION`.
102
+
103
+ Rules:
104
+
105
+ 1. For `CONTENT_READ`, use `Low-Confidence Read Summary` as the progress report format.
106
+ 2. For `ISSUE_ANALYSIS`, if analysis runs longer than about 60 seconds, output progress about every 60 seconds with current stage, processed resource count when known, detected problem type count when known, and the next analysis step.
107
+ 3. For `RULE_GENERATION`, if classification rule or target-tree generation runs longer than about 60 seconds, output progress about every 60 seconds with current stage, classified item count when known, unresolved item count when known, and target category / path count when known.
108
+ 4. Progress reports MUST be factual and stage-specific. Do not output generic "still running" messages without counts or the current stage.
109
+ 5. Do not ask the user to continue between internal batches unless auth, permission, API, target scope, or environment blockers occur.
110
+ 6. Do not expose internal chain-of-thought, raw tokens, or intermediate rule drafts.
111
+
112
+ Examples:
113
+
114
+ ```text
115
+ 分析进度:正在归纳整理问题,已处理 <processed_count>/<resource_count> 项资源,已识别 <problem_type_count> 类问题。继续生成整理思路,不会执行移动或创建。
116
+ ```
117
+
118
+ ```text
119
+ 规则生成进度:正在生成分类规则和目标目录,已归类 <classified_count> 项,待人工确认 <needs_review_count> 项。继续生成完整计划前置数据。
120
+ ```
121
+
122
+ ## State: ISSUE_ANALYSIS
123
+
124
+ Entry: `resource_items` and partial-read evidence are ready.
125
+
126
+ MUST:
127
+
128
+ 1. Detect problems from organization perspective only. Do not generate research conclusions.
129
+ 2. Generate an organization approach based on inventory, low-confidence read evidence, and detected problems.
130
+ 3. Include how non-reused source containers will be handled after their contents are moved.
131
+ 4. Apply `Analysis Progress Reporting`.
132
+ 5. Output `Inventory And Organization Approach Decision`.
133
+ 6. Stop and wait for the user to confirm the approach before `RULE_GENERATION`.
134
+
135
+ Problem rules:
136
+
137
+ | Problem | Detection Rule |
138
+ |---------|----------------|
139
+ | 根目录堆积 | 根目录直接资源过多,或超过总资源的明显比例 |
140
+ | 同类文件分散 | 标题 / 类型相似的资源分布在多个无关路径 |
141
+ | 命名不统一 | 同类资源日期、客户、项目命名格式明显不一致 |
142
+ | 临时内容过多 | 标题 / 路径含 `临时`、`测试`、`tmp`、`draft`、`转移`、`未整理` |
143
+ | 空目录 | 目录类节点无后代资源 |
144
+ | 重复目录 | 目录名归一化后相同或高度相似 |
145
+ | 过旧归档内容 | 旧年份资源仍散落在活跃目录 |
146
+
147
+ MUST output evidence count or example paths. Do not output only abstract judgment.
148
+
149
+ ### Problem Pagination
150
+
151
+ | Output Area | Rule |
152
+ |-------------|------|
153
+ | Problem overview | Show at most 5 problem types per page |
154
+ | Problem examples | Show at most 3 example paths per problem type |
155
+ | Pagination | Affects display only; complete `issue_summary` MUST remain internal |
156
+
157
+ ### Inventory And Organization Approach Decision
158
+
159
+ ```text
160
+ 盘点与整理思路
161
+
162
+ 盘点结果:
163
+ | 指标 | 数量 |
164
+ |------|------|
165
+ | 总资源数 | |
166
+ | 各类型资源数 | |
167
+ | 一级目录数量 | |
168
+ | 根目录直接资源数 | |
169
+ | 空目录数量 | |
170
+ | 低置信度资源数 | |
171
+ | 已完成低置信度读取 | |
172
+ | 待人工确认 | |
173
+ | partial | |
174
+
175
+ 共发现 <problem_type_count> 类问题,当前展示第 <page>/<total_pages> 页。
176
+
177
+ | 问题 | 证据数量 | 样例路径 | 说明 |
178
+ |------|----------|----------|------|
179
+
180
+ 整理思路:
181
+ - <approach item 1>
182
+ - <approach item 2>
183
+ - 对证据不足、读取失败或权限不足的资源放入"待人工确认"
184
+ - 如存在不再复用的来源目录,内容迁出后将目录本体收起到 `待人工确认/待清理旧目录`,避免整理后一级目录仍杂乱
185
+ - 不删除、不重命名、不修改权限
186
+
187
+ 是否基于这个整理思路生成目标目录和移动 / 创建计划?
188
+
189
+ 你可以选择:
190
+ 1. 基于这个思路生成目标目录和计划
191
+ 2. 调整整理思路
192
+ 3. 查看问题详情
193
+ 4. 取消本次整理
194
+ ```
195
+
196
+ ## State: RULE_GENERATION
197
+
198
+ Entry: user confirms the organization approach.
199
+
200
+ MUST:
201
+
202
+ 1. Generate `classification_rules`.
203
+ 2. Generate `target_tree`.
204
+ 3. Generate `target_tree` to at least two levels; include third level when needed for project / customer / document-type grouping.
205
+ 4. Reuse existing clear structure when possible.
206
+ 5. Identify reused top-level containers and non-reused source containers, and set `source_container_disposition`.
207
+ 6. For non-reused source containers, ensure `target_tree` includes a source-container cleanup target, defaulting to `待人工确认/待清理旧目录`, unless the user explicitly asks to keep source containers in place.
208
+ 7. Ensure target tree can contain every planned `target_path`.
209
+ 8. Ensure the target tree contains a manual confirmation target named `待人工确认` unless the user explicitly provides an equivalent name.
210
+ 9. Apply `Analysis Progress Reporting`.
211
+ 10. Continue to `PLAN_GENERATION` without a separate target-tree-only confirmation.
212
+
213
+ ### Classification
214
+
215
+ | Condition | Agent MUST Do |
216
+ |-----------|---------------|
217
+ | Existing structure is clear | Reuse existing directory names and hierarchy |
218
+ | Title / path / type is enough | Classify without content read |
219
+ | Item remains uncertain after mandatory partial read | Put into manual confirmation target and set `needs_review=true` |
220
+ | Item is temporary / test / draft | Prefer temporary / test target |
221
+ | Root has many loose resources | Prefer organizing root-level obvious items first |
222
+ | User asks project / customer grouping | Use project / customer names from title, path, and partial read evidence |
223
+ | Naming is inconsistent | Report the issue with examples only; do not generate rename actions |
224
+
225
+ ### Adaptive Classification
226
+
227
+ The agent MUST NOT start from a fixed default category list. A fixed taxonomy can bias classification and confuse users when category names or numeric prefixes do not match their resources.
228
+
229
+ Derive categories from the current `resource_items` and partial-read evidence:
230
+
231
+ 1. First group resources by clear signals from title, current path, type, and mandatory partial-read evidence.
232
+ 2. Prefer category names that appear in the user's own content, such as project names, customer names, business lines, document types, years, or existing folder / Wiki node names.
233
+ 3. Create a category only when there is enough evidence for at least one resource.
234
+ 4. Do not create generic buckets such as archive, temporary, test, meeting, dashboard, or operations unless the current resources contain matching evidence.
235
+ 5. Do not add numeric prefixes to category names unless the user explicitly asks for ordered naming.
236
+ 6. Always keep a manual confirmation target named `待人工确认` or an equivalent user-specified name for unresolved items.
237
+
238
+ ### Target Tree
239
+
240
+ `target_tree` is generated in this state but shown together with the move / create plan in `PLAN_GENERATION`. Do not stop after displaying a target tree alone.
241
+
242
+ ## Analysis Failure Handling
243
+
244
+ | Failure / Blocker | Agent MUST Do | Agent MUST NOT Do |
245
+ |-------------------|---------------|-------------------|
246
+ | Missing API scope | Follow `lark-shared` permission handling and stop | Do not retry the same command repeatedly |
247
+ | Resource access denied | Stop and follow the main workflow `Permission Request Gate` | Do not request permission automatically or in batch |
248
+ | Partial document read fails for a low-confidence item | Mark item `needs_review=true`, record reason, and route to manual confirmation target | Do not classify by guessing |
249
+ | Item remains ambiguous after partial read | Mark `needs_review=true` and route to manual confirmation target | Do not invent classification |
@@ -0,0 +1,253 @@
1
+ # 知识整理工作流:Discovery
2
+
3
+ Loaded by states: `PARSE_SCOPE`, `INVENTORY`.
4
+
5
+ This file owns target parsing, scope clarification, resource inventory, ResourceItem normalization, dedupe, and partial inventory handling. It MUST NOT generate classification rules, execution plans, or perform write operations.
6
+
7
+ ## Required Context
8
+
9
+ Before executing rules in this file:
10
+
11
+ 1. Follow [`../../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) for identity, auth, and permission handling.
12
+ 2. For Wiki / personal library targets, follow [`../../lark-wiki/SKILL.md`](../../lark-wiki/SKILL.md).
13
+ 3. For Drive folder inventory, follow [`lark-drive-files-list.md`](lark-drive-files-list.md).
14
+ 4. For Drive search targets, follow [`lark-drive-search.md`](lark-drive-search.md).
15
+ 5. For URL / token inspection, follow [`lark-drive-inspect.md`](lark-drive-inspect.md) and [`../../lark-wiki/references/lark-wiki-node-get.md`](../../lark-wiki/references/lark-wiki-node-get.md).
16
+
17
+ ## State: PARSE_SCOPE
18
+
19
+ Entry: workflow triggered.
20
+
21
+ MUST:
22
+
23
+ 1. Identify `target_scope`, `environment_profile`, and `identity`.
24
+ 2. Apply `Scope Parsing`.
25
+ 3. Output `Scope Confirmation`.
26
+ 4. Stop and wait for user confirmation before `INVENTORY`.
27
+
28
+ Exit: user confirms target scope.
29
+
30
+ ### Scope Parsing
31
+
32
+ | Condition | Agent MUST Do | Set `target_scope` | Next State |
33
+ |-----------|---------------|--------------------|------------|
34
+ | Input is `/wiki/<token>` URL | Resolve the Wiki node and preserve both node identity and object identity | Wiki node | `INVENTORY` after user confirms scope |
35
+ | Input is Wiki space name / `space_id` | Resolve the Wiki space; 0 matches -> stop and ask; 1 exact match -> continue; multiple matches -> show candidates and wait for user selection; do not treat `my_library` as a normal listed space | Wiki space | `INVENTORY` after user confirms scope |
36
+ | Input has Personal Library Intent | Treat as Wiki personal library / `my_library`; resolve real `space_id` before root write; do not treat it as Drive root or owned Drive document search | Personal doc library | `INVENTORY` after user confirms scope |
37
+ | Input is `/drive/folder/<token>` URL | Extract `folder_token` | Drive folder | `INVENTORY` after user confirms scope |
38
+ | Input has Drive Folder Intent but no concrete folder URL, token, or unique folder name | Ask for folder URL / token / name; if a concrete folder name exists, search folder candidates and wait for user selection when 0 or multiple matches exist | Unknown or Drive folder candidate | Stay in `PARSE_SCOPE` until scope is confirmed |
39
+ | Input has Broad Cloud Drive Intent without explicit owned-document search request | Ask the user to choose concrete scope: Drive folder URL / token, Drive root, owned Drive document search, or another explicit search filter; do not default to `drive +search --mine` | Unknown | Stay in `PARSE_SCOPE` until scope is confirmed |
40
+ | Input is single cloud resource URL | Resolve the resource type; if not folder / Wiki scope, do not expand automatically | Single resource | Ask whether scope is this resource, parent folder, owning Wiki, or related search results |
41
+ | Input is real keyword / name | Search with the real keyword according to `lark-drive-search` | Search scope | `INVENTORY` after user confirms scope |
42
+ | Input is range browsing / statistical description with no real keyword | Search by filters / empty-query browsing according to `lark-drive-search` | Search scope | `INVENTORY` after user confirms scope |
43
+ | Input is ambiguous | Ask the minimum clarification question and stop | Unknown | Stay in `PARSE_SCOPE` |
44
+
45
+ Personal Library Intent means the user is referring to the current user's own Feishu document library / personal document library / personal knowledge library, such as `个人文档库`, `飞书个人文档库`, `我的文档库`, `个人知识库`, `我的知识库`, `My Document Library`, or `my_library`.
46
+
47
+ When this intent is detected, use Wiki personal library semantics. Do not use Drive root, `drive +search --mine`, or broad owned-document search unless the user explicitly asks to search owned Drive documents.
48
+
49
+ Drive Folder Intent means the user wants to organize a specific Drive folder or Drive folder tree. A Drive folder scope requires a concrete folder URL, folder token, or user-selected folder candidate.
50
+
51
+ When this intent is detected without a concrete folder identity, stop in `PARSE_SCOPE` and ask for clarification. Do not use Drive root, `drive +search --mine`, or broad owned-document search unless the user explicitly asks for Drive root or owned-document search.
52
+
53
+ Broad Cloud Drive Intent means the user refers to a broad cloud-drive-level scope such as `我的飞书云盘`, `我的云盘`, `我的云空间`, `我的空间`, or `整理云盘`, without a concrete folder URL / token / unique folder name.
54
+
55
+ This intent is broader than Drive Folder Intent and MUST NOT be silently converted to owned-document search. Ask the user to choose one of:
56
+
57
+ 1. A specific Drive folder URL / token.
58
+ 2. Drive root, only when the user explicitly accepts root-level scope.
59
+ 3. Owned Drive document search, only when the user explicitly asks to organize documents owned / managed by the current user.
60
+ 4. Another explicit search filter, such as keyword, type, time range, or folder token.
61
+
62
+ ### Stop Conditions
63
+
64
+ Stop and ask for clarification when:
65
+
66
+ 1. 用户只说"整理文件夹"、"整理目录"、"整理资料"、"整理文档"、"我的文档",且没有 URL、token、知识库名称、Personal Library Intent、concrete Drive folder identity 或明确搜索范围。
67
+ 2. 用户说"我的文件夹"、"我的目录"、"我的空间"、"我的云盘"、"我的飞书云盘"、"我的云空间",但无法唯一判断是具体 Drive 文件夹、Drive 根目录、owned Drive document search、个人文档库还是某个 Wiki 节点。
68
+ 3. 用户给的是单个资源 URL,但要求"整理一批文档"或"整理相关资料"。
69
+ 4. 用户目标环境不明确,且上下文中同时存在线上、BOE、PRE 或多个 profile。
70
+
71
+ Clarification template:
72
+
73
+ ```text
74
+ 请提供要整理的 Drive 文件夹链接、Wiki 节点 / 知识库链接,或明确说明要整理"我的文档库";如果只想按关键词搜索整理,也请给出关键词或范围。
75
+ ```
76
+
77
+ ### Scope Confirmation
78
+
79
+ ```text
80
+ 我先确认本次整理范围。
81
+
82
+ 目标:
83
+ 范围:
84
+ 环境 / profile:
85
+ 身份:
86
+ 预计操作:先盘点并生成整理方案,不执行移动或创建。
87
+
88
+ 请确认是否按这个范围继续?
89
+ ```
90
+
91
+ Scope confirmation is user-facing. It MUST confirm only the business scope, environment / profile, identity, and whether write operations will run.
92
+
93
+ Do not display internal batching controls in scope confirmation, including `max_depth`, `max_items`, `page_size`, page tokens, retry counts, or `partial=true`. For example, when the user confirms Drive root, say the scope is the Drive root tree; do not append "recursive depth at most 3" or "at most 500 resources".
94
+
95
+ ## State: INVENTORY
96
+
97
+ Entry: `target_scope` confirmed.
98
+
99
+ MUST:
100
+
101
+ 1. Recursively list resources according to target type.
102
+ 2. Generate `path` during traversal.
103
+ 3. Normalize all results to `ResourceItem`.
104
+ 4. Track pagination, depth, item limits, and continuation checkpoints.
105
+ 5. Treat pagination, depth, item, and per-folder page limits as batching checkpoints; continue inventory in the confirmed scope unless blocked.
106
+ 6. Set `partial=true` only when inventory cannot continue because of auth, permission, API / pagination failure after retries, API coverage limitations, tool budget, target scope, or environment blockers.
107
+ 7. Apply `Inventory Progress Reporting`.
108
+ 8. Output `Inventory Summary`.
109
+ 9. Do not leave `INVENTORY` while `inventory_continuation_state` has queued folders, nodes, pages, or slices that can still be fetched.
110
+ 10. Continue to `CONTENT_READ` without asking the user only after the confirmed scope is exhausted or blocked.
111
+
112
+ ### Inventory Batch Checkpoints
113
+
114
+ | Scope | Internal Batch Checkpoint | Required Continuation |
115
+ |-------|---------------------------|-----------------------|
116
+ | Wiki recursion | `max_depth=3`, `max_items=500`; follow `lark-wiki-node-list` pagination | Record queued nodes / paths in `inventory_continuation_state` and immediately continue the next internal batch within the confirmed scope unless blocked |
117
+ | Drive folder tree | `max_depth=3`, `max_items=500`, max 10 pages per folder, `page_size=200` | Record queued folders / pages in `inventory_continuation_state` and immediately continue the next internal batch within the confirmed scope unless blocked |
118
+ | Search discovery | `page_size=20`, `max_items=500`; continue pages until `has_more=false` | Record remaining pages / slices in `inventory_continuation_state` and immediately continue the next internal batch within the confirmed scope unless blocked |
119
+
120
+ These checkpoints are pacing controls, not coverage limits. If the confirmed scope still has queued work after a checkpoint, continue with the next internal batch instead of presenting the current `resource_items` as final inventory or moving to content analysis.
121
+
122
+ When a depth checkpoint is reached, enqueue the child folders / nodes that would exceed the current batch depth; the next batch starts from those queued children with their original paths preserved. When an item checkpoint is reached, persist the current folder / node / page cursor plus the remaining queue, visited page keys, and resource dedupe keys, then continue from that checkpoint before analysis or planning.
123
+
124
+ If tool budget would be exceeded for a very large confirmed scope, stop only at that blocker, report that the inventory is incomplete, and suggest batching by first-level directory, Wiki space, or time window. Do not stop merely because a depth or item checkpoint was reached.
125
+
126
+ ### Inventory Continuation Rules
127
+
128
+ 1. Pagination, depth, item, and per-folder page limits are internal batching checkpoints.
129
+ 2. When a checkpoint is reached, record `inventory_continuation_state` with `scope`, `queue`, `current_cursor`, `visited_page_keys`, `dedupe_keys`, and `blockers`; Drive queue entries MUST contain `folder_token`, `path`, `depth`, and `page_token`; Wiki queue entries MUST contain `space_id` / `node_token`, `path`, `depth`, and pagination cursor; search entries MUST contain query / filters and pagination cursor.
130
+ 3. A depth checkpoint MUST enqueue deeper folders / nodes; it MUST NOT discard them or treat the current depth as final coverage.
131
+ 4. An item-count checkpoint MUST persist the current cursor and queue; it MUST NOT transition to `CONTENT_READ`, `ISSUE_ANALYSIS`, or `PLAN_GENERATION` while fetchable work remains.
132
+ 5. If `inventory_continuation_state` is missing, corrupt, or lacks required fields for the current scope, set `partial=true`, record the checkpoint blocker, and do not claim full coverage.
133
+ 6. Do not set `partial=true` solely because a valid batching checkpoint was reached.
134
+ 7. Set `partial=true` only when continuation is blocked by auth, permission, API / pagination failure after retries, API coverage limitations, tool budget, target scope, or environment blockers.
135
+ 8. Do not claim full coverage until the continuation queue for the confirmed scope is exhausted or blocked.
136
+
137
+ ### Inventory Progress Reporting
138
+
139
+ Inventory can be long-running when a Drive root, large folder tree, Wiki space, or broad search scope is confirmed.
140
+
141
+ Rules:
142
+
143
+ 1. When inventory starts, output one concise stage notice with the confirmed scope type and the fact that no write operation will be executed.
144
+ 2. If inventory runs longer than about 60 seconds, output progress about every 60 seconds.
145
+ 3. Progress reports SHOULD include only fields that are currently known: scanned folders / nodes, collected resources, current depth, queued folders / nodes, current search page / slice, and current blocker if any.
146
+ 4. When a batching checkpoint is reached and continuation will proceed automatically, report it as continuing inventory, not as a user action request.
147
+ 5. Do not output filler such as "still running" without current counts or current stage.
148
+ 6. Do not expose raw folder tokens, page tokens, retry logs, or `partial=true` unless the user explicitly asks to view inventory coverage details.
149
+
150
+ Example:
151
+
152
+ ```text
153
+ 盘点进度:已扫描 <scanned_container_count> 个目录 / 节点,收集 <resource_count> 项资源,队列剩余 <queued_container_count> 个目录 / 节点。继续盘点,不会执行移动或创建。
154
+ ```
155
+
156
+ ### Wiki Inventory Rules
157
+
158
+ 1. Follow [`../../lark-wiki/references/lark-wiki-node-list.md`](../../lark-wiki/references/lark-wiki-node-list.md) traversal semantics.
159
+ 2. Generate stable paths from parent-child traversal.
160
+ 3. Preserve Wiki node identity fields needed by `ResourceItem`.
161
+ 4. Treat `my_library` as Wiki personal library, not Drive root.
162
+
163
+ ### Drive Inventory Rules
164
+
165
+ 1. Use `drive files list` according to [`lark-drive-files-list.md`](lark-drive-files-list.md); its schema path is `drive.files.list`.
166
+ 2. Use the same Drive folder-tree traversal for Drive root and ordinary folders after the first request. Drive root differs only for the first-level request: it uses omitted or empty `folder_token`, does not support pagination, and does not return root-level shortcuts according to schema; returned child folders MUST still be listed by their own folder tokens like ordinary folders, and those ordinary folder lists may return `type=shortcut` entries. For a Drive root target, record this root-level shortcut coverage caveat, set `partial=true` only if the user requested full root-level shortcut coverage or root pagination cannot continue, and do not claim root-level shortcut coverage as complete.
167
+ 3. Recurse only into `folder` items within the confirmed scope.
168
+ 4. For each directory, continue pages manually by feeding the returned `next_page_token` into request param `page_token`. Do not rely on `--page-all` for inventory.
169
+ 5. If a page returns `has_more=true` but no usable `next_page_token`, retry the same page request up to 3 times. If retries still cannot produce a continuation token, set `partial=true` for that directory and record the pagination blocker.
170
+ 6. Use `drive metas batch_query` when URL, owner, created time, or updated time is needed.
171
+ 7. Pagination blocker details such as `partial=true`, folder token, page token, and retry logs are internal by default. Do not show them to the user unless the user explicitly asks to view inventory coverage details.
172
+
173
+ ### Search Inventory Rules
174
+
175
+ 1. Search results may be normalized directly only when they include stable identity fields required by `ResourceItem`.
176
+ 2. If a search result is a Wiki item and lacks `node_token`, resolve it with `drive +inspect` or `wiki +node-get` before dedupe.
177
+ 3. If Wiki identity still cannot be resolved, keep the item, set `needs_review=true`, and record `needs_review_reason`.
178
+ 4. For search scope, use `page_size=20` unless a lower value is required by the command.
179
+ 5. Continue fetching pages until `has_more=false`.
180
+ 6. If `max_items=500` is reached in one batch, record the current search cursor in `inventory_continuation_state` and continue the next internal batch without asking the user.
181
+ 7. Do not stop at an arbitrary sample size such as first 5 pages unless the user explicitly asks for sampling or auth, permission, API, environment, or tool-budget blockers occur.
182
+ 8. If `service_total` / result total is greater than collected items, treat it as continuation evidence: continue fetching when a cursor / page is available; set `partial=true` only if continuation is blocked.
183
+ 9. Do not present a partial search sample as complete inventory. Before generating a full organization plan from partial search results, continue fetching available pages unless the user explicitly asked for sampling or a blocker prevents continuation.
184
+
185
+ ## ResourceItem
186
+
187
+ Agent MUST normalize Wiki, Drive, and search results into `ResourceItem`. Later statistics, classification, and planning MUST use this model rather than raw API responses.
188
+
189
+ ```json
190
+ {
191
+ "source": "wiki|drive|search",
192
+ "title": "资源标题",
193
+ "type": "doc|docx|sheet|bitable|mindnote|file|wiki|folder|slides|shortcut|catalog",
194
+ "path": "当前路径/资源标题",
195
+ "depth": 2,
196
+ "url": "https://...",
197
+ "token": "canonical_token",
198
+ "node_token": "wiki_node_token_or_empty",
199
+ "obj_token": "wiki_obj_token_or_drive_file_token",
200
+ "node_type": "origin|shortcut|empty",
201
+ "origin_node_token": "wiki_origin_node_token_or_empty",
202
+ "space_id": "wiki_space_id_or_empty",
203
+ "parent_token": "parent_node_or_folder_token",
204
+ "has_child": false,
205
+ "dedupe_key": "wiki:<space_id>:<node_token>|drive:<type>:<token>|search:<type>:<token>",
206
+ "created_at": "optional",
207
+ "updated_at": "optional",
208
+ "needs_review": false,
209
+ "needs_review_reason": ""
210
+ }
211
+ ```
212
+
213
+ ResourceItem rules:
214
+
215
+ 1. `path` MUST be generated by recursion. Do not use title alone as path.
216
+ 2. Wiki URL token may not be the underlying document token. Preserve both `node_token` and `obj_token`.
217
+ 3. `type` MUST come from API fields such as `obj_type` / `doc_type`.
218
+ 4. Wiki organization is by node instance. Prefer `wiki:<space_id>:<node_token>` as `dedupe_key`.
219
+ 5. MUST NOT dedupe Wiki nodes only by `obj_token`; one document can appear under different Wiki paths or shortcuts.
220
+ 6. If `node_type=shortcut` or dedupe is uncertain, use `wiki +node-get` to supplement `origin_node_token`; if unavailable, leave empty and set `needs_review=true`.
221
+ 7. Drive folder tree dedupes by `drive:<type>:<token>`.
222
+ 8. Search results may merge with recursive results only by exact identity: Wiki by same `node_token`, Drive by same `type + token`.
223
+
224
+ ## Inventory Summary
225
+
226
+ ```text
227
+ 已完成当前可覆盖范围盘点。
228
+
229
+ <仅当适用:覆盖说明:Drive 根目录第一层清单不返回快捷方式;本次盘点不包含根目录第一层快捷方式。根目录下子文件夹会按普通文件夹继续盘点,普通文件夹内返回的 `type=shortcut` 条目仍会被纳入资源清单。>
230
+
231
+ | 指标 | 数量 |
232
+ |------|------|
233
+ | 总资源数 | |
234
+ | 各类型资源数 | |
235
+ | 一级目录数量 | |
236
+ | 根目录直接资源数 | |
237
+ | 空目录数量 | |
238
+ | 疑似临时 / 测试 / 未整理资源数 | |
239
+ | 低置信度待确认资源数 | |
240
+
241
+ 下一步将自动读取低置信度资源并分析整理问题;不会执行移动或创建。
242
+ ```
243
+
244
+ ## Discovery Failure Handling
245
+
246
+ | Failure / Blocker | Agent MUST Do | Agent MUST NOT Do |
247
+ |-------------------|---------------|-------------------|
248
+ | Target scope is ambiguous | Ask the minimum scope clarification question and stop | Do not choose a whole cloud drive / personal library by default |
249
+ | Environment / profile is ambiguous | Ask user to confirm prod / BOE / PRE and profile | Do not cross environment boundaries |
250
+ | Missing API scope | Follow `lark-shared` permission handling and stop | Do not retry the same command repeatedly |
251
+ | Resource access denied | Stop and follow the main workflow `Permission Request Gate` | Do not request permission automatically or in batch |
252
+ | Pagination / depth / item checkpoint reached | Record `inventory_continuation_state` and continue inventory in the confirmed scope | Do not set `partial=true` solely because a batching checkpoint was reached |
253
+ | Pagination cursor missing after retries / API pagination failure | Set `partial=true`; record the affected directory and blocker | Do not loop indefinitely or claim full coverage |