@nguyenphp/antigravity-marketing 1.0.18 → 1.0.20

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 (231) hide show
  1. package/README.md +130 -78
  2. package/package.json +4 -3
  3. package/templates/.agent/skills/marketing-report-expert/SKILL.md +70 -0
  4. package/templates/.agent/skills/minimax-docx/LICENSE +21 -0
  5. package/templates/.agent/skills/minimax-docx/SKILL.md +274 -0
  6. package/templates/.agent/skills/minimax-docx/assets/styles/academic_styles.xml +250 -0
  7. package/templates/.agent/skills/minimax-docx/assets/styles/corporate_styles.xml +284 -0
  8. package/templates/.agent/skills/minimax-docx/assets/styles/default_styles.xml +449 -0
  9. package/templates/.agent/skills/minimax-docx/assets/xsd/aesthetic-rules.xsd +470 -0
  10. package/templates/.agent/skills/minimax-docx/assets/xsd/business-rules.xsd +130 -0
  11. package/templates/.agent/skills/minimax-docx/assets/xsd/common-types.xsd +159 -0
  12. package/templates/.agent/skills/minimax-docx/assets/xsd/wml-subset.xsd +589 -0
  13. package/templates/.agent/skills/minimax-docx/references/cjk_typography.md +357 -0
  14. package/templates/.agent/skills/minimax-docx/references/cjk_university_template_guide.md +184 -0
  15. package/templates/.agent/skills/minimax-docx/references/comments_guide.md +191 -0
  16. package/templates/.agent/skills/minimax-docx/references/design_good_bad_examples.md +829 -0
  17. package/templates/.agent/skills/minimax-docx/references/design_principles.md +819 -0
  18. package/templates/.agent/skills/minimax-docx/references/openxml_element_order.md +308 -0
  19. package/templates/.agent/skills/minimax-docx/references/openxml_encyclopedia_part1.md +4061 -0
  20. package/templates/.agent/skills/minimax-docx/references/openxml_encyclopedia_part2.md +2820 -0
  21. package/templates/.agent/skills/minimax-docx/references/openxml_encyclopedia_part3.md +3381 -0
  22. package/templates/.agent/skills/minimax-docx/references/openxml_namespaces.md +82 -0
  23. package/templates/.agent/skills/minimax-docx/references/openxml_units.md +72 -0
  24. package/templates/.agent/skills/minimax-docx/references/scenario_a_create.md +284 -0
  25. package/templates/.agent/skills/minimax-docx/references/scenario_b_edit_content.md +295 -0
  26. package/templates/.agent/skills/minimax-docx/references/scenario_c_apply_template.md +456 -0
  27. package/templates/.agent/skills/minimax-docx/references/track_changes_guide.md +200 -0
  28. package/templates/.agent/skills/minimax-docx/references/troubleshooting.md +506 -0
  29. package/templates/.agent/skills/minimax-docx/references/typography_guide.md +294 -0
  30. package/templates/.agent/skills/minimax-docx/references/xsd_validation_guide.md +158 -0
  31. package/templates/.agent/skills/minimax-docx/scripts/doc_to_docx.sh +40 -0
  32. package/templates/.agent/skills/minimax-docx/scripts/docx_preview.sh +37 -0
  33. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Cli/MiniMaxAIDocx.Cli.csproj +19 -0
  34. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Cli/Program.cs +18 -0
  35. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/AnalyzeCommand.cs +147 -0
  36. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ApplyTemplateCommand.cs +322 -0
  37. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/CreateCommand.cs +324 -0
  38. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/DiffCommand.cs +155 -0
  39. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/EditContentCommand.cs +487 -0
  40. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/FixOrderCommand.cs +108 -0
  41. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/MergeRunsCommand.cs +122 -0
  42. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ValidateCommand.cs +107 -0
  43. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/MiniMaxAIDocx.Core.csproj +15 -0
  44. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/CommentSynchronizer.cs +169 -0
  45. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/ElementOrder.cs +80 -0
  46. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/NamespaceConstants.cs +42 -0
  47. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/RunMerger.cs +81 -0
  48. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/StyleAnalyzer.cs +81 -0
  49. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/TrackChangesHelper.cs +99 -0
  50. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/UnitConverter.cs +23 -0
  51. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples.cs +1832 -0
  52. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch1.cs +910 -0
  53. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch2.cs +999 -0
  54. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch3.cs +1048 -0
  55. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch4.cs +1038 -0
  56. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/CharacterFormattingSamples.cs +1020 -0
  57. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/DocumentCreationSamples.cs +1121 -0
  58. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FieldAndTocSamples.cs +624 -0
  59. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FootnoteAndCommentSamples.cs +675 -0
  60. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/HeaderFooterSamples.cs +838 -0
  61. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ImageSamples.cs +917 -0
  62. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ListAndNumberingSamples.cs +826 -0
  63. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ParagraphFormattingSamples.cs +1199 -0
  64. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/StyleSystemSamples.cs +1487 -0
  65. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TableSamples.cs +1163 -0
  66. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TrackChangesSamples.cs +595 -0
  67. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/CjkHelper.cs +39 -0
  68. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/FontDefaults.cs +24 -0
  69. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/PageSizes.cs +20 -0
  70. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/BusinessRuleValidator.cs +224 -0
  71. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/GateCheckValidator.cs +148 -0
  72. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/ValidationResult.cs +23 -0
  73. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/XsdValidator.cs +69 -0
  74. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.slnx +4 -0
  75. package/templates/.agent/skills/minimax-docx/scripts/env_check.sh +196 -0
  76. package/templates/.agent/skills/minimax-docx/scripts/setup.ps1 +274 -0
  77. package/templates/.agent/skills/minimax-docx/scripts/setup.sh +504 -0
  78. package/templates/.agent/skills/minimax-multimodal-toolkit/SKILL.md +359 -0
  79. package/templates/.agent/skills/minimax-pdf/README.md +222 -0
  80. package/templates/.agent/skills/minimax-pdf/SKILL.md +201 -0
  81. package/templates/.agent/skills/minimax-pdf/design/design.md +381 -0
  82. package/templates/.agent/skills/minimax-pdf/scripts/cover.py +1579 -0
  83. package/templates/.agent/skills/minimax-pdf/scripts/fill_inspect.py +200 -0
  84. package/templates/.agent/skills/minimax-pdf/scripts/fill_write.py +242 -0
  85. package/templates/.agent/skills/minimax-pdf/scripts/make.sh +491 -0
  86. package/templates/.agent/skills/minimax-pdf/scripts/merge.py +112 -0
  87. package/templates/.agent/skills/minimax-pdf/scripts/palette.py +559 -0
  88. package/templates/.agent/skills/minimax-pdf/scripts/reformat_parse.py +374 -0
  89. package/templates/.agent/skills/minimax-pdf/scripts/render_body.py +1055 -0
  90. package/templates/.agent/skills/minimax-pdf/scripts/render_cover.cjs +111 -0
  91. package/templates/.agent/skills/minimax-xlsx/SKILL.md +138 -0
  92. package/templates/.agent/skills/minimax-xlsx/references/create.md +691 -0
  93. package/templates/.agent/skills/minimax-xlsx/references/edit.md +684 -0
  94. package/templates/.agent/skills/minimax-xlsx/references/fix.md +37 -0
  95. package/templates/.agent/skills/minimax-xlsx/references/format.md +768 -0
  96. package/templates/.agent/skills/minimax-xlsx/references/ooxml-cheatsheet.md +231 -0
  97. package/templates/.agent/skills/minimax-xlsx/references/read-analyze.md +97 -0
  98. package/templates/.agent/skills/minimax-xlsx/references/validate.md +772 -0
  99. package/templates/.agent/skills/minimax-xlsx/scripts/formula_check.py +422 -0
  100. package/templates/.agent/skills/minimax-xlsx/scripts/libreoffice_recalc.py +248 -0
  101. package/templates/.agent/skills/minimax-xlsx/scripts/shared_strings_builder.py +163 -0
  102. package/templates/.agent/skills/minimax-xlsx/scripts/style_audit.py +575 -0
  103. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_add_column.py +395 -0
  104. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_insert_row.py +274 -0
  105. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_pack.py +87 -0
  106. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_reader.py +362 -0
  107. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_shift_rows.py +396 -0
  108. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_unpack.py +130 -0
  109. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/[Content_Types].xml +9 -0
  110. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/_rels/.rels +6 -0
  111. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/_rels/workbook.xml.rels +19 -0
  112. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/sharedStrings.xml +33 -0
  113. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/styles.xml +160 -0
  114. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/workbook.xml +30 -0
  115. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/worksheets/sheet1.xml +70 -0
  116. package/templates/.agent/skills/pptx-generator/SKILL.md +249 -0
  117. package/templates/.agent/skills/pptx-generator/references/design-system.md +392 -0
  118. package/templates/.agent/skills/pptx-generator/references/editing.md +162 -0
  119. package/templates/.agent/skills/pptx-generator/references/pitfalls.md +112 -0
  120. package/templates/.agent/skills/pptx-generator/references/pptxgenjs.md +420 -0
  121. package/templates/.agent/skills/pptx-generator/references/slide-types.md +413 -0
  122. package/templates/.agent/skills/tutorial-video-expert/SKILL.md +88 -0
  123. package/templates/.agent/skills/ui-ux-pro-max/SKILL.md +170 -585
  124. package/templates/.agent/skills/vision-analysis/SKILL.md +174 -0
  125. package/templates/.agent/workflows/analyze.md +3 -0
  126. package/templates/.agent/workflows/brand-report.md +44 -0
  127. package/templates/.agent/workflows/report.md +49 -0
  128. package/templates/.agent/agents/backend-specialist.md +0 -263
  129. package/templates/.agent/agents/database-architect.md +0 -226
  130. package/templates/.agent/agents/debugger.md +0 -225
  131. package/templates/.agent/agents/devops-engineer.md +0 -242
  132. package/templates/.agent/agents/frontend-specialist.md +0 -527
  133. package/templates/.agent/agents/game-developer.md +0 -162
  134. package/templates/.agent/agents/mobile-developer.md +0 -377
  135. package/templates/.agent/agents/penetration-tester.md +0 -188
  136. package/templates/.agent/agents/security-auditor.md +0 -170
  137. package/templates/.agent/agents/test-engineer.md +0 -158
  138. package/templates/.agent/skills/api-patterns/SKILL.md +0 -81
  139. package/templates/.agent/skills/api-patterns/api-style.md +0 -42
  140. package/templates/.agent/skills/api-patterns/auth.md +0 -24
  141. package/templates/.agent/skills/api-patterns/documentation.md +0 -26
  142. package/templates/.agent/skills/api-patterns/graphql.md +0 -41
  143. package/templates/.agent/skills/api-patterns/rate-limiting.md +0 -31
  144. package/templates/.agent/skills/api-patterns/response.md +0 -37
  145. package/templates/.agent/skills/api-patterns/rest.md +0 -40
  146. package/templates/.agent/skills/api-patterns/scripts/api_validator.py +0 -211
  147. package/templates/.agent/skills/api-patterns/security-testing.md +0 -122
  148. package/templates/.agent/skills/api-patterns/trpc.md +0 -41
  149. package/templates/.agent/skills/api-patterns/versioning.md +0 -22
  150. package/templates/.agent/skills/app-builder/SKILL.md +0 -75
  151. package/templates/.agent/skills/app-builder/agent-coordination.md +0 -71
  152. package/templates/.agent/skills/app-builder/feature-building.md +0 -53
  153. package/templates/.agent/skills/app-builder/project-detection.md +0 -34
  154. package/templates/.agent/skills/app-builder/scaffolding.md +0 -118
  155. package/templates/.agent/skills/app-builder/tech-stack.md +0 -40
  156. package/templates/.agent/skills/app-builder/templates/SKILL.md +0 -39
  157. package/templates/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +0 -76
  158. package/templates/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +0 -92
  159. package/templates/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +0 -88
  160. package/templates/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +0 -88
  161. package/templates/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +0 -83
  162. package/templates/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +0 -90
  163. package/templates/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +0 -90
  164. package/templates/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +0 -82
  165. package/templates/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +0 -100
  166. package/templates/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +0 -106
  167. package/templates/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +0 -101
  168. package/templates/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +0 -83
  169. package/templates/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +0 -93
  170. package/templates/.agent/skills/architecture/SKILL.md +0 -55
  171. package/templates/.agent/skills/architecture/context-discovery.md +0 -43
  172. package/templates/.agent/skills/architecture/examples.md +0 -94
  173. package/templates/.agent/skills/architecture/pattern-selection.md +0 -68
  174. package/templates/.agent/skills/architecture/patterns-reference.md +0 -50
  175. package/templates/.agent/skills/architecture/trade-off-analysis.md +0 -77
  176. package/templates/.agent/skills/bash-linux/SKILL.md +0 -199
  177. package/templates/.agent/skills/behavioral-modes/SKILL.md +0 -242
  178. package/templates/.agent/skills/clean-code/SKILL.md +0 -201
  179. package/templates/.agent/skills/code-review-checklist/SKILL.md +0 -109
  180. package/templates/.agent/skills/database-design/SKILL.md +0 -52
  181. package/templates/.agent/skills/database-design/database-selection.md +0 -43
  182. package/templates/.agent/skills/database-design/indexing.md +0 -39
  183. package/templates/.agent/skills/database-design/migrations.md +0 -48
  184. package/templates/.agent/skills/database-design/optimization.md +0 -36
  185. package/templates/.agent/skills/database-design/orm-selection.md +0 -30
  186. package/templates/.agent/skills/database-design/schema-design.md +0 -56
  187. package/templates/.agent/skills/database-design/scripts/schema_validator.py +0 -172
  188. package/templates/.agent/skills/deployment-procedures/SKILL.md +0 -241
  189. package/templates/.agent/skills/docker-expert/SKILL.md +0 -409
  190. package/templates/.agent/skills/game-development/2d-games/SKILL.md +0 -119
  191. package/templates/.agent/skills/game-development/3d-games/SKILL.md +0 -135
  192. package/templates/.agent/skills/game-development/SKILL.md +0 -167
  193. package/templates/.agent/skills/game-development/game-art/SKILL.md +0 -185
  194. package/templates/.agent/skills/game-development/game-audio/SKILL.md +0 -190
  195. package/templates/.agent/skills/game-development/game-design/SKILL.md +0 -129
  196. package/templates/.agent/skills/game-development/mobile-games/SKILL.md +0 -108
  197. package/templates/.agent/skills/game-development/multiplayer/SKILL.md +0 -132
  198. package/templates/.agent/skills/game-development/pc-games/SKILL.md +0 -144
  199. package/templates/.agent/skills/game-development/vr-ar/SKILL.md +0 -123
  200. package/templates/.agent/skills/game-development/web-games/SKILL.md +0 -150
  201. package/templates/.agent/skills/lint-and-validate/SKILL.md +0 -45
  202. package/templates/.agent/skills/lint-and-validate/scripts/lint_runner.py +0 -172
  203. package/templates/.agent/skills/lint-and-validate/scripts/type_coverage.py +0 -173
  204. package/templates/.agent/skills/mcp-builder/SKILL.md +0 -176
  205. package/templates/.agent/skills/nestjs-expert/SKILL.md +0 -552
  206. package/templates/.agent/skills/nextjs-best-practices/SKILL.md +0 -203
  207. package/templates/.agent/skills/nodejs-best-practices/SKILL.md +0 -333
  208. package/templates/.agent/skills/parallel-agents/SKILL.md +0 -175
  209. package/templates/.agent/skills/performance-profiling/SKILL.md +0 -143
  210. package/templates/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +0 -76
  211. package/templates/.agent/skills/powershell-windows/SKILL.md +0 -167
  212. package/templates/.agent/skills/prisma-expert/SKILL.md +0 -355
  213. package/templates/.agent/skills/python-patterns/SKILL.md +0 -441
  214. package/templates/.agent/skills/react-patterns/SKILL.md +0 -198
  215. package/templates/.agent/skills/red-team-tactics/SKILL.md +0 -199
  216. package/templates/.agent/skills/server-management/SKILL.md +0 -161
  217. package/templates/.agent/skills/systematic-debugging/SKILL.md +0 -109
  218. package/templates/.agent/skills/tdd-workflow/SKILL.md +0 -149
  219. package/templates/.agent/skills/testing-patterns/SKILL.md +0 -178
  220. package/templates/.agent/skills/testing-patterns/scripts/test_runner.py +0 -219
  221. package/templates/.agent/skills/typescript-expert/SKILL.md +0 -429
  222. package/templates/.agent/skills/vue-expert/SKILL.md +0 -374
  223. package/templates/.agent/skills/vulnerability-scanner/SKILL.md +0 -276
  224. package/templates/.agent/skills/vulnerability-scanner/checklists.md +0 -121
  225. package/templates/.agent/skills/vulnerability-scanner/scripts/security_scan.py +0 -458
  226. package/templates/.agent/skills/webapp-testing/SKILL.md +0 -187
  227. package/templates/.agent/skills/webapp-testing/scripts/playwright_runner.py +0 -173
  228. package/templates/.agent/workflows/debug.md +0 -103
  229. package/templates/.agent/workflows/deploy.md +0 -176
  230. package/templates/.agent/workflows/enhance.md +0 -63
  231. package/templates/.agent/workflows/test.md +0 -144
@@ -0,0 +1,160 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
+ <!--
3
+ styles.xml — The complete style system for this workbook.
4
+
5
+ Style index (cellXfs) lookup table:
6
+ ┌───────┬─────────────────────────────────┬────────────────┬───────────────────┐
7
+ │ Index │ Semantic Role │ Font Color │ Number Format │
8
+ ├───────┼─────────────────────────────────┼────────────────┼───────────────────┤
9
+ │ 0 │ Default │ Theme (black) │ General │
10
+ │ 1 │ Input / Assumption │ Blue 000000FF │ General │
11
+ │ 2 │ Formula / Computed result │ Black 00000000 │ General │
12
+ │ 3 │ Cross-sheet reference │ Green 00008000 │ General │
13
+ │ 4 │ Header (bold) │ Black bold │ General │
14
+ │ 5 │ Currency input │ Blue 000000FF │ $#,##0 (id=164) │
15
+ │ 6 │ Currency formula │ Black │ $#,##0 (id=164) │
16
+ │ 7 │ Percentage input │ Blue 000000FF │ 0.0% (id=165) │
17
+ │ 8 │ Percentage formula │ Black │ 0.0% (id=165) │
18
+ │ 9 │ Integer with commas input │ Blue 000000FF │ #,##0 (id=167) │
19
+ │ 10 │ Integer with commas formula │ Black │ #,##0 (id=167) │
20
+ │ 11 │ Year (no comma) — input │ Blue 000000FF │ 0 (id=1) │
21
+ │ 12 │ Key assumption (yellow bg) │ Blue 000000FF │ General + yellow │
22
+ └───────┴─────────────────────────────────┴────────────────┴───────────────────┘
23
+
24
+ To add a new style:
25
+ 1. If needed, add a <numFmt> to <numFmts> with a new numFmtId >= 164 (increment max)
26
+ 2. If needed, add a <font> to <fonts>
27
+ 3. If needed, add a <fill> to <fills>
28
+ 4. Append a new <xf> to <cellXfs>, combining fontId + fillId + numFmtId
29
+ 5. Update the count attributes on <numFmts>, <fonts>, <fills>, <cellXfs>
30
+ 6. The new xf's index = (old cellXfs count) — use this as the s attribute on cells
31
+
32
+ CRITICAL RULES:
33
+ - fills[0] and fills[1] are REQUIRED BY SPEC — never remove them
34
+ - Do NOT modify existing <xf> entries — only append new ones
35
+ - AARRGGBB color format: first 2 hex digits = Alpha (00 = opaque)
36
+ -->
37
+ <styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
38
+
39
+ <!-- ── Number Formats ─────────────────────────────────────────────────── -->
40
+ <!-- Built-in IDs 0-163 need NOT be declared here. Custom formats: 164+ -->
41
+ <numFmts count="4">
42
+ <!-- 164: Standard currency — positive $1,234 / negative ($1,234) / zero - -->
43
+ <numFmt numFmtId="164" formatCode="$#,##0;($#,##0);&quot;-&quot;"/>
44
+ <!-- 165: Percentage with 1 decimal place -->
45
+ <numFmt numFmtId="165" formatCode="0.0%"/>
46
+ <!-- 166: Multiplier / ratio (e.g. 8.5x for EV/EBITDA) -->
47
+ <numFmt numFmtId="166" formatCode="0.0x"/>
48
+ <!-- 167: Integer with thousands separator, no decimals -->
49
+ <numFmt numFmtId="167" formatCode="#,##0"/>
50
+ </numFmts>
51
+
52
+ <!-- ── Fonts ──────────────────────────────────────────────────────────── -->
53
+ <fonts count="5">
54
+ <!-- 0: Default (theme color, no explicit color) -->
55
+ <font>
56
+ <sz val="11"/>
57
+ <name val="Calibri"/>
58
+ </font>
59
+ <!-- 1: Input / Assumption — Blue -->
60
+ <font>
61
+ <sz val="11"/>
62
+ <name val="Calibri"/>
63
+ <color rgb="000000FF"/>
64
+ </font>
65
+ <!-- 2: Formula / Computed result — Black (explicit) -->
66
+ <font>
67
+ <sz val="11"/>
68
+ <name val="Calibri"/>
69
+ <color rgb="00000000"/>
70
+ </font>
71
+ <!-- 3: Cross-sheet reference — Green -->
72
+ <font>
73
+ <sz val="11"/>
74
+ <name val="Calibri"/>
75
+ <color rgb="00008000"/>
76
+ </font>
77
+ <!-- 4: Header — Bold Black -->
78
+ <font>
79
+ <b/>
80
+ <sz val="11"/>
81
+ <name val="Calibri"/>
82
+ <color rgb="00000000"/>
83
+ </font>
84
+ </fonts>
85
+
86
+ <!-- ── Fills ──────────────────────────────────────────────────────────── -->
87
+ <!-- fills[0] and fills[1] are REQUIRED by OOXML spec — DO NOT REMOVE -->
88
+ <fills count="3">
89
+ <fill><patternFill patternType="none"/></fill>
90
+ <fill><patternFill patternType="gray125"/></fill>
91
+ <!-- 2: Yellow highlight for key assumptions requiring review -->
92
+ <fill>
93
+ <patternFill patternType="solid">
94
+ <fgColor rgb="00FFFF00"/>
95
+ <bgColor indexed="64"/>
96
+ </patternFill>
97
+ </fill>
98
+ </fills>
99
+
100
+ <!-- ── Borders ────────────────────────────────────────────────────────── -->
101
+ <borders count="1">
102
+ <!-- 0: No borders (default) -->
103
+ <border>
104
+ <left/>
105
+ <right/>
106
+ <top/>
107
+ <bottom/>
108
+ <diagonal/>
109
+ </border>
110
+ </borders>
111
+
112
+ <!-- ── Cell Style Xfs (base styles) ──────────────────────────────────── -->
113
+ <cellStyleXfs count="1">
114
+ <xf numFmtId="0" fontId="0" fillId="0" borderId="0"/>
115
+ </cellStyleXfs>
116
+
117
+ <!-- ── Cell Xfs (the actual style slots referenced by <c s="N">) ──────── -->
118
+ <cellXfs count="13">
119
+ <!-- 0: Default -->
120
+ <xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0"/>
121
+ <!-- 1: Input / Assumption (blue, general format) -->
122
+ <xf numFmtId="0" fontId="1" fillId="0" borderId="0" xfId="0" applyFont="1"/>
123
+ <!-- 2: Formula / Computed (black, general format) -->
124
+ <xf numFmtId="0" fontId="2" fillId="0" borderId="0" xfId="0" applyFont="1"/>
125
+ <!-- 3: Cross-sheet reference (green, general format) -->
126
+ <xf numFmtId="0" fontId="3" fillId="0" borderId="0" xfId="0" applyFont="1"/>
127
+ <!-- 4: Header (bold black) -->
128
+ <xf numFmtId="0" fontId="4" fillId="0" borderId="0" xfId="0" applyFont="1"/>
129
+ <!-- 5: Currency input (blue + $#,##0) -->
130
+ <xf numFmtId="164" fontId="1" fillId="0" borderId="0" xfId="0"
131
+ applyFont="1" applyNumberFormat="1"/>
132
+ <!-- 6: Currency formula (black + $#,##0) -->
133
+ <xf numFmtId="164" fontId="2" fillId="0" borderId="0" xfId="0"
134
+ applyFont="1" applyNumberFormat="1"/>
135
+ <!-- 7: Percentage input (blue + 0.0%) -->
136
+ <xf numFmtId="165" fontId="1" fillId="0" borderId="0" xfId="0"
137
+ applyFont="1" applyNumberFormat="1"/>
138
+ <!-- 8: Percentage formula (black + 0.0%) -->
139
+ <xf numFmtId="165" fontId="2" fillId="0" borderId="0" xfId="0"
140
+ applyFont="1" applyNumberFormat="1"/>
141
+ <!-- 9: Integer-with-commas input (blue + #,##0) -->
142
+ <xf numFmtId="167" fontId="1" fillId="0" borderId="0" xfId="0"
143
+ applyFont="1" applyNumberFormat="1"/>
144
+ <!-- 10: Integer-with-commas formula (black + #,##0) -->
145
+ <xf numFmtId="167" fontId="2" fillId="0" borderId="0" xfId="0"
146
+ applyFont="1" applyNumberFormat="1"/>
147
+ <!-- 11: Year column input (blue + plain integer "0", no comma) -->
148
+ <xf numFmtId="1" fontId="1" fillId="0" borderId="0" xfId="0"
149
+ applyFont="1" applyNumberFormat="1"/>
150
+ <!-- 12: Key assumption highlight (blue on yellow — needs human review) -->
151
+ <xf numFmtId="0" fontId="1" fillId="2" borderId="0" xfId="0"
152
+ applyFont="1" applyFill="1"/>
153
+ </cellXfs>
154
+
155
+ <!-- ── Named Cell Styles ─────────────────────────────────────────────── -->
156
+ <cellStyles count="1">
157
+ <cellStyle name="Normal" xfId="0" builtinId="0"/>
158
+ </cellStyles>
159
+
160
+ </styleSheet>
@@ -0,0 +1,30 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
+ <!--
3
+ workbook.xml — Defines the list of sheets.
4
+
5
+ To add a new sheet:
6
+ 1. Add a <sheet> element below with a unique sheetId and r:id
7
+ 2. Add a matching <Relationship> in xl/_rels/workbook.xml.rels
8
+ 3. Add an <Override> in [Content_Types].xml
9
+ 4. Create the xl/worksheets/sheetN.xml file
10
+
11
+ Sheet name rules:
12
+ - Max 31 characters
13
+ - Cannot contain: / \ ? * [ ] :
14
+ - Ampersand must be escaped as &amp; in XML
15
+ -->
16
+ <workbook
17
+ xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
18
+ xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
19
+ <fileVersion appName="xl" lastEdited="7" lowestEdited="7"/>
20
+ <workbookPr defaultThemeVersion="166925"/>
21
+ <bookViews>
22
+ <workbookView xWindow="0" yWindow="0" windowWidth="20140" windowHeight="10960"/>
23
+ </bookViews>
24
+ <sheets>
25
+ <!-- Add more <sheet> elements here for multi-sheet workbooks -->
26
+ <sheet name="Sheet1" sheetId="1" r:id="rId1"/>
27
+ </sheets>
28
+ <!-- calcId ensures Excel recalculates formulas on open -->
29
+ <calcPr calcId="191029"/>
30
+ </workbook>
@@ -0,0 +1,70 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
+ <!--
3
+ sheet1.xml — Worksheet data.
4
+
5
+ Cell anatomy:
6
+ <c r="A1" t="s" s="4"><v>0</v></c>
7
+ ↑ ↑ ↑ ↑
8
+ address type style value (sharedStrings index for t="s")
9
+
10
+ Type values (t attribute):
11
+ s = shared string (text) — <v> contains index into sharedStrings.xml
12
+ inlineStr = inline string — use <is><t>text</t></is> instead of <v>
13
+ n (or omit)= number — <v> contains the raw number
14
+ b = boolean — <v> is 1 (TRUE) or 0 (FALSE)
15
+ e = error — <v> contains error string like #REF!
16
+ (no t) = formula cell — <f> contains formula (NO leading =), <v> is cache
17
+
18
+ Formula cells:
19
+ <c r="B5" s="2"><f>SUM(B2:B4)</f><v></v></c>
20
+ Cross-sheet: <c r="C1" s="3"><f>Assumptions!B2</f><v></v></c>
21
+ With spaces: <c r="C1" s="3"><f>'Q1 Data'!B2</f><v></v></c>
22
+
23
+ Style index (s attribute) — pre-built in styles.xml:
24
+ 0 = default
25
+ 1 = input/assumption (blue font)
26
+ 2 = formula/computed (black font)
27
+ 3 = cross-sheet reference (green font)
28
+ 4 = header bold
29
+ 5 = currency input (blue + $#,##0 format)
30
+ See styles.xml for the full list and how to add more.
31
+
32
+ Row r attribute must be 1-based integer.
33
+ Column letters: A=1, Z=26, AA=27, AZ=52, BA=53, BZ=78, etc.
34
+ -->
35
+ <worksheet
36
+ xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
37
+ xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
38
+ <sheetViews>
39
+ <sheetView tabSelected="1" workbookViewId="0">
40
+ <!-- Freeze top row as header: -->
41
+ <!-- <pane ySplit="1" topLeftCell="A2" activePane="bottomLeft" state="frozen"/> -->
42
+ </sheetView>
43
+ </sheetViews>
44
+ <sheetFormatPr defaultRowHeight="15" x14ac:dyDescent="0.25"
45
+ xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac"/>
46
+ <!-- Column widths — uncomment and adjust as needed:
47
+ <cols>
48
+ <col min="1" max="1" width="24" customWidth="1"/>
49
+ <col min="2" max="10" width="14" customWidth="1"/>
50
+ </cols>
51
+ -->
52
+ <sheetData>
53
+ <!-- Replace this placeholder with actual data rows.
54
+ Example:
55
+ <row r="1">
56
+ <c r="A1" t="s" s="4"><v>0</v></c>
57
+ <c r="B1" t="s" s="4"><v>1</v></c>
58
+ </row>
59
+ <row r="2">
60
+ <c r="A2" t="s" s="1"><v>2</v></c>
61
+ <c r="B2" s="1"><v>1000</v></c>
62
+ </row>
63
+ <row r="3">
64
+ <c r="A3" t="s" s="2"><v>3</v></c>
65
+ <c r="B3" s="2"><f>B2*1.1</f><v></v></c>
66
+ </row>
67
+ -->
68
+ </sheetData>
69
+ <pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/>
70
+ </worksheet>
@@ -0,0 +1,249 @@
1
+ ---
2
+ name: pptx-generator
3
+ description: "Generate, edit, and read PowerPoint presentations. Create from scratch with PptxGenJS (cover, TOC, content, section divider, summary slides), edit existing PPTX via XML workflows, or extract text with markitdown. Triggers: PPT, PPTX, PowerPoint, presentation, slide, deck, slides."
4
+ license: MIT
5
+ metadata:
6
+ version: "1.0"
7
+ category: productivity
8
+ sources:
9
+ - https://gitbrent.github.io/PptxGenJS/
10
+ - https://github.com/microsoft/markitdown
11
+ ---
12
+
13
+ # PPTX Generator & Editor
14
+
15
+ ## Overview
16
+
17
+ This skill handles all PowerPoint tasks: reading/analyzing existing presentations, editing template-based decks via XML manipulation, and creating presentations from scratch using PptxGenJS. It includes a complete design system (color palettes, fonts, style recipes) and detailed guidance for every slide type.
18
+
19
+ ## Quick Reference
20
+
21
+ | Task | Approach |
22
+ |------|----------|
23
+ | Read/analyze content | `python -m markitdown presentation.pptx` |
24
+ | Edit or create from template | See [Editing Presentations](references/editing.md) |
25
+ | Create from scratch | See [Creating from Scratch](#creating-from-scratch-workflow) below |
26
+
27
+ | Item | Value |
28
+ |------|-------|
29
+ | **Dimensions** | 10" x 5.625" (LAYOUT_16x9) |
30
+ | **Colors** | 6-char hex without # (e.g., `"FF0000"`) |
31
+ | **English font** | Arial (default), or approved alternatives |
32
+ | **Chinese font** | Microsoft YaHei |
33
+ | **Page badge position** | x: 9.3", y: 5.1" |
34
+ | **Theme keys** | `primary`, `secondary`, `accent`, `light`, `bg` |
35
+ | **Shapes** | RECTANGLE, OVAL, LINE, ROUNDED_RECTANGLE |
36
+ | **Charts** | BAR, LINE, PIE, DOUGHNUT, SCATTER, BUBBLE, RADAR |
37
+
38
+ ## Reference Files
39
+
40
+ | File | Contents |
41
+ |------|----------|
42
+ | [slide-types.md](references/slide-types.md) | 5 slide page types (Cover, TOC, Section Divider, Content, Summary) + additional layout patterns |
43
+ | [design-system.md](references/design-system.md) | Color palettes, font reference, style recipes (Sharp/Soft/Rounded/Pill), typography & spacing |
44
+ | [editing.md](references/editing.md) | Template-based editing workflow, XML manipulation, formatting rules, common pitfalls |
45
+ | [pitfalls.md](references/pitfalls.md) | QA process, common mistakes, critical PptxGenJS pitfalls |
46
+ | [pptxgenjs.md](references/pptxgenjs.md) | Complete PptxGenJS API reference |
47
+
48
+ ---
49
+
50
+ ## Reading Content
51
+
52
+ ```bash
53
+ # Text extraction
54
+ python -m markitdown presentation.pptx
55
+ ```
56
+
57
+ ---
58
+
59
+ ## Creating from Scratch — Workflow
60
+
61
+ **Use when no template or reference presentation is available.**
62
+
63
+ ### Step 1: Research & Requirements
64
+
65
+ Search to understand user requirements — topic, audience, purpose, tone, content depth.
66
+
67
+ ### Step 2: Select Color Palette & Fonts
68
+
69
+ Use the [Color Palette Reference](references/design-system.md#color-palette-reference) to select a palette matching the topic and audience. Use the [Font Reference](references/design-system.md#font-reference) to choose a font pairing.
70
+
71
+ ### Step 3: Select Design Style
72
+
73
+ Use the [Style Recipes](references/design-system.md#style-recipes) to choose a visual style (Sharp, Soft, Rounded, or Pill) matching the presentation tone.
74
+
75
+ ### Step 4: Plan Slide Outline
76
+
77
+ Classify **every slide** as exactly one of the [5 page types](references/slide-types.md). Plan the content and layout for each slide. Ensure visual variety — do NOT repeat the same layout across slides.
78
+
79
+ ### Step 5: Generate Slide JS Files
80
+
81
+ Create one JS file per slide in `slides/` directory. Each file must export a synchronous `createSlide(pres, theme)` function. Follow the [Slide Output Format](#slide-output-format) and the type-specific guidance in [slide-types.md](references/slide-types.md). Generate up to 5 slides concurrently using subagents if available.
82
+
83
+ **Tell each subagent:**
84
+ 1. File naming: `slides/slide-01.js`, `slides/slide-02.js`, etc.
85
+ 2. Images go in: `slides/imgs/`
86
+ 3. Final PPTX goes in: `slides/output/`
87
+ 4. Dimensions: 10" x 5.625" (LAYOUT_16x9)
88
+ 5. Fonts: Chinese = Microsoft YaHei, English = Arial (or approved alternative)
89
+ 6. Colors: 6-char hex without # (e.g. `"FF0000"`)
90
+ 7. Must use the theme object contract (see [Theme Object Contract](#theme-object-contract))
91
+ 8. Must follow the [PptxGenJS API reference](references/pptxgenjs.md)
92
+
93
+ ### Step 6: Compile into Final PPTX
94
+
95
+ Create `slides/compile.js` to combine all slide modules:
96
+
97
+ ```javascript
98
+ // slides/compile.js
99
+ const pptxgen = require('pptxgenjs');
100
+ const pres = new pptxgen();
101
+ pres.layout = 'LAYOUT_16x9';
102
+
103
+ const theme = {
104
+ primary: "22223b", // dark color for backgrounds/text
105
+ secondary: "4a4e69", // secondary accent
106
+ accent: "9a8c98", // highlight color
107
+ light: "c9ada7", // light accent
108
+ bg: "f2e9e4" // background color
109
+ };
110
+
111
+ for (let i = 1; i <= 12; i++) { // adjust count as needed
112
+ const num = String(i).padStart(2, '0');
113
+ const slideModule = require(`./slide-${num}.js`);
114
+ slideModule.createSlide(pres, theme);
115
+ }
116
+
117
+ pres.writeFile({ fileName: './output/presentation.pptx' });
118
+ ```
119
+
120
+ Run with: `cd slides && node compile.js`
121
+
122
+ ### Step 7: QA (Required)
123
+
124
+ See [QA Process](references/pitfalls.md#qa-process).
125
+
126
+ ### Output Structure
127
+
128
+ ```
129
+ slides/
130
+ ├── slide-01.js # Slide modules
131
+ ├── slide-02.js
132
+ ├── ...
133
+ ├── imgs/ # Images used in slides
134
+ └── output/ # Final artifacts
135
+ └── presentation.pptx
136
+ ```
137
+
138
+ ---
139
+
140
+ ## Slide Output Format
141
+
142
+ Each slide is a **complete, runnable JS file**:
143
+
144
+ ```javascript
145
+ // slide-01.js
146
+ const pptxgen = require("pptxgenjs");
147
+
148
+ const slideConfig = {
149
+ type: 'cover',
150
+ index: 1,
151
+ title: 'Presentation Title'
152
+ };
153
+
154
+ // MUST be synchronous (not async)
155
+ function createSlide(pres, theme) {
156
+ const slide = pres.addSlide();
157
+ slide.background = { color: theme.bg };
158
+
159
+ slide.addText(slideConfig.title, {
160
+ x: 0.5, y: 2, w: 9, h: 1.2,
161
+ fontSize: 48, fontFace: "Arial",
162
+ color: theme.primary, bold: true, align: "center"
163
+ });
164
+
165
+ return slide;
166
+ }
167
+
168
+ // Standalone preview - use slide-specific filename
169
+ if (require.main === module) {
170
+ const pres = new pptxgen();
171
+ pres.layout = 'LAYOUT_16x9';
172
+ const theme = {
173
+ primary: "22223b",
174
+ secondary: "4a4e69",
175
+ accent: "9a8c98",
176
+ light: "c9ada7",
177
+ bg: "f2e9e4"
178
+ };
179
+ createSlide(pres, theme);
180
+ pres.writeFile({ fileName: "slide-01-preview.pptx" });
181
+ }
182
+
183
+ module.exports = { createSlide, slideConfig };
184
+ ```
185
+
186
+ ---
187
+
188
+ ## Theme Object Contract (MANDATORY)
189
+
190
+ The compile script passes a theme object with these **exact keys**:
191
+
192
+ | Key | Purpose | Example |
193
+ |-----|---------|---------|
194
+ | `theme.primary` | Darkest color, titles | `"22223b"` |
195
+ | `theme.secondary` | Dark accent, body text | `"4a4e69"` |
196
+ | `theme.accent` | Mid-tone accent | `"9a8c98"` |
197
+ | `theme.light` | Light accent | `"c9ada7"` |
198
+ | `theme.bg` | Background color | `"f2e9e4"` |
199
+
200
+ **NEVER use other key names** like `background`, `text`, `muted`, `darkest`, `lightest`.
201
+
202
+ ---
203
+
204
+ ## Page Number Badge (REQUIRED)
205
+
206
+ All slides **except Cover Page** MUST include a page number badge in the bottom-right corner.
207
+
208
+ - **Position**: x: 9.3", y: 5.1"
209
+ - Show current number only (e.g. `3` or `03`), NOT "3/12"
210
+ - Use palette colors, keep subtle
211
+
212
+ ### Circle Badge (Default)
213
+
214
+ ```javascript
215
+ slide.addShape(pres.shapes.OVAL, {
216
+ x: 9.3, y: 5.1, w: 0.4, h: 0.4,
217
+ fill: { color: theme.accent }
218
+ });
219
+ slide.addText("3", {
220
+ x: 9.3, y: 5.1, w: 0.4, h: 0.4,
221
+ fontSize: 12, fontFace: "Arial",
222
+ color: "FFFFFF", bold: true,
223
+ align: "center", valign: "middle"
224
+ });
225
+ ```
226
+
227
+ ### Pill Badge
228
+
229
+ ```javascript
230
+ slide.addShape(pres.shapes.ROUNDED_RECTANGLE, {
231
+ x: 9.1, y: 5.15, w: 0.6, h: 0.35,
232
+ fill: { color: theme.accent },
233
+ rectRadius: 0.15
234
+ });
235
+ slide.addText("03", {
236
+ x: 9.1, y: 5.15, w: 0.6, h: 0.35,
237
+ fontSize: 11, fontFace: "Arial",
238
+ color: "FFFFFF", bold: true,
239
+ align: "center", valign: "middle"
240
+ });
241
+ ```
242
+
243
+ ---
244
+
245
+ ## Dependencies
246
+
247
+ - `pip install "markitdown[pptx]"` — text extraction
248
+ - `npm install -g pptxgenjs` — creating from scratch
249
+ - `npm install -g react-icons react react-dom sharp` — icons (optional)