@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,175 @@
1
+ # bilingual-menu-premium
2
+
3
+ > Distilled from reference examples m17 (Sakura Omakase tasting menu) and a
4
+ > luxe refresh in 2026-04. Playwright HTML+CSS, A4 portrait, serif + two-
5
+ > column parallel layout with leader dots, Roman-numeral courses, monogram
6
+ > seal, sake-pairing sidebar, and CJK chop signature.
7
+
8
+ ## 1. When to use
9
+
10
+ - **EN keywords**: bilingual menu, restaurant menu, omakase, two-language
11
+ layout, serif, premium dining, JP/EN menu, fine-dining menu, prix-fixe
12
+ - **CN keywords**: 高端菜单、双语菜单、日料菜单、左右对照、餐厅菜单、和食、江戸前
13
+ - **Sample user asks**:
14
+ - "Generate a dinner menu for a high-end Japanese restaurant in
15
+ Manhattan, JP left + EN right, three categories, per-item prices."
16
+ - "Make a high-end Japanese omakase menu, bilingual side-by-side,
17
+ serif typography, three categories."
18
+
19
+ ## 2. Pipeline
20
+
21
+ **Playwright (headless Chromium) + HTML/CSS to PDF.** Renders via
22
+ `bash scripts/make.sh render --in page.html --out menu.pdf`.
23
+
24
+ Why HTML+CSS over the (now-removed) token pipeline: menus need very high
25
+ visual density and precise typography (serif + generous whitespace +
26
+ tabular numbers + leader dots). CSS Grid handles column widths with
27
+ pixel precision; Playwright's @font-face + `document.fonts.ready`
28
+ (handled by `render_html.cjs`) eliminates the web-font race.
29
+
30
+ Font cascade (verified in production): `Cormorant Garamond` →
31
+ `Hiragino Mincho ProN` (macOS native) → `Noto Serif JP` (Google Fonts,
32
+ cross-platform) → `Yu Mincho` → `Songti SC` (CJK fallback).
33
+ Sans-serif accents (eyebrow tags, prices, pairing labels) use `Inter`.
34
+
35
+ ## 3. Document shape
36
+
37
+ - **Page size**: A4 portrait (595 × 842 pt). Switch to Letter via
38
+ `@page { size: Letter portrait }` if shipping to US-only audiences.
39
+ - **Pages**: typically 1–2 (4 courses × 2 dishes ≈ 1 page; 6+ courses
40
+ with descriptions push to 2 pages).
41
+ - **Margins**: 14 mm top/bottom, 16 mm left/right (`@page` rule).
42
+ - **Columns**: two-column grid `1fr 1fr`, gap 14 pt, JP on the left,
43
+ EN on the right, hairline divider in between.
44
+ - **Sections**: monogram + wordmark + tagline → double-rule → prix-fixe
45
+ block → repeating course (Roman-numeral + JP title + romaji subtitle,
46
+ then dish rows, optional sake-pairing sidebar) → chef's note with
47
+ signature + red seal → 3-column footer (address / website / contact)
48
+ + fine-print band.
49
+
50
+ ## 4. Visual params
51
+
52
+ **Palette** (CSS variables on `:root` — swap once, the whole document
53
+ re-skins):
54
+
55
+ - `--paper #faf6ed` cream paper (use `#fff` for "white-paper formal")
56
+ - `--ink #1a1814` near-black body
57
+ - `--ink-2 #3d3528` / `--ink-3 #6b5e48` graded muted text
58
+ - `--gold #9a7434` accent (course numerals, prices, eyebrow, pairing rule)
59
+ - `--gold-2 #c5a866` decorative hairlines (double rule, leader dots)
60
+ - `--hairline #dcc89a` row dividers
61
+ - `--seal #a82828` chef's chop (CJK red square)
62
+
63
+ **Typography**:
64
+
65
+ - Wordmark: 30 pt 500-weight Cormorant Garamond, letter-spacing `.55em`
66
+ - Course title (JP): 13 pt Hiragino Mincho letter-spacing `.14em`
67
+ - Course numeral (Roman): 12 pt italic Cormorant in `--gold`
68
+ - Course subtitle (EN romaji): 7 pt 500 Inter uppercase letter-spacing `.42em`
69
+ - Dish JP name 10.5 pt 600 / EN name 11 pt italic 500
70
+ - Dish description JP 8.5 pt / EN 9 pt
71
+ - Price 9.5 pt Inter `tabular-nums` in `--gold` (or `included` in tiny caps)
72
+ - Eyebrow / fineprint 7.5 pt / 6 pt Inter uppercase letter-spacing `.42em`
73
+
74
+ **Premium-feel components in the skeleton**:
75
+
76
+ | Component | What it is | Class / element |
77
+ | --- | --- | --- |
78
+ | Monogram | Single-letter inline SVG inside a 2-ring badge | `.monogram svg` |
79
+ | Double rule | Two parallel hairlines with 2 pt gap | `.double-rule` |
80
+ | Roman-numeral course | `I.` / `II.` / `III.` italic gold | `.course-head .num` |
81
+ | Letterspaced eyebrow | Small uppercase Inter `letter-spacing: .42em` | `.tagline`, `.lbl`, `.head` |
82
+ | Leader dots | Dotted line between dish name and price | `.en .leader` |
83
+ | Tabular-nums prices | `font-variant-numeric: tabular-nums` for column align | `.en .price` |
84
+ | Pairing sidebar | Left-rule callout with light gold tint | `.pairing` |
85
+ | Chef's chop | CJK character on red square, slight tilt | `.signature .seal` |
86
+ | 3-col footer | Address · website · contact, then fineprint band | `footer` grid |
87
+
88
+ ## 5. Skeleton
89
+
90
+ See [`skeleton.html`](skeleton.html) (~210 lines self-contained, embedded
91
+ `<style>`, all real content stubbed as `<!-- PLACEHOLDER -->`).
92
+
93
+ **Quick start**:
94
+
95
+ ```bash
96
+ cp templates/bilingual-menu-premium/skeleton.html /tmp/menu/page.html
97
+ $EDITOR /tmp/menu/page.html # replace every <!-- ... --> placeholder
98
+ bash scripts/make.sh render --in /tmp/menu/page.html --out /tmp/menu/out.pdf
99
+ pdfinfo /tmp/menu/out.pdf | grep Pages
100
+ ```
101
+
102
+ ## 6. Pitfalls
103
+
104
+ - **Web-font race condition**: `render_html.cjs` waits for
105
+ `document.fonts.ready` automatically (15 s cap), but
106
+ `Cormorant + Inter + Noto Serif JP` is a 3-font cold-load. If the
107
+ output Helvetica's the body, bump `--wait` to `2000`+.
108
+ - **CJK tofu / mojibake**: when the host has no Hiragino, Noto Serif JP
109
+ is the safety net (loaded via Google Fonts in the skeleton). For
110
+ air-gapped machines, vendor `NotoSerifJP-*.woff2` to
111
+ `assets/fonts/` and switch the `<link>` to a relative `@font-face`.
112
+ - **JP/EN parity**: when a JP description exceeds 8 characters, the EN
113
+ side must carry equivalent content. m17 iter6 had Aji / Zuke Akami
114
+ entries fall out of parity; the critic flagged P1.
115
+ - **Sparse last page**: 4 courses × 2 dishes is comfortable for 1 page;
116
+ 6 courses pushes to 2. If the second page is < 1/3 full, expand the
117
+ chef's note or add a separate "wine list" section.
118
+ - **Leader-dot height drift**: the dots use
119
+ `transform: translateY(-2pt)` to align with the baseline. If you
120
+ change the EN name font-size, tweak the `translateY` to keep the dots
121
+ centered between the descender and the price.
122
+ - **Monogram letter spacing**: the wordmark uses `letter-spacing: .55em`
123
+ with a `margin-left: .55em` compensator so the visually-centered title
124
+ sits true-center under the monogram. Don't drop the compensator.
125
+
126
+ ## 7. Generalization
127
+
128
+ **Required placeholders**:
129
+
130
+ - `RESTAURANT_NAME`, `MONOGRAM_LETTER` (1 char for the badge)
131
+ - `ESTABLISHED_YEAR`, `LOCATION_LINE`, `DATE_MONTH_YEAR`
132
+ - `PRICE_LABEL`, `PRICE_AMT`, `PRICE_NOTE`
133
+ - Per course: `COURSE_NUM` (`I.` / `II.` / …), `CATEGORY_JP`,
134
+ `CATEGORY_ROMAJI`, `CATEGORY_EN_SUBTITLE`
135
+ - Per dish: `DISH_NAME_JP`, `DISH_KANA_JP`, `DISH_DESC_JP`,
136
+ `DISH_NAME_EN`, `PRICE` (or use `class="price included"` for
137
+ fixed-menu courses), `DISH_DESC_EN`
138
+ - Closing: `CLOSING_TITLE`, `CHEF_PHILOSOPHY_OR_SOURCING_NOTE`,
139
+ `CHEF_SIGNATURE`, `SEAL_CHAR` (1–2 CJK chars)
140
+ - Footer: `FOOTER_LEFT`, `FOOTER_CENTER`, `FOOTER_RIGHT`,
141
+ `HEALTH_DISCLAIMER`, `GRATUITY_NOTE`, `TAX_NOTE`
142
+
143
+ **Optional / swappable**:
144
+
145
+ - Pairing sidebar (drop the `.pairing` div if no wine/sake list).
146
+ - Cuisine (omakase generalises to kaiseki / French tasting / Italian
147
+ prix-fixe — keep the columns, adjust `CATEGORY_JP/ROMAJI`).
148
+ - Language pair (JP/EN baseline — swap to JP/CN, KR/EN, or FR/EN; the
149
+ grid is language-agnostic).
150
+ - Palette via `:root` CSS variables. Quick re-skin presets:
151
+
152
+ | Mood | --paper | --gold | --seal |
153
+ | --- | --- | --- | --- |
154
+ | Classic Japanese (default) | `#faf6ed` cream | `#9a7434` deep gold | `#a82828` red |
155
+ | White-paper formal | `#ffffff` | `#1a3a5c` navy | `#1a3a5c` navy |
156
+ | Italian trattoria | `#fdf6e3` | `#7a5236` terracotta | `#5a7d3a` olive |
157
+ | French bistro | `#f7f3ec` | `#3a3a3a` graphite | `#9a2828` claret |
158
+ | Modern monochrome | `#fafafa` | `#222` graphite | `#222` graphite |
159
+
160
+ **Structural invariants** (do not change — they are what make the doc
161
+ read as "premium"):
162
+
163
+ - Two-column grid with a hairline border between left and right.
164
+ - `break-inside: avoid` on rows, course sections, pairing, closing,
165
+ footer to prevent mid-element page splits.
166
+ - Centered course titles with wide letter-spacing (≥ `.14em`).
167
+ - 0.25 pt dotted dish-row separator (any thicker reads as "form").
168
+ - Roman numerals for course numbering (Arabic numbers feel transactional).
169
+
170
+ **Diversify every run.** Treat the §4 baseline (cream + gold + Hiragino
171
+ Mincho + Cormorant Garamond) as a sanity check, not the default answer.
172
+ Adapt the palette, typography, language pair, and cuisine to the user's
173
+ restaurant brand, cuisine style, location, and mood — two back-to-back
174
+ menu generations for different restaurants should NOT both come back
175
+ cream/gold unless the user explicitly asked for that look.
@@ -0,0 +1,343 @@
1
+ <!doctype html>
2
+ <!--
3
+ bilingual-menu-premium · skeleton (luxe edition)
4
+ ------------------------------------------------
5
+ Drop in via `bash make.sh render --in page.html --out menu.pdf`.
6
+
7
+ PLACEHOLDERS (replace before render):
8
+ RESTAURANT_NAME · MONOGRAM_LETTER (single char for the wordmark seal)
9
+ ESTABLISHED_YEAR · LOCATION_LINE · DATE_MONTH_YEAR
10
+ PRICE_LABEL · PRICE_AMT · PRICE_NOTE
11
+ Per course: COURSE_NUM (I./II./III./IV.) · CATEGORY_JP · CATEGORY_ROMAJI ·
12
+ CATEGORY_EN_SUBTITLE
13
+ Per dish: DISH_NAME_JP · DISH_KANA_JP · DISH_DESC_JP ·
14
+ DISH_NAME_EN · PRICE (or "included") · DISH_DESC_EN
15
+ Optional pairing: PAIRING_LABEL · PAIRING_TEXT
16
+ Closing: CLOSING_TITLE · CHEF_PHILOSOPHY_OR_SOURCING_NOTE ·
17
+ CHEF_SIGNATURE · SEAL_CHAR (1-2 CJK chars for the red chop)
18
+ Footer: FOOTER_LEFT · FOOTER_CENTER (website) · FOOTER_RIGHT ·
19
+ HEALTH_DISCLAIMER · GRATUITY_NOTE · TAX_NOTE
20
+ -->
21
+ <html lang="ja">
22
+ <head>
23
+ <meta charset="utf-8">
24
+ <title><!-- RESTAURANT_NAME --> · <!-- DESCRIPTOR --></title>
25
+ <link rel="preconnect" href="https://fonts.googleapis.com">
26
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
27
+ <link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@400;500;600&family=Noto+Serif+JP:wght@400;500;600&display=swap" rel="stylesheet">
28
+ <style>
29
+ /* ============================================================
30
+ A4 portrait, 14mm top/bottom · 16mm left/right
31
+ Bilingual columns + leader dots + Roman-numeral sections + single-rule print aesthetic
32
+ ============================================================ */
33
+ @page { size: A4 portrait; margin: 14mm 16mm; }
34
+ * { box-sizing: border-box; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
35
+
36
+ :root {
37
+ --paper: #faf6ed; /* Off-white paper; change to #fff for an elegant white-paper look */
38
+ --ink: #1a1814; /* Ink black */
39
+ --ink-2: #3d3528; /* Secondary text */
40
+ --ink-3: #6b5e48; /* Notes/Roman numerals */
41
+ --gold: #9a7434; /* Dark gold accent */
42
+ --gold-2: #c5a866; /* Pale gold decorative rules */
43
+ --hairline: #dcc89a; /* Hairline divider */
44
+ --seal: #a82828; /* Seal red */
45
+ }
46
+
47
+ html, body {
48
+ margin: 0; padding: 0;
49
+ background: var(--paper); color: var(--ink);
50
+ font-family: "Cormorant Garamond", "Hiragino Mincho ProN", "Noto Serif JP",
51
+ "Yu Mincho", "Songti SC", serif;
52
+ font-size: 9.5pt; line-height: 1.45;
53
+ -webkit-font-smoothing: antialiased;
54
+ }
55
+
56
+ /* ── Brand monogram + wordmark ────────────────────────────── */
57
+ header.brand { text-align: center; padding-top: 2mm; }
58
+ .monogram { width: 28pt; height: 28pt; margin: 0 auto 4pt; display: block; }
59
+ header.brand .name {
60
+ font-family: "Cormorant Garamond", serif;
61
+ font-size: 30pt; font-weight: 500; letter-spacing: .55em;
62
+ margin: 0 0 5pt 0.55em; /* Optically adjusted letter spacing */
63
+ color: var(--ink);
64
+ }
65
+ header.brand .tagline {
66
+ font-family: "Inter", sans-serif;
67
+ font-size: 7.5pt; letter-spacing: .42em; font-weight: 500;
68
+ color: var(--gold); text-transform: uppercase;
69
+ }
70
+ header.brand .tagline .sep { margin: 0 8pt; color: var(--gold-2); letter-spacing: 0; }
71
+
72
+ /* Double-rule divider, common in premium print */
73
+ .double-rule {
74
+ margin: 6pt auto 8pt; max-width: 60mm;
75
+ border-top: 0.6pt solid var(--gold-2);
76
+ border-bottom: 0.6pt solid var(--gold-2);
77
+ height: 2.2pt;
78
+ }
79
+
80
+ /* ── Prix-fixe block ────────────────────────────────────── */
81
+ .prix-fixe {
82
+ text-align: center; max-width: 90mm; margin: 0 auto 10pt;
83
+ padding: 5pt 0;
84
+ border-top: 0.4pt solid var(--gold);
85
+ border-bottom: 0.4pt solid var(--gold);
86
+ }
87
+ .prix-fixe .lbl {
88
+ font-family: "Inter", sans-serif;
89
+ font-size: 7.5pt; letter-spacing: .42em; text-transform: uppercase;
90
+ color: var(--gold); font-weight: 500;
91
+ }
92
+ .prix-fixe .amt {
93
+ font-family: "Cormorant Garamond", serif;
94
+ font-size: 22pt; font-weight: 500; letter-spacing: .04em;
95
+ color: var(--ink); margin-top: 2pt;
96
+ }
97
+ .prix-fixe .note {
98
+ font-size: 8.5pt; font-style: italic; color: var(--ink-3); margin-top: 1pt;
99
+ }
100
+
101
+ /* ── Course section ─────────────────────────────────────── */
102
+ section.course { margin-top: 8pt; break-inside: auto; }
103
+ .course-head {
104
+ display: grid; grid-template-columns: auto 1fr auto;
105
+ align-items: end; gap: 10pt; margin-bottom: 5pt;
106
+ padding-bottom: 3pt; border-bottom: 0.4pt solid var(--hairline);
107
+ break-after: avoid;
108
+ }
109
+ .course-head .num {
110
+ font-family: "Cormorant Garamond", serif;
111
+ font-size: 12pt; font-style: italic; color: var(--gold);
112
+ letter-spacing: .04em; min-width: 20pt;
113
+ }
114
+ .course-head .title {
115
+ font-family: "Hiragino Mincho ProN", "Noto Serif JP", serif;
116
+ font-size: 13pt; letter-spacing: .14em; color: var(--ink);
117
+ }
118
+ .course-head .romaji {
119
+ font-family: "Inter", sans-serif;
120
+ font-size: 7pt; letter-spacing: .42em; color: var(--gold);
121
+ text-transform: uppercase; text-align: right; padding-bottom: 1pt;
122
+ }
123
+
124
+ /* ── Dish row (bilingual columns + leader dots) ────────────── */
125
+ .row {
126
+ display: grid; grid-template-columns: 1fr 1fr;
127
+ column-gap: 14pt; padding: 4pt 0;
128
+ border-bottom: 0.25pt dotted var(--hairline);
129
+ break-inside: avoid;
130
+ }
131
+ section.course .row:last-child { border-bottom: none; }
132
+
133
+ /* JP column */
134
+ .ja .name {
135
+ font-family: "Hiragino Mincho ProN", "Noto Serif JP", serif;
136
+ font-size: 10.5pt; font-weight: 600; color: var(--ink);
137
+ }
138
+ .ja .kana {
139
+ font-family: "Hiragino Mincho ProN", serif;
140
+ font-size: 7.5pt; color: var(--ink-3); margin-left: 6pt; letter-spacing: .12em;
141
+ }
142
+ .ja .desc {
143
+ font-family: "Hiragino Mincho ProN", "Noto Serif JP", serif;
144
+ font-size: 8.5pt; color: var(--ink-2); margin-top: 1pt; line-height: 1.5;
145
+ }
146
+
147
+ /* EN column */
148
+ .en { padding-left: 12pt; border-left: 0.3pt solid var(--hairline); }
149
+ .en .name-line {
150
+ display: grid; grid-template-columns: auto 1fr auto;
151
+ align-items: baseline; gap: 4pt;
152
+ }
153
+ .en .name {
154
+ font-family: "Cormorant Garamond", serif;
155
+ font-size: 11pt; font-style: italic; font-weight: 500; color: var(--ink);
156
+ }
157
+ .en .leader { /* Classic menu leader dots */
158
+ border-bottom: 0.4pt dotted var(--gold-2);
159
+ transform: translateY(-2pt); height: 1px;
160
+ }
161
+ .en .price {
162
+ font-family: "Inter", sans-serif;
163
+ font-size: 9.5pt; font-variant-numeric: tabular-nums;
164
+ color: var(--gold); letter-spacing: .04em; font-weight: 500;
165
+ white-space: nowrap;
166
+ }
167
+ .en .price.included {
168
+ font-style: italic; font-size: 7.5pt; letter-spacing: .25em;
169
+ text-transform: uppercase; color: var(--ink-3); font-weight: 400;
170
+ }
171
+ .en .desc {
172
+ font-family: "Cormorant Garamond", serif;
173
+ font-size: 9pt; color: var(--ink-2); margin-top: 1pt; line-height: 1.55;
174
+ }
175
+
176
+ /* ── Wine / sake pairing block (sidebar) ──────────────── */
177
+ .pairing {
178
+ margin: 6pt 0 0; padding: 4pt 8pt;
179
+ background: rgba(154,116,52,0.06);
180
+ border-left: 1.5pt solid var(--gold);
181
+ font-family: "Inter", sans-serif;
182
+ font-size: 7.5pt; letter-spacing: .04em; color: var(--ink-2);
183
+ break-inside: avoid;
184
+ }
185
+ .pairing .lbl {
186
+ color: var(--gold); font-weight: 600; letter-spacing: .25em;
187
+ text-transform: uppercase; margin-right: 5pt;
188
+ }
189
+
190
+ /* ── Closing / chef's note ─────────────────────────────── */
191
+ section.closing {
192
+ margin-top: 10pt; padding: 6pt 12pt 4pt;
193
+ border-top: 0.4pt solid var(--gold);
194
+ border-bottom: 0.4pt solid var(--gold);
195
+ break-inside: avoid;
196
+ }
197
+ .closing .head {
198
+ text-align: center;
199
+ font-family: "Inter", sans-serif;
200
+ font-size: 7.5pt; letter-spacing: .42em; text-transform: uppercase;
201
+ color: var(--gold); font-weight: 500; margin-bottom: 3pt;
202
+ }
203
+ .closing p {
204
+ font-family: "Cormorant Garamond", serif;
205
+ font-size: 9pt; line-height: 1.55; color: var(--ink-2);
206
+ margin: 0 0 3pt; text-align: center; font-style: italic;
207
+ }
208
+ .closing .signature {
209
+ text-align: right; margin-top: 4pt; font-style: italic;
210
+ font-size: 8.5pt; color: var(--ink-3); letter-spacing: .04em;
211
+ }
212
+ .closing .signature .seal { /* CJK seal style */
213
+ display: inline-block; width: 13pt; height: 13pt; margin-left: 5pt;
214
+ background: var(--seal); color: var(--paper);
215
+ font-family: "Hiragino Mincho ProN", serif;
216
+ font-size: 7pt; line-height: 13pt; text-align: center;
217
+ transform: translateY(2pt) rotate(-3deg); font-style: normal;
218
+ border-radius: 1pt;
219
+ }
220
+
221
+ /* ── Footer (two lines of fine text for a business aesthetic) ── */
222
+ footer {
223
+ margin-top: 8pt; padding-top: 5pt;
224
+ border-top: 0.4pt solid var(--gold-2);
225
+ display: grid; grid-template-columns: 1fr auto 1fr;
226
+ gap: 10pt; align-items: center;
227
+ font-family: "Inter", sans-serif;
228
+ font-size: 6.5pt; letter-spacing: .15em;
229
+ color: var(--ink-3); text-transform: uppercase;
230
+ break-inside: avoid;
231
+ }
232
+ footer .l { text-align: left; }
233
+ footer .c {
234
+ font-family: "Cormorant Garamond", serif;
235
+ font-style: italic; font-size: 8pt; color: var(--gold);
236
+ letter-spacing: .04em; text-transform: none;
237
+ }
238
+ footer .r { text-align: right; }
239
+ footer .fineprint {
240
+ grid-column: 1 / -1; margin-top: 3pt; padding-top: 3pt;
241
+ border-top: 0.25pt dotted var(--hairline);
242
+ font-size: 6pt; letter-spacing: .08em; color: var(--ink-3);
243
+ text-align: justify; text-transform: none; line-height: 1.55;
244
+ }
245
+ footer .fineprint .star { color: var(--gold); font-weight: 600; margin-right: 2pt; }
246
+
247
+ /* === Screen-emulation: open in browser → looks like the A4 PDF =========== */
248
+ @media screen {
249
+ html { background: #d0d0d0; }
250
+ body { margin: 0; padding: 20px 0; }
251
+ body > section {
252
+ width: 210mm; min-height: 297mm; margin: 0 auto 20px;
253
+ background: #fff; box-shadow: 0 4px 24px rgba(0,0,0,0.18);
254
+ box-sizing: border-box; overflow: hidden;
255
+ }
256
+ }
257
+ </style>
258
+ </head>
259
+ <body>
260
+
261
+ <!-- ============== HEADER ============== -->
262
+ <header class="brand">
263
+ <!-- Monogram: replace MONOGRAM_LETTER with the restaurant's initial. -->
264
+ <svg class="monogram" viewBox="0 0 60 60">
265
+ <circle cx="30" cy="30" r="28" fill="none" stroke="#9a7434" stroke-width="0.8"/>
266
+ <circle cx="30" cy="30" r="24" fill="none" stroke="#c5a866" stroke-width="0.4"/>
267
+ <text x="30" y="40" text-anchor="middle"
268
+ font-family="Cormorant Garamond, serif" font-size="26"
269
+ font-style="italic" fill="#9a7434"><!-- MONOGRAM_LETTER --></text>
270
+ </svg>
271
+ <div class="name"><!-- RESTAURANT_NAME --></div>
272
+ <div class="tagline">
273
+ EST. <!-- ESTABLISHED_YEAR --> <span class="sep">·</span>
274
+ <!-- LOCATION_LINE --> <span class="sep">·</span>
275
+ <!-- DATE_MONTH_YEAR -->
276
+ </div>
277
+ </header>
278
+
279
+ <div class="double-rule"></div>
280
+
281
+ <div class="prix-fixe">
282
+ <div class="lbl"><!-- PRICE_LABEL --></div>
283
+ <div class="amt"><!-- PRICE_AMT --></div>
284
+ <div class="note"><!-- PRICE_NOTE --></div>
285
+ </div>
286
+
287
+ <!-- ============== REPEAT FOR EACH COURSE ============== -->
288
+ <section class="course">
289
+ <div class="course-head">
290
+ <span class="num"><!-- COURSE_NUM --></span>
291
+ <span class="title"><!-- CATEGORY_JP --></span>
292
+ <span class="romaji"><!-- CATEGORY_ROMAJI --> &middot; <!-- CATEGORY_EN_SUBTITLE --></span>
293
+ </div>
294
+
295
+ <!-- REPEAT FOR EACH DISH IN THIS COURSE: -->
296
+ <div class="row">
297
+ <div class="ja">
298
+ <span class="name"><!-- DISH_NAME_JP --></span>
299
+ <span class="kana"><!-- DISH_KANA_JP --></span>
300
+ <div class="desc"><!-- DISH_DESC_JP --></div>
301
+ </div>
302
+ <div class="en">
303
+ <div class="name-line">
304
+ <span class="name"><!-- DISH_NAME_EN --></span>
305
+ <span class="leader"></span>
306
+ <span class="price"><!-- PRICE --></span>
307
+ <!-- For "included" courses: <span class="price included">included</span> -->
308
+ </div>
309
+ <div class="desc"><!-- DISH_DESC_EN --></div>
310
+ </div>
311
+ </div>
312
+ <!-- /REPEAT dish -->
313
+
314
+ <!-- Optional pairing block (drop if not needed): -->
315
+ <div class="pairing">
316
+ <span class="lbl"><!-- PAIRING_LABEL --></span><!-- PAIRING_TEXT -->
317
+ </div>
318
+ </section>
319
+ <!-- /REPEAT course -->
320
+
321
+ <!-- ============== CLOSING ============== -->
322
+ <section class="closing">
323
+ <div class="head"><!-- CLOSING_TITLE --></div>
324
+ <p><!-- CHEF_PHILOSOPHY_OR_SOURCING_NOTE --></p>
325
+ <div class="signature">
326
+ — <!-- CHEF_SIGNATURE --> <span class="seal"><!-- SEAL_CHAR --></span>
327
+ </div>
328
+ </section>
329
+
330
+ <!-- ============== FOOTER ============== -->
331
+ <footer>
332
+ <div class="l"><!-- FOOTER_LEFT --></div>
333
+ <div class="c"><!-- FOOTER_CENTER --></div>
334
+ <div class="r"><!-- FOOTER_RIGHT --></div>
335
+ <div class="fineprint">
336
+ <span class="star">★</span> <!-- HEALTH_DISCLAIMER -->
337
+ <!-- GRATUITY_NOTE -->
338
+ <!-- TAX_NOTE -->
339
+ </div>
340
+ </footer>
341
+
342
+ </body>
343
+ </html>
@@ -0,0 +1,140 @@
1
+ # brand-guide-2page
2
+
3
+ > Distilled from reference examples m19 (MiniMax brand guide). Playwright
4
+ > HTML+CSS, **exactly 2 pages**, A4 portrait, sans-serif + multi-block
5
+ > grid.
6
+
7
+ ## 1. When to use
8
+
9
+ - **EN keywords**: brand guide, style guide, visual identity, brand
10
+ book, design system, brand standards, 2-page identity
11
+ - **CN keywords**: 品牌指南、风格指南、品牌手册、视觉识别、设计系统、品牌册、2 页品牌
12
+ - **Sample user asks**:
13
+ - "Generate a 2-page brand style guide for our company in PDF format."
14
+ - "Make a 2-page PDF brand guide with logo, palette, type, do's & don'ts."
15
+
16
+ ## 2. Pipeline
17
+
18
+ **Playwright HTML+CSS to PDF.** Does NOT use the token pipeline.
19
+
20
+ Why: brand guides have very high visual density (color blocks, logos,
21
+ type specimens, gradients). HTML+CSS gives pixel-precise color
22
+ fidelity, inline SVG embedding, and `@page` A4 hard pagination. The
23
+ token pipeline cannot express the strict 2-page split.
24
+
25
+ Architecture: a single `brand-guide.html` (CSS embedded inside `<style>`)
26
+ + local/data-URI logo asset + optional `assets/fonts/` -> Playwright sync -> PDF.
27
+
28
+ ## 3. Document shape
29
+
30
+ Exactly two A4 portrait pages (210 x 297 mm), 15 mm margins.
31
+
32
+ - **Page 1 (Identity)**: header (lockup + title) -> logo block (lockup +
33
+ clearspace spec) -> color palette (six chips) -> typography (5-step
34
+ scale: H1/H2/H3/Body/Caption) -> footer.
35
+ - **Page 2 (Voice & Application)**: header (running title) -> voice
36
+ pillars (3 cards) -> tagline lockup (display type + usage) -> Do's &
37
+ Don'ts (4 do / 7 don't, two columns) -> footer.
38
+
39
+ Grid: 12 columns + 6 mm gutter; 8 mm gap between blocks. The page-2
40
+ footer uses `margin-top: auto` to pin to the bottom.
41
+
42
+ ## 4. Visual params
43
+
44
+ **Palette** (every hex is a CSS variable, override at will):
45
+ - Charcoal `#181E25` (body text / wordmark)
46
+ - Surface `#F7F8FA` (page background / cards)
47
+ - Brand primary `<!-- BRAND_PRIMARY -->` (accent 1)
48
+ - Brand secondary `<!-- BRAND_SECONDARY -->` (accent 2)
49
+ - Muted `#5A6470` (secondary text / timestamps)
50
+ - Rule `#E2E5EA` (hairline dividers)
51
+
52
+ **Typography** (verified pairing — leave the CJK fallback alone):
53
+ - Display: `Outfit, system-ui, sans-serif` (H1 / H2 / numbers / labels)
54
+ - Body: `Poppins, system-ui, sans-serif` (body / captions)
55
+ - Sizes: H1 48/56, H2 32/40, H3 20/28, Body 12/18, Caption 10/14
56
+ - Tagline: 38pt + linear-gradient text fill
57
+
58
+ **@page**:
59
+
60
+ ```css
61
+ @page { size: A4 portrait; margin: 15mm; }
62
+ .page { page-break-after: always; height: calc(297mm - 30mm); }
63
+ .page:last-of-type { page-break-after: auto; }
64
+ .page[data-page="2"] .footer { margin-top: auto; } /* pin bottom */
65
+ ```
66
+
67
+ ## 5. Skeleton
68
+
69
+ See [`skeleton.html`](skeleton.html) (~180 lines self-contained, CSS
70
+ variables drive the palette, the logo is left as an inline SVG slot).
71
+
72
+ **Case exemplar:** for a complete website-to-brand-guide workflow using the current MiniMax site, real logo asset, portable data-URI source, render command, and verification gates, read [`cases/minimax-web-brand-guide/README.md`](cases/minimax-web-brand-guide/README.md). Editable source: [`cases/minimax-web-brand-guide/source.html`](cases/minimax-web-brand-guide/source.html).
73
+
74
+ **Important:** case HTML is a reference exemplar, not a deliverable shortcut. For any user-requested website brand guide, independently explore the live website first (HTML, linked CSS, visible copy, logo/image assets, product/navigation structure, and screenshots when useful), then author a fresh/meaningfully adapted guide. Do not directly copy the case `source.html` or ship a lightly patched case output; use it only for layout patterns, pagination math, and verification examples.
75
+
76
+ **Quick start**:
77
+
78
+ ```bash
79
+ cp templates/brand-guide-2page/skeleton.html /tmp/brand/page.html
80
+ # Edit the :root CSS variables --primary / --secondary.
81
+ # Edit <!-- BRAND_NAME --> / <!-- BRAND_LOGO_SVG --> / <!-- BRAND_TAGLINE -->.
82
+ bash scripts/make.sh render --in /tmp/brand/page.html --out /tmp/brand/out.pdf --format A4 --wait 1200
83
+ # Strict 2 pages: pdfinfo /tmp/brand/out.pdf | grep Pages must report 2.
84
+ ```
85
+
86
+ ## 6. Pitfalls (from m19 production)
87
+
88
+ - **CJK font fallback**: a system Helvetica/Arial fallback destroys
89
+ wordmark identity. Embed Outfit + Poppins via `@font-face` from local
90
+ files (do not depend on a CDN — it breaks offline / under VPN
91
+ switching). Keep `system-ui` only as the very last fallback.
92
+ - **SVG logo embedding**: inline `<svg>...</svg>` or
93
+ `data:image/svg+xml;base64,...` is the only stable form. `file://`
94
+ paths can intermittently fail in headless Chromium — prefer inline.
95
+ - **@page A4 sizing**: use `@page { size: A4 portrait }`; never hardcode
96
+ pixels. Content area = `297mm - 30mm = 267mm`. The last section must
97
+ fit, otherwise pin the footer with `margin-top: auto`.
98
+ - **Exact 2 pages**: every `.page` needs `page-break-after: always`.
99
+ Verify with `pdfinfo out.pdf | grep Pages` (must equal 2). More or
100
+ fewer pages means a section did not fit cleanly.
101
+ - **Print color fidelity**: html / body need
102
+ `-webkit-print-color-adjust: exact; print-color-adjust: exact;`,
103
+ otherwise Chromium screen-optimises the colors and the printed swatches
104
+ drift.
105
+
106
+ ## 7. Generalization
107
+
108
+ **Required placeholders**:
109
+ - `<!-- BRAND_NAME -->` company / product name (1-20 characters)
110
+ - `--primary: <!-- BRAND_PRIMARY -->` hex color (CSS variable)
111
+ - `--secondary: <!-- BRAND_SECONDARY -->` hex color
112
+ - `<!-- BRAND_LOGO_SVG -->` inline SVG (200-400 characters)
113
+ - `<!-- BRAND_TAGLINE -->` slogan (3-10 words)
114
+
115
+ **Optional**:
116
+ - Number of palette swatches (4-8 ok).
117
+ - Voice-pillar cards (2-5 ok).
118
+ - Do/Don't ratio (4 / 7 is the baseline; 3-8 each is reasonable).
119
+ - Fonts (Outfit + Poppins is the baseline; switching fonts changes the
120
+ wordmark feel as well).
121
+
122
+ **Structural invariants** (changing these breaks the layout):
123
+ - `@page` rules: A4 portrait, 15 mm margins, page-break-after on `.page`.
124
+ - Grid: 12 columns, 6 mm gutter, 8 mm section gap (this is what makes
125
+ 267 mm fit cleanly).
126
+ - Page-1 block order: Header -> Logo -> Color -> Type -> Footer (the
127
+ density is calibrated for that order).
128
+ - Page-2 block order: Header -> Voice cards -> Tagline -> Do/Don't ->
129
+ Footer.
130
+ - Color rule of thumb: 60% neutral / 30% brand / 10% accent.
131
+ - Tagline gradient: 180-deg vertical (top to bottom). Do not switch to
132
+ 135 deg or radial.
133
+
134
+ **Diversify every run.** The §4 baseline (Outfit + Poppins, charcoal +
135
+ surface) is wired up so the layout renders the moment you fill the
136
+ placeholders — it is **not** the default brand. The user's
137
+ `--primary` / `--secondary` plus their domain (consumer / B2B / fintech
138
+ / creative agency) should drive the typography, palette intensity, and
139
+ voice-pillar tone. Two brand guides for two different companies should
140
+ not look like reskins of each other.