@fectivnfy112358/minimax-code-web 0.1.0-preview.0 → 0.1.0-preview.3

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 (656) hide show
  1. package/bin/mcode-webui.mjs +6 -2
  2. package/package.json +1 -1
  3. package/server/assets/agents/_default/prompt-base-all.md +121 -0
  4. package/server/assets/agents/_default/prompt-base-all.md.hbs +255 -0
  5. package/server/assets/agents/_default/prompt-base-windows.md +6 -0
  6. package/server/assets/agents/_default/prompt-base-windows.md.hbs +6 -0
  7. package/server/assets/agents/_default/prompt-base-worker.md +12 -0
  8. package/server/assets/agents/_default/prompt-base-worker.md.hbs +27 -0
  9. package/server/assets/agents/_default/prompt-session-branch.md +3 -0
  10. package/server/assets/agents/_default/prompt-session-branch.md.hbs +30 -0
  11. package/server/assets/agents/_default/prompt-session-root.md +4 -0
  12. package/server/assets/agents/_default/prompt-session-root.md.hbs +32 -0
  13. package/server/assets/agents/_migration/README.md +20 -0
  14. package/server/assets/agents/_migration/coder/PERSONA-zh.md +10 -0
  15. package/server/assets/agents/_migration/coder/PERSONA.md +11 -0
  16. package/server/assets/agents/_migration/coder/system-prompt.md.hbs +42 -0
  17. package/server/assets/agents/_migration/general/PERSONA-zh.md +11 -0
  18. package/server/assets/agents/_migration/general/PERSONA.md +11 -0
  19. package/server/assets/agents/_migration/general/system-prompt.md.hbs +49 -0
  20. package/server/assets/agents/_v2/AGENT_CONTEXT.md.hbs +222 -0
  21. package/server/assets/agents/_v2/coding/SYSTEM.md.hbs +161 -0
  22. package/server/assets/agents/_v2/explore.md.hbs +38 -0
  23. package/server/assets/agents/_v2/tui/SYSTEM.md.hbs +147 -0
  24. package/server/assets/agents/_v2/verifier.md.hbs +32 -0
  25. package/server/assets/agents/_v2/work/SYSTEM.md.hbs +173 -0
  26. package/server/assets/agents/_v2/worker.md.hbs +27 -0
  27. package/server/assets/agents/builtin-agents.json +1 -0
  28. package/server/assets/agents/desktop-task/archive-title/system-en.md +1 -0
  29. package/server/assets/agents/desktop-task/archive-title/system-zh.md +1 -0
  30. package/server/assets/agents/desktop-task/checkpoint/system.md +15 -0
  31. package/server/assets/agents/desktop-task/output-revision/system.md +1 -0
  32. package/server/assets/agents/desktop-task/retry/continuation.md +4 -0
  33. package/server/assets/agents/desktop-task/session-title/system.md +41 -0
  34. package/server/assets/agents/explore/PERSONA-zh.md +8 -0
  35. package/server/assets/agents/explore/PERSONA.md +8 -0
  36. package/server/assets/agents/explore/agent.md +14 -0
  37. package/server/assets/agents/explore/system-prompt.md.hbs +35 -0
  38. package/server/assets/agents/greeting-zh.md +61 -0
  39. package/server/assets/agents/greeting.md +61 -0
  40. package/server/assets/agents/managed-prompts.json +54 -0
  41. package/server/assets/agents/mavis/PERSONA-zh.md +7 -0
  42. package/server/assets/agents/mavis/PERSONA.md +7 -0
  43. package/server/assets/agents/mavis/features/cron.md.hbs +23 -0
  44. package/server/assets/agents/mavis/features/delegation.md.hbs +56 -0
  45. package/server/assets/agents/mavis/features/memory.md.hbs +61 -0
  46. package/server/assets/agents/mavis/features/recoverable-deletion.md.hbs +10 -0
  47. package/server/assets/agents/mavis/features/task-management.md.hbs +11 -0
  48. package/server/assets/agents/mavis/features/web-search.md.hbs +11 -0
  49. package/server/assets/agents/mavis/modes/coding/online/PERSONA-zh.md.hbs +20 -0
  50. package/server/assets/agents/mavis/modes/coding/online/PERSONA.md.hbs +20 -0
  51. package/server/assets/agents/mavis/modes/coding/online/SYSTEM.md.hbs +159 -0
  52. package/server/assets/agents/mavis/modes/work/online/PERSONA-zh.md.hbs +20 -0
  53. package/server/assets/agents/mavis/modes/work/online/PERSONA.md.hbs +20 -0
  54. package/server/assets/agents/mavis/modes/work/online/SYSTEM.md.hbs +161 -0
  55. package/server/assets/agents/mavis/prompt-session-root.md +4 -0
  56. package/server/assets/agents/mavis/prompt-session-root.md.hbs +4 -0
  57. package/server/assets/agents/mavis/skills/control-in-app-browser/SKILL.md +491 -0
  58. package/server/assets/agents/mavis/skills/minimax-code-product/SKILL.md +114 -0
  59. package/server/assets/agents/mavis/skills/minimax-code-product/references/account-models.md +32 -0
  60. package/server/assets/agents/mavis/skills/minimax-code-product/references/agents.md +25 -0
  61. package/server/assets/agents/mavis/skills/minimax-code-product/references/extensions.md +33 -0
  62. package/server/assets/agents/mavis/skills/minimax-code-product/references/workflows.md +30 -0
  63. package/server/assets/agents/mavis/system-prompt.md.hbs +97 -0
  64. package/server/assets/agents/prompt-exemptions.json +38 -0
  65. package/server/assets/agents/verifier/PERSONA-zh.md +8 -0
  66. package/server/assets/agents/verifier/PERSONA.md +8 -0
  67. package/server/assets/agents/verifier/agent.md +17 -0
  68. package/server/assets/agents/verifier/system-prompt.md.hbs +28 -0
  69. package/server/assets/agents/worker/PERSONA-zh.md +8 -0
  70. package/server/assets/agents/worker/PERSONA.md +8 -0
  71. package/server/assets/agents/worker/agent.md +18 -0
  72. package/server/assets/agents/worker/system-prompt.md.hbs +22 -0
  73. package/server/assets/agents/workflow/code-review/review-candidates.md +120 -0
  74. package/server/assets/agents/workflow/code-review/reviewer-system.md +75 -0
  75. package/server/assets/agents/workflow/goal/budget-limit.md +16 -0
  76. package/server/assets/agents/workflow/goal/continuation.md +62 -0
  77. package/server/assets/agents/workflow/goal/objective-updated.md +16 -0
  78. package/server/assets/agents/workflow/goal/recovery-terminal-audit.md +12 -0
  79. package/server/assets/agents/workflow/goal/recovery.md +11 -0
  80. package/server/assets/agents/workflow/goal/terminal-audit.md +9 -0
  81. package/server/assets/agents/workflow/plan-mode/agent-entry.md +72 -0
  82. package/server/assets/agents/workflow/prompt-hook/system.md +0 -0
  83. package/server/assets/models-dev-catalog.json.gz +0 -0
  84. package/server/assets/prompts/code-review/review-candidates.md +120 -0
  85. package/server/assets/prompts/code-review/reviewer-system.md +75 -0
  86. package/server/assets/skills/code-review/SKILL.md +51 -0
  87. package/server/assets/skills/cu-desktop/SKILL.md +257 -0
  88. package/server/assets/skills/deep-research/SKILL.md +219 -0
  89. package/server/assets/skills/deep-research/scripts/render_plan.py +33 -0
  90. package/server/assets/skills/deep-research/steps/1_background.md +65 -0
  91. package/server/assets/skills/deep-research/steps/2_judgment.md +66 -0
  92. package/server/assets/skills/deep-research/steps/3_analysis.md +114 -0
  93. package/server/assets/skills/deep-research/steps/4_research.md +161 -0
  94. package/server/assets/skills/deep-research/steps/5_writing.md +358 -0
  95. package/server/assets/skills/deploy-website/SKILL.md +55 -0
  96. package/server/assets/skills/docx/LICENSE +21 -0
  97. package/server/assets/skills/docx/SKILL.md +261 -0
  98. package/server/assets/skills/docx/assets/styles/academic_styles.xml +250 -0
  99. package/server/assets/skills/docx/assets/styles/corporate_styles.xml +284 -0
  100. package/server/assets/skills/docx/assets/styles/default_styles.xml +449 -0
  101. package/server/assets/skills/docx/assets/xsd/aesthetic-rules.xsd +470 -0
  102. package/server/assets/skills/docx/assets/xsd/business-rules.xsd +130 -0
  103. package/server/assets/skills/docx/assets/xsd/common-types.xsd +159 -0
  104. package/server/assets/skills/docx/assets/xsd/wml-subset.xsd +589 -0
  105. package/server/assets/skills/docx/docs/acceptance-checklists/create.md +7 -0
  106. package/server/assets/skills/docx/docs/acceptance-checklists/edit.md +6 -0
  107. package/server/assets/skills/docx/docs/acceptance-checklists/layout-repair.md +7 -0
  108. package/server/assets/skills/docx/docs/acceptance-checklists/template.md +6 -0
  109. package/server/assets/skills/docx/docs/acceptance.md +139 -0
  110. package/server/assets/skills/docx/docs/anti-patterns.md +14 -0
  111. package/server/assets/skills/docx/docs/backends.md +116 -0
  112. package/server/assets/skills/docx/docs/evidence.md +73 -0
  113. package/server/assets/skills/docx/docs/failure-taxonomy.md +71 -0
  114. package/server/assets/skills/docx/docs/index.md +50 -0
  115. package/server/assets/skills/docx/docs/rendered-delivery.md +125 -0
  116. package/server/assets/skills/docx/docs/router.md +122 -0
  117. package/server/assets/skills/docx/docs/tables-and-numbering.md +27 -0
  118. package/server/assets/skills/docx/docs/task-apply-template.md +141 -0
  119. package/server/assets/skills/docx/docs/task-compare-two-docx.md +48 -0
  120. package/server/assets/skills/docx/docs/task-create.md +124 -0
  121. package/server/assets/skills/docx/docs/task-edit-fill.md +69 -0
  122. package/server/assets/skills/docx/docs/task-read-content.md +148 -0
  123. package/server/assets/skills/docx/docs/task-read-rendered.md +78 -0
  124. package/server/assets/skills/docx/docs/task-read-structure.md +93 -0
  125. package/server/assets/skills/docx/docs/task-repair-layout.md +70 -0
  126. package/server/assets/skills/docx/docs/template-dsl.md +32 -0
  127. package/server/assets/skills/docx/docs/track-changes.md +15 -0
  128. package/server/assets/skills/docx/docs/xml-patch-dsl.md +33 -0
  129. package/server/assets/skills/docx/references/cjk_typography.md +357 -0
  130. package/server/assets/skills/docx/references/cjk_university_template_guide.md +184 -0
  131. package/server/assets/skills/docx/references/comments_guide.md +191 -0
  132. package/server/assets/skills/docx/references/design_good_bad_examples.md +829 -0
  133. package/server/assets/skills/docx/references/design_principles.md +819 -0
  134. package/server/assets/skills/docx/references/openxml_element_order.md +308 -0
  135. package/server/assets/skills/docx/references/openxml_encyclopedia_part1.md +4061 -0
  136. package/server/assets/skills/docx/references/openxml_encyclopedia_part2.md +2820 -0
  137. package/server/assets/skills/docx/references/openxml_encyclopedia_part3.md +3381 -0
  138. package/server/assets/skills/docx/references/openxml_namespaces.md +82 -0
  139. package/server/assets/skills/docx/references/openxml_units.md +72 -0
  140. package/server/assets/skills/docx/references/sample-patch-plans.json +22 -0
  141. package/server/assets/skills/docx/references/sample-task-intents.json +5 -0
  142. package/server/assets/skills/docx/references/sample-template-manifests.json +21 -0
  143. package/server/assets/skills/docx/references/scenario_a_create.md +284 -0
  144. package/server/assets/skills/docx/references/scenario_b_edit_content.md +295 -0
  145. package/server/assets/skills/docx/references/scenario_c_apply_template.md +456 -0
  146. package/server/assets/skills/docx/references/track_changes_guide.md +200 -0
  147. package/server/assets/skills/docx/references/troubleshooting.md +506 -0
  148. package/server/assets/skills/docx/references/typography_guide.md +294 -0
  149. package/server/assets/skills/docx/references/xsd_validation_guide.md +158 -0
  150. package/server/assets/skills/docx/scripts/build_patch_plan.py +29 -0
  151. package/server/assets/skills/docx/scripts/diff_docx_structure.py +61 -0
  152. package/server/assets/skills/docx/scripts/doc_to_docx.ps1 +85 -0
  153. package/server/assets/skills/docx/scripts/doc_to_docx.sh +40 -0
  154. package/server/assets/skills/docx/scripts/docx_preview.ps1 +76 -0
  155. package/server/assets/skills/docx/scripts/docx_preview.sh +37 -0
  156. package/server/assets/skills/docx/scripts/docx_to_pdf.py +87 -0
  157. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Cli/MiniMaxAIDocx.Cli.csproj +19 -0
  158. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Cli/Program.cs +18 -0
  159. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/AnalyzeCommand.cs +147 -0
  160. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ApplyTemplateCommand.cs +322 -0
  161. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/CreateCommand.cs +324 -0
  162. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/DiffCommand.cs +155 -0
  163. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/EditContentCommand.cs +487 -0
  164. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/FixOrderCommand.cs +108 -0
  165. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/MergeRunsCommand.cs +122 -0
  166. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ValidateCommand.cs +107 -0
  167. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/MiniMaxAIDocx.Core.csproj +15 -0
  168. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/CommentSynchronizer.cs +169 -0
  169. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/ElementOrder.cs +80 -0
  170. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/NamespaceConstants.cs +42 -0
  171. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/RunMerger.cs +81 -0
  172. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/StyleAnalyzer.cs +81 -0
  173. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/TrackChangesHelper.cs +99 -0
  174. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/UnitConverter.cs +23 -0
  175. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples.cs +1832 -0
  176. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch1.cs +910 -0
  177. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch2.cs +999 -0
  178. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch3.cs +1048 -0
  179. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch4.cs +1038 -0
  180. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/CharacterFormattingSamples.cs +1020 -0
  181. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/DocumentCreationSamples.cs +1121 -0
  182. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FieldAndTocSamples.cs +624 -0
  183. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FootnoteAndCommentSamples.cs +675 -0
  184. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/HeaderFooterSamples.cs +838 -0
  185. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ImageSamples.cs +917 -0
  186. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ListAndNumberingSamples.cs +826 -0
  187. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ParagraphFormattingSamples.cs +1199 -0
  188. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/StyleSystemSamples.cs +1487 -0
  189. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TableSamples.cs +1163 -0
  190. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TrackChangesSamples.cs +595 -0
  191. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/CjkHelper.cs +39 -0
  192. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/FontDefaults.cs +24 -0
  193. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/PageSizes.cs +20 -0
  194. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/BusinessRuleValidator.cs +224 -0
  195. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/GateCheckValidator.cs +148 -0
  196. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/ValidationResult.cs +23 -0
  197. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/XsdValidator.cs +69 -0
  198. package/server/assets/skills/docx/scripts/dotnet/MiniMaxAIDocx.slnx +4 -0
  199. package/server/assets/skills/docx/scripts/env_check.ps1 +327 -0
  200. package/server/assets/skills/docx/scripts/env_check.sh +340 -0
  201. package/server/assets/skills/docx/scripts/extract_docx_text.py +1075 -0
  202. package/server/assets/skills/docx/scripts/pack_docx.py +31 -0
  203. package/server/assets/skills/docx/scripts/read_docx_structure.py +1032 -0
  204. package/server/assets/skills/docx/scripts/render_docx_pages.py +147 -0
  205. package/server/assets/skills/docx/scripts/rendered_report.py +609 -0
  206. package/server/assets/skills/docx/scripts/setup.ps1 +542 -0
  207. package/server/assets/skills/docx/scripts/setup.sh +537 -0
  208. package/server/assets/skills/docx/scripts/unpack_docx.py +29 -0
  209. package/server/assets/skills/docx/scripts/validate_template_manifest.py +60 -0
  210. package/server/assets/skills/docx/scripts/verify_anchor_atomicity.py +87 -0
  211. package/server/assets/skills/edit-deployed-website/SKILL.md +27 -0
  212. package/server/assets/skills/init/SKILL.md +137 -0
  213. package/server/assets/skills/lark-tools/SKILL.md +321 -0
  214. package/server/assets/skills/lark-tools/cli-skills/lark-approval/SKILL.md +48 -0
  215. package/server/assets/skills/lark-tools/cli-skills/lark-attendance/SKILL.md +57 -0
  216. package/server/assets/skills/lark-tools/cli-skills/lark-base/SKILL.md +372 -0
  217. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/dashboard-block-data-config.md +350 -0
  218. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/examples.md +130 -0
  219. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/formula-field-guide.md +735 -0
  220. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-advperm-disable.md +83 -0
  221. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-advperm-enable.md +80 -0
  222. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-base-copy.md +74 -0
  223. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-base-create.md +68 -0
  224. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-base-get.md +39 -0
  225. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-arrange.md +83 -0
  226. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-block-create.md +108 -0
  227. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-block-delete.md +46 -0
  228. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-block-get.md +57 -0
  229. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-block-list.md +53 -0
  230. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-block-update.md +84 -0
  231. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-create.md +73 -0
  232. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-delete.md +44 -0
  233. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-get.md +59 -0
  234. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-list.md +52 -0
  235. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard-update.md +69 -0
  236. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-dashboard.md +240 -0
  237. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-data-query.md +375 -0
  238. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-field-create.md +104 -0
  239. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-field-delete.md +51 -0
  240. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-field-get.md +42 -0
  241. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-field-list.md +44 -0
  242. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-field-search-options.md +48 -0
  243. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-field-update.md +97 -0
  244. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-field.md +22 -0
  245. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-create.md +87 -0
  246. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-delete.md +64 -0
  247. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-get.md +68 -0
  248. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-list.md +73 -0
  249. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-questions-create.md +118 -0
  250. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-questions-delete.md +68 -0
  251. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-questions-list.md +84 -0
  252. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-questions-update.md +92 -0
  253. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-questions.md +23 -0
  254. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form-update.md +82 -0
  255. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-form.md +24 -0
  256. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-history.md +16 -0
  257. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-batch-create.md +76 -0
  258. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-batch-update.md +71 -0
  259. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-delete.md +51 -0
  260. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-get.md +38 -0
  261. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-history-list.md +86 -0
  262. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-list.md +83 -0
  263. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-search.md +72 -0
  264. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-upload-attachment.md +51 -0
  265. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record-upsert.md +89 -0
  266. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-record.md +28 -0
  267. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-role-create.md +89 -0
  268. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-role-delete.md +83 -0
  269. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-role-get.md +87 -0
  270. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-role-list.md +81 -0
  271. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-role-update.md +94 -0
  272. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-shortcut-field-properties.md +679 -0
  273. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-shortcut-record-value.md +200 -0
  274. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-table-create.md +62 -0
  275. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-table-delete.md +51 -0
  276. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-table-get.md +46 -0
  277. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-table-list.md +43 -0
  278. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-table-update.md +49 -0
  279. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-table.md +20 -0
  280. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-create.md +83 -0
  281. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-delete.md +48 -0
  282. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-get-card.md +38 -0
  283. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-get-filter.md +38 -0
  284. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-get-group.md +38 -0
  285. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-get-sort.md +38 -0
  286. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-get-timebar.md +38 -0
  287. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-get-visible-fields.md +38 -0
  288. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-get.md +38 -0
  289. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-list.md +44 -0
  290. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-rename.md +44 -0
  291. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-set-card.md +81 -0
  292. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-set-filter.md +92 -0
  293. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-set-group.md +77 -0
  294. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-set-sort.md +77 -0
  295. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-set-timebar.md +79 -0
  296. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view-set-visible-fields.md +73 -0
  297. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-view.md +44 -0
  298. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow-create.md +180 -0
  299. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow-disable.md +94 -0
  300. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow-enable.md +94 -0
  301. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow-get.md +147 -0
  302. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow-guide.md +718 -0
  303. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow-list.md +123 -0
  304. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow-schema.md +935 -0
  305. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow-update.md +167 -0
  306. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workflow.md +23 -0
  307. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lark-base-workspace.md +18 -0
  308. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/lookup-field-guide.md +508 -0
  309. package/server/assets/skills/lark-tools/cli-skills/lark-base/references/role-config.md +532 -0
  310. package/server/assets/skills/lark-tools/cli-skills/lark-calendar/SKILL.md +143 -0
  311. package/server/assets/skills/lark-tools/cli-skills/lark-calendar/references/lark-calendar-agenda.md +78 -0
  312. package/server/assets/skills/lark-tools/cli-skills/lark-calendar/references/lark-calendar-create.md +109 -0
  313. package/server/assets/skills/lark-tools/cli-skills/lark-calendar/references/lark-calendar-freebusy.md +124 -0
  314. package/server/assets/skills/lark-tools/cli-skills/lark-calendar/references/lark-calendar-room-find.md +89 -0
  315. package/server/assets/skills/lark-tools/cli-skills/lark-calendar/references/lark-calendar-rsvp.md +42 -0
  316. package/server/assets/skills/lark-tools/cli-skills/lark-calendar/references/lark-calendar-schedule-meeting.md +194 -0
  317. package/server/assets/skills/lark-tools/cli-skills/lark-calendar/references/lark-calendar-suggestion.md +125 -0
  318. package/server/assets/skills/lark-tools/cli-skills/lark-contact/SKILL.md +23 -0
  319. package/server/assets/skills/lark-tools/cli-skills/lark-contact/references/lark-contact-get-user.md +47 -0
  320. package/server/assets/skills/lark-tools/cli-skills/lark-contact/references/lark-contact-search-user.md +39 -0
  321. package/server/assets/skills/lark-tools/cli-skills/lark-doc/SKILL.md +189 -0
  322. package/server/assets/skills/lark-tools/cli-skills/lark-doc/references/lark-doc-create.md +673 -0
  323. package/server/assets/skills/lark-tools/cli-skills/lark-doc/references/lark-doc-fetch.md +120 -0
  324. package/server/assets/skills/lark-tools/cli-skills/lark-doc/references/lark-doc-media-download.md +50 -0
  325. package/server/assets/skills/lark-tools/cli-skills/lark-doc/references/lark-doc-media-insert.md +51 -0
  326. package/server/assets/skills/lark-tools/cli-skills/lark-doc/references/lark-doc-media-preview.md +41 -0
  327. package/server/assets/skills/lark-tools/cli-skills/lark-doc/references/lark-doc-search.md +213 -0
  328. package/server/assets/skills/lark-tools/cli-skills/lark-doc/references/lark-doc-update.md +264 -0
  329. package/server/assets/skills/lark-tools/cli-skills/lark-doc/references/lark-doc-whiteboard-update.md +6 -0
  330. package/server/assets/skills/lark-tools/cli-skills/lark-drive/SKILL.md +294 -0
  331. package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-add-comment.md +99 -0
  332. package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-create-folder.md +73 -0
  333. package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-create-shortcut.md +103 -0
  334. package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-delete.md +79 -0
  335. package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-download.md +31 -0
  336. package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-export-download.md +50 -0
  337. package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-export.md +100 -0
  338. package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-import.md +132 -0
  339. package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-move.md +120 -0
  340. package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-reactions.md +113 -0
  341. package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-task-result.md +264 -0
  342. package/server/assets/skills/lark-tools/cli-skills/lark-drive/references/lark-drive-upload.md +67 -0
  343. package/server/assets/skills/lark-tools/cli-skills/lark-event/SKILL.md +21 -0
  344. package/server/assets/skills/lark-tools/cli-skills/lark-event/references/lark-event-subscribe.md +217 -0
  345. package/server/assets/skills/lark-tools/cli-skills/lark-im/SKILL.md +140 -0
  346. package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-chat-create.md +156 -0
  347. package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-chat-identity.md +55 -0
  348. package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-chat-messages-list.md +142 -0
  349. package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-chat-search.md +114 -0
  350. package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-chat-update.md +84 -0
  351. package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-messages-mget.md +95 -0
  352. package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-messages-reply.md +222 -0
  353. package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-messages-resources-download.md +94 -0
  354. package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-messages-search.md +213 -0
  355. package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-messages-send.md +223 -0
  356. package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-reactions.md +297 -0
  357. package/server/assets/skills/lark-tools/cli-skills/lark-im/references/lark-im-threads-messages-list.md +111 -0
  358. package/server/assets/skills/lark-tools/cli-skills/lark-mail/SKILL.md +550 -0
  359. package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-draft-create.md +110 -0
  360. package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-draft-edit.md +376 -0
  361. package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-forward.md +208 -0
  362. package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-message.md +201 -0
  363. package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-messages.md +108 -0
  364. package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-reply-all.md +184 -0
  365. package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-reply.md +220 -0
  366. package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-send.md +178 -0
  367. package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-signature.md +98 -0
  368. package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-thread.md +111 -0
  369. package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-triage.md +122 -0
  370. package/server/assets/skills/lark-tools/cli-skills/lark-mail/references/lark-mail-watch.md +94 -0
  371. package/server/assets/skills/lark-tools/cli-skills/lark-minutes/SKILL.md +116 -0
  372. package/server/assets/skills/lark-tools/cli-skills/lark-minutes/references/lark-minutes-download.md +119 -0
  373. package/server/assets/skills/lark-tools/cli-skills/lark-minutes/references/lark-minutes-search.md +180 -0
  374. package/server/assets/skills/lark-tools/cli-skills/lark-openapi-explorer/SKILL.md +153 -0
  375. package/server/assets/skills/lark-tools/cli-skills/lark-shared/SKILL.md +141 -0
  376. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/SKILL.md +262 -0
  377. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-add-dimension.md +51 -0
  378. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-append.md +56 -0
  379. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-batch-set-style.md +53 -0
  380. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-create-filter-view-condition.md +42 -0
  381. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-create-filter-view.md +42 -0
  382. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-create.md +69 -0
  383. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-delete-dimension.md +53 -0
  384. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-delete-dropdown.md +46 -0
  385. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-delete-filter-view-condition.md +26 -0
  386. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-delete-filter-view.md +25 -0
  387. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-export.md +51 -0
  388. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-find.md +62 -0
  389. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-formula.md +89 -0
  390. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-get-dropdown.md +43 -0
  391. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-get-filter-view-condition.md +27 -0
  392. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-get-filter-view.md +26 -0
  393. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-info.md +43 -0
  394. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-insert-dimension.md +51 -0
  395. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-list-filter-view-conditions.md +28 -0
  396. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-list-filter-views.md +26 -0
  397. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-merge-cells.md +47 -0
  398. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-move-dimension.md +52 -0
  399. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-read.md +61 -0
  400. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-replace.md +62 -0
  401. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-set-dropdown.md +62 -0
  402. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-set-style.md +71 -0
  403. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-unmerge-cells.md +46 -0
  404. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-update-dimension.md +60 -0
  405. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-update-dropdown.md +51 -0
  406. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-update-filter-view-condition.md +27 -0
  407. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-update-filter-view.md +24 -0
  408. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-write-image.md +65 -0
  409. package/server/assets/skills/lark-tools/cli-skills/lark-sheets/references/lark-sheets-write.md +60 -0
  410. package/server/assets/skills/lark-tools/cli-skills/lark-skill-maker/SKILL.md +85 -0
  411. package/server/assets/skills/lark-tools/cli-skills/lark-slides/SKILL.md +368 -0
  412. package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/examples.md +179 -0
  413. package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/lark-slides-create.md +137 -0
  414. package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/lark-slides-media-upload.md +143 -0
  415. package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/lark-slides-xml-presentation-slide-create.md +215 -0
  416. package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/lark-slides-xml-presentation-slide-delete.md +119 -0
  417. package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/lark-slides-xml-presentations-get.md +94 -0
  418. package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/slide-templates.md +199 -0
  419. package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/slides_demo.xml +226 -0
  420. package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/slides_xml_schema_definition.xml +3004 -0
  421. package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/xml-format-guide.md +369 -0
  422. package/server/assets/skills/lark-tools/cli-skills/lark-slides/references/xml-schema-quick-ref.md +215 -0
  423. package/server/assets/skills/lark-tools/cli-skills/lark-task/SKILL.md +151 -0
  424. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-assign.md +35 -0
  425. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-comment.md +28 -0
  426. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-complete.md +27 -0
  427. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-create.md +51 -0
  428. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-followers.md +32 -0
  429. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-get-my-tasks.md +55 -0
  430. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-get-related-tasks.md +53 -0
  431. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-reminder.md +36 -0
  432. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-reopen.md +27 -0
  433. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-search.md +41 -0
  434. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-set-ancestor.md +32 -0
  435. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-subscribe-event.md +86 -0
  436. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-tasklist-create.md +35 -0
  437. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-tasklist-members.md +36 -0
  438. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-tasklist-search.md +38 -0
  439. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-tasklist-task-add.md +38 -0
  440. package/server/assets/skills/lark-tools/cli-skills/lark-task/references/lark-task-update.md +37 -0
  441. package/server/assets/skills/lark-tools/cli-skills/lark-vc/SKILL.md +143 -0
  442. package/server/assets/skills/lark-tools/cli-skills/lark-vc/references/lark-vc-notes.md +126 -0
  443. package/server/assets/skills/lark-tools/cli-skills/lark-vc/references/lark-vc-recording.md +141 -0
  444. package/server/assets/skills/lark-tools/cli-skills/lark-vc/references/lark-vc-search.md +159 -0
  445. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard/SKILL.md +118 -0
  446. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard/references/lark-whiteboard-query.md +49 -0
  447. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard/references/lark-whiteboard-update.md +97 -0
  448. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/SKILL.md +236 -0
  449. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/references/connectors.md +102 -0
  450. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/references/content.md +40 -0
  451. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/references/layout.md +374 -0
  452. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/references/schema.md +333 -0
  453. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/references/style.md +318 -0
  454. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/references/typography.md +73 -0
  455. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/architecture.md +433 -0
  456. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/bar-chart.md +181 -0
  457. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/comparison.md +135 -0
  458. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/fishbone.md +238 -0
  459. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/flowchart.md +185 -0
  460. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/flywheel.md +195 -0
  461. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/funnel.md +101 -0
  462. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/line-chart.md +208 -0
  463. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/mermaid.md +136 -0
  464. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/milestone.md +139 -0
  465. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/organization.md +175 -0
  466. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/pyramid.md +99 -0
  467. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/swimlane.md +370 -0
  468. package/server/assets/skills/lark-tools/cli-skills/lark-whiteboard-cli/scenes/treemap.md +210 -0
  469. package/server/assets/skills/lark-tools/cli-skills/lark-wiki/SKILL.md +93 -0
  470. package/server/assets/skills/lark-tools/cli-skills/lark-wiki/references/lark-wiki-move.md +183 -0
  471. package/server/assets/skills/lark-tools/cli-skills/lark-wiki/references/lark-wiki-node-create.md +127 -0
  472. package/server/assets/skills/lark-tools/cli-skills/lark-workflow-meeting-summary/SKILL.md +99 -0
  473. package/server/assets/skills/lark-tools/cli-skills/lark-workflow-standup-report/SKILL.md +120 -0
  474. package/server/assets/skills/lark-tools/references/commands-macos-linux.md +42 -0
  475. package/server/assets/skills/lark-tools/references/commands-windows-powershell.md +54 -0
  476. package/server/assets/skills/lark-tools/references/storage-paths.md +21 -0
  477. package/server/assets/skills/llm-call/SKILL.md +50 -0
  478. package/server/assets/skills/llm-call/scripts/llm_call.py +458 -0
  479. package/server/assets/skills/mcode-tools-master/SKILL.md +133 -0
  480. package/server/assets/skills/pdf/SKILL.md +287 -0
  481. package/server/assets/skills/pdf/docs/advanced-reference.md +711 -0
  482. package/server/assets/skills/pdf/docs/ai-voice-cloning-regulatory-report-case.md +303 -0
  483. package/server/assets/skills/pdf/docs/annual-report-financial-digest-latex-case.md +233 -0
  484. package/server/assets/skills/pdf/docs/create-guide.md +438 -0
  485. package/server/assets/skills/pdf/docs/design-guide.md +204 -0
  486. package/server/assets/skills/pdf/docs/docx-contract-roundtrip-professional-case.md +328 -0
  487. package/server/assets/skills/pdf/docs/email-translation-goldman-two-sessions-case.md +346 -0
  488. package/server/assets/skills/pdf/docs/forms-guide.md +462 -0
  489. package/server/assets/skills/pdf/docs/html-pdf-spec.md +500 -0
  490. package/server/assets/skills/pdf/docs/italy-schengen-visa-acroform-case.md +22 -0
  491. package/server/assets/skills/pdf/docs/latex-academic-thesis-guide.md +234 -0
  492. package/server/assets/skills/pdf/docs/latex-technical-book-guide.md +112 -0
  493. package/server/assets/skills/pdf/docs/markdown-static-academic-data-viz-case.md +280 -0
  494. package/server/assets/skills/pdf/docs/pitfalls-index.md +798 -0
  495. package/server/assets/skills/pdf/docs/read-guide.md +358 -0
  496. package/server/assets/skills/pdf/docs/reformat-guide.md +238 -0
  497. package/server/assets/skills/pdf/docs/skill-readme-archive.md +152 -0
  498. package/server/assets/skills/pdf/docs/troubleshooting.md +86 -0
  499. package/server/assets/skills/pdf/docs/vision-guide.md +188 -0
  500. package/server/assets/skills/pdf/scripts/__init__.py +0 -0
  501. package/server/assets/skills/pdf/scripts/_pdf_read_lib.py +284 -0
  502. package/server/assets/skills/pdf/scripts/fill/__init__.py +0 -0
  503. package/server/assets/skills/pdf/scripts/fill/acroform_apply.py +153 -0
  504. package/server/assets/skills/pdf/scripts/fill/overlay_apply.py +109 -0
  505. package/server/assets/skills/pdf/scripts/lib/__init__.py +0 -0
  506. package/server/assets/skills/pdf/scripts/lib/acroform_io.py +170 -0
  507. package/server/assets/skills/pdf/scripts/lib/cli_utils.py +41 -0
  508. package/server/assets/skills/pdf/scripts/lib/geometry.py +79 -0
  509. package/server/assets/skills/pdf/scripts/make.sh +388 -0
  510. package/server/assets/skills/pdf/scripts/merge.py +112 -0
  511. package/server/assets/skills/pdf/scripts/pdf_inspect/__init__.py +0 -0
  512. package/server/assets/skills/pdf/scripts/pdf_inspect/acroform_inspect.py +52 -0
  513. package/server/assets/skills/pdf/scripts/pdf_inspect/acroform_probe.py +57 -0
  514. package/server/assets/skills/pdf/scripts/pdf_inspect/layout_scan.py +164 -0
  515. package/server/assets/skills/pdf/scripts/read_pdf_vision.py +473 -0
  516. package/server/assets/skills/pdf/scripts/reformat_parse.py +181 -0
  517. package/server/assets/skills/pdf/scripts/render/__init__.py +0 -0
  518. package/server/assets/skills/pdf/scripts/render/overlay_preview.py +86 -0
  519. package/server/assets/skills/pdf/scripts/render/page_rasterize.py +85 -0
  520. package/server/assets/skills/pdf/scripts/render_html.cjs +205 -0
  521. package/server/assets/skills/pdf/scripts/validate/__init__.py +0 -0
  522. package/server/assets/skills/pdf/scripts/validate/geometry_lint.py +124 -0
  523. package/server/assets/skills/pdf/templates/INDEX.md +97 -0
  524. package/server/assets/skills/pdf/templates/bilingual-menu-premium/README.md +175 -0
  525. package/server/assets/skills/pdf/templates/bilingual-menu-premium/skeleton.html +343 -0
  526. package/server/assets/skills/pdf/templates/brand-guide-2page/README.md +140 -0
  527. package/server/assets/skills/pdf/templates/brand-guide-2page/cases/minimax-web-brand-guide/README.md +155 -0
  528. package/server/assets/skills/pdf/templates/brand-guide-2page/cases/minimax-web-brand-guide/source.html +188 -0
  529. package/server/assets/skills/pdf/templates/brand-guide-2page/skeleton.html +264 -0
  530. package/server/assets/skills/pdf/templates/data-viz-report/README.md +234 -0
  531. package/server/assets/skills/pdf/templates/data-viz-report/cases/annual-report-financial-digest-latex/README.md +12 -0
  532. package/server/assets/skills/pdf/templates/data-viz-report/cases/annual-report-financial-digest-latex/build_charts.py +341 -0
  533. package/server/assets/skills/pdf/templates/data-viz-report/cases/annual-report-financial-digest-latex/source.tex +161 -0
  534. package/server/assets/skills/pdf/templates/data-viz-report/cases/apple-m-ai-static-academic/assets/fig_1_1_table_1_1_specs.png +0 -0
  535. package/server/assets/skills/pdf/templates/data-viz-report/cases/apple-m-ai-static-academic/assets/fig_1_2_table_1_2_geekbench.png +0 -0
  536. package/server/assets/skills/pdf/templates/data-viz-report/cases/apple-m-ai-static-academic/assets/fig_1_3_mmax_generation.png +0 -0
  537. package/server/assets/skills/pdf/templates/data-viz-report/cases/apple-m-ai-static-academic/source.html +656 -0
  538. package/server/assets/skills/pdf/templates/data-viz-report/skeleton.html +835 -0
  539. package/server/assets/skills/pdf/templates/form-fill-acroform/README.md +198 -0
  540. package/server/assets/skills/pdf/templates/form-fill-acroform/cases/italy-schengen-visa-example/USER-FINAL-SUMMARY.template.md +42 -0
  541. package/server/assets/skills/pdf/templates/form-fill-acroform/cases/italy-schengen-visa-example/extract_pdfs_key_info.py +80 -0
  542. package/server/assets/skills/pdf/templates/form-fill-acroform/cases/italy-schengen-visa-example/field_values.case.json +233 -0
  543. package/server/assets/skills/pdf/templates/form-fill-acroform/field_values.template.json +118 -0
  544. package/server/assets/skills/pdf/templates/latex-academic-thesis/README.md +146 -0
  545. package/server/assets/skills/pdf/templates/latex-academic-thesis/source.tex +334 -0
  546. package/server/assets/skills/pdf/templates/latex-technical-book/README.md +130 -0
  547. package/server/assets/skills/pdf/templates/latex-technical-book/README.template-source.md +62 -0
  548. package/server/assets/skills/pdf/templates/latex-technical-book/source.tex +439 -0
  549. package/server/assets/skills/pdf/templates/multi-article-aggregator/README.md +148 -0
  550. package/server/assets/skills/pdf/templates/multi-article-aggregator/pipeline.md +223 -0
  551. package/server/assets/skills/pdf/templates/multilang-research-report/README.md +146 -0
  552. package/server/assets/skills/pdf/templates/multilang-research-report/cases/ai-voice-cloning-regulatory/source.html +244 -0
  553. package/server/assets/skills/pdf/templates/multilang-research-report/skeleton.html +242 -0
  554. package/server/assets/skills/pdf/templates/reformat-default/README.md +137 -0
  555. package/server/assets/skills/pdf/templates/reformat-default/cases/pku-contract-roundtrip/docx_engine.py +68 -0
  556. package/server/assets/skills/pdf/templates/reformat-default/cases/pku-contract-roundtrip/source.html +231 -0
  557. package/server/assets/skills/pdf/templates/reformat-default/cases/pku-contract-roundtrip/source.md +196 -0
  558. package/server/assets/skills/pdf/templates/reformat-default/skeleton.html +204 -0
  559. package/server/assets/skills/pdf/templates/translate-preserve-layout/README.md +147 -0
  560. package/server/assets/skills/pdf/templates/translate-preserve-layout/cases/goldman-china-two-sessions-cn.html +1660 -0
  561. package/server/assets/skills/pdf/templates/translate-preserve-layout/skeleton.html +96 -0
  562. package/server/assets/skills/pdf/templates/translate-preserve-layout/terminology.template.json +66 -0
  563. package/server/assets/skills/pptx/SKILL.md +285 -0
  564. package/server/assets/skills/pptx/references/design-system.md +424 -0
  565. package/server/assets/skills/pptx/references/editing.md +162 -0
  566. package/server/assets/skills/pptx/references/element-map.md +229 -0
  567. package/server/assets/skills/pptx/references/pitfalls.md +205 -0
  568. package/server/assets/skills/pptx/references/pptxgenjs.md +420 -0
  569. package/server/assets/skills/pptx/references/preview-selection-writeback.md +65 -0
  570. package/server/assets/skills/pptx/references/python-pptx-recipes.md +63 -0
  571. package/server/assets/skills/pptx/references/slide-types.md +413 -0
  572. package/server/assets/skills/pptx/scripts/audit_pptx.py +708 -0
  573. package/server/assets/skills/pptx/scripts/extract_comments.py +468 -0
  574. package/server/assets/skills/pptx/scripts/extract_images.py +226 -0
  575. package/server/assets/skills/pptx/scripts/extract_pptx.py +285 -0
  576. package/server/assets/skills/pptx/scripts/mavis-ppt-map.cjs +280 -0
  577. package/server/assets/skills/pptx/scripts/pdf2png.swift +203 -0
  578. package/server/assets/skills/pptx/scripts/pptx-screenshot.sh +105 -0
  579. package/server/assets/skills/resume-codex/SKILL.md +55 -0
  580. package/server/assets/skills/resume-codex/scripts/session-reader.mjs +445 -0
  581. package/server/assets/skills/skill-creator/SKILL.md +190 -0
  582. package/server/assets/skills/skill-creator/references/anti-patterns.md +149 -0
  583. package/server/assets/skills/skill-creator/references/commands-macos-linux.md +38 -0
  584. package/server/assets/skills/skill-creator/references/commands-windows-powershell.md +48 -0
  585. package/server/assets/skills/skill-creator/references/description-rubric.md +83 -0
  586. package/server/assets/skills/skill-creator/references/skill-template.md +101 -0
  587. package/server/assets/skills/skill-creator/references/when-to-bundle-scripts.md +139 -0
  588. package/server/assets/skills/skill-creator/scripts/lint-skill.js +226 -0
  589. package/server/assets/skills/skill-refiner/SKILL.md +139 -0
  590. package/server/assets/skills/visual-page/SKILL.md +196 -0
  591. package/server/assets/skills/x-link-reader/SKILL.md +110 -0
  592. package/server/assets/skills/xlsx/SKILL.md +501 -0
  593. package/server/assets/skills/xlsx/docs/advanced-reference.md +410 -0
  594. package/server/assets/skills/xlsx/docs/cases/superstore-multiformat/conversion_manifest.example.json +49 -0
  595. package/server/assets/skills/xlsx/docs/cases/superstore-multiformat/superstore_orders_print.html +17 -0
  596. package/server/assets/skills/xlsx/docs/conventions-guide.md +217 -0
  597. package/server/assets/skills/xlsx/docs/create-edit-guide.md +410 -0
  598. package/server/assets/skills/xlsx/docs/pitfalls-index.md +760 -0
  599. package/server/assets/skills/xlsx/docs/raw-xml-escape-hatch.md +201 -0
  600. package/server/assets/skills/xlsx/docs/recalc-guide.md +295 -0
  601. package/server/assets/skills/xlsx/docs/superstore-multiformat-conversion-case.md +413 -0
  602. package/server/assets/skills/xlsx/scripts/office/helpers/__init__.py +0 -0
  603. package/server/assets/skills/xlsx/scripts/office/helpers/merge_runs.py +199 -0
  604. package/server/assets/skills/xlsx/scripts/office/helpers/simplify_redlines.py +197 -0
  605. package/server/assets/skills/xlsx/scripts/office/pack.py +159 -0
  606. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  607. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  608. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  609. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  610. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  611. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  612. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  613. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  614. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  615. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  616. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  617. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  618. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  619. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  620. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  621. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  622. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  623. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  624. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  625. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  626. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  627. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  628. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  629. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  630. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  631. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  632. package/server/assets/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  633. package/server/assets/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  634. package/server/assets/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  635. package/server/assets/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  636. package/server/assets/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  637. package/server/assets/skills/xlsx/scripts/office/schemas/mce/mc.xsd +75 -0
  638. package/server/assets/skills/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  639. package/server/assets/skills/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  640. package/server/assets/skills/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  641. package/server/assets/skills/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  642. package/server/assets/skills/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  643. package/server/assets/skills/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  644. package/server/assets/skills/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  645. package/server/assets/skills/xlsx/scripts/office/soffice.py +191 -0
  646. package/server/assets/skills/xlsx/scripts/office/unpack.py +132 -0
  647. package/server/assets/skills/xlsx/scripts/office/validate.py +117 -0
  648. package/server/assets/skills/xlsx/scripts/office/validators/__init__.py +15 -0
  649. package/server/assets/skills/xlsx/scripts/office/validators/base.py +851 -0
  650. package/server/assets/skills/xlsx/scripts/office/validators/docx.py +446 -0
  651. package/server/assets/skills/xlsx/scripts/office/validators/pptx.py +275 -0
  652. package/server/assets/skills/xlsx/scripts/office/validators/redlining.py +247 -0
  653. package/server/assets/skills/xlsx/scripts/recalc.py +450 -0
  654. package/server/mcode-tools.js +2 -0
  655. package/server/package-info.json +1 -1
  656. package/server/server.js +2 -0
@@ -0,0 +1,226 @@
1
+ #!/usr/bin/env node
2
+ // lint-skill.js — Mavis SKILL.md validator
3
+ //
4
+ // Usage: node lint-skill.js <path/to/skill-directory>
5
+ // Exit codes: 0 = pass, 1 = errors found.
6
+ //
7
+ // See Step 5 in the adjacent SKILL.md for validation checks.
8
+ // No third-party dependencies; uses only Node.js built-in fs + path.
9
+
10
+ import { readFileSync, existsSync, readdirSync, statSync } from 'node:fs';
11
+ import { join, basename, resolve } from 'node:path';
12
+
13
+ const FORBIDDEN_FILES = ['README.md', 'CHANGELOG.md', 'INSTALLATION.md', 'INSTALLATION_GUIDE.md', 'QUICK_REFERENCE.md'];
14
+ const FORBIDDEN_FRONTMATTER_KEYS = ['allowed-tools', 'license', 'model'];
15
+ const MAX_BODY_LINES = 500;
16
+ const REDUNDANT_WHEN_TO_USE_HEADINGS = [
17
+ '## When to use',
18
+ '## When to use this skill',
19
+ '## When this skill should be used',
20
+ ];
21
+ const README_SMELLS = [
22
+ '## How it works',
23
+ '## Usage',
24
+ '### Command line',
25
+ '### As a Python module',
26
+ '### As a Node module',
27
+ '## API',
28
+ ];
29
+
30
+ function fail(msg) {
31
+ console.error(`[FAIL] ${msg}`);
32
+ return false;
33
+ }
34
+
35
+ function warn(msg) {
36
+ console.error(`[WARN] ${msg}`);
37
+ }
38
+
39
+ function ok(msg) {
40
+ console.log(`[OK] ${msg}`);
41
+ }
42
+
43
+ // Minimal frontmatter parser: only top-level key: value entries enclosed by `---`.
44
+ // No nesting or complex YAML beyond multiline strings; sufficient for SKILL.md.
45
+ function parseFrontmatter(content) {
46
+ const lines = content.split('\n');
47
+ if (lines[0]?.trim() !== '---') return { frontmatter: null, bodyStart: 0 };
48
+ let endIdx = -1;
49
+ for (let i = 1; i < lines.length; i++) {
50
+ if (lines[i].trim() === '---') {
51
+ endIdx = i;
52
+ break;
53
+ }
54
+ }
55
+ if (endIdx === -1) return { frontmatter: null, bodyStart: 0 };
56
+
57
+ const fm = {};
58
+ let currentKey = null;
59
+ let currentValue = [];
60
+ let inBlockScalar = false;
61
+ for (let i = 1; i < endIdx; i++) {
62
+ const line = lines[i];
63
+ if (inBlockScalar) {
64
+ if (/^[a-zA-Z_-]+\s*:/.test(line)) {
65
+ // Flush the previous key when a new one starts.
66
+ fm[currentKey] = currentValue.join('\n').trim();
67
+ inBlockScalar = false;
68
+ currentKey = null;
69
+ currentValue = [];
70
+ // Do not continue; proceed to parse the new line.
71
+ } else {
72
+ currentValue.push(line.replace(/^\s{0,4}/, ''));
73
+ continue;
74
+ }
75
+ }
76
+ const m = line.match(/^([a-zA-Z_-]+)\s*:\s*(.*)$/);
77
+ if (m) {
78
+ const [, k, v] = m;
79
+ if (v === '|' || v === '>' || v === '|-' || v === '>-') {
80
+ // Block scalar
81
+ currentKey = k;
82
+ currentValue = [];
83
+ inBlockScalar = true;
84
+ } else {
85
+ fm[k] = v.trim();
86
+ }
87
+ }
88
+ }
89
+ if (inBlockScalar && currentKey) {
90
+ fm[currentKey] = currentValue.join('\n').trim();
91
+ }
92
+ return { frontmatter: fm, bodyStart: endIdx + 1 };
93
+ }
94
+
95
+ function lintSkill(skillDir) {
96
+ const dirAbs = resolve(skillDir);
97
+ const dirName = basename(dirAbs);
98
+ const skillMdPath = join(dirAbs, 'SKILL.md');
99
+
100
+ console.log(`Linting skill at: ${dirAbs}`);
101
+ console.log('');
102
+
103
+ let allOk = true;
104
+
105
+ // 0. SKILL.md must exist.
106
+ if (!existsSync(skillMdPath)) {
107
+ fail(`SKILL.md not found at ${skillMdPath}`);
108
+ process.exit(1);
109
+ }
110
+ ok('SKILL.md exists');
111
+
112
+ const content = readFileSync(skillMdPath, 'utf-8');
113
+ const { frontmatter, bodyStart } = parseFrontmatter(content);
114
+
115
+ // 1. Frontmatter must exist.
116
+ if (!frontmatter) {
117
+ fail('frontmatter (--- ... ---) missing or unclosed');
118
+ process.exit(1);
119
+ }
120
+ ok('frontmatter parsed');
121
+
122
+ // 2. name is required, must use kebab-case, and must match the directory name.
123
+ const name = frontmatter.name;
124
+ if (!name) {
125
+ allOk = fail('frontmatter.name is missing') && allOk;
126
+ } else if (!/^[a-z][a-z0-9-]*$/.test(name)) {
127
+ allOk = fail(`frontmatter.name "${name}" is not kebab-case (lowercase letters/digits/hyphens, start with letter)`) && allOk;
128
+ } else if (name !== dirName) {
129
+ allOk = fail(`frontmatter.name "${name}" does not match directory name "${dirName}"`) && allOk;
130
+ } else {
131
+ ok(`name "${name}" is valid kebab-case and matches directory`);
132
+ }
133
+
134
+ // 3. description is required and must include a trigger phrase.
135
+ const desc = frontmatter.description;
136
+ if (!desc) {
137
+ allOk = fail('frontmatter.description is missing') && allOk;
138
+ } else {
139
+ const hasTriggerHint = /\b(when|trigger|use this|load this)\b/i.test(desc) || /["'']/.test(desc);
140
+ if (!hasTriggerHint) {
141
+ allOk = fail('frontmatter.description must contain at least one trigger phrase: a quoted phrase, "when", "trigger", "use this", or "load this"') && allOk;
142
+ } else {
143
+ ok('description contains trigger hint');
144
+ }
145
+ if (desc.length < 30) {
146
+ warn(`description is very short (${desc.length} chars); make sure it covers what + when + near misses`);
147
+ }
148
+ }
149
+
150
+ // 4. Forbidden frontmatter fields.
151
+ for (const key of FORBIDDEN_FRONTMATTER_KEYS) {
152
+ if (key in frontmatter) {
153
+ allOk = fail(`frontmatter contains forbidden key "${key}" (Mavis does not recognize this; remove it)`) && allOk;
154
+ }
155
+ }
156
+ if (FORBIDDEN_FRONTMATTER_KEYS.every((k) => !(k in frontmatter))) {
157
+ ok('no forbidden frontmatter keys');
158
+ }
159
+
160
+ // 5. Body line-count check.
161
+ const bodyLines = content.split('\n').length - bodyStart;
162
+ if (bodyLines > MAX_BODY_LINES) {
163
+ allOk = fail(`SKILL.md body is ${bodyLines} lines (> ${MAX_BODY_LINES}); split into references/<topic>.md`) && allOk;
164
+ } else {
165
+ ok(`body is ${bodyLines} lines (limit ${MAX_BODY_LINES})`);
166
+ }
167
+
168
+ // 5.1 README-style anti-pattern check.
169
+ const body = content.split('\n').slice(bodyStart).join('\n');
170
+ const hasRedundantWhenToUse = REDUNDANT_WHEN_TO_USE_HEADINGS.some((heading) => body.includes(heading));
171
+ if (hasRedundantWhenToUse) {
172
+ warn('body contains a "When to use" heading; prefer putting trigger/boundary rules in frontmatter.description to avoid duplication');
173
+ }
174
+ const readmeMatches = README_SMELLS.filter((heading) => body.includes(heading));
175
+ if (readmeMatches.length > 0) {
176
+ warn(`body contains README-style section(s): ${readmeMatches.join(', ')}; keep SKILL.md focused on execution rules unless these sections are truly necessary`);
177
+ }
178
+
179
+ // 5.2 Windows compatibility: WARN if the body indicates shell commands but the text never mentions windows/win32.
180
+ const shellIndicators = [/python3\b/, /bash\s+scripts\//, /brew\s+install/, /\/tmp\//, /```(?:bash|sh)\b/];
181
+ const hasShellIndicator = shellIndicators.some((re) => re.test(body));
182
+ const mentionsWindows = /windows|win32/i.test(content);
183
+ if (hasShellIndicator && !mentionsWindows) {
184
+ warn('body contains shell/bash commands but does not mention Windows/win32; consider adding a "## Windows (win32) platform notes" section for cross-platform support');
185
+ }
186
+
187
+ // 6. Forbidden-file check.
188
+ const entries = readdirSync(dirAbs);
189
+ for (const entry of entries) {
190
+ if (FORBIDDEN_FILES.includes(entry)) {
191
+ allOk = fail(`forbidden file "${entry}" in skill directory (skill is for LLM, not human docs); remove it`) && allOk;
192
+ }
193
+ }
194
+ if (FORBIDDEN_FILES.every((f) => !entries.includes(f))) {
195
+ ok('no forbidden files in skill directory');
196
+ }
197
+
198
+ // 7. Referenced files under references/ must exist.
199
+ const refRefs = [...content.matchAll(/references\/([a-zA-Z0-9_-]+\.md)/g)].map((m) => m[1]);
200
+ const uniqueRefs = [...new Set(refRefs)];
201
+ for (const ref of uniqueRefs) {
202
+ const refPath = join(dirAbs, 'references', ref);
203
+ if (!existsSync(refPath)) {
204
+ allOk = fail(`SKILL.md references "references/${ref}" but file does not exist`) && allOk;
205
+ }
206
+ }
207
+ if (uniqueRefs.length > 0 && uniqueRefs.every((r) => existsSync(join(dirAbs, 'references', r)))) {
208
+ ok(`all ${uniqueRefs.length} references/*.md links resolve`);
209
+ }
210
+
211
+ console.log('');
212
+ if (allOk) {
213
+ console.log('✓ All checks passed');
214
+ process.exit(0);
215
+ } else {
216
+ console.error('✗ Lint failed');
217
+ process.exit(1);
218
+ }
219
+ }
220
+
221
+ const arg = process.argv[2];
222
+ if (!arg) {
223
+ console.error('Usage: node lint-skill.js <path/to/skill-directory>');
224
+ process.exit(2);
225
+ }
226
+ lintSkill(arg);
@@ -0,0 +1,139 @@
1
+ ---
2
+ name: skill-refiner
3
+ description: |
4
+ Refine an existing Mavis skill with evidence-driven minimal patches.
5
+ Use when a skill has a concrete problem (wrong instructions, outdated steps,
6
+ missing edge case) backed by evidence. Do not use for creating new skills
7
+ (use skill-creator), or for stylistic preferences without evidence.
8
+ descriptions:
9
+ zh-Hans: '基于证据对已有 Mavis skill 做最小修补,修正错误说明、过期步骤或缺失边界。'
10
+ ---
11
+
12
+ # Skill Refiner
13
+
14
+ Apply the smallest evidence-backed patch to fix a real skill problem.
15
+
16
+ ## When NOT to use
17
+
18
+ - Creating a brand-new skill -> use `skill-creator`
19
+ - No concrete evidence of a problem -> do nothing
20
+ - The agent failed to follow correct instructions -> agent error, not a skill issue
21
+
22
+ ## Procedure
23
+
24
+ 1. **Collect evidence**.
25
+
26
+ Identify exactly what went wrong. Evidence sources:
27
+
28
+ - User feedback in the current session ("this skill told me to X but the right step is Y")
29
+ - A concrete failure trace where the skill's instructions caused wrong behavior
30
+
31
+ If the only evidence is "the skill could be better" with no specifics, stop here.
32
+
33
+ 2. **Read the current skill**.
34
+
35
+ ```
36
+ skill({ name: "<name>" })
37
+ ```
38
+
39
+ The native `skill` tool returns the SKILL.md body plus a `Location:` header with the file path. Capture the current content before editing.
40
+
41
+ 3. **Attribute the problem**.
42
+
43
+ Before touching the skill, determine what actually went wrong:
44
+
45
+ | Situation | Action |
46
+ | ------------------------------------------------------- | --------------------------------------- |
47
+ | Skill text is factually wrong or outdated | Fix the skill |
48
+ | Agent didn't follow the skill's correct instructions | Do NOT change the skill -- agent error |
49
+ | Environment changed (new API, renamed command, etc.) | Update the skill to reflect new reality |
50
+ | Skill works for the common case but misses an edge case | Add the edge case |
51
+ | Stylistic preference with no functional impact | Do NOT change |
52
+
53
+ If the problem is not in the skill itself, explain why and stop.
54
+
55
+ 4. **Generate patch**.
56
+
57
+ Design the minimal change that fixes the problem. Document:
58
+
59
+ ```
60
+ Problem: <what is broken>
61
+ Evidence: <specific quote, error trace, or user statement>
62
+ Rationale: <why this change fixes it without breaking other behavior>
63
+ ```
64
+
65
+ Use `old_string` / `new_string` format for each edit point. Prefer surgical patches over section
66
+ rewrites.
67
+
68
+ 5. **Self-check before applying**.
69
+
70
+ Ask yourself:
71
+
72
+ - Does this change actually address the evidence? (not a nearby symptom)
73
+ - Could it break existing correct behavior?
74
+ - Am I adding generic best practices instead of fixing a specific problem? (anti-pattern)
75
+ - Is this a self-referential modification? (skill-refiner editing itself -- forbidden)
76
+
77
+ If any check fails, revise the patch or abandon the change.
78
+
79
+ 6. **Apply the patch**.
80
+
81
+ Two routes depending on skill type:
82
+
83
+ #### User / Agent skills (mutable)
84
+
85
+ Edit the skill file directly with the Edit tool (user skills live in
86
+ `{{DATA_DIR}}/skills/<name>/`, agent skills in `{{DATA_DIR}}/agents/<agent>/skills/<name>/`).
87
+ Re-read the file right before editing so you are patching the current content,
88
+ not a stale copy.
89
+
90
+ #### Built-in / Project skills (immutable at runtime)
91
+
92
+ These live in the repo (`packages/local-runtime/assets/skills/` or the project's own skill
93
+ directory under version control). Do NOT edit the runtime copies. Instead:
94
+
95
+ 1. Note the required change
96
+ 2. Advise the user to make the change in a worktree and submit via MR
97
+
98
+ 4. **Verify**.
99
+
100
+ After applying, re-read the skill and confirm:
101
+
102
+ - The patch landed correctly
103
+ - The frontmatter `name` and `description` are intact
104
+ - The overall skill still reads coherently
105
+
106
+ ```
107
+ skill({ name: "<name>" })
108
+ ```
109
+
110
+ ## Hard constraints
111
+
112
+ - **No secrets**: never write API keys, tokens, or credentials into skill files
113
+ - **Size limit**: skill must stay under 100KB after patch
114
+ - **Frontmatter sacred**: `name` and `description` fields must survive every edit
115
+ - **No self-referential edits**: skill-refiner must not modify its own SKILL.md
116
+ - **Evidence mandatory**: every patch must trace back to a specific problem
117
+ - **Built-in skills are read-only**: changes go through MR, not runtime edits
118
+
119
+ ## Anti-patterns
120
+
121
+ - Rewriting a skill from scratch when a one-line fix would work
122
+ - Adding generic disclaimers ("always check...", "be careful to...")
123
+ - Deleting a correct instruction because one report was a false positive
124
+ - Changing style (wording, formatting) without functional justification
125
+ - Applying multiple unrelated fixes in one patch (split them)
126
+ - Acting on a report without verifying the evidence first
127
+
128
+ ## Output contract
129
+
130
+ Deliver:
131
+
132
+ - The applied patch with problem/evidence/rationale documented
133
+ - Verification that the skill reads correctly post-patch
134
+
135
+ ## Failure handling
136
+
137
+ - If the file changed under you (concurrent edit), re-read and re-plan the patch
138
+ - If the patch makes the skill worse on re-read, revert and try a different approach
139
+ - If evidence is ambiguous, explain why and stop rather than guessing
@@ -0,0 +1,196 @@
1
+ ---
2
+ name: visual-page
3
+ description: >
4
+ Proactively create a visual HTML page when plain text cannot effectively convey the information.
5
+ Use this skill when: the content involves diagrams (flowcharts, architecture, sequence diagrams),
6
+ data comparisons (tables, charts), timelines, interactive demos, visual layouts, or any scenario
7
+ where a simple webpage would communicate more clearly than markdown text.
8
+ Also use when the user explicitly asks for a visual page, a webpage, or says "show me" / "画个图" / "做个页面" / "可视化".
9
+ This skill should be used proactively by the model — do not wait for the user to ask.
10
+ descriptions:
11
+ zh-Hans: "在纯文本难以表达时主动创建可视化 HTML 页面,适用于图表、流程、时间线、交互演示和布局说明。"
12
+ displayNames:
13
+ zh-Hans: "可视化页面"
14
+ ---
15
+
16
+ # Visual Page Skill
17
+
18
+ ## Workflow
19
+
20
+ Create a self-contained local HTML page and deliver it to the user.
21
+
22
+ 1. Choose an output path:
23
+ - If the user specified an output path, use it.
24
+ - If the user provided an input file or directory and no output path, save the HTML next to the input when appropriate.
25
+ - Otherwise, create a descriptive `.html` file in the current workspace or a temp directory.
26
+ 2. Write one complete `index.html`-style document with all CSS and JavaScript inlined unless an external CDN library is genuinely useful (Tailwind, Chart.js, Mermaid, D3).
27
+ 3. Verify the page is valid enough to open directly in a browser: no missing local assets, no broken relative references, responsive layout.
28
+ 4. Send the file to the user: `<media type="file" src="/absolute/path/to/page.html" caption="Visual page" />`
29
+
30
+ When the user asks to revise or update a page, edit the existing HTML file directly so any previous references stay valid. If the previous file is unavailable, create a new one and mention it.
31
+
32
+ ---
33
+
34
+ ## Design Philosophy
35
+
36
+ **Aesthetics is the goal, not decoration.** A page that "works" but looks cheap is a failure. The reader's eyes judge in 2 seconds before reading a single word. Treat beauty as a non-negotiable requirement equal to data correctness.
37
+
38
+ **图表先行,文字辅助。** Charts, diagrams, and illustrations are the PRIMARY communication tool — they let readers grasp the point in seconds. Text exists to annotate details that visuals can't convey alone. When building a page, start from "what chart/diagram tells this story?" not "what paragraphs explain this?" If a section has 3+ paragraphs without a visual, you're doing it wrong — find the chart, flow, or illustration that replaces most of that text.
39
+
40
+ **Design for the reader.** You are guiding a human eye, not displaying your work. One H1, one core conclusion, F-pattern scanning. Empty space is a feature. Charts and inline SVG beat dense paragraphs for any structured comparison or hierarchy.
41
+
42
+ **Less is more.** Every element earns its place. No filler sections, no data slop (pointless stats/badges). When unsure between "add another card" or "let it breathe" — let it breathe.
43
+
44
+ ---
45
+
46
+ ## Rules
47
+
48
+ ### 1. Pick the page mode FIRST
49
+
50
+ | Mode | When | Background | Font |
51
+ |---|---|---|---|
52
+ | **Data UI** | Dashboards, charts, tables | `#fafafa` / white | Sans (Outfit) |
53
+ | **Long-read / Report** | Research, design docs, architecture pages | Warm cream `#f7f5f0` | Sans body + **serif headlines** (DM Serif Display) |
54
+ | **Terminal** | Code demos, log viewers | `#1a1a2e` (NEVER `#000`) | Mono-prominent |
55
+
56
+ Wrong-mode = ugly page. Research report on dark slate → dashboard look. Dashboard with serif → poster look.
57
+
58
+ ### 2. Color
59
+
60
+ **BANNED:** pure `#000`, purple/blue AI gradients, neon glows, oversaturated accents.
61
+
62
+ **Accent — pick ONE per page:**
63
+ - Data UI: `#10b981` / `#3b82f6` / `#f59e0b` / `#f43f5e` / `#6366f1`
64
+ - Report: `#2f6f5e` / `#c97b3f` / `#b06367`
65
+
66
+ Use at 5-10% opacity for backgrounds, 100% for headers/icons only.
67
+
68
+ **Report palette:** cream `#f7f5f0`, cards white + border `#e9e3d6`, text `#14171e` / `#3a4256` / `#7c7a72`. Optional: two corner radial gradients at 5% opacity.
69
+
70
+ ### 3. Typography
71
+
72
+ **BANNED fonts:** Inter, Roboto, Arial, Fraunces, system defaults.
73
+
74
+ **Use:** `Outfit` (sans), `JetBrains Mono` (mono), `DM Serif Display` (Report headlines only).
75
+
76
+ ```html
77
+ <link href="https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Outfit:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
78
+ ```
79
+
80
+ Report headlines: `font-serif text-3xl font-normal tracking-[-0.005em]`. Body always sans. Serif forbidden on Data UI.
81
+
82
+ ### 4. Layout
83
+
84
+ **BANNED:** 3 equal cards in a row, centered-everything heroes, `border-l-4` accent cards, `h-screen`.
85
+
86
+ **Use:** `max-w-5xl mx-auto px-6 md:px-8`, `space-y-16`, CSS Grid 12-column, `min-h-[100dvh]`. Mobile: single-column below 768px, no horizontal scroll.
87
+
88
+ ### 4.5 Density — CJK pages need tighter spacing
89
+
90
+ Most CSS frameworks assume Latin typography. CJK characters are square blocks with built-in
91
+ visual mass — copying Latin defaults (`line-height: 1.7+`, body `16-17px`, section gap `80px+`,
92
+ card padding `28-32px`) makes Chinese pages feel sparse, with the first screen showing only
93
+ a hero and one card.
94
+
95
+ Calibrate: **does the first screen communicate the core idea, or is it just hero + breathing room?**
96
+
97
+ Working ranges for CJK-heavy text (adjust by content, not hard rules):
98
+ - Body: 14–15px, line-height 1.5–1.65
99
+ - Headlines: H1 28–34px, H2 22–26px
100
+ - Section gaps: 40–56px
101
+ - Paragraph margin-bottom: 8–12px
102
+ - Card padding: 16–22px
103
+
104
+ Latin-only pages can be more generous. Mixed CJK + Latin follows the CJK side.
105
+
106
+ ### 5. Surfaces
107
+
108
+ `rounded-2xl`, `border border-zinc-200/50`. Diffusion shadows only: `shadow-[0_2px_8px_rgba(0,0,0,0.04)]` / `shadow-[0_4px_16px_-2px_rgba(0,0,0,0.06)]`. Hover: `hover:-translate-y-0.5 hover:shadow-md transition-all duration-200`.
109
+
110
+ ### 6. Icons & diagrams — inline SVG only
111
+
112
+ **No emoji as icons, no ASCII art (`┌─┐ │ ├─`) for diagrams.** Use inline SVG from [lucide.dev](https://lucide.dev) with `currentColor`, `stroke-width="2"`, `viewBox="0 0 24 24"`. One icon per section header max.
113
+
114
+ For diagrams: use the minimal patterns in §8, or Mermaid for 4+ nodes. Never box-drawing characters.
115
+
116
+ ### 7. Visualization — chart-first, pick the right renderer
117
+
118
+ **Default mindset:** every key point deserves a visual. Ask "what chart explains this?" before writing paragraphs. Text annotates what the visual can't show alone.
119
+
120
+ | Visual need | Renderer |
121
+ |---|---|
122
+ | Architecture / module layers | Inline SVG or CSS grid |
123
+ | Flowchart, process flow (≥4 nodes) | Mermaid |
124
+ | Flowchart, process flow (2-3 nodes) | Inline SVG or CSS cards + arrows |
125
+ | Pie / bar / line chart, time-series >8 points | Chart.js |
126
+ | Data comparison (2-8 rows) | CSS bench bars or `<table>` |
127
+ | Timeline / roadmap | CSS list with vertical rail |
128
+ | Key-value pairs ≤6 rows | CSS two-column grid |
129
+
130
+ **Rule:** don't import Chart.js / Mermaid for <5 data points or <4 nodes — hand-roll with CSS / inline SVG.
131
+
132
+ When using Chart.js, match the page typography: `font.family = "'Outfit'"`, muted gridlines (`borderColor = 'rgba(0,0,0,0.04)'`), `borderRadius: 6`.
133
+
134
+ ### 8. Minimal patterns
135
+
136
+ Three starting points for the most common shapes. Treat them as scaffolds, not constraints — adjust spacing, colors, structure to fit the page. CSS vars assume the Report palette (see §2).
137
+
138
+ **Bench bar (comparison row):**
139
+ ```html
140
+ <div class="bench"><span class="bench-label">Name</span><div class="bench-track"><div class="bench-fill" style="width:42%"></div></div><span class="bench-val">42%</span></div>
141
+ ```
142
+ ```css
143
+ .bench { display: grid; grid-template-columns: 140px 1fr 60px; gap: 12px; align-items: center; padding: 6px 0; }
144
+ .bench-track { height: 16px; background: var(--line-soft); border-radius: 6px; overflow: hidden; }
145
+ .bench-fill { height: 100%; background: var(--primary); border-radius: 6px; }
146
+ ```
147
+
148
+ **KV card (≤6 key-value rows):**
149
+ ```html
150
+ <dl class="kv"><dt>Key</dt><dd>Value</dd><dt>Key</dt><dd>Value</dd></dl>
151
+ ```
152
+ ```css
153
+ .kv { display: grid; grid-template-columns: 110px 1fr; row-gap: 10px; column-gap: 16px; margin: 0; }
154
+ .kv dt { color: var(--muted); border-bottom: 1px dashed var(--line); padding-bottom: 8px; }
155
+ .kv dd { margin: 0; border-bottom: 1px dashed var(--line); padding-bottom: 8px; }
156
+ ```
157
+
158
+ **Step timeline (vertical rail):**
159
+ ```html
160
+ <ol class="timeline"><li><strong>Step</strong><p>Detail.</p></li><li><strong>Step</strong><p>Detail.</p></li></ol>
161
+ ```
162
+ ```css
163
+ .timeline { list-style: none; padding: 0; margin: 0; position: relative; }
164
+ .timeline::before { content: ""; position: absolute; left: 8px; top: 6px; bottom: 6px; width: 2px; background: var(--primary); opacity: .35; }
165
+ .timeline li { position: relative; padding: 0 0 24px 32px; }
166
+ .timeline li::before { content: ""; position: absolute; left: 2px; top: 4px; width: 14px; height: 14px; border-radius: 50%; background: white; border: 2px solid var(--primary); }
167
+ ```
168
+
169
+ For architecture diagrams (boxes + arrows) and multi-node flows, hand-write inline SVG or use Mermaid — they vary too much to template.
170
+
171
+ ---
172
+
173
+ ## Anti-Slop Checklist
174
+
175
+ - [ ] 2-second test — first impression crafted, not generic?
176
+ - [ ] Reader gets core conclusion within one screen
177
+ - [ ] **Every key point has a visual** — no section with 3+ paragraphs and zero charts/diagrams
178
+ - [ ] **Renderer matched correctly** — structured data uses SVG/CSS/Chart.js
179
+ - [ ] Enough whitespace — if "full", remove a section
180
+ - [ ] Page mode picked correctly (not dark dashboard for a report)
181
+ - [ ] No `#000`, no AI gradients, no neon, no Inter/Roboto/Arial
182
+ - [ ] No emoji icons — inline SVG with `currentColor`
183
+ - [ ] No ASCII art diagrams — using CSS/SVG patterns
184
+ - [ ] No 3-equal-cards, no `border-l-4` accent cards
185
+ - [ ] Didn't import Chart.js/Mermaid for <5 data points
186
+ - [ ] No filler, no round-number stats, no banned copy ("Elevate", "Seamless")
187
+ - [ ] Mobile responsive, every interactive element has hover state
188
+ - [ ] Delivered as a local `.html` file via `<media />`
189
+
190
+ ---
191
+
192
+ ## Example Output
193
+
194
+ > Here's a visual page — much clearer than text:
195
+ >
196
+ > `<media type="file" src="/absolute/path/to/page.html" caption="Visual page" />`
@@ -0,0 +1,110 @@
1
+ ---
2
+ name: x-link-reader
3
+ description: "Read X/Twitter content from x.com or twitter.com URLs. Use when the user shares an X or Twitter link (tweet or profile) and asks about its content. Also use when webfetch fails on x.com with anti-bot errors. Bypasses X's anti-scraping via the FxTwitter API — no API key needed."
4
+ descriptions:
5
+ zh-Hans: "读取 x.com 或 Twitter 链接内容,在网页抓取失败或遇到反爬时通过 FxTwitter API 获取信息。"
6
+ ---
7
+
8
+ # X/Twitter Link Reader
9
+
10
+ X.com blocks direct HTTP fetching (returns anti-bot challenge pages). This skill
11
+ uses the open-source [FxTwitter](https://github.com/FixTweet/FxTweet) API to
12
+ retrieve tweet and profile data as structured JSON — free, no auth required.
13
+
14
+ ## When to use
15
+
16
+ - User shares a URL matching `x.com/*/status/*` or `twitter.com/*/status/*`
17
+ - User shares a profile URL like `x.com/username`
18
+ - User asks "what does this tweet say", "summarize this post", etc.
19
+ - `webfetch` on an `x.com` URL returns an error or empty page
20
+
21
+ ## Tweet: fetch a single post
22
+
23
+ Replace the domain with `api.fxtwitter.com` and fetch as **text**:
24
+
25
+ ```
26
+ Original: https://x.com/elonmusk/status/1234567890
27
+ Proxy: https://api.fxtwitter.com/elonmusk/status/1234567890
28
+ ```
29
+
30
+ Use `webfetch` with format `text` (the response is JSON):
31
+
32
+ ```
33
+ webfetch url="https://api.fxtwitter.com/{user}/status/{id}" format="text"
34
+ ```
35
+
36
+ ### Tweet response structure
37
+
38
+ ```jsonc
39
+ {
40
+ "code": 200,
41
+ "tweet": {
42
+ "url": "https://x.com/user/status/123",
43
+ "text": "The full tweet text",
44
+ "author": {
45
+ "name": "Display Name",
46
+ "screen_name": "handle",
47
+ "followers": 12345,
48
+ "avatar_url": "https://..."
49
+ },
50
+ "created_at": "Sun Apr 05 19:32:37 +0000 2026",
51
+ "replies": 20,
52
+ "retweets": 181,
53
+ "likes": 1424,
54
+ "views": 116843,
55
+ "lang": "en",
56
+ "replying_to": "other_user", // null if not a reply
57
+ "quoted_status_result": { ... }, // quoted tweet, if any
58
+ "media": {
59
+ "photos": [{ "url": "..." }],
60
+ "videos": [{ "url": "..." }]
61
+ },
62
+ "card": {
63
+ "url": "...",
64
+ "title": "...",
65
+ "description": "..."
66
+ }
67
+ }
68
+ }
69
+ ```
70
+
71
+ ## Profile: fetch user info
72
+
73
+ ```
74
+ webfetch url="https://api.fxtwitter.com/{username}" format="text"
75
+ ```
76
+
77
+ Returns user profile data including name, bio, follower/following counts, etc.
78
+
79
+ ## Translate a tweet
80
+
81
+ Append `/translate/{lang}` to the tweet path:
82
+
83
+ ```
84
+ webfetch url="https://api.fxtwitter.com/{user}/status/{id}/translate/zh" format="text"
85
+ ```
86
+
87
+ Supported language codes: `zh`, `en`, `ja`, `ko`, `es`, `fr`, `de`, etc.
88
+
89
+ ## Key fields to present
90
+
91
+ 1. **Author**: `tweet.author.name` (@`tweet.author.screen_name`)
92
+ 2. **Text**: `tweet.text`
93
+ 3. **Date**: `tweet.created_at`
94
+ 4. **Engagement**: likes, retweets, replies, views
95
+ 5. **Media**: photos/videos URLs if present
96
+ 6. **Card**: linked article title/description if present
97
+ 7. **Reply context**: who the tweet is replying to, if applicable
98
+
99
+ ## Limitations
100
+
101
+ - **Individual tweets and profiles only** — no timelines, search, or batch.
102
+ - **Public content only** — private/protected accounts return errors.
103
+ - **Deleted tweets** — the API returns an error; report this to the user.
104
+ - **No write operations** — read-only, cannot post or interact.
105
+
106
+ ## Rules
107
+
108
+ - Always use `api.fxtwitter.com`, never fetch `x.com` or `twitter.com` directly.
109
+ - This API is read-only and public — no API key or authentication needed.
110
+ - If the user just wants a tweet summary, present it concisely; don't dump raw JSON.