@nguyenphp/antigravity-marketing 1.0.16 → 1.0.19

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 (376) hide show
  1. package/README.md +187 -74
  2. package/bin/index.js +4 -4
  3. package/package.json +4 -3
  4. package/templates/.agent/agents/backend-specialist.md +263 -0
  5. package/templates/.agent/agents/database-architect.md +226 -0
  6. package/templates/.agent/agents/debugger.md +225 -0
  7. package/templates/.agent/agents/devops-engineer.md +242 -0
  8. package/templates/.agent/agents/documentation-writer.md +104 -0
  9. package/templates/.agent/agents/explorer-agent.md +73 -0
  10. package/templates/.agent/agents/frontend-specialist.md +527 -0
  11. package/templates/.agent/agents/game-developer.md +162 -0
  12. package/templates/.agent/agents/mobile-developer.md +377 -0
  13. package/templates/.agent/agents/orchestrator.md +400 -0
  14. package/templates/.agent/agents/penetration-tester.md +188 -0
  15. package/templates/.agent/agents/performance-optimizer.md +187 -0
  16. package/templates/.agent/agents/project-planner.md +403 -0
  17. package/templates/.agent/agents/security-auditor.md +170 -0
  18. package/templates/.agent/agents/seo-specialist.md +111 -0
  19. package/templates/.agent/agents/test-engineer.md +158 -0
  20. package/templates/.agent/rules/GEMINI.md +248 -0
  21. package/templates/.agent/skills/analytics-marketing/SKILL.md +172 -324
  22. package/templates/.agent/skills/api-patterns/SKILL.md +81 -0
  23. package/templates/.agent/skills/api-patterns/api-style.md +42 -0
  24. package/templates/.agent/skills/api-patterns/auth.md +24 -0
  25. package/templates/.agent/skills/api-patterns/documentation.md +26 -0
  26. package/templates/.agent/skills/api-patterns/graphql.md +41 -0
  27. package/templates/.agent/skills/api-patterns/rate-limiting.md +31 -0
  28. package/templates/.agent/skills/api-patterns/response.md +37 -0
  29. package/templates/.agent/skills/api-patterns/rest.md +40 -0
  30. package/templates/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
  31. package/templates/.agent/skills/api-patterns/security-testing.md +122 -0
  32. package/templates/.agent/skills/api-patterns/trpc.md +41 -0
  33. package/templates/.agent/skills/api-patterns/versioning.md +22 -0
  34. package/templates/.agent/skills/app-builder/SKILL.md +75 -0
  35. package/templates/.agent/skills/app-builder/agent-coordination.md +71 -0
  36. package/templates/.agent/skills/app-builder/feature-building.md +53 -0
  37. package/templates/.agent/skills/app-builder/project-detection.md +34 -0
  38. package/templates/.agent/skills/app-builder/scaffolding.md +118 -0
  39. package/templates/.agent/skills/app-builder/tech-stack.md +40 -0
  40. package/templates/.agent/skills/app-builder/templates/SKILL.md +39 -0
  41. package/templates/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  42. package/templates/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  43. package/templates/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  44. package/templates/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  45. package/templates/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  46. package/templates/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  47. package/templates/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  48. package/templates/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
  49. package/templates/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
  50. package/templates/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
  51. package/templates/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
  52. package/templates/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  53. package/templates/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
  54. package/templates/.agent/skills/architecture/SKILL.md +55 -0
  55. package/templates/.agent/skills/architecture/context-discovery.md +43 -0
  56. package/templates/.agent/skills/architecture/examples.md +94 -0
  57. package/templates/.agent/skills/architecture/pattern-selection.md +68 -0
  58. package/templates/.agent/skills/architecture/patterns-reference.md +50 -0
  59. package/templates/.agent/skills/architecture/trade-off-analysis.md +77 -0
  60. package/templates/.agent/skills/banner-design/SKILL.md +192 -0
  61. package/templates/.agent/skills/banner-design/references/banner-sizes-and-styles.md +118 -0
  62. package/templates/.agent/skills/bash-linux/SKILL.md +199 -0
  63. package/templates/.agent/skills/behavioral-modes/SKILL.md +242 -0
  64. package/templates/.agent/skills/brainstorming/SKILL.md +163 -0
  65. package/templates/.agent/skills/brainstorming/dynamic-questioning.md +350 -0
  66. package/templates/.agent/skills/brand/SKILL.md +97 -0
  67. package/templates/.agent/skills/brand/references/approval-checklist.md +169 -0
  68. package/templates/.agent/skills/brand/references/asset-organization.md +157 -0
  69. package/templates/.agent/skills/brand/references/brand-guideline-template.md +140 -0
  70. package/templates/.agent/skills/brand/references/color-palette-management.md +186 -0
  71. package/templates/.agent/skills/brand/references/consistency-checklist.md +94 -0
  72. package/templates/.agent/skills/brand/references/logo-usage-rules.md +185 -0
  73. package/templates/.agent/skills/brand/references/messaging-framework.md +85 -0
  74. package/templates/.agent/skills/brand/references/typography-specifications.md +214 -0
  75. package/templates/.agent/skills/brand/references/update.md +118 -0
  76. package/templates/.agent/skills/brand/references/visual-identity.md +96 -0
  77. package/templates/.agent/skills/brand/references/voice-framework.md +88 -0
  78. package/templates/.agent/skills/brand/scripts/extract-colors.cjs +341 -0
  79. package/templates/.agent/skills/brand/scripts/inject-brand-context.cjs +349 -0
  80. package/templates/.agent/skills/brand/scripts/sync-brand-to-tokens.cjs +266 -0
  81. package/templates/.agent/skills/brand/scripts/validate-asset.cjs +387 -0
  82. package/templates/.agent/skills/brand/templates/brand-guidelines-starter.md +275 -0
  83. package/templates/.agent/skills/clean-code/SKILL.md +201 -0
  84. package/templates/.agent/skills/code-review-checklist/SKILL.md +109 -0
  85. package/templates/.agent/skills/copywriting/SKILL.md +250 -0
  86. package/templates/.agent/skills/database-design/SKILL.md +52 -0
  87. package/templates/.agent/skills/database-design/database-selection.md +43 -0
  88. package/templates/.agent/skills/database-design/indexing.md +39 -0
  89. package/templates/.agent/skills/database-design/migrations.md +48 -0
  90. package/templates/.agent/skills/database-design/optimization.md +36 -0
  91. package/templates/.agent/skills/database-design/orm-selection.md +30 -0
  92. package/templates/.agent/skills/database-design/schema-design.md +56 -0
  93. package/templates/.agent/skills/database-design/scripts/schema_validator.py +172 -0
  94. package/templates/.agent/skills/deployment-procedures/SKILL.md +241 -0
  95. package/templates/.agent/skills/docker-expert/SKILL.md +409 -0
  96. package/templates/.agent/skills/frontend-design/animation-guide.md +331 -0
  97. package/templates/.agent/skills/frontend-design/color-system.md +311 -0
  98. package/templates/.agent/skills/frontend-design/decision-trees.md +418 -0
  99. package/templates/.agent/skills/frontend-design/motion-graphics.md +306 -0
  100. package/templates/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  101. package/templates/.agent/skills/frontend-design/scripts/ux_audit.py +722 -0
  102. package/templates/.agent/skills/frontend-design/typography-system.md +345 -0
  103. package/templates/.agent/skills/frontend-design/ux-psychology.md +541 -0
  104. package/templates/.agent/skills/frontend-design/visual-effects.md +383 -0
  105. package/templates/.agent/skills/frontend-slides/SKILL.md +92 -0
  106. package/templates/.agent/skills/frontend-slides/STYLE_PRESETS.md +347 -0
  107. package/templates/.agent/skills/frontend-slides/animation-patterns.md +110 -0
  108. package/templates/.agent/skills/frontend-slides/examples/n8n-jupviec-automation.html +789 -0
  109. package/templates/.agent/skills/frontend-slides/examples/n8n-jupviec-automation.pptx +0 -0
  110. package/templates/.agent/skills/frontend-slides/html-template.md +347 -0
  111. package/templates/.agent/skills/frontend-slides/scripts/export-pptx.py +58 -0
  112. package/templates/.agent/skills/frontend-slides/scripts/extract-pptx.py +96 -0
  113. package/templates/.agent/skills/frontend-slides/viewport-base.css +153 -0
  114. package/templates/.agent/skills/game-development/2d-games/SKILL.md +119 -0
  115. package/templates/.agent/skills/game-development/3d-games/SKILL.md +135 -0
  116. package/templates/.agent/skills/game-development/SKILL.md +167 -0
  117. package/templates/.agent/skills/game-development/game-art/SKILL.md +185 -0
  118. package/templates/.agent/skills/game-development/game-audio/SKILL.md +190 -0
  119. package/templates/.agent/skills/game-development/game-design/SKILL.md +129 -0
  120. package/templates/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
  121. package/templates/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
  122. package/templates/.agent/skills/game-development/pc-games/SKILL.md +144 -0
  123. package/templates/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
  124. package/templates/.agent/skills/game-development/web-games/SKILL.md +150 -0
  125. package/templates/.agent/skills/geo-fundamentals/SKILL.md +156 -0
  126. package/templates/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  127. package/templates/.agent/skills/growth-engine/SKILL.md +244 -0
  128. package/templates/.agent/skills/i18n-localization/SKILL.md +154 -0
  129. package/templates/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  130. package/templates/.agent/skills/lint-and-validate/SKILL.md +45 -0
  131. package/templates/.agent/skills/lint-and-validate/scripts/lint_runner.py +172 -0
  132. package/templates/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  133. package/templates/.agent/skills/marketing-report-expert/SKILL.md +70 -0
  134. package/templates/.agent/skills/mcp-builder/SKILL.md +176 -0
  135. package/templates/.agent/skills/minimax-docx/LICENSE +21 -0
  136. package/templates/.agent/skills/minimax-docx/SKILL.md +274 -0
  137. package/templates/.agent/skills/minimax-docx/assets/styles/academic_styles.xml +250 -0
  138. package/templates/.agent/skills/minimax-docx/assets/styles/corporate_styles.xml +284 -0
  139. package/templates/.agent/skills/minimax-docx/assets/styles/default_styles.xml +449 -0
  140. package/templates/.agent/skills/minimax-docx/assets/xsd/aesthetic-rules.xsd +470 -0
  141. package/templates/.agent/skills/minimax-docx/assets/xsd/business-rules.xsd +130 -0
  142. package/templates/.agent/skills/minimax-docx/assets/xsd/common-types.xsd +159 -0
  143. package/templates/.agent/skills/minimax-docx/assets/xsd/wml-subset.xsd +589 -0
  144. package/templates/.agent/skills/minimax-docx/references/cjk_typography.md +357 -0
  145. package/templates/.agent/skills/minimax-docx/references/cjk_university_template_guide.md +184 -0
  146. package/templates/.agent/skills/minimax-docx/references/comments_guide.md +191 -0
  147. package/templates/.agent/skills/minimax-docx/references/design_good_bad_examples.md +829 -0
  148. package/templates/.agent/skills/minimax-docx/references/design_principles.md +819 -0
  149. package/templates/.agent/skills/minimax-docx/references/openxml_element_order.md +308 -0
  150. package/templates/.agent/skills/minimax-docx/references/openxml_encyclopedia_part1.md +4061 -0
  151. package/templates/.agent/skills/minimax-docx/references/openxml_encyclopedia_part2.md +2820 -0
  152. package/templates/.agent/skills/minimax-docx/references/openxml_encyclopedia_part3.md +3381 -0
  153. package/templates/.agent/skills/minimax-docx/references/openxml_namespaces.md +82 -0
  154. package/templates/.agent/skills/minimax-docx/references/openxml_units.md +72 -0
  155. package/templates/.agent/skills/minimax-docx/references/scenario_a_create.md +284 -0
  156. package/templates/.agent/skills/minimax-docx/references/scenario_b_edit_content.md +295 -0
  157. package/templates/.agent/skills/minimax-docx/references/scenario_c_apply_template.md +456 -0
  158. package/templates/.agent/skills/minimax-docx/references/track_changes_guide.md +200 -0
  159. package/templates/.agent/skills/minimax-docx/references/troubleshooting.md +506 -0
  160. package/templates/.agent/skills/minimax-docx/references/typography_guide.md +294 -0
  161. package/templates/.agent/skills/minimax-docx/references/xsd_validation_guide.md +158 -0
  162. package/templates/.agent/skills/minimax-docx/scripts/doc_to_docx.sh +40 -0
  163. package/templates/.agent/skills/minimax-docx/scripts/docx_preview.sh +37 -0
  164. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Cli/MiniMaxAIDocx.Cli.csproj +19 -0
  165. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Cli/Program.cs +18 -0
  166. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/AnalyzeCommand.cs +147 -0
  167. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ApplyTemplateCommand.cs +322 -0
  168. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/CreateCommand.cs +324 -0
  169. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/DiffCommand.cs +155 -0
  170. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/EditContentCommand.cs +487 -0
  171. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/FixOrderCommand.cs +108 -0
  172. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/MergeRunsCommand.cs +122 -0
  173. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ValidateCommand.cs +107 -0
  174. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/MiniMaxAIDocx.Core.csproj +15 -0
  175. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/CommentSynchronizer.cs +169 -0
  176. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/ElementOrder.cs +80 -0
  177. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/NamespaceConstants.cs +42 -0
  178. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/RunMerger.cs +81 -0
  179. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/StyleAnalyzer.cs +81 -0
  180. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/TrackChangesHelper.cs +99 -0
  181. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/UnitConverter.cs +23 -0
  182. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples.cs +1832 -0
  183. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch1.cs +910 -0
  184. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch2.cs +999 -0
  185. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch3.cs +1048 -0
  186. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch4.cs +1038 -0
  187. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/CharacterFormattingSamples.cs +1020 -0
  188. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/DocumentCreationSamples.cs +1121 -0
  189. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FieldAndTocSamples.cs +624 -0
  190. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FootnoteAndCommentSamples.cs +675 -0
  191. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/HeaderFooterSamples.cs +838 -0
  192. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ImageSamples.cs +917 -0
  193. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ListAndNumberingSamples.cs +826 -0
  194. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ParagraphFormattingSamples.cs +1199 -0
  195. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/StyleSystemSamples.cs +1487 -0
  196. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TableSamples.cs +1163 -0
  197. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TrackChangesSamples.cs +595 -0
  198. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/CjkHelper.cs +39 -0
  199. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/FontDefaults.cs +24 -0
  200. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/PageSizes.cs +20 -0
  201. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/BusinessRuleValidator.cs +224 -0
  202. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/GateCheckValidator.cs +148 -0
  203. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/ValidationResult.cs +23 -0
  204. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/XsdValidator.cs +69 -0
  205. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.slnx +4 -0
  206. package/templates/.agent/skills/minimax-docx/scripts/env_check.sh +196 -0
  207. package/templates/.agent/skills/minimax-docx/scripts/setup.ps1 +274 -0
  208. package/templates/.agent/skills/minimax-docx/scripts/setup.sh +504 -0
  209. package/templates/.agent/skills/minimax-multimodal-toolkit/SKILL.md +359 -0
  210. package/templates/.agent/skills/minimax-pdf/README.md +222 -0
  211. package/templates/.agent/skills/minimax-pdf/SKILL.md +201 -0
  212. package/templates/.agent/skills/minimax-pdf/design/design.md +381 -0
  213. package/templates/.agent/skills/minimax-pdf/scripts/cover.py +1579 -0
  214. package/templates/.agent/skills/minimax-pdf/scripts/fill_inspect.py +200 -0
  215. package/templates/.agent/skills/minimax-pdf/scripts/fill_write.py +242 -0
  216. package/templates/.agent/skills/minimax-pdf/scripts/make.sh +491 -0
  217. package/templates/.agent/skills/minimax-pdf/scripts/merge.py +112 -0
  218. package/templates/.agent/skills/minimax-pdf/scripts/palette.py +559 -0
  219. package/templates/.agent/skills/minimax-pdf/scripts/reformat_parse.py +374 -0
  220. package/templates/.agent/skills/minimax-pdf/scripts/render_body.py +1055 -0
  221. package/templates/.agent/skills/minimax-pdf/scripts/render_cover.cjs +111 -0
  222. package/templates/.agent/skills/minimax-xlsx/SKILL.md +138 -0
  223. package/templates/.agent/skills/minimax-xlsx/references/create.md +691 -0
  224. package/templates/.agent/skills/minimax-xlsx/references/edit.md +684 -0
  225. package/templates/.agent/skills/minimax-xlsx/references/fix.md +37 -0
  226. package/templates/.agent/skills/minimax-xlsx/references/format.md +768 -0
  227. package/templates/.agent/skills/minimax-xlsx/references/ooxml-cheatsheet.md +231 -0
  228. package/templates/.agent/skills/minimax-xlsx/references/read-analyze.md +97 -0
  229. package/templates/.agent/skills/minimax-xlsx/references/validate.md +772 -0
  230. package/templates/.agent/skills/minimax-xlsx/scripts/formula_check.py +422 -0
  231. package/templates/.agent/skills/minimax-xlsx/scripts/libreoffice_recalc.py +248 -0
  232. package/templates/.agent/skills/minimax-xlsx/scripts/shared_strings_builder.py +163 -0
  233. package/templates/.agent/skills/minimax-xlsx/scripts/style_audit.py +575 -0
  234. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_add_column.py +395 -0
  235. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_insert_row.py +274 -0
  236. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_pack.py +87 -0
  237. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_reader.py +362 -0
  238. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_shift_rows.py +396 -0
  239. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_unpack.py +130 -0
  240. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/[Content_Types].xml +9 -0
  241. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/_rels/.rels +6 -0
  242. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/_rels/workbook.xml.rels +19 -0
  243. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/sharedStrings.xml +33 -0
  244. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/styles.xml +160 -0
  245. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/workbook.xml +30 -0
  246. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/worksheets/sheet1.xml +70 -0
  247. package/templates/.agent/skills/mobile-design/SKILL.md +394 -0
  248. package/templates/.agent/skills/mobile-design/decision-trees.md +516 -0
  249. package/templates/.agent/skills/mobile-design/mobile-backend.md +491 -0
  250. package/templates/.agent/skills/mobile-design/mobile-color-system.md +420 -0
  251. package/templates/.agent/skills/mobile-design/mobile-debugging.md +122 -0
  252. package/templates/.agent/skills/mobile-design/mobile-design-thinking.md +357 -0
  253. package/templates/.agent/skills/mobile-design/mobile-navigation.md +458 -0
  254. package/templates/.agent/skills/mobile-design/mobile-performance.md +767 -0
  255. package/templates/.agent/skills/mobile-design/mobile-testing.md +356 -0
  256. package/templates/.agent/skills/mobile-design/mobile-typography.md +433 -0
  257. package/templates/.agent/skills/mobile-design/platform-android.md +666 -0
  258. package/templates/.agent/skills/mobile-design/platform-ios.md +561 -0
  259. package/templates/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -0
  260. package/templates/.agent/skills/mobile-design/touch-psychology.md +537 -0
  261. package/templates/.agent/skills/nestjs-expert/SKILL.md +552 -0
  262. package/templates/.agent/skills/nextjs-best-practices/SKILL.md +203 -0
  263. package/templates/.agent/skills/nodejs-best-practices/SKILL.md +333 -0
  264. package/templates/.agent/skills/parallel-agents/SKILL.md +175 -0
  265. package/templates/.agent/skills/performance-profiling/SKILL.md +143 -0
  266. package/templates/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
  267. package/templates/.agent/skills/plan-writing/SKILL.md +152 -0
  268. package/templates/.agent/skills/powershell-windows/SKILL.md +167 -0
  269. package/templates/.agent/skills/ppc-advertising/SKILL.md +183 -475
  270. package/templates/.agent/skills/pptx-generator/SKILL.md +249 -0
  271. package/templates/.agent/skills/pptx-generator/references/design-system.md +392 -0
  272. package/templates/.agent/skills/pptx-generator/references/editing.md +162 -0
  273. package/templates/.agent/skills/pptx-generator/references/pitfalls.md +112 -0
  274. package/templates/.agent/skills/pptx-generator/references/pptxgenjs.md +420 -0
  275. package/templates/.agent/skills/pptx-generator/references/slide-types.md +413 -0
  276. package/templates/.agent/skills/prisma-expert/SKILL.md +355 -0
  277. package/templates/.agent/skills/python-patterns/SKILL.md +441 -0
  278. package/templates/.agent/skills/react-patterns/SKILL.md +198 -0
  279. package/templates/.agent/skills/red-team-tactics/SKILL.md +199 -0
  280. package/templates/.agent/skills/remotion-best-practices/SKILL.md +45 -111
  281. package/templates/.agent/skills/remotion-best-practices/rules/3d.md +4 -4
  282. package/templates/.agent/skills/remotion-best-practices/rules/animations.md +5 -7
  283. package/templates/.agent/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
  284. package/templates/.agent/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
  285. package/templates/.agent/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +103 -0
  286. package/templates/.agent/skills/remotion-best-practices/rules/assets.md +78 -0
  287. package/templates/.agent/skills/remotion-best-practices/rules/audio-visualization.md +198 -0
  288. package/templates/.agent/skills/remotion-best-practices/rules/audio.md +1 -4
  289. package/templates/.agent/skills/remotion-best-practices/rules/calculate-metadata.md +47 -17
  290. package/templates/.agent/skills/remotion-best-practices/rules/can-decode.md +75 -0
  291. package/templates/.agent/skills/remotion-best-practices/rules/charts.md +80 -48
  292. package/templates/.agent/skills/remotion-best-practices/rules/compositions.md +22 -14
  293. package/templates/.agent/skills/remotion-best-practices/rules/display-captions.md +79 -21
  294. package/templates/.agent/skills/remotion-best-practices/rules/extract-frames.md +229 -0
  295. package/templates/.agent/skills/remotion-best-practices/rules/ffmpeg.md +38 -0
  296. package/templates/.agent/skills/remotion-best-practices/rules/fonts.md +96 -54
  297. package/templates/.agent/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
  298. package/templates/.agent/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
  299. package/templates/.agent/skills/remotion-best-practices/rules/get-video-duration.md +60 -0
  300. package/templates/.agent/skills/remotion-best-practices/rules/gifs.md +21 -18
  301. package/templates/.agent/skills/remotion-best-practices/rules/images.md +6 -2
  302. package/templates/.agent/skills/remotion-best-practices/rules/import-srt-captions.md +69 -0
  303. package/templates/.agent/skills/remotion-best-practices/rules/light-leaks.md +73 -0
  304. package/templates/.agent/skills/remotion-best-practices/rules/lottie.md +10 -7
  305. package/templates/.agent/skills/remotion-best-practices/rules/maps.md +412 -0
  306. package/templates/.agent/skills/remotion-best-practices/rules/measuring-dom-nodes.md +34 -0
  307. package/templates/.agent/skills/remotion-best-practices/rules/measuring-text.md +140 -0
  308. package/templates/.agent/skills/remotion-best-practices/rules/parameters.md +109 -0
  309. package/templates/.agent/skills/remotion-best-practices/rules/sequencing.md +13 -1
  310. package/templates/.agent/skills/remotion-best-practices/rules/sfx.md +26 -0
  311. package/templates/.agent/skills/remotion-best-practices/rules/subtitles.md +36 -0
  312. package/templates/.agent/skills/remotion-best-practices/rules/tailwind.md +11 -0
  313. package/templates/.agent/skills/remotion-best-practices/rules/text-animations.md +4 -115
  314. package/templates/.agent/skills/remotion-best-practices/rules/timing.md +19 -19
  315. package/templates/.agent/skills/remotion-best-practices/rules/transcribe-captions.md +70 -0
  316. package/templates/.agent/skills/remotion-best-practices/rules/transitions.md +117 -42
  317. package/templates/.agent/skills/remotion-best-practices/rules/transparent-videos.md +106 -0
  318. package/templates/.agent/skills/remotion-best-practices/rules/trimming.md +51 -0
  319. package/templates/.agent/skills/remotion-best-practices/rules/voiceover.md +99 -0
  320. package/templates/.agent/skills/seo-fundamentals/SKILL.md +83 -441
  321. package/templates/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  322. package/templates/.agent/skills/server-management/SKILL.md +161 -0
  323. package/templates/.agent/skills/systematic-debugging/SKILL.md +109 -0
  324. package/templates/.agent/skills/tdd-workflow/SKILL.md +149 -0
  325. package/templates/.agent/skills/testing-patterns/SKILL.md +178 -0
  326. package/templates/.agent/skills/testing-patterns/scripts/test_runner.py +219 -0
  327. package/templates/.agent/skills/tutorial-video-expert/SKILL.md +88 -0
  328. package/templates/.agent/skills/typescript-expert/SKILL.md +429 -0
  329. package/templates/.agent/skills/ui-ux-pro-max/SKILL.md +1 -1
  330. package/templates/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -0
  331. package/templates/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -0
  332. package/templates/.agent/skills/ui-ux-pro-max/data/icons.csv +101 -0
  333. package/templates/.agent/skills/ui-ux-pro-max/data/landing.csv +31 -0
  334. package/templates/.agent/skills/ui-ux-pro-max/data/products.csv +97 -0
  335. package/templates/.agent/skills/ui-ux-pro-max/data/prompts.csv +24 -0
  336. package/templates/.agent/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  337. package/templates/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  338. package/templates/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  339. package/templates/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  340. package/templates/.agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  341. package/templates/.agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  342. package/templates/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  343. package/templates/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  344. package/templates/.agent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  345. package/templates/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  346. package/templates/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  347. package/templates/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  348. package/templates/.agent/skills/ui-ux-pro-max/data/styles.csv +59 -0
  349. package/templates/.agent/skills/ui-ux-pro-max/data/typography.csv +58 -0
  350. package/templates/.agent/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  351. package/templates/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  352. package/templates/.agent/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
  353. package/templates/.agent/skills/ui-ux-pro-max/scripts/core.py +257 -0
  354. package/templates/.agent/skills/ui-ux-pro-max/scripts/design_system.py +487 -0
  355. package/templates/.agent/skills/ui-ux-pro-max/scripts/search.py +76 -0
  356. package/templates/.agent/skills/vision-analysis/SKILL.md +174 -0
  357. package/templates/.agent/skills/vue-expert/SKILL.md +374 -0
  358. package/templates/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
  359. package/templates/.agent/skills/vulnerability-scanner/checklists.md +121 -0
  360. package/templates/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  361. package/templates/.agent/skills/webapp-testing/SKILL.md +187 -0
  362. package/templates/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -0
  363. package/templates/.agent/workflows/analyze.md +3 -0
  364. package/templates/.agent/workflows/brainstorm.md +113 -0
  365. package/templates/.agent/workflows/brand-report.md +44 -0
  366. package/templates/.agent/workflows/create.md +59 -0
  367. package/templates/.agent/workflows/debug.md +103 -0
  368. package/templates/.agent/workflows/deploy.md +176 -0
  369. package/templates/.agent/workflows/enhance.md +63 -0
  370. package/templates/.agent/workflows/orchestrate.md +237 -0
  371. package/templates/.agent/workflows/plan.md +89 -0
  372. package/templates/.agent/workflows/preview.md +80 -0
  373. package/templates/.agent/workflows/report.md +49 -0
  374. package/templates/.agent/workflows/status.md +86 -0
  375. package/templates/.agent/workflows/test.md +144 -0
  376. package/templates/.agent/workflows/ui-ux-pro-max.md +231 -0
@@ -0,0 +1,470 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- ============================================================================ -->
3
+ <!-- Aesthetic Rules Schema for minimax-docx -->
4
+ <!-- ============================================================================ -->
5
+ <!-- Purpose: Validates whether a document follows basic aesthetic rules that -->
6
+ <!-- produce visually harmonious results. This is a "taste checker" that flags -->
7
+ <!-- common ugly patterns. -->
8
+ <!-- -->
9
+ <!-- IMPORTANT: XSD validates STRUCTURE and VALUE RANGES, not SEMANTICS. -->
10
+ <!-- Many aesthetic rules require cross-element comparison (e.g., "H1 must be -->
11
+ <!-- larger than H2") which XSD cannot express. These rules are documented in -->
12
+ <!-- comments and must be enforced by a programmatic validator. -->
13
+ <!-- -->
14
+ <!-- Rules that CAN be expressed in XSD: -->
15
+ <!-- - Font size ranges (body 10-14pt, headings 10-26pt) -->
16
+ <!-- - Line spacing ranges (1.0x to 2.33x) -->
17
+ <!-- - Margin minimums (at least 0.5in on all sides) -->
18
+ <!-- - Table cell padding minimums -->
19
+ <!-- -->
20
+ <!-- Rules that CANNOT be expressed in XSD (enforce programmatically): -->
21
+ <!-- - H1 sz > H2 sz > H3 sz > body sz (hierarchy) -->
22
+ <!-- - Maximum 3 font families across all styles -->
23
+ <!-- - Heading space-before >= space-after -->
24
+ <!-- - Color contrast ratio between text and background -->
25
+ <!-- - Consistent font family within heading vs body groups -->
26
+ <!-- - Line spacing and font size harmony (larger text needs tighter spacing) -->
27
+ <!-- -->
28
+ <!-- MIT License - minimax-docx project -->
29
+ <!-- ============================================================================ -->
30
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
31
+ xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
32
+ targetNamespace="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
33
+ elementFormDefault="qualified">
34
+
35
+ <!-- ============================================================ -->
36
+ <!-- RULE 1: Body Font Size Range -->
37
+ <!-- ============================================================ -->
38
+ <!-- Body text must be 10-14pt (half-points: 20-28). -->
39
+ <!-- WHY: Below 10pt is hard to read for most adults. -->
40
+ <!-- Above 14pt body text looks childish or wasteful. -->
41
+ <!-- The sweet spot is 10.5-12pt for most font families. -->
42
+ <!-- ============================================================ -->
43
+ <xs:simpleType name="ST_AestheticBodyFontSize">
44
+ <xs:annotation>
45
+ <xs:documentation>
46
+ Body text font size in half-points.
47
+ Acceptable range: 20-28 (10pt-14pt).
48
+ - 10pt (20): minimum for comfortable reading
49
+ - 11pt (22): modern default (Calibri, Aptos)
50
+ - 12pt (24): traditional default (Times New Roman)
51
+ - 14pt (28): maximum before body text looks oversized
52
+ </xs:documentation>
53
+ </xs:annotation>
54
+ <xs:restriction base="xs:positiveInteger">
55
+ <xs:minInclusive value="20"/> <!-- 10pt minimum -->
56
+ <xs:maxInclusive value="28"/> <!-- 14pt maximum -->
57
+ </xs:restriction>
58
+ </xs:simpleType>
59
+
60
+ <!-- ============================================================ -->
61
+ <!-- RULE 2: Heading Font Size Range -->
62
+ <!-- ============================================================ -->
63
+ <!-- Headings must be 12-26pt (half-points: 24-52). -->
64
+ <!-- WHY: Below 12pt, a heading cannot be visually distinguished -->
65
+ <!-- from body text by size alone. -->
66
+ <!-- Above 26pt is poster-sized and wastes vertical space. -->
67
+ <!-- NOTE: Some academic styles use 12pt headings (same as body) -->
68
+ <!-- and differentiate via bold/italic/centering instead. -->
69
+ <!-- The lower bound of 24 (12pt) accommodates this. -->
70
+ <!-- ============================================================ -->
71
+ <xs:simpleType name="ST_AestheticHeadingFontSize">
72
+ <xs:annotation>
73
+ <xs:documentation>
74
+ Heading font size in half-points.
75
+ Acceptable range: 24-52 (12pt-26pt).
76
+ - 12pt (24): APA-style (hierarchy via bold/italic, not size)
77
+ - 16pt (32): typical H2/H3
78
+ - 20pt (40): typical H1
79
+ - 26pt (52): maximum before headings dominate the page
80
+ </xs:documentation>
81
+ </xs:annotation>
82
+ <xs:restriction base="xs:positiveInteger">
83
+ <xs:minInclusive value="24"/> <!-- 12pt minimum -->
84
+ <xs:maxInclusive value="52"/> <!-- 26pt maximum -->
85
+ </xs:restriction>
86
+ </xs:simpleType>
87
+
88
+ <!-- ============================================================ -->
89
+ <!-- RULE 3: Line Spacing Range -->
90
+ <!-- ============================================================ -->
91
+ <!-- Line spacing (in auto mode) must be 240-560 (1.0x-2.33x). -->
92
+ <!-- WHY: Below 1.0x, ascenders/descenders overlap — unreadable. -->
93
+ <!-- Above 2.33x, lines appear disconnected. -->
94
+ <!-- Sweet spots: 1.15x (276) for sans, 1.5x (360) for -->
95
+ <!-- generous layouts, 2.0x (480) for academic. -->
96
+ <!-- ============================================================ -->
97
+ <xs:simpleType name="ST_AestheticLineSpacing">
98
+ <xs:annotation>
99
+ <xs:documentation>
100
+ Line spacing value for auto line-spacing rule.
101
+ In 240ths of single spacing: 240 = 1.0x, 480 = 2.0x.
102
+ Acceptable range: 240-560 (1.0x to 2.33x).
103
+ Common values:
104
+ - 240: single spacing (dense, technical)
105
+ - 259: Word's 1.08x default
106
+ - 276: 1.15x (modern corporate default)
107
+ - 336: 1.4x (executive/generous)
108
+ - 360: 1.5x (generous/minimal)
109
+ - 480: 2.0x (academic double spacing)
110
+ </xs:documentation>
111
+ </xs:annotation>
112
+ <xs:restriction base="xs:positiveInteger">
113
+ <xs:minInclusive value="240"/> <!-- 1.0x single spacing -->
114
+ <xs:maxInclusive value="560"/> <!-- ~2.33x — beyond double feels disconnected -->
115
+ </xs:restriction>
116
+ </xs:simpleType>
117
+
118
+ <!-- ============================================================ -->
119
+ <!-- RULE 3b: Fixed Line Spacing Range -->
120
+ <!-- ============================================================ -->
121
+ <!-- For lineRule="exact", line value is in DXA (twentieths of pt) -->
122
+ <!-- Range: 200-720 DXA (10pt-36pt fixed line height) -->
123
+ <!-- Chinese government standard uses 560 DXA (28pt). -->
124
+ <!-- ============================================================ -->
125
+ <xs:simpleType name="ST_AestheticFixedLineSpacing">
126
+ <xs:annotation>
127
+ <xs:documentation>
128
+ Fixed line spacing value (lineRule="exact") in DXA.
129
+ Acceptable range: 200-720 (10pt-36pt).
130
+ - 560: Chinese government standard (28pt, for 16pt body)
131
+ - 480: double-space equivalent for 12pt body
132
+ </xs:documentation>
133
+ </xs:annotation>
134
+ <xs:restriction base="xs:positiveInteger">
135
+ <xs:minInclusive value="200"/> <!-- 10pt minimum fixed height -->
136
+ <xs:maxInclusive value="720"/> <!-- 36pt maximum fixed height -->
137
+ </xs:restriction>
138
+ </xs:simpleType>
139
+
140
+ <!-- ============================================================ -->
141
+ <!-- RULE 4: Margin Minimums -->
142
+ <!-- ============================================================ -->
143
+ <!-- All margins must be at least 720 DXA (0.5 inch). -->
144
+ <!-- WHY: Below 0.5in, most printers clip content. -->
145
+ <!-- Also, narrow margins create a cramped, unprofessional -->
146
+ <!-- appearance. Even "full bleed" designs need internal -->
147
+ <!-- text margins. -->
148
+ <!-- Max set to 4320 DXA (3 inches) to prevent absurd margins. -->
149
+ <!-- ============================================================ -->
150
+ <xs:simpleType name="ST_AestheticMargin">
151
+ <xs:annotation>
152
+ <xs:documentation>
153
+ Page margin in DXA. Minimum 720 (0.5 inch), maximum 4320 (3 inches).
154
+ Common values:
155
+ - 720: 0.5in (minimum printable)
156
+ - 1440: 1.0in (standard US)
157
+ - 1588: 28mm (Chinese government left margin)
158
+ - 1800: 1.25in (executive/premium)
159
+ - 2160: 1.5in (binding margin or narrow-column design)
160
+ </xs:documentation>
161
+ </xs:annotation>
162
+ <xs:restriction base="xs:positiveInteger">
163
+ <xs:minInclusive value="720"/> <!-- 0.5in — minimum for print safety -->
164
+ <xs:maxInclusive value="4320"/> <!-- 3in — beyond this is absurd -->
165
+ </xs:restriction>
166
+ </xs:simpleType>
167
+
168
+ <!-- Top/bottom margins: signed because negative values can create -->
169
+ <!-- overlap effects, but we still enforce a reasonable minimum. -->
170
+ <xs:simpleType name="ST_AestheticVerticalMargin">
171
+ <xs:annotation>
172
+ <xs:documentation>
173
+ Vertical (top/bottom) page margin in DXA.
174
+ Range: 360 to 4320 (0.25in to 3in).
175
+ Slightly more permissive than horizontal margins because
176
+ header/footer areas may reduce effective vertical margin.
177
+ </xs:documentation>
178
+ </xs:annotation>
179
+ <xs:restriction base="xs:integer">
180
+ <xs:minInclusive value="360"/> <!-- 0.25in — tighter vertical is sometimes acceptable -->
181
+ <xs:maxInclusive value="4320"/>
182
+ </xs:restriction>
183
+ </xs:simpleType>
184
+
185
+ <!-- ============================================================ -->
186
+ <!-- RULE 5: Paragraph Spacing Ranges -->
187
+ <!-- ============================================================ -->
188
+ <!-- Space before/after paragraphs should be 0-960 DXA (0-48pt). -->
189
+ <!-- WHY: More than 48pt of space before/after creates awkward -->
190
+ <!-- gaps that disrupt reading flow. -->
191
+ <!-- ============================================================ -->
192
+ <xs:simpleType name="ST_AestheticParaSpacing">
193
+ <xs:annotation>
194
+ <xs:documentation>
195
+ Paragraph spacing (before/after) in DXA.
196
+ Range: 0-960 (0pt-48pt).
197
+ Common values:
198
+ - 0: academic style (uses first-line indent instead)
199
+ - 80: 4pt (tight, used after H2/H3)
200
+ - 120: 6pt (moderate)
201
+ - 160: 8pt (standard modern spacing)
202
+ - 200: 10pt (generous/executive)
203
+ - 240: 12pt (very generous/minimal)
204
+ - 480: 24pt (heading before — creates section break)
205
+ </xs:documentation>
206
+ </xs:annotation>
207
+ <xs:restriction base="xs:nonNegativeInteger">
208
+ <xs:minInclusive value="0"/>
209
+ <xs:maxInclusive value="960"/> <!-- 48pt max — beyond this is a page break, not spacing -->
210
+ </xs:restriction>
211
+ </xs:simpleType>
212
+
213
+ <!-- ============================================================ -->
214
+ <!-- RULE 6: Table Cell Padding Minimum -->
215
+ <!-- ============================================================ -->
216
+ <!-- Table cells need at least 28 DXA (~1.4pt) padding. -->
217
+ <!-- WHY: Without padding, text touches cell borders — visually -->
218
+ <!-- cramped and hard to read. Even borderless tables need -->
219
+ <!-- padding for column separation. -->
220
+ <!-- ============================================================ -->
221
+ <xs:simpleType name="ST_AestheticCellPadding">
222
+ <xs:annotation>
223
+ <xs:documentation>
224
+ Table cell padding in DXA. Minimum 28 DXA (~1.4pt).
225
+ Recommended: 57 DXA (~2.85pt) for comfortable spacing.
226
+ Maximum: 288 DXA (~14pt) — beyond this wastes space.
227
+ </xs:documentation>
228
+ </xs:annotation>
229
+ <xs:restriction base="xs:nonNegativeInteger">
230
+ <xs:minInclusive value="28"/> <!-- ~1.4pt minimum breathing room -->
231
+ <xs:maxInclusive value="288"/> <!-- ~14pt — more than this is excessive -->
232
+ </xs:restriction>
233
+ </xs:simpleType>
234
+
235
+ <!-- ============================================================ -->
236
+ <!-- RULE 7: Border Size Range -->
237
+ <!-- ============================================================ -->
238
+ <!-- Border size (in eighth-points) should be 2-24 (0.25pt-3pt). -->
239
+ <!-- WHY: Below 0.25pt borders may not render or print. -->
240
+ <!-- Above 3pt borders look heavy and distracting. -->
241
+ <!-- ============================================================ -->
242
+ <xs:simpleType name="ST_AestheticBorderSize">
243
+ <xs:annotation>
244
+ <xs:documentation>
245
+ Border width in eighth-points.
246
+ Range: 2-24 (0.25pt to 3pt).
247
+ Common values:
248
+ - 4: 0.5pt (thin, standard)
249
+ - 6: 0.75pt (header separator in three-line tables)
250
+ - 8: 1.0pt (medium, good for framing borders)
251
+ - 12: 1.5pt (heavy, used for top/bottom in three-line tables)
252
+ - 24: 3.0pt (maximum before borders dominate)
253
+ </xs:documentation>
254
+ </xs:annotation>
255
+ <xs:restriction base="xs:positiveInteger">
256
+ <xs:minInclusive value="2"/> <!-- 0.25pt minimum visible -->
257
+ <xs:maxInclusive value="24"/> <!-- 3pt maximum tasteful -->
258
+ </xs:restriction>
259
+ </xs:simpleType>
260
+
261
+ <!-- ============================================================ -->
262
+ <!-- RULE 8: Color Value Format -->
263
+ <!-- ============================================================ -->
264
+ <!-- Colors must be valid 6-digit hex (RRGGBB) or "auto". -->
265
+ <!-- This is structural validation, not aesthetic validation. -->
266
+ <!-- ============================================================ -->
267
+ <xs:simpleType name="ST_AestheticColor">
268
+ <xs:annotation>
269
+ <xs:documentation>
270
+ Color value: 6-digit hex (RRGGBB) or "auto".
271
+ Examples: "000000", "1F3864", "2C3E50", "auto".
272
+ </xs:documentation>
273
+ </xs:annotation>
274
+ <xs:restriction base="xs:string">
275
+ <xs:pattern value="[0-9A-Fa-f]{6}|auto"/>
276
+ </xs:restriction>
277
+ </xs:simpleType>
278
+
279
+ <!-- ============================================================ -->
280
+ <!-- RULE 9: First-Line Indent Range -->
281
+ <!-- ============================================================ -->
282
+ <!-- If first-line indent is used, it should be 360-1440 DXA -->
283
+ <!-- (0.25in - 1.0in). -->
284
+ <!-- WHY: Below 0.25in the indent is barely visible. -->
285
+ <!-- Above 1.0in the indent looks like a tab error. -->
286
+ <!-- ============================================================ -->
287
+ <xs:simpleType name="ST_AestheticFirstLineIndent">
288
+ <xs:annotation>
289
+ <xs:documentation>
290
+ First-line indent in DXA. Range: 0-1440 (0in to 1.0in).
291
+ - 0: no indent (modern style with space-after)
292
+ - 480: 0.33in (compact)
293
+ - 640: ~0.44in (2 Chinese characters at 16pt)
294
+ - 720: 0.5in (standard APA/academic)
295
+ - 1440: 1.0in (maximum before it looks wrong)
296
+ </xs:documentation>
297
+ </xs:annotation>
298
+ <xs:restriction base="xs:nonNegativeInteger">
299
+ <xs:minInclusive value="0"/>
300
+ <xs:maxInclusive value="1440"/>
301
+ </xs:restriction>
302
+ </xs:simpleType>
303
+
304
+ <!-- ============================================================ -->
305
+ <!-- COMPOSITE TYPE: Aesthetic Run Properties Check -->
306
+ <!-- ============================================================ -->
307
+ <!-- Validates run-level properties for aesthetic compliance. -->
308
+ <!-- ============================================================ -->
309
+ <xs:complexType name="CT_AestheticRPr">
310
+ <xs:annotation>
311
+ <xs:documentation>
312
+ Aesthetic run properties validator.
313
+ Checks font size and color format at the run level.
314
+ </xs:documentation>
315
+ </xs:annotation>
316
+ <xs:all>
317
+ <xs:element name="sz" minOccurs="0">
318
+ <xs:complexType>
319
+ <xs:attribute name="val" type="w:ST_AestheticBodyFontSize" use="required"/>
320
+ </xs:complexType>
321
+ </xs:element>
322
+ <xs:element name="szCs" minOccurs="0">
323
+ <xs:complexType>
324
+ <xs:attribute name="val" type="w:ST_AestheticBodyFontSize" use="required"/>
325
+ </xs:complexType>
326
+ </xs:element>
327
+ <xs:element name="color" minOccurs="0">
328
+ <xs:complexType>
329
+ <xs:attribute name="val" type="w:ST_AestheticColor" use="required"/>
330
+ </xs:complexType>
331
+ </xs:element>
332
+ </xs:all>
333
+ </xs:complexType>
334
+
335
+ <!-- ============================================================ -->
336
+ <!-- COMPOSITE TYPE: Aesthetic Spacing Check -->
337
+ <!-- ============================================================ -->
338
+ <xs:complexType name="CT_AestheticSpacing">
339
+ <xs:annotation>
340
+ <xs:documentation>
341
+ Aesthetic spacing validator for paragraph spacing properties.
342
+ Validates line spacing and before/after spacing are in range.
343
+ </xs:documentation>
344
+ </xs:annotation>
345
+ <xs:attribute name="line" type="w:ST_AestheticLineSpacing" use="optional"/>
346
+ <xs:attribute name="before" type="w:ST_AestheticParaSpacing" use="optional"/>
347
+ <xs:attribute name="after" type="w:ST_AestheticParaSpacing" use="optional"/>
348
+ <xs:attribute name="lineRule" use="optional">
349
+ <xs:simpleType>
350
+ <xs:restriction base="xs:string">
351
+ <xs:enumeration value="auto"/>
352
+ <xs:enumeration value="exact"/>
353
+ <xs:enumeration value="atLeast"/>
354
+ </xs:restriction>
355
+ </xs:simpleType>
356
+ </xs:attribute>
357
+ </xs:complexType>
358
+
359
+ <!-- ============================================================ -->
360
+ <!-- COMPOSITE TYPE: Aesthetic Page Margins Check -->
361
+ <!-- ============================================================ -->
362
+ <xs:complexType name="CT_AestheticPageMargins">
363
+ <xs:annotation>
364
+ <xs:documentation>
365
+ Aesthetic page margin validator.
366
+ Ensures all margins meet minimum print-safe thresholds.
367
+ </xs:documentation>
368
+ </xs:annotation>
369
+ <xs:attribute name="top" type="w:ST_AestheticVerticalMargin" use="required"/>
370
+ <xs:attribute name="bottom" type="w:ST_AestheticVerticalMargin" use="required"/>
371
+ <xs:attribute name="left" type="w:ST_AestheticMargin" use="required"/>
372
+ <xs:attribute name="right" type="w:ST_AestheticMargin" use="required"/>
373
+ <xs:attribute name="header" type="xs:nonNegativeInteger" use="optional"/>
374
+ <xs:attribute name="footer" type="xs:nonNegativeInteger" use="optional"/>
375
+ <xs:attribute name="gutter" type="xs:nonNegativeInteger" use="optional"/>
376
+ </xs:complexType>
377
+
378
+ <!-- ============================================================ -->
379
+ <!-- COMPOSITE TYPE: Aesthetic Table Cell Margin Check -->
380
+ <!-- ============================================================ -->
381
+ <xs:complexType name="CT_AestheticTableCellMargin">
382
+ <xs:annotation>
383
+ <xs:documentation>
384
+ Aesthetic table cell margin validator.
385
+ Ensures minimum padding for readability.
386
+ </xs:documentation>
387
+ </xs:annotation>
388
+ <xs:attribute name="w" type="w:ST_AestheticCellPadding" use="required"/>
389
+ <xs:attribute name="type" use="required">
390
+ <xs:simpleType>
391
+ <xs:restriction base="xs:string">
392
+ <xs:enumeration value="dxa"/>
393
+ <xs:enumeration value="nil"/>
394
+ <xs:enumeration value="pct"/>
395
+ <xs:enumeration value="auto"/>
396
+ </xs:restriction>
397
+ </xs:simpleType>
398
+ </xs:attribute>
399
+ </xs:complexType>
400
+
401
+ <!-- ============================================================ -->
402
+ <!-- PROGRAMMATIC RULES (cannot be expressed in XSD) -->
403
+ <!-- ============================================================ -->
404
+ <!-- -->
405
+ <!-- The following rules must be checked by a programmatic -->
406
+ <!-- validator (e.g., AestheticRuleValidator.cs). They are -->
407
+ <!-- documented here for completeness. -->
408
+ <!-- -->
409
+ <!-- ── RULE P1: Heading Size Hierarchy ── -->
410
+ <!-- H1 sz >= H2 sz >= H3 sz >= body sz -->
411
+ <!-- Exception: APA-style where all headings = body size. -->
412
+ <!-- Implementation: Collect sz from Heading1/2/3 styles and -->
413
+ <!-- docDefaults. Verify monotonic decrease (or equality). -->
414
+ <!-- -->
415
+ <!-- ── RULE P2: Maximum 3 Font Families ── -->
416
+ <!-- Across docDefaults rPr + all style rPr, at most 3 distinct -->
417
+ <!-- font families (by Ascii name) should be used. -->
418
+ <!-- WHY: More than 3 fonts creates visual chaos. Professional -->
419
+ <!-- designs typically use 1-2 families. -->
420
+ <!-- Implementation: Collect all rFonts.ascii values from -->
421
+ <!-- docDefaults and all styles. Count distinct. Warn if > 3. -->
422
+ <!-- -->
423
+ <!-- ── RULE P3: Heading Space-Before >= Space-After ── -->
424
+ <!-- For heading styles, spaceBefore should be >= spaceAfter. -->
425
+ <!-- WHY: Headings should be visually closer to the content they -->
426
+ <!-- introduce than to the content above. This is the -->
427
+ <!-- "proximity principle" of Gestalt design. -->
428
+ <!-- Implementation: For each Heading style, compare pPr spacing -->
429
+ <!-- before vs after values. -->
430
+ <!-- -->
431
+ <!-- ── RULE P4: Spacing-Size Coherence ── -->
432
+ <!-- Paragraph after-spacing should be proportional to body size: -->
433
+ <!-- after >= bodySize * 0.5 AND after <= bodySize * 1.5 -->
434
+ <!-- WHY: Too little spacing makes paragraphs run together. -->
435
+ <!-- Too much spacing disconnects them. -->
436
+ <!-- Implementation: Get body sz from docDefaults, convert to DXA -->
437
+ <!-- (multiply by 10), check after-spacing ratio. -->
438
+ <!-- -->
439
+ <!-- ── RULE P5: Color Consistency ── -->
440
+ <!-- All heading styles should use the same color value. -->
441
+ <!-- Body text color (if set) should be consistent across styles. -->
442
+ <!-- WHY: Inconsistent colors look accidental, not designed. -->
443
+ <!-- Exception: Caption and footnote styles may differ. -->
444
+ <!-- Implementation: Collect color.val from heading styles. -->
445
+ <!-- Verify all are identical. -->
446
+ <!-- -->
447
+ <!-- ── RULE P6: Indent/Spacing Mutual Exclusion ── -->
448
+ <!-- If first-line indent > 0 in docDefaults, then after-spacing -->
449
+ <!-- should be 0 (and vice versa). Using BOTH indent AND spacing -->
450
+ <!-- is visually redundant — it signals uncertainty. -->
451
+ <!-- Exception: Headings may override this. -->
452
+ <!-- Implementation: Check docDefaults pPr. If firstLine > 0 AND -->
453
+ <!-- after > 0, emit a warning (not error). -->
454
+ <!-- -->
455
+ <!-- ── RULE P7: Table Border Consistency ── -->
456
+ <!-- Within a single table, border styles should be internally -->
457
+ <!-- consistent (all single, or all none — not a random mix). -->
458
+ <!-- Implementation: Check tblBorders for consistent val values. -->
459
+ <!-- -->
460
+ <!-- ── RULE P8: Line Spacing vs Font Size Harmony ── -->
461
+ <!-- For fixed line spacing (lineRule="exact"): -->
462
+ <!-- lineHeight >= fontSize * 1.2 -->
463
+ <!-- WHY: Fixed line spacing less than 1.2x the font size causes -->
464
+ <!-- ascender/descender clipping. -->
465
+ <!-- Implementation: When lineRule="exact", compare line value -->
466
+ <!-- against the effective font size. -->
467
+ <!-- -->
468
+ <!-- ============================================================ -->
469
+
470
+ </xs:schema>
@@ -0,0 +1,130 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Business Rules Gate-Check Schema for minimax-docx -->
3
+ <!-- Used in Scenario C (template application) as hard gate -->
4
+ <!-- Validates business compliance beyond XML correctness -->
5
+ <!-- MIT License - minimax-docx project -->
6
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
7
+ xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
8
+ targetNamespace="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
9
+ elementFormDefault="qualified">
10
+
11
+ <!-- ============================================================ -->
12
+ <!-- Page margins: constrained to reasonable bounds -->
13
+ <!-- Minimum 360 DXA (0.25 inch), maximum 4320 DXA (3 inches) -->
14
+ <!-- ============================================================ -->
15
+ <xs:simpleType name="ST_MarginMeasure">
16
+ <xs:restriction base="xs:integer">
17
+ <xs:minInclusive value="360"/>
18
+ <xs:maxInclusive value="4320"/>
19
+ </xs:restriction>
20
+ </xs:simpleType>
21
+
22
+ <!-- Signed margin (top/bottom can be negative for overlap) -->
23
+ <xs:simpleType name="ST_SignedMarginMeasure">
24
+ <xs:restriction base="xs:integer">
25
+ <xs:minInclusive value="-4320"/>
26
+ <xs:maxInclusive value="4320"/>
27
+ </xs:restriction>
28
+ </xs:simpleType>
29
+
30
+ <!-- ============================================================ -->
31
+ <!-- Font size constraints -->
32
+ <!-- Body text: 16-144 half-points (8-72pt) -->
33
+ <!-- Heading text: 20-192 half-points (10-96pt) -->
34
+ <!-- ============================================================ -->
35
+ <xs:simpleType name="ST_BodyFontSize">
36
+ <xs:restriction base="xs:positiveInteger">
37
+ <xs:minInclusive value="16"/>
38
+ <xs:maxInclusive value="144"/>
39
+ </xs:restriction>
40
+ </xs:simpleType>
41
+
42
+ <xs:simpleType name="ST_HeadingFontSize">
43
+ <xs:restriction base="xs:positiveInteger">
44
+ <xs:minInclusive value="20"/>
45
+ <xs:maxInclusive value="192"/>
46
+ </xs:restriction>
47
+ </xs:simpleType>
48
+
49
+ <!-- ============================================================ -->
50
+ <!-- Valid standard page sizes (width x height in DXA) -->
51
+ <!-- ============================================================ -->
52
+ <!-- Letter: 12240 x 15840 -->
53
+ <!-- A4: 11906 x 16838 -->
54
+ <!-- Legal: 12240 x 20160 -->
55
+ <!-- A3: 16838 x 23811 -->
56
+ <!-- A5: 8391 x 11906 -->
57
+
58
+ <xs:simpleType name="ST_PageWidth">
59
+ <xs:restriction base="xs:positiveInteger">
60
+ <xs:minInclusive value="5040"/>
61
+ <xs:maxInclusive value="31680"/>
62
+ </xs:restriction>
63
+ </xs:simpleType>
64
+
65
+ <xs:simpleType name="ST_PageHeight">
66
+ <xs:restriction base="xs:positiveInteger">
67
+ <xs:minInclusive value="5040"/>
68
+ <xs:maxInclusive value="31680"/>
69
+ </xs:restriction>
70
+ </xs:simpleType>
71
+
72
+ <!-- ============================================================ -->
73
+ <!-- Constrained section properties for gate-check -->
74
+ <!-- ============================================================ -->
75
+ <xs:complexType name="CT_GateCheckSectPr">
76
+ <xs:all>
77
+ <xs:element name="pgSz" minOccurs="1">
78
+ <xs:complexType>
79
+ <xs:attribute name="w" type="w:ST_PageWidth" use="required"/>
80
+ <xs:attribute name="h" type="w:ST_PageHeight" use="required"/>
81
+ <xs:attribute name="orient" use="optional">
82
+ <xs:simpleType>
83
+ <xs:restriction base="xs:string">
84
+ <xs:enumeration value="portrait"/>
85
+ <xs:enumeration value="landscape"/>
86
+ </xs:restriction>
87
+ </xs:simpleType>
88
+ </xs:attribute>
89
+ </xs:complexType>
90
+ </xs:element>
91
+ <xs:element name="pgMar" minOccurs="1">
92
+ <xs:complexType>
93
+ <xs:attribute name="top" type="w:ST_SignedMarginMeasure" use="required"/>
94
+ <xs:attribute name="bottom" type="w:ST_SignedMarginMeasure" use="required"/>
95
+ <xs:attribute name="left" type="w:ST_MarginMeasure" use="required"/>
96
+ <xs:attribute name="right" type="w:ST_MarginMeasure" use="required"/>
97
+ <xs:attribute name="header" type="xs:nonNegativeInteger" use="optional"/>
98
+ <xs:attribute name="footer" type="xs:nonNegativeInteger" use="optional"/>
99
+ <xs:attribute name="gutter" type="xs:nonNegativeInteger" use="optional"/>
100
+ </xs:complexType>
101
+ </xs:element>
102
+ </xs:all>
103
+ </xs:complexType>
104
+
105
+ <!-- ============================================================ -->
106
+ <!-- Required styles: at minimum Normal and Heading1 must exist -->
107
+ <!-- This is enforced programmatically by GateCheckValidator -->
108
+ <!-- rather than via XSD, since XSD cannot validate style presence -->
109
+ <!-- across separate XML parts. -->
110
+ <!-- ============================================================ -->
111
+
112
+ <!-- ============================================================ -->
113
+ <!-- Constrained run properties for font size validation -->
114
+ <!-- ============================================================ -->
115
+ <xs:complexType name="CT_GateCheckRPr">
116
+ <xs:all>
117
+ <xs:element name="sz" minOccurs="0">
118
+ <xs:complexType>
119
+ <xs:attribute name="val" type="w:ST_BodyFontSize" use="required"/>
120
+ </xs:complexType>
121
+ </xs:element>
122
+ <xs:element name="szCs" minOccurs="0">
123
+ <xs:complexType>
124
+ <xs:attribute name="val" type="w:ST_BodyFontSize" use="required"/>
125
+ </xs:complexType>
126
+ </xs:element>
127
+ </xs:all>
128
+ </xs:complexType>
129
+
130
+ </xs:schema>