@amrhas82/agentic-kit 1.7.0 → 1.7.5

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 (1278) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +110 -183
  3. package/docs/INSTALLATION_DEMO.md +4 -4
  4. package/docs/INTEGRATION_ISSUES_9.1.md +2 -2
  5. package/docs/KNOWLEDGE_BASE.md +16 -16
  6. package/docs/PACKAGE_BASELINE.md +9 -9
  7. package/docs/UPDATED_VARIANT_CONFIGURATION.md +14 -14
  8. package/docs/VARIANT_CONFIGURATION.md +2 -2
  9. package/package.json +1 -1
  10. package/packages/ampcode/AGENT.md +49 -505
  11. package/packages/ampcode/agents/1-create-prd.md +69 -40
  12. package/packages/ampcode/agents/2-generate-tasks.md +113 -25
  13. package/packages/ampcode/agents/3-process-task-list.md +125 -71
  14. package/packages/ampcode/agents/backlog-manager.md +169 -0
  15. package/packages/ampcode/agents/code-developer.md +118 -0
  16. package/packages/{claude/agents/context-initializer.md → ampcode/agents/context-builder.md} +53 -146
  17. package/packages/ampcode/agents/feature-planner.md +155 -0
  18. package/packages/ampcode/agents/{business-analyst.md → market-researcher.md} +57 -9
  19. package/packages/ampcode/agents/master.md +107 -18
  20. package/packages/ampcode/agents/orchestrator.md +95 -42
  21. package/packages/{claude/agents/qa-test-architect.md → ampcode/agents/quality-assurance.md} +53 -22
  22. package/packages/ampcode/agents/{scrum-master.md → story-writer.md} +52 -16
  23. package/packages/{claude/agents/holistic-architect.md → ampcode/agents/system-architect.md} +45 -3
  24. package/packages/{claude/agents/ux-expert.md → ampcode/agents/ui-designer.md} +50 -16
  25. package/packages/ampcode/commands/brainstorming.md +6 -3
  26. package/packages/ampcode/commands/code-review.md +8 -154
  27. package/packages/ampcode/commands/condition-based-waiting.md +5 -2
  28. package/packages/ampcode/commands/debug.md +21 -0
  29. package/packages/ampcode/commands/docs-builder/templates.md +572 -0
  30. package/packages/ampcode/commands/docs-builder.md +107 -0
  31. package/packages/ampcode/commands/explain.md +19 -0
  32. package/packages/ampcode/commands/git-commit.md +15 -0
  33. package/packages/ampcode/commands/optimize.md +21 -0
  34. package/packages/ampcode/commands/refactor.md +22 -0
  35. package/packages/ampcode/commands/review.md +19 -0
  36. package/packages/ampcode/commands/root-cause-tracing.md +5 -2
  37. package/packages/ampcode/commands/security.md +22 -0
  38. package/packages/ampcode/commands/ship.md +19 -0
  39. package/packages/ampcode/commands/skill-creator.md +4 -1
  40. package/packages/ampcode/commands/subagent-spawning.md +82 -0
  41. package/packages/ampcode/commands/systematic-debugging.md +4 -344
  42. package/packages/ampcode/commands/test-driven-development.md +27 -1
  43. package/packages/ampcode/commands/test-generate.md +19 -0
  44. package/packages/ampcode/commands/testing-anti-patterns.md +4 -1
  45. package/packages/ampcode/commands/verification-before-completion.md +15 -1
  46. package/packages/ampcode/variants.json +44 -22
  47. package/packages/claude/CLAUDE.md +55 -515
  48. package/packages/claude/agents/1-create-prd.md +69 -40
  49. package/packages/claude/agents/2-generate-tasks.md +113 -25
  50. package/packages/claude/agents/3-process-task-list.md +125 -72
  51. package/packages/claude/agents/backlog-manager.md +169 -0
  52. package/packages/claude/agents/code-developer.md +118 -0
  53. package/packages/claude/agents/context-builder.md +198 -0
  54. package/packages/claude/agents/feature-planner.md +155 -0
  55. package/packages/claude/agents/{business-analyst.md → market-researcher.md} +57 -9
  56. package/packages/claude/agents/master.md +107 -19
  57. package/packages/claude/agents/orchestrator.md +92 -39
  58. package/packages/{ampcode/agents/qa-test-architect.md → claude/agents/quality-assurance.md} +53 -22
  59. package/packages/claude/agents/{scrum-master.md → story-writer.md} +52 -16
  60. package/packages/{ampcode/agents/holistic-architect.md → claude/agents/system-architect.md} +45 -3
  61. package/packages/{ampcode/agents/ux-expert.md → claude/agents/ui-designer.md} +50 -16
  62. package/packages/claude/commands/debug.md +21 -0
  63. package/packages/claude/commands/explain.md +19 -0
  64. package/packages/claude/commands/git-commit.md +15 -0
  65. package/packages/claude/commands/optimize.md +21 -0
  66. package/packages/claude/commands/refactor.md +22 -0
  67. package/packages/claude/commands/review.md +19 -0
  68. package/packages/claude/commands/security.md +22 -0
  69. package/packages/claude/commands/ship.md +19 -0
  70. package/packages/claude/commands/test-generate.md +19 -0
  71. package/packages/claude/skills/brainstorming/SKILL.md +5 -2
  72. package/packages/claude/skills/code-review/SKILL.md +8 -5
  73. package/packages/claude/skills/condition-based-waiting/SKILL.md +3 -0
  74. package/packages/claude/skills/docs-builder/SKILL.md +107 -0
  75. package/packages/claude/skills/docs-builder/references/templates.md +572 -0
  76. package/packages/claude/skills/root-cause-tracing/SKILL.md +3 -0
  77. package/packages/claude/skills/skill-creator/SKILL.md +3 -0
  78. package/packages/claude/skills/subagent-spawning/SKILL.md +82 -0
  79. package/packages/claude/skills/systematic-debugging/SKILL.md +4 -2
  80. package/packages/claude/skills/test-driven-development/SKILL.md +29 -0
  81. package/packages/claude/skills/testing-anti-patterns/SKILL.md +3 -0
  82. package/packages/claude/skills/verification-before-completion/SKILL.md +14 -0
  83. package/packages/claude/variants.json +46 -19
  84. package/packages/droid/AGENTS.md +49 -519
  85. package/packages/droid/commands/brainstorming.md +12 -4
  86. package/packages/droid/commands/code-review.md +47 -31
  87. package/packages/droid/commands/{condition-based-waiting/condition-based-waiting.md → condition-based-waiting.md} +42 -52
  88. package/packages/droid/commands/debug.md +21 -0
  89. package/packages/droid/commands/docs-builder/templates.md +572 -0
  90. package/packages/droid/commands/docs-builder.md +107 -0
  91. package/packages/droid/commands/explain.md +19 -0
  92. package/packages/droid/commands/git-commit.md +15 -0
  93. package/packages/droid/commands/optimize.md +21 -0
  94. package/packages/droid/commands/refactor.md +22 -0
  95. package/packages/droid/commands/review.md +19 -0
  96. package/packages/droid/commands/{root-cause-tracing/root-cause-tracing.md → root-cause-tracing.md} +65 -99
  97. package/packages/droid/commands/security.md +22 -0
  98. package/packages/droid/commands/ship.md +19 -0
  99. package/packages/droid/commands/skill-creator.md +212 -0
  100. package/packages/droid/commands/subagent-spawning.md +82 -0
  101. package/packages/droid/commands/systematic-debugging.md +222 -139
  102. package/packages/droid/commands/test-driven-development.md +237 -78
  103. package/packages/droid/commands/test-generate.md +19 -0
  104. package/packages/droid/commands/testing-anti-patterns.md +130 -73
  105. package/packages/droid/commands/verification-before-completion.md +91 -89
  106. package/packages/droid/droids/1-create-prd.md +69 -41
  107. package/packages/droid/droids/2-generate-tasks.md +113 -26
  108. package/packages/droid/droids/3-process-task-list.md +125 -72
  109. package/packages/droid/droids/backlog-manager.md +169 -0
  110. package/packages/droid/droids/code-developer.md +118 -0
  111. package/packages/droid/droids/context-builder.md +198 -0
  112. package/packages/droid/droids/feature-planner.md +155 -0
  113. package/packages/droid/droids/{business-analyst.md → market-researcher.md} +57 -9
  114. package/packages/droid/droids/master.md +107 -18
  115. package/packages/droid/droids/orchestrator.md +95 -42
  116. package/packages/droid/droids/{qa-test-architect.md → quality-assurance.md} +53 -22
  117. package/packages/droid/droids/{scrum-master.md → story-writer.md} +52 -16
  118. package/packages/droid/droids/{holistic-architect.md → system-architect.md} +45 -3
  119. package/packages/droid/droids/{ux-expert.md → ui-designer.md} +50 -16
  120. package/packages/droid/variants.json +44 -22
  121. package/packages/opencode/AGENTS.md +49 -515
  122. package/packages/opencode/agent/1-create-prd.md +69 -40
  123. package/packages/opencode/agent/2-generate-tasks.md +113 -26
  124. package/packages/opencode/agent/3-process-task-list.md +124 -71
  125. package/packages/opencode/agent/backlog-manager.md +173 -0
  126. package/packages/opencode/agent/code-developer.md +122 -0
  127. package/packages/opencode/agent/context-builder.md +202 -0
  128. package/packages/opencode/agent/feature-planner.md +159 -0
  129. package/packages/opencode/agent/{business-analyst.md → market-researcher.md} +58 -10
  130. package/packages/opencode/agent/master.md +107 -18
  131. package/packages/opencode/agent/orchestrator.md +95 -42
  132. package/packages/opencode/agent/{qa-test-architect.md → quality-assurance.md} +53 -22
  133. package/packages/opencode/agent/{scrum-master.md → story-writer.md} +52 -16
  134. package/packages/opencode/agent/{holistic-architect.md → system-architect.md} +45 -3
  135. package/packages/opencode/agent/{ux-expert.md → ui-designer.md} +50 -16
  136. package/packages/opencode/command/brainstorming.md +12 -4
  137. package/packages/opencode/command/code-review.md +47 -31
  138. package/packages/opencode/command/condition-based-waiting.md +42 -52
  139. package/packages/opencode/command/debug.md +21 -0
  140. package/packages/opencode/command/docs-builder/templates.md +572 -0
  141. package/packages/opencode/command/docs-builder.md +107 -0
  142. package/packages/opencode/command/explain.md +19 -0
  143. package/packages/opencode/command/git-commit.md +15 -0
  144. package/packages/opencode/command/optimize.md +21 -0
  145. package/packages/opencode/command/refactor.md +22 -0
  146. package/packages/opencode/command/review.md +19 -0
  147. package/packages/opencode/command/root-cause-tracing.md +65 -99
  148. package/packages/opencode/command/security.md +22 -0
  149. package/packages/opencode/command/ship.md +19 -0
  150. package/packages/opencode/command/skill-creator.md +158 -142
  151. package/packages/opencode/command/subagent-spawning.md +82 -0
  152. package/packages/opencode/command/systematic-debugging.md +222 -139
  153. package/packages/opencode/command/test-driven-development.md +237 -78
  154. package/packages/opencode/command/test-generate.md +19 -0
  155. package/packages/opencode/command/testing-anti-patterns.md +130 -73
  156. package/packages/opencode/command/verification-before-completion.md +91 -89
  157. package/packages/opencode/opencode.jsonc +37 -85
  158. package/packages/opencode/variants.json +44 -22
  159. package/packages/subagentic-manual.md +329 -147
  160. package/packages/ampcode/agents/context-initializer.md +0 -291
  161. package/packages/ampcode/agents/full-stack-dev.md +0 -80
  162. package/packages/ampcode/agents/product-manager.md +0 -82
  163. package/packages/ampcode/agents/product-owner.md +0 -97
  164. package/packages/ampcode/commands/README.md +0 -76
  165. package/packages/ampcode/commands/algorithmic-art/templates/generator_template.js +0 -223
  166. package/packages/ampcode/commands/algorithmic-art/templates/viewer.html +0 -599
  167. package/packages/ampcode/commands/algorithmic-art.md +0 -405
  168. package/packages/ampcode/commands/artifacts-builder/scripts/bundle-artifact.sh +0 -54
  169. package/packages/ampcode/commands/artifacts-builder/scripts/init-artifact.sh +0 -322
  170. package/packages/ampcode/commands/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  171. package/packages/ampcode/commands/artifacts-builder.md +0 -74
  172. package/packages/ampcode/commands/brand-guidelines.md +0 -73
  173. package/packages/ampcode/commands/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +0 -93
  174. package/packages/ampcode/commands/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  175. package/packages/ampcode/commands/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  176. package/packages/ampcode/commands/canvas-design/canvas-fonts/BigShoulders-OFL.txt +0 -93
  177. package/packages/ampcode/commands/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  178. package/packages/ampcode/commands/canvas-design/canvas-fonts/Boldonse-OFL.txt +0 -93
  179. package/packages/ampcode/commands/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  180. package/packages/ampcode/commands/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  181. package/packages/ampcode/commands/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +0 -93
  182. package/packages/ampcode/commands/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  183. package/packages/ampcode/commands/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  184. package/packages/ampcode/commands/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  185. package/packages/ampcode/commands/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +0 -93
  186. package/packages/ampcode/commands/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  187. package/packages/ampcode/commands/canvas-design/canvas-fonts/DMMono-OFL.txt +0 -93
  188. package/packages/ampcode/commands/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  189. package/packages/ampcode/commands/canvas-design/canvas-fonts/EricaOne-OFL.txt +0 -94
  190. package/packages/ampcode/commands/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  191. package/packages/ampcode/commands/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  192. package/packages/ampcode/commands/canvas-design/canvas-fonts/GeistMono-OFL.txt +0 -93
  193. package/packages/ampcode/commands/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  194. package/packages/ampcode/commands/canvas-design/canvas-fonts/Gloock-OFL.txt +0 -93
  195. package/packages/ampcode/commands/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  196. package/packages/ampcode/commands/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  197. package/packages/ampcode/commands/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +0 -93
  198. package/packages/ampcode/commands/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  199. package/packages/ampcode/commands/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  200. package/packages/ampcode/commands/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  201. package/packages/ampcode/commands/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  202. package/packages/ampcode/commands/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  203. package/packages/ampcode/commands/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  204. package/packages/ampcode/commands/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  205. package/packages/ampcode/commands/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  206. package/packages/ampcode/commands/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +0 -93
  207. package/packages/ampcode/commands/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  208. package/packages/ampcode/commands/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  209. package/packages/ampcode/commands/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  210. package/packages/ampcode/commands/canvas-design/canvas-fonts/Italiana-OFL.txt +0 -93
  211. package/packages/ampcode/commands/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  212. package/packages/ampcode/commands/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  213. package/packages/ampcode/commands/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +0 -93
  214. package/packages/ampcode/commands/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  215. package/packages/ampcode/commands/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  216. package/packages/ampcode/commands/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  217. package/packages/ampcode/commands/canvas-design/canvas-fonts/Jura-OFL.txt +0 -93
  218. package/packages/ampcode/commands/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +0 -93
  219. package/packages/ampcode/commands/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  220. package/packages/ampcode/commands/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  221. package/packages/ampcode/commands/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  222. package/packages/ampcode/commands/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  223. package/packages/ampcode/commands/canvas-design/canvas-fonts/Lora-OFL.txt +0 -93
  224. package/packages/ampcode/commands/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  225. package/packages/ampcode/commands/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  226. package/packages/ampcode/commands/canvas-design/canvas-fonts/NationalPark-OFL.txt +0 -93
  227. package/packages/ampcode/commands/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  228. package/packages/ampcode/commands/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -93
  229. package/packages/ampcode/commands/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  230. package/packages/ampcode/commands/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  231. package/packages/ampcode/commands/canvas-design/canvas-fonts/Outfit-OFL.txt +0 -93
  232. package/packages/ampcode/commands/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  233. package/packages/ampcode/commands/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  234. package/packages/ampcode/commands/canvas-design/canvas-fonts/PixelifySans-OFL.txt +0 -93
  235. package/packages/ampcode/commands/canvas-design/canvas-fonts/PoiretOne-OFL.txt +0 -93
  236. package/packages/ampcode/commands/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  237. package/packages/ampcode/commands/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  238. package/packages/ampcode/commands/canvas-design/canvas-fonts/RedHatMono-OFL.txt +0 -93
  239. package/packages/ampcode/commands/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  240. package/packages/ampcode/commands/canvas-design/canvas-fonts/Silkscreen-OFL.txt +0 -93
  241. package/packages/ampcode/commands/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  242. package/packages/ampcode/commands/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  243. package/packages/ampcode/commands/canvas-design/canvas-fonts/SmoochSans-OFL.txt +0 -93
  244. package/packages/ampcode/commands/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  245. package/packages/ampcode/commands/canvas-design/canvas-fonts/Tektur-OFL.txt +0 -93
  246. package/packages/ampcode/commands/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  247. package/packages/ampcode/commands/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  248. package/packages/ampcode/commands/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  249. package/packages/ampcode/commands/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  250. package/packages/ampcode/commands/canvas-design/canvas-fonts/WorkSans-OFL.txt +0 -93
  251. package/packages/ampcode/commands/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  252. package/packages/ampcode/commands/canvas-design/canvas-fonts/YoungSerif-OFL.txt +0 -93
  253. package/packages/ampcode/commands/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  254. package/packages/ampcode/commands/canvas-design.md +0 -130
  255. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  256. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  257. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  258. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  259. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  260. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  261. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  262. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  263. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  264. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  265. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  266. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  267. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  268. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  269. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  270. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  271. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  272. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  273. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  274. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  275. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  276. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  277. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  278. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  279. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  280. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  281. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  282. package/packages/ampcode/commands/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  283. package/packages/ampcode/commands/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  284. package/packages/ampcode/commands/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  285. package/packages/ampcode/commands/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  286. package/packages/ampcode/commands/docx/ooxml/schemas/mce/mc.xsd +0 -75
  287. package/packages/ampcode/commands/docx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  288. package/packages/ampcode/commands/docx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  289. package/packages/ampcode/commands/docx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  290. package/packages/ampcode/commands/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  291. package/packages/ampcode/commands/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  292. package/packages/ampcode/commands/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  293. package/packages/ampcode/commands/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  294. package/packages/ampcode/commands/docx/ooxml/scripts/pack.py +0 -159
  295. package/packages/ampcode/commands/docx/ooxml/scripts/unpack.py +0 -29
  296. package/packages/ampcode/commands/docx/ooxml/scripts/validate.py +0 -69
  297. package/packages/ampcode/commands/docx/ooxml/scripts/validation/__init__.py +0 -15
  298. package/packages/ampcode/commands/docx/ooxml/scripts/validation/base.py +0 -951
  299. package/packages/ampcode/commands/docx/ooxml/scripts/validation/docx.py +0 -274
  300. package/packages/ampcode/commands/docx/ooxml/scripts/validation/pptx.py +0 -315
  301. package/packages/ampcode/commands/docx/ooxml/scripts/validation/redlining.py +0 -279
  302. package/packages/ampcode/commands/docx/scripts/__init__.py +0 -1
  303. package/packages/ampcode/commands/docx/scripts/document.py +0 -1276
  304. package/packages/ampcode/commands/docx/scripts/templates/comments.xml +0 -3
  305. package/packages/ampcode/commands/docx/scripts/templates/commentsExtended.xml +0 -3
  306. package/packages/ampcode/commands/docx/scripts/templates/commentsExtensible.xml +0 -3
  307. package/packages/ampcode/commands/docx/scripts/templates/commentsIds.xml +0 -3
  308. package/packages/ampcode/commands/docx/scripts/templates/people.xml +0 -3
  309. package/packages/ampcode/commands/docx/scripts/utilities.py +0 -374
  310. package/packages/ampcode/commands/docx.md +0 -1163
  311. package/packages/ampcode/commands/internal-comms/examples/3p-updates.md +0 -47
  312. package/packages/ampcode/commands/internal-comms/examples/company-newsletter.md +0 -65
  313. package/packages/ampcode/commands/internal-comms/examples/faq-answers.md +0 -30
  314. package/packages/ampcode/commands/internal-comms/examples/general-comms.md +0 -16
  315. package/packages/ampcode/commands/internal-comms.md +0 -32
  316. package/packages/ampcode/commands/mcp-builder/reference/evaluation.md +0 -602
  317. package/packages/ampcode/commands/mcp-builder/reference/mcp_best_practices.md +0 -915
  318. package/packages/ampcode/commands/mcp-builder/reference/node_mcp_server.md +0 -916
  319. package/packages/ampcode/commands/mcp-builder/reference/python_mcp_server.md +0 -752
  320. package/packages/ampcode/commands/mcp-builder/scripts/connections.py +0 -151
  321. package/packages/ampcode/commands/mcp-builder/scripts/evaluation.py +0 -373
  322. package/packages/ampcode/commands/mcp-builder/scripts/example_evaluation.xml +0 -22
  323. package/packages/ampcode/commands/mcp-builder/scripts/requirements.txt +0 -2
  324. package/packages/ampcode/commands/mcp-builder.md +0 -328
  325. package/packages/ampcode/commands/pdf/scripts/check_bounding_boxes.py +0 -70
  326. package/packages/ampcode/commands/pdf/scripts/check_bounding_boxes_test.py +0 -226
  327. package/packages/ampcode/commands/pdf/scripts/check_fillable_fields.py +0 -12
  328. package/packages/ampcode/commands/pdf/scripts/convert_pdf_to_images.py +0 -35
  329. package/packages/ampcode/commands/pdf/scripts/create_validation_image.py +0 -41
  330. package/packages/ampcode/commands/pdf/scripts/extract_form_field_info.py +0 -152
  331. package/packages/ampcode/commands/pdf/scripts/fill_fillable_fields.py +0 -114
  332. package/packages/ampcode/commands/pdf/scripts/fill_pdf_form_with_annotations.py +0 -108
  333. package/packages/ampcode/commands/pdf.md +0 -1117
  334. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  335. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  336. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  337. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  338. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  339. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  340. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  341. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  342. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  343. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  344. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  345. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  346. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  347. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  348. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  349. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  350. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  351. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  352. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  353. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  354. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  355. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  356. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  357. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  358. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  359. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  360. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  361. package/packages/ampcode/commands/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  362. package/packages/ampcode/commands/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  363. package/packages/ampcode/commands/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  364. package/packages/ampcode/commands/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  365. package/packages/ampcode/commands/pptx/ooxml/schemas/mce/mc.xsd +0 -75
  366. package/packages/ampcode/commands/pptx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  367. package/packages/ampcode/commands/pptx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  368. package/packages/ampcode/commands/pptx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  369. package/packages/ampcode/commands/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  370. package/packages/ampcode/commands/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  371. package/packages/ampcode/commands/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  372. package/packages/ampcode/commands/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  373. package/packages/ampcode/commands/pptx/ooxml/scripts/pack.py +0 -159
  374. package/packages/ampcode/commands/pptx/ooxml/scripts/unpack.py +0 -29
  375. package/packages/ampcode/commands/pptx/ooxml/scripts/validate.py +0 -69
  376. package/packages/ampcode/commands/pptx/ooxml/scripts/validation/__init__.py +0 -15
  377. package/packages/ampcode/commands/pptx/ooxml/scripts/validation/base.py +0 -951
  378. package/packages/ampcode/commands/pptx/ooxml/scripts/validation/docx.py +0 -274
  379. package/packages/ampcode/commands/pptx/ooxml/scripts/validation/pptx.py +0 -315
  380. package/packages/ampcode/commands/pptx/ooxml/scripts/validation/redlining.py +0 -279
  381. package/packages/ampcode/commands/pptx/scripts/html2pptx.js +0 -979
  382. package/packages/ampcode/commands/pptx/scripts/inventory.py +0 -1020
  383. package/packages/ampcode/commands/pptx/scripts/rearrange.py +0 -231
  384. package/packages/ampcode/commands/pptx/scripts/replace.py +0 -385
  385. package/packages/ampcode/commands/pptx/scripts/thumbnail.py +0 -450
  386. package/packages/ampcode/commands/pptx.md +0 -1542
  387. package/packages/ampcode/commands/slack-gif-creator/core/color_palettes.py +0 -302
  388. package/packages/ampcode/commands/slack-gif-creator/core/easing.py +0 -230
  389. package/packages/ampcode/commands/slack-gif-creator/core/frame_composer.py +0 -469
  390. package/packages/ampcode/commands/slack-gif-creator/core/gif_builder.py +0 -246
  391. package/packages/ampcode/commands/slack-gif-creator/core/typography.py +0 -357
  392. package/packages/ampcode/commands/slack-gif-creator/core/validators.py +0 -264
  393. package/packages/ampcode/commands/slack-gif-creator/core/visual_effects.py +0 -494
  394. package/packages/ampcode/commands/slack-gif-creator/templates/bounce.py +0 -106
  395. package/packages/ampcode/commands/slack-gif-creator/templates/explode.py +0 -331
  396. package/packages/ampcode/commands/slack-gif-creator/templates/fade.py +0 -329
  397. package/packages/ampcode/commands/slack-gif-creator/templates/flip.py +0 -291
  398. package/packages/ampcode/commands/slack-gif-creator/templates/kaleidoscope.py +0 -211
  399. package/packages/ampcode/commands/slack-gif-creator/templates/morph.py +0 -329
  400. package/packages/ampcode/commands/slack-gif-creator/templates/move.py +0 -293
  401. package/packages/ampcode/commands/slack-gif-creator/templates/pulse.py +0 -268
  402. package/packages/ampcode/commands/slack-gif-creator/templates/shake.py +0 -127
  403. package/packages/ampcode/commands/slack-gif-creator/templates/slide.py +0 -291
  404. package/packages/ampcode/commands/slack-gif-creator/templates/spin.py +0 -269
  405. package/packages/ampcode/commands/slack-gif-creator/templates/wiggle.py +0 -300
  406. package/packages/ampcode/commands/slack-gif-creator/templates/zoom.py +0 -312
  407. package/packages/ampcode/commands/slack-gif-creator.md +0 -646
  408. package/packages/ampcode/commands/theme-factory/themes/arctic-frost.md +0 -19
  409. package/packages/ampcode/commands/theme-factory/themes/botanical-garden.md +0 -19
  410. package/packages/ampcode/commands/theme-factory/themes/desert-rose.md +0 -19
  411. package/packages/ampcode/commands/theme-factory/themes/forest-canopy.md +0 -19
  412. package/packages/ampcode/commands/theme-factory/themes/golden-hour.md +0 -19
  413. package/packages/ampcode/commands/theme-factory/themes/midnight-galaxy.md +0 -19
  414. package/packages/ampcode/commands/theme-factory/themes/modern-minimalist.md +0 -19
  415. package/packages/ampcode/commands/theme-factory/themes/ocean-depths.md +0 -19
  416. package/packages/ampcode/commands/theme-factory/themes/sunset-boulevard.md +0 -19
  417. package/packages/ampcode/commands/theme-factory/themes/tech-innovation.md +0 -19
  418. package/packages/ampcode/commands/theme-factory.md +0 -58
  419. package/packages/ampcode/commands/webapp-testing/examples/console_logging.py +0 -35
  420. package/packages/ampcode/commands/webapp-testing/examples/element_discovery.py +0 -40
  421. package/packages/ampcode/commands/webapp-testing/examples/static_html_automation.py +0 -33
  422. package/packages/ampcode/commands/webapp-testing/scripts/with_server.py +0 -106
  423. package/packages/ampcode/commands/webapp-testing.md +0 -96
  424. package/packages/ampcode/commands/xlsx/recalc.py +0 -178
  425. package/packages/ampcode/commands/xlsx.md +0 -289
  426. package/packages/ampcode/resources/agent-teams.yaml +0 -50
  427. package/packages/ampcode/resources/checklists.md +0 -1724
  428. package/packages/ampcode/resources/data.md +0 -1372
  429. package/packages/ampcode/resources/task-briefs.md +0 -4428
  430. package/packages/ampcode/resources/templates.yaml +0 -5810
  431. package/packages/ampcode/resources/workflows.yaml +0 -1513
  432. package/packages/ampcode/subagentic-manual.md +0 -170
  433. package/packages/claude/.claude-plugin/marketplace.json +0 -67
  434. package/packages/claude/.claude-plugin/plugin-lite.json +0 -44
  435. package/packages/claude/.claude-plugin/plugin-pro.json +0 -189
  436. package/packages/claude/.claude-plugin/plugin-standard.json +0 -153
  437. package/packages/claude/.claude-plugin/plugin.json +0 -47
  438. package/packages/claude/agents/full-stack-dev.md +0 -80
  439. package/packages/claude/agents/product-manager.md +0 -82
  440. package/packages/claude/agents/product-owner.md +0 -97
  441. package/packages/claude/hooks/register-agents.js +0 -123
  442. package/packages/claude/hooks/session-start.js +0 -166
  443. package/packages/claude/resources/agent-teams.yaml +0 -50
  444. package/packages/claude/resources/checklists.md +0 -1724
  445. package/packages/claude/resources/data.md +0 -1372
  446. package/packages/claude/resources/task-briefs.md +0 -4428
  447. package/packages/claude/resources/templates.yaml +0 -5810
  448. package/packages/claude/resources/workflows.yaml +0 -1513
  449. package/packages/claude/skills/README.md +0 -76
  450. package/packages/claude/skills/algorithmic-art/LICENSE.txt +0 -202
  451. package/packages/claude/skills/algorithmic-art/SKILL.md +0 -405
  452. package/packages/claude/skills/algorithmic-art/templates/generator_template.js +0 -223
  453. package/packages/claude/skills/algorithmic-art/templates/viewer.html +0 -599
  454. package/packages/claude/skills/artifacts-builder/LICENSE.txt +0 -202
  455. package/packages/claude/skills/artifacts-builder/SKILL.md +0 -74
  456. package/packages/claude/skills/artifacts-builder/scripts/bundle-artifact.sh +0 -54
  457. package/packages/claude/skills/artifacts-builder/scripts/init-artifact.sh +0 -322
  458. package/packages/claude/skills/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  459. package/packages/claude/skills/brand-guidelines/LICENSE.txt +0 -202
  460. package/packages/claude/skills/brand-guidelines/SKILL.md +0 -73
  461. package/packages/claude/skills/canvas-design/LICENSE.txt +0 -202
  462. package/packages/claude/skills/canvas-design/SKILL.md +0 -130
  463. package/packages/claude/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +0 -93
  464. package/packages/claude/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  465. package/packages/claude/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  466. package/packages/claude/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +0 -93
  467. package/packages/claude/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  468. package/packages/claude/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +0 -93
  469. package/packages/claude/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  470. package/packages/claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  471. package/packages/claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +0 -93
  472. package/packages/claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  473. package/packages/claude/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  474. package/packages/claude/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  475. package/packages/claude/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +0 -93
  476. package/packages/claude/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  477. package/packages/claude/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +0 -93
  478. package/packages/claude/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  479. package/packages/claude/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +0 -94
  480. package/packages/claude/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  481. package/packages/claude/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  482. package/packages/claude/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +0 -93
  483. package/packages/claude/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  484. package/packages/claude/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +0 -93
  485. package/packages/claude/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  486. package/packages/claude/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  487. package/packages/claude/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +0 -93
  488. package/packages/claude/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  489. package/packages/claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  490. package/packages/claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  491. package/packages/claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  492. package/packages/claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  493. package/packages/claude/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  494. package/packages/claude/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  495. package/packages/claude/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  496. package/packages/claude/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +0 -93
  497. package/packages/claude/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  498. package/packages/claude/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  499. package/packages/claude/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  500. package/packages/claude/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +0 -93
  501. package/packages/claude/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  502. package/packages/claude/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  503. package/packages/claude/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +0 -93
  504. package/packages/claude/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  505. package/packages/claude/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  506. package/packages/claude/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  507. package/packages/claude/skills/canvas-design/canvas-fonts/Jura-OFL.txt +0 -93
  508. package/packages/claude/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +0 -93
  509. package/packages/claude/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  510. package/packages/claude/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  511. package/packages/claude/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  512. package/packages/claude/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  513. package/packages/claude/skills/canvas-design/canvas-fonts/Lora-OFL.txt +0 -93
  514. package/packages/claude/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  515. package/packages/claude/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  516. package/packages/claude/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +0 -93
  517. package/packages/claude/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  518. package/packages/claude/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -93
  519. package/packages/claude/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  520. package/packages/claude/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  521. package/packages/claude/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +0 -93
  522. package/packages/claude/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  523. package/packages/claude/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  524. package/packages/claude/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +0 -93
  525. package/packages/claude/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +0 -93
  526. package/packages/claude/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  527. package/packages/claude/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  528. package/packages/claude/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +0 -93
  529. package/packages/claude/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  530. package/packages/claude/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +0 -93
  531. package/packages/claude/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  532. package/packages/claude/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  533. package/packages/claude/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +0 -93
  534. package/packages/claude/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  535. package/packages/claude/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +0 -93
  536. package/packages/claude/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  537. package/packages/claude/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  538. package/packages/claude/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  539. package/packages/claude/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  540. package/packages/claude/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +0 -93
  541. package/packages/claude/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  542. package/packages/claude/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +0 -93
  543. package/packages/claude/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  544. package/packages/claude/skills/docx/LICENSE.txt +0 -30
  545. package/packages/claude/skills/docx/SKILL.md +0 -197
  546. package/packages/claude/skills/docx/docx-js.md +0 -350
  547. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  548. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  549. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  550. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  551. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  552. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  553. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  554. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  555. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  556. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  557. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  558. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  559. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  560. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  561. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  562. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  563. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  564. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  565. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  566. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  567. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  568. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  569. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  570. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  571. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  572. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  573. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  574. package/packages/claude/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  575. package/packages/claude/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  576. package/packages/claude/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  577. package/packages/claude/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  578. package/packages/claude/skills/docx/ooxml/schemas/mce/mc.xsd +0 -75
  579. package/packages/claude/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  580. package/packages/claude/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  581. package/packages/claude/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  582. package/packages/claude/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  583. package/packages/claude/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  584. package/packages/claude/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  585. package/packages/claude/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  586. package/packages/claude/skills/docx/ooxml/scripts/pack.py +0 -159
  587. package/packages/claude/skills/docx/ooxml/scripts/unpack.py +0 -29
  588. package/packages/claude/skills/docx/ooxml/scripts/validate.py +0 -69
  589. package/packages/claude/skills/docx/ooxml/scripts/validation/__init__.py +0 -15
  590. package/packages/claude/skills/docx/ooxml/scripts/validation/base.py +0 -951
  591. package/packages/claude/skills/docx/ooxml/scripts/validation/docx.py +0 -274
  592. package/packages/claude/skills/docx/ooxml/scripts/validation/pptx.py +0 -315
  593. package/packages/claude/skills/docx/ooxml/scripts/validation/redlining.py +0 -279
  594. package/packages/claude/skills/docx/ooxml.md +0 -610
  595. package/packages/claude/skills/docx/scripts/__init__.py +0 -1
  596. package/packages/claude/skills/docx/scripts/document.py +0 -1276
  597. package/packages/claude/skills/docx/scripts/templates/comments.xml +0 -3
  598. package/packages/claude/skills/docx/scripts/templates/commentsExtended.xml +0 -3
  599. package/packages/claude/skills/docx/scripts/templates/commentsExtensible.xml +0 -3
  600. package/packages/claude/skills/docx/scripts/templates/commentsIds.xml +0 -3
  601. package/packages/claude/skills/docx/scripts/templates/people.xml +0 -3
  602. package/packages/claude/skills/docx/scripts/utilities.py +0 -374
  603. package/packages/claude/skills/internal-comms/LICENSE.txt +0 -202
  604. package/packages/claude/skills/internal-comms/SKILL.md +0 -32
  605. package/packages/claude/skills/internal-comms/examples/3p-updates.md +0 -47
  606. package/packages/claude/skills/internal-comms/examples/company-newsletter.md +0 -65
  607. package/packages/claude/skills/internal-comms/examples/faq-answers.md +0 -30
  608. package/packages/claude/skills/internal-comms/examples/general-comms.md +0 -16
  609. package/packages/claude/skills/mcp-builder/LICENSE.txt +0 -202
  610. package/packages/claude/skills/mcp-builder/SKILL.md +0 -328
  611. package/packages/claude/skills/mcp-builder/reference/evaluation.md +0 -602
  612. package/packages/claude/skills/mcp-builder/reference/mcp_best_practices.md +0 -915
  613. package/packages/claude/skills/mcp-builder/reference/node_mcp_server.md +0 -916
  614. package/packages/claude/skills/mcp-builder/reference/python_mcp_server.md +0 -752
  615. package/packages/claude/skills/mcp-builder/scripts/connections.py +0 -151
  616. package/packages/claude/skills/mcp-builder/scripts/evaluation.py +0 -373
  617. package/packages/claude/skills/mcp-builder/scripts/example_evaluation.xml +0 -22
  618. package/packages/claude/skills/mcp-builder/scripts/requirements.txt +0 -2
  619. package/packages/claude/skills/pdf/LICENSE.txt +0 -30
  620. package/packages/claude/skills/pdf/SKILL.md +0 -294
  621. package/packages/claude/skills/pdf/forms.md +0 -205
  622. package/packages/claude/skills/pdf/reference.md +0 -612
  623. package/packages/claude/skills/pdf/scripts/check_bounding_boxes.py +0 -70
  624. package/packages/claude/skills/pdf/scripts/check_bounding_boxes_test.py +0 -226
  625. package/packages/claude/skills/pdf/scripts/check_fillable_fields.py +0 -12
  626. package/packages/claude/skills/pdf/scripts/convert_pdf_to_images.py +0 -35
  627. package/packages/claude/skills/pdf/scripts/create_validation_image.py +0 -41
  628. package/packages/claude/skills/pdf/scripts/extract_form_field_info.py +0 -152
  629. package/packages/claude/skills/pdf/scripts/fill_fillable_fields.py +0 -114
  630. package/packages/claude/skills/pdf/scripts/fill_pdf_form_with_annotations.py +0 -108
  631. package/packages/claude/skills/pptx/LICENSE.txt +0 -30
  632. package/packages/claude/skills/pptx/SKILL.md +0 -484
  633. package/packages/claude/skills/pptx/html2pptx.md +0 -625
  634. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  635. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  636. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  637. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  638. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  639. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  640. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  641. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  642. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  643. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  644. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  645. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  646. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  647. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  648. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  649. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  650. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  651. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  652. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  653. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  654. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  655. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  656. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  657. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  658. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  659. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  660. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  661. package/packages/claude/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  662. package/packages/claude/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  663. package/packages/claude/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  664. package/packages/claude/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  665. package/packages/claude/skills/pptx/ooxml/schemas/mce/mc.xsd +0 -75
  666. package/packages/claude/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  667. package/packages/claude/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  668. package/packages/claude/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  669. package/packages/claude/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  670. package/packages/claude/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  671. package/packages/claude/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  672. package/packages/claude/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  673. package/packages/claude/skills/pptx/ooxml/scripts/pack.py +0 -159
  674. package/packages/claude/skills/pptx/ooxml/scripts/unpack.py +0 -29
  675. package/packages/claude/skills/pptx/ooxml/scripts/validate.py +0 -69
  676. package/packages/claude/skills/pptx/ooxml/scripts/validation/__init__.py +0 -15
  677. package/packages/claude/skills/pptx/ooxml/scripts/validation/base.py +0 -951
  678. package/packages/claude/skills/pptx/ooxml/scripts/validation/docx.py +0 -274
  679. package/packages/claude/skills/pptx/ooxml/scripts/validation/pptx.py +0 -315
  680. package/packages/claude/skills/pptx/ooxml/scripts/validation/redlining.py +0 -279
  681. package/packages/claude/skills/pptx/ooxml.md +0 -427
  682. package/packages/claude/skills/pptx/scripts/html2pptx.js +0 -979
  683. package/packages/claude/skills/pptx/scripts/inventory.py +0 -1020
  684. package/packages/claude/skills/pptx/scripts/rearrange.py +0 -231
  685. package/packages/claude/skills/pptx/scripts/replace.py +0 -385
  686. package/packages/claude/skills/pptx/scripts/thumbnail.py +0 -450
  687. package/packages/claude/skills/slack-gif-creator/LICENSE.txt +0 -202
  688. package/packages/claude/skills/slack-gif-creator/SKILL.md +0 -646
  689. package/packages/claude/skills/slack-gif-creator/core/color_palettes.py +0 -302
  690. package/packages/claude/skills/slack-gif-creator/core/easing.py +0 -230
  691. package/packages/claude/skills/slack-gif-creator/core/frame_composer.py +0 -469
  692. package/packages/claude/skills/slack-gif-creator/core/gif_builder.py +0 -246
  693. package/packages/claude/skills/slack-gif-creator/core/typography.py +0 -357
  694. package/packages/claude/skills/slack-gif-creator/core/validators.py +0 -264
  695. package/packages/claude/skills/slack-gif-creator/core/visual_effects.py +0 -494
  696. package/packages/claude/skills/slack-gif-creator/requirements.txt +0 -4
  697. package/packages/claude/skills/slack-gif-creator/templates/bounce.py +0 -106
  698. package/packages/claude/skills/slack-gif-creator/templates/explode.py +0 -331
  699. package/packages/claude/skills/slack-gif-creator/templates/fade.py +0 -329
  700. package/packages/claude/skills/slack-gif-creator/templates/flip.py +0 -291
  701. package/packages/claude/skills/slack-gif-creator/templates/kaleidoscope.py +0 -211
  702. package/packages/claude/skills/slack-gif-creator/templates/morph.py +0 -329
  703. package/packages/claude/skills/slack-gif-creator/templates/move.py +0 -293
  704. package/packages/claude/skills/slack-gif-creator/templates/pulse.py +0 -268
  705. package/packages/claude/skills/slack-gif-creator/templates/shake.py +0 -127
  706. package/packages/claude/skills/slack-gif-creator/templates/slide.py +0 -291
  707. package/packages/claude/skills/slack-gif-creator/templates/spin.py +0 -269
  708. package/packages/claude/skills/slack-gif-creator/templates/wiggle.py +0 -300
  709. package/packages/claude/skills/slack-gif-creator/templates/zoom.py +0 -312
  710. package/packages/claude/skills/theme-factory/LICENSE.txt +0 -202
  711. package/packages/claude/skills/theme-factory/SKILL.md +0 -59
  712. package/packages/claude/skills/theme-factory/theme-showcase.pdf +0 -0
  713. package/packages/claude/skills/theme-factory/themes/arctic-frost.md +0 -19
  714. package/packages/claude/skills/theme-factory/themes/botanical-garden.md +0 -19
  715. package/packages/claude/skills/theme-factory/themes/desert-rose.md +0 -19
  716. package/packages/claude/skills/theme-factory/themes/forest-canopy.md +0 -19
  717. package/packages/claude/skills/theme-factory/themes/golden-hour.md +0 -19
  718. package/packages/claude/skills/theme-factory/themes/midnight-galaxy.md +0 -19
  719. package/packages/claude/skills/theme-factory/themes/modern-minimalist.md +0 -19
  720. package/packages/claude/skills/theme-factory/themes/ocean-depths.md +0 -19
  721. package/packages/claude/skills/theme-factory/themes/sunset-boulevard.md +0 -19
  722. package/packages/claude/skills/theme-factory/themes/tech-innovation.md +0 -19
  723. package/packages/claude/skills/webapp-testing/LICENSE.txt +0 -202
  724. package/packages/claude/skills/webapp-testing/SKILL.md +0 -96
  725. package/packages/claude/skills/webapp-testing/examples/console_logging.py +0 -35
  726. package/packages/claude/skills/webapp-testing/examples/element_discovery.py +0 -40
  727. package/packages/claude/skills/webapp-testing/examples/static_html_automation.py +0 -33
  728. package/packages/claude/skills/webapp-testing/scripts/with_server.py +0 -106
  729. package/packages/claude/skills/xlsx/LICENSE.txt +0 -30
  730. package/packages/claude/skills/xlsx/SKILL.md +0 -289
  731. package/packages/claude/skills/xlsx/recalc.py +0 -178
  732. package/packages/claude/subagentic-manual.md +0 -170
  733. package/packages/droid/commands/algorithmic-art/algorithmic-art.md +0 -159
  734. package/packages/droid/commands/algorithmic-art/templates/generator_template.js +0 -223
  735. package/packages/droid/commands/algorithmic-art/templates/viewer.html +0 -599
  736. package/packages/droid/commands/artifacts-builder/artifacts-builder.md +0 -285
  737. package/packages/droid/commands/artifacts-builder/scripts/bundle-artifact.sh +0 -54
  738. package/packages/droid/commands/artifacts-builder/scripts/init-artifact.sh +0 -322
  739. package/packages/droid/commands/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  740. package/packages/droid/commands/brand-guidelines.md +0 -123
  741. package/packages/droid/commands/canvas-design/canvas-design.md +0 -155
  742. package/packages/droid/commands/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +0 -93
  743. package/packages/droid/commands/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  744. package/packages/droid/commands/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  745. package/packages/droid/commands/canvas-design/canvas-fonts/BigShoulders-OFL.txt +0 -93
  746. package/packages/droid/commands/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  747. package/packages/droid/commands/canvas-design/canvas-fonts/Boldonse-OFL.txt +0 -93
  748. package/packages/droid/commands/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  749. package/packages/droid/commands/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  750. package/packages/droid/commands/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +0 -93
  751. package/packages/droid/commands/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  752. package/packages/droid/commands/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  753. package/packages/droid/commands/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  754. package/packages/droid/commands/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +0 -93
  755. package/packages/droid/commands/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  756. package/packages/droid/commands/canvas-design/canvas-fonts/DMMono-OFL.txt +0 -93
  757. package/packages/droid/commands/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  758. package/packages/droid/commands/canvas-design/canvas-fonts/EricaOne-OFL.txt +0 -94
  759. package/packages/droid/commands/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  760. package/packages/droid/commands/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  761. package/packages/droid/commands/canvas-design/canvas-fonts/GeistMono-OFL.txt +0 -93
  762. package/packages/droid/commands/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  763. package/packages/droid/commands/canvas-design/canvas-fonts/Gloock-OFL.txt +0 -93
  764. package/packages/droid/commands/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  765. package/packages/droid/commands/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  766. package/packages/droid/commands/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +0 -93
  767. package/packages/droid/commands/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  768. package/packages/droid/commands/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  769. package/packages/droid/commands/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  770. package/packages/droid/commands/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  771. package/packages/droid/commands/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  772. package/packages/droid/commands/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  773. package/packages/droid/commands/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  774. package/packages/droid/commands/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  775. package/packages/droid/commands/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +0 -93
  776. package/packages/droid/commands/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  777. package/packages/droid/commands/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  778. package/packages/droid/commands/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  779. package/packages/droid/commands/canvas-design/canvas-fonts/Italiana-OFL.txt +0 -93
  780. package/packages/droid/commands/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  781. package/packages/droid/commands/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  782. package/packages/droid/commands/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +0 -93
  783. package/packages/droid/commands/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  784. package/packages/droid/commands/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  785. package/packages/droid/commands/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  786. package/packages/droid/commands/canvas-design/canvas-fonts/Jura-OFL.txt +0 -93
  787. package/packages/droid/commands/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +0 -93
  788. package/packages/droid/commands/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  789. package/packages/droid/commands/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  790. package/packages/droid/commands/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  791. package/packages/droid/commands/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  792. package/packages/droid/commands/canvas-design/canvas-fonts/Lora-OFL.txt +0 -93
  793. package/packages/droid/commands/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  794. package/packages/droid/commands/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  795. package/packages/droid/commands/canvas-design/canvas-fonts/NationalPark-OFL.txt +0 -93
  796. package/packages/droid/commands/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  797. package/packages/droid/commands/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -93
  798. package/packages/droid/commands/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  799. package/packages/droid/commands/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  800. package/packages/droid/commands/canvas-design/canvas-fonts/Outfit-OFL.txt +0 -93
  801. package/packages/droid/commands/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  802. package/packages/droid/commands/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  803. package/packages/droid/commands/canvas-design/canvas-fonts/PixelifySans-OFL.txt +0 -93
  804. package/packages/droid/commands/canvas-design/canvas-fonts/PoiretOne-OFL.txt +0 -93
  805. package/packages/droid/commands/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  806. package/packages/droid/commands/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  807. package/packages/droid/commands/canvas-design/canvas-fonts/RedHatMono-OFL.txt +0 -93
  808. package/packages/droid/commands/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  809. package/packages/droid/commands/canvas-design/canvas-fonts/Silkscreen-OFL.txt +0 -93
  810. package/packages/droid/commands/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  811. package/packages/droid/commands/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  812. package/packages/droid/commands/canvas-design/canvas-fonts/SmoochSans-OFL.txt +0 -93
  813. package/packages/droid/commands/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  814. package/packages/droid/commands/canvas-design/canvas-fonts/Tektur-OFL.txt +0 -93
  815. package/packages/droid/commands/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  816. package/packages/droid/commands/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  817. package/packages/droid/commands/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  818. package/packages/droid/commands/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  819. package/packages/droid/commands/canvas-design/canvas-fonts/WorkSans-OFL.txt +0 -93
  820. package/packages/droid/commands/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  821. package/packages/droid/commands/canvas-design/canvas-fonts/YoungSerif-OFL.txt +0 -93
  822. package/packages/droid/commands/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  823. package/packages/droid/commands/docx/docx.md +0 -255
  824. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  825. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  826. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  827. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  828. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  829. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  830. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  831. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  832. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  833. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  834. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  835. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  836. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  837. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  838. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  839. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  840. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  841. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  842. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  843. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  844. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  845. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  846. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  847. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  848. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  849. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  850. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  851. package/packages/droid/commands/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  852. package/packages/droid/commands/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  853. package/packages/droid/commands/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  854. package/packages/droid/commands/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  855. package/packages/droid/commands/docx/ooxml/schemas/mce/mc.xsd +0 -75
  856. package/packages/droid/commands/docx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  857. package/packages/droid/commands/docx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  858. package/packages/droid/commands/docx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  859. package/packages/droid/commands/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  860. package/packages/droid/commands/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  861. package/packages/droid/commands/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  862. package/packages/droid/commands/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  863. package/packages/droid/commands/docx/ooxml/scripts/pack.py +0 -159
  864. package/packages/droid/commands/docx/ooxml/scripts/unpack.py +0 -29
  865. package/packages/droid/commands/docx/ooxml/scripts/validate.py +0 -69
  866. package/packages/droid/commands/docx/ooxml/scripts/validation/__init__.py +0 -15
  867. package/packages/droid/commands/docx/ooxml/scripts/validation/base.py +0 -951
  868. package/packages/droid/commands/docx/ooxml/scripts/validation/docx.py +0 -274
  869. package/packages/droid/commands/docx/ooxml/scripts/validation/pptx.py +0 -315
  870. package/packages/droid/commands/docx/ooxml/scripts/validation/redlining.py +0 -279
  871. package/packages/droid/commands/docx/scripts/__init__.py +0 -1
  872. package/packages/droid/commands/docx/scripts/document.py +0 -1276
  873. package/packages/droid/commands/docx/scripts/templates/comments.xml +0 -3
  874. package/packages/droid/commands/docx/scripts/templates/commentsExtended.xml +0 -3
  875. package/packages/droid/commands/docx/scripts/templates/commentsExtensible.xml +0 -3
  876. package/packages/droid/commands/docx/scripts/templates/commentsIds.xml +0 -3
  877. package/packages/droid/commands/docx/scripts/templates/people.xml +0 -3
  878. package/packages/droid/commands/docx/scripts/utilities.py +0 -374
  879. package/packages/droid/commands/internal-comms/examples/3p-updates.md +0 -47
  880. package/packages/droid/commands/internal-comms/examples/company-newsletter.md +0 -65
  881. package/packages/droid/commands/internal-comms/examples/faq-answers.md +0 -30
  882. package/packages/droid/commands/internal-comms/examples/general-comms.md +0 -16
  883. package/packages/droid/commands/internal-comms/internal-comms.md +0 -142
  884. package/packages/droid/commands/mcp-builder/mcp-builder.md +0 -282
  885. package/packages/droid/commands/mcp-builder/reference/evaluation.md +0 -602
  886. package/packages/droid/commands/mcp-builder/reference/mcp_best_practices.md +0 -915
  887. package/packages/droid/commands/mcp-builder/reference/node_mcp_server.md +0 -916
  888. package/packages/droid/commands/mcp-builder/reference/python_mcp_server.md +0 -752
  889. package/packages/droid/commands/mcp-builder/scripts/connections.py +0 -151
  890. package/packages/droid/commands/mcp-builder/scripts/evaluation.py +0 -373
  891. package/packages/droid/commands/mcp-builder/scripts/example_evaluation.xml +0 -22
  892. package/packages/droid/commands/mcp-builder/scripts/requirements.txt +0 -2
  893. package/packages/droid/commands/pdf/pdf.md +0 -194
  894. package/packages/droid/commands/pdf/scripts/check_bounding_boxes.py +0 -70
  895. package/packages/droid/commands/pdf/scripts/check_bounding_boxes_test.py +0 -226
  896. package/packages/droid/commands/pdf/scripts/check_fillable_fields.py +0 -12
  897. package/packages/droid/commands/pdf/scripts/convert_pdf_to_images.py +0 -35
  898. package/packages/droid/commands/pdf/scripts/create_validation_image.py +0 -41
  899. package/packages/droid/commands/pdf/scripts/extract_form_field_info.py +0 -152
  900. package/packages/droid/commands/pdf/scripts/fill_fillable_fields.py +0 -114
  901. package/packages/droid/commands/pdf/scripts/fill_pdf_form_with_annotations.py +0 -108
  902. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  903. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  904. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  905. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  906. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  907. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  908. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  909. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  910. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  911. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  912. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  913. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  914. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  915. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  916. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  917. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  918. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  919. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  920. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  921. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  922. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  923. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  924. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  925. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  926. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  927. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  928. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  929. package/packages/droid/commands/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  930. package/packages/droid/commands/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  931. package/packages/droid/commands/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  932. package/packages/droid/commands/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  933. package/packages/droid/commands/pptx/ooxml/schemas/mce/mc.xsd +0 -75
  934. package/packages/droid/commands/pptx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  935. package/packages/droid/commands/pptx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  936. package/packages/droid/commands/pptx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  937. package/packages/droid/commands/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  938. package/packages/droid/commands/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  939. package/packages/droid/commands/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  940. package/packages/droid/commands/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  941. package/packages/droid/commands/pptx/ooxml/scripts/pack.py +0 -159
  942. package/packages/droid/commands/pptx/ooxml/scripts/unpack.py +0 -29
  943. package/packages/droid/commands/pptx/ooxml/scripts/validate.py +0 -69
  944. package/packages/droid/commands/pptx/ooxml/scripts/validation/__init__.py +0 -15
  945. package/packages/droid/commands/pptx/ooxml/scripts/validation/base.py +0 -951
  946. package/packages/droid/commands/pptx/ooxml/scripts/validation/docx.py +0 -274
  947. package/packages/droid/commands/pptx/ooxml/scripts/validation/pptx.py +0 -315
  948. package/packages/droid/commands/pptx/ooxml/scripts/validation/redlining.py +0 -279
  949. package/packages/droid/commands/pptx/pptx.md +0 -272
  950. package/packages/droid/commands/pptx/scripts/html2pptx.js +0 -979
  951. package/packages/droid/commands/pptx/scripts/inventory.py +0 -1020
  952. package/packages/droid/commands/pptx/scripts/rearrange.py +0 -231
  953. package/packages/droid/commands/pptx/scripts/replace.py +0 -385
  954. package/packages/droid/commands/pptx/scripts/thumbnail.py +0 -450
  955. package/packages/droid/commands/skill-creator/skill-creator.md +0 -196
  956. package/packages/droid/commands/slack-gif-creator/core/color_palettes.py +0 -302
  957. package/packages/droid/commands/slack-gif-creator/core/easing.py +0 -230
  958. package/packages/droid/commands/slack-gif-creator/core/frame_composer.py +0 -469
  959. package/packages/droid/commands/slack-gif-creator/core/gif_builder.py +0 -246
  960. package/packages/droid/commands/slack-gif-creator/core/typography.py +0 -357
  961. package/packages/droid/commands/slack-gif-creator/core/validators.py +0 -264
  962. package/packages/droid/commands/slack-gif-creator/core/visual_effects.py +0 -494
  963. package/packages/droid/commands/slack-gif-creator/slack-gif-creator.md +0 -340
  964. package/packages/droid/commands/slack-gif-creator/templates/bounce.py +0 -106
  965. package/packages/droid/commands/slack-gif-creator/templates/explode.py +0 -331
  966. package/packages/droid/commands/slack-gif-creator/templates/fade.py +0 -329
  967. package/packages/droid/commands/slack-gif-creator/templates/flip.py +0 -291
  968. package/packages/droid/commands/slack-gif-creator/templates/kaleidoscope.py +0 -211
  969. package/packages/droid/commands/slack-gif-creator/templates/morph.py +0 -329
  970. package/packages/droid/commands/slack-gif-creator/templates/move.py +0 -293
  971. package/packages/droid/commands/slack-gif-creator/templates/pulse.py +0 -268
  972. package/packages/droid/commands/slack-gif-creator/templates/shake.py +0 -127
  973. package/packages/droid/commands/slack-gif-creator/templates/slide.py +0 -291
  974. package/packages/droid/commands/slack-gif-creator/templates/spin.py +0 -269
  975. package/packages/droid/commands/slack-gif-creator/templates/wiggle.py +0 -300
  976. package/packages/droid/commands/slack-gif-creator/templates/zoom.py +0 -312
  977. package/packages/droid/commands/theme-factory/theme-factory.md +0 -146
  978. package/packages/droid/commands/theme-factory/themes/arctic-frost.md +0 -19
  979. package/packages/droid/commands/theme-factory/themes/botanical-garden.md +0 -19
  980. package/packages/droid/commands/theme-factory/themes/desert-rose.md +0 -19
  981. package/packages/droid/commands/theme-factory/themes/forest-canopy.md +0 -19
  982. package/packages/droid/commands/theme-factory/themes/golden-hour.md +0 -19
  983. package/packages/droid/commands/theme-factory/themes/midnight-galaxy.md +0 -19
  984. package/packages/droid/commands/theme-factory/themes/modern-minimalist.md +0 -19
  985. package/packages/droid/commands/theme-factory/themes/ocean-depths.md +0 -19
  986. package/packages/droid/commands/theme-factory/themes/sunset-boulevard.md +0 -19
  987. package/packages/droid/commands/theme-factory/themes/tech-innovation.md +0 -19
  988. package/packages/droid/commands/webapp-testing/examples/console_logging.py +0 -35
  989. package/packages/droid/commands/webapp-testing/examples/element_discovery.py +0 -40
  990. package/packages/droid/commands/webapp-testing/examples/static_html_automation.py +0 -33
  991. package/packages/droid/commands/webapp-testing/scripts/with_server.py +0 -106
  992. package/packages/droid/commands/webapp-testing/webapp-testing.md +0 -275
  993. package/packages/droid/commands/xlsx/recalc.py +0 -178
  994. package/packages/droid/commands/xlsx/xlsx.md +0 -254
  995. package/packages/droid/droids/context-initializer.md +0 -291
  996. package/packages/droid/droids/full-stack-dev.md +0 -80
  997. package/packages/droid/droids/product-manager.md +0 -82
  998. package/packages/droid/droids/product-owner.md +0 -97
  999. package/packages/droid/resources/agent-teams.yaml +0 -50
  1000. package/packages/droid/resources/checklists.md +0 -1724
  1001. package/packages/droid/resources/data.md +0 -1372
  1002. package/packages/droid/resources/task-briefs.md +0 -4428
  1003. package/packages/droid/resources/templates.yaml +0 -5810
  1004. package/packages/droid/resources/workflows.yaml +0 -1513
  1005. package/packages/droid/subagentic-manual.md +0 -170
  1006. package/packages/opencode/agent/context-initializer.md +0 -295
  1007. package/packages/opencode/agent/full-stack-dev.md +0 -77
  1008. package/packages/opencode/agent/product-manager.md +0 -86
  1009. package/packages/opencode/agent/product-owner.md +0 -101
  1010. package/packages/opencode/command/README.md +0 -76
  1011. package/packages/opencode/command/algorithmic-art/templates/generator_template.js +0 -223
  1012. package/packages/opencode/command/algorithmic-art/templates/viewer.html +0 -599
  1013. package/packages/opencode/command/algorithmic-art.md +0 -159
  1014. package/packages/opencode/command/artifacts-builder/scripts/bundle-artifact.sh +0 -54
  1015. package/packages/opencode/command/artifacts-builder/scripts/init-artifact.sh +0 -322
  1016. package/packages/opencode/command/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  1017. package/packages/opencode/command/artifacts-builder.md +0 -285
  1018. package/packages/opencode/command/brand-guidelines.md +0 -123
  1019. package/packages/opencode/command/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +0 -93
  1020. package/packages/opencode/command/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  1021. package/packages/opencode/command/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  1022. package/packages/opencode/command/canvas-design/canvas-fonts/BigShoulders-OFL.txt +0 -93
  1023. package/packages/opencode/command/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  1024. package/packages/opencode/command/canvas-design/canvas-fonts/Boldonse-OFL.txt +0 -93
  1025. package/packages/opencode/command/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  1026. package/packages/opencode/command/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  1027. package/packages/opencode/command/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +0 -93
  1028. package/packages/opencode/command/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  1029. package/packages/opencode/command/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  1030. package/packages/opencode/command/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  1031. package/packages/opencode/command/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +0 -93
  1032. package/packages/opencode/command/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  1033. package/packages/opencode/command/canvas-design/canvas-fonts/DMMono-OFL.txt +0 -93
  1034. package/packages/opencode/command/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  1035. package/packages/opencode/command/canvas-design/canvas-fonts/EricaOne-OFL.txt +0 -94
  1036. package/packages/opencode/command/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  1037. package/packages/opencode/command/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  1038. package/packages/opencode/command/canvas-design/canvas-fonts/GeistMono-OFL.txt +0 -93
  1039. package/packages/opencode/command/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  1040. package/packages/opencode/command/canvas-design/canvas-fonts/Gloock-OFL.txt +0 -93
  1041. package/packages/opencode/command/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  1042. package/packages/opencode/command/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  1043. package/packages/opencode/command/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +0 -93
  1044. package/packages/opencode/command/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  1045. package/packages/opencode/command/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  1046. package/packages/opencode/command/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  1047. package/packages/opencode/command/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  1048. package/packages/opencode/command/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  1049. package/packages/opencode/command/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  1050. package/packages/opencode/command/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  1051. package/packages/opencode/command/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  1052. package/packages/opencode/command/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +0 -93
  1053. package/packages/opencode/command/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  1054. package/packages/opencode/command/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  1055. package/packages/opencode/command/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  1056. package/packages/opencode/command/canvas-design/canvas-fonts/Italiana-OFL.txt +0 -93
  1057. package/packages/opencode/command/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  1058. package/packages/opencode/command/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  1059. package/packages/opencode/command/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +0 -93
  1060. package/packages/opencode/command/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  1061. package/packages/opencode/command/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  1062. package/packages/opencode/command/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  1063. package/packages/opencode/command/canvas-design/canvas-fonts/Jura-OFL.txt +0 -93
  1064. package/packages/opencode/command/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +0 -93
  1065. package/packages/opencode/command/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  1066. package/packages/opencode/command/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  1067. package/packages/opencode/command/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  1068. package/packages/opencode/command/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  1069. package/packages/opencode/command/canvas-design/canvas-fonts/Lora-OFL.txt +0 -93
  1070. package/packages/opencode/command/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  1071. package/packages/opencode/command/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  1072. package/packages/opencode/command/canvas-design/canvas-fonts/NationalPark-OFL.txt +0 -93
  1073. package/packages/opencode/command/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  1074. package/packages/opencode/command/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -93
  1075. package/packages/opencode/command/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  1076. package/packages/opencode/command/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  1077. package/packages/opencode/command/canvas-design/canvas-fonts/Outfit-OFL.txt +0 -93
  1078. package/packages/opencode/command/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  1079. package/packages/opencode/command/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  1080. package/packages/opencode/command/canvas-design/canvas-fonts/PixelifySans-OFL.txt +0 -93
  1081. package/packages/opencode/command/canvas-design/canvas-fonts/PoiretOne-OFL.txt +0 -93
  1082. package/packages/opencode/command/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  1083. package/packages/opencode/command/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  1084. package/packages/opencode/command/canvas-design/canvas-fonts/RedHatMono-OFL.txt +0 -93
  1085. package/packages/opencode/command/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  1086. package/packages/opencode/command/canvas-design/canvas-fonts/Silkscreen-OFL.txt +0 -93
  1087. package/packages/opencode/command/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  1088. package/packages/opencode/command/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  1089. package/packages/opencode/command/canvas-design/canvas-fonts/SmoochSans-OFL.txt +0 -93
  1090. package/packages/opencode/command/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  1091. package/packages/opencode/command/canvas-design/canvas-fonts/Tektur-OFL.txt +0 -93
  1092. package/packages/opencode/command/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  1093. package/packages/opencode/command/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  1094. package/packages/opencode/command/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  1095. package/packages/opencode/command/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  1096. package/packages/opencode/command/canvas-design/canvas-fonts/WorkSans-OFL.txt +0 -93
  1097. package/packages/opencode/command/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  1098. package/packages/opencode/command/canvas-design/canvas-fonts/YoungSerif-OFL.txt +0 -93
  1099. package/packages/opencode/command/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  1100. package/packages/opencode/command/canvas-design.md +0 -155
  1101. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  1102. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  1103. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  1104. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  1105. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  1106. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  1107. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  1108. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  1109. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  1110. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  1111. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  1112. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  1113. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  1114. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  1115. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  1116. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  1117. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  1118. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  1119. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  1120. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  1121. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  1122. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  1123. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  1124. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  1125. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  1126. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  1127. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  1128. package/packages/opencode/command/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  1129. package/packages/opencode/command/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  1130. package/packages/opencode/command/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  1131. package/packages/opencode/command/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  1132. package/packages/opencode/command/docx/ooxml/schemas/mce/mc.xsd +0 -75
  1133. package/packages/opencode/command/docx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  1134. package/packages/opencode/command/docx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  1135. package/packages/opencode/command/docx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  1136. package/packages/opencode/command/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  1137. package/packages/opencode/command/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  1138. package/packages/opencode/command/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  1139. package/packages/opencode/command/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  1140. package/packages/opencode/command/docx/ooxml/scripts/pack.py +0 -159
  1141. package/packages/opencode/command/docx/ooxml/scripts/unpack.py +0 -29
  1142. package/packages/opencode/command/docx/ooxml/scripts/validate.py +0 -69
  1143. package/packages/opencode/command/docx/ooxml/scripts/validation/__init__.py +0 -15
  1144. package/packages/opencode/command/docx/ooxml/scripts/validation/base.py +0 -951
  1145. package/packages/opencode/command/docx/ooxml/scripts/validation/docx.py +0 -274
  1146. package/packages/opencode/command/docx/ooxml/scripts/validation/pptx.py +0 -315
  1147. package/packages/opencode/command/docx/ooxml/scripts/validation/redlining.py +0 -279
  1148. package/packages/opencode/command/docx/scripts/__init__.py +0 -1
  1149. package/packages/opencode/command/docx/scripts/document.py +0 -1276
  1150. package/packages/opencode/command/docx/scripts/templates/comments.xml +0 -3
  1151. package/packages/opencode/command/docx/scripts/templates/commentsExtended.xml +0 -3
  1152. package/packages/opencode/command/docx/scripts/templates/commentsExtensible.xml +0 -3
  1153. package/packages/opencode/command/docx/scripts/templates/commentsIds.xml +0 -3
  1154. package/packages/opencode/command/docx/scripts/templates/people.xml +0 -3
  1155. package/packages/opencode/command/docx/scripts/utilities.py +0 -374
  1156. package/packages/opencode/command/docx.md +0 -255
  1157. package/packages/opencode/command/internal-comms/examples/3p-updates.md +0 -47
  1158. package/packages/opencode/command/internal-comms/examples/company-newsletter.md +0 -65
  1159. package/packages/opencode/command/internal-comms/examples/faq-answers.md +0 -30
  1160. package/packages/opencode/command/internal-comms/examples/general-comms.md +0 -16
  1161. package/packages/opencode/command/internal-comms.md +0 -142
  1162. package/packages/opencode/command/mcp-builder/reference/evaluation.md +0 -602
  1163. package/packages/opencode/command/mcp-builder/reference/mcp_best_practices.md +0 -915
  1164. package/packages/opencode/command/mcp-builder/reference/node_mcp_server.md +0 -916
  1165. package/packages/opencode/command/mcp-builder/reference/python_mcp_server.md +0 -752
  1166. package/packages/opencode/command/mcp-builder/scripts/connections.py +0 -151
  1167. package/packages/opencode/command/mcp-builder/scripts/evaluation.py +0 -373
  1168. package/packages/opencode/command/mcp-builder/scripts/example_evaluation.xml +0 -22
  1169. package/packages/opencode/command/mcp-builder/scripts/requirements.txt +0 -2
  1170. package/packages/opencode/command/mcp-builder.md +0 -282
  1171. package/packages/opencode/command/pdf/scripts/check_bounding_boxes.py +0 -70
  1172. package/packages/opencode/command/pdf/scripts/check_bounding_boxes_test.py +0 -226
  1173. package/packages/opencode/command/pdf/scripts/check_fillable_fields.py +0 -12
  1174. package/packages/opencode/command/pdf/scripts/convert_pdf_to_images.py +0 -35
  1175. package/packages/opencode/command/pdf/scripts/create_validation_image.py +0 -41
  1176. package/packages/opencode/command/pdf/scripts/extract_form_field_info.py +0 -152
  1177. package/packages/opencode/command/pdf/scripts/fill_fillable_fields.py +0 -114
  1178. package/packages/opencode/command/pdf/scripts/fill_pdf_form_with_annotations.py +0 -108
  1179. package/packages/opencode/command/pdf.md +0 -194
  1180. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  1181. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  1182. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  1183. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  1184. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  1185. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  1186. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  1187. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  1188. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  1189. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  1190. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  1191. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  1192. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  1193. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  1194. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  1195. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  1196. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  1197. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  1198. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  1199. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  1200. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  1201. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  1202. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  1203. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  1204. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  1205. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  1206. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  1207. package/packages/opencode/command/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  1208. package/packages/opencode/command/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  1209. package/packages/opencode/command/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  1210. package/packages/opencode/command/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  1211. package/packages/opencode/command/pptx/ooxml/schemas/mce/mc.xsd +0 -75
  1212. package/packages/opencode/command/pptx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  1213. package/packages/opencode/command/pptx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  1214. package/packages/opencode/command/pptx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  1215. package/packages/opencode/command/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  1216. package/packages/opencode/command/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  1217. package/packages/opencode/command/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  1218. package/packages/opencode/command/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  1219. package/packages/opencode/command/pptx/ooxml/scripts/pack.py +0 -159
  1220. package/packages/opencode/command/pptx/ooxml/scripts/unpack.py +0 -29
  1221. package/packages/opencode/command/pptx/ooxml/scripts/validate.py +0 -69
  1222. package/packages/opencode/command/pptx/ooxml/scripts/validation/__init__.py +0 -15
  1223. package/packages/opencode/command/pptx/ooxml/scripts/validation/base.py +0 -951
  1224. package/packages/opencode/command/pptx/ooxml/scripts/validation/docx.py +0 -274
  1225. package/packages/opencode/command/pptx/ooxml/scripts/validation/pptx.py +0 -315
  1226. package/packages/opencode/command/pptx/ooxml/scripts/validation/redlining.py +0 -279
  1227. package/packages/opencode/command/pptx/scripts/html2pptx.js +0 -979
  1228. package/packages/opencode/command/pptx/scripts/inventory.py +0 -1020
  1229. package/packages/opencode/command/pptx/scripts/rearrange.py +0 -231
  1230. package/packages/opencode/command/pptx/scripts/replace.py +0 -385
  1231. package/packages/opencode/command/pptx/scripts/thumbnail.py +0 -450
  1232. package/packages/opencode/command/pptx.md +0 -272
  1233. package/packages/opencode/command/slack-gif-creator/core/color_palettes.py +0 -302
  1234. package/packages/opencode/command/slack-gif-creator/core/easing.py +0 -230
  1235. package/packages/opencode/command/slack-gif-creator/core/frame_composer.py +0 -469
  1236. package/packages/opencode/command/slack-gif-creator/core/gif_builder.py +0 -246
  1237. package/packages/opencode/command/slack-gif-creator/core/typography.py +0 -357
  1238. package/packages/opencode/command/slack-gif-creator/core/validators.py +0 -264
  1239. package/packages/opencode/command/slack-gif-creator/core/visual_effects.py +0 -494
  1240. package/packages/opencode/command/slack-gif-creator/templates/bounce.py +0 -106
  1241. package/packages/opencode/command/slack-gif-creator/templates/explode.py +0 -331
  1242. package/packages/opencode/command/slack-gif-creator/templates/fade.py +0 -329
  1243. package/packages/opencode/command/slack-gif-creator/templates/flip.py +0 -291
  1244. package/packages/opencode/command/slack-gif-creator/templates/kaleidoscope.py +0 -211
  1245. package/packages/opencode/command/slack-gif-creator/templates/morph.py +0 -329
  1246. package/packages/opencode/command/slack-gif-creator/templates/move.py +0 -293
  1247. package/packages/opencode/command/slack-gif-creator/templates/pulse.py +0 -268
  1248. package/packages/opencode/command/slack-gif-creator/templates/shake.py +0 -127
  1249. package/packages/opencode/command/slack-gif-creator/templates/slide.py +0 -291
  1250. package/packages/opencode/command/slack-gif-creator/templates/spin.py +0 -269
  1251. package/packages/opencode/command/slack-gif-creator/templates/wiggle.py +0 -300
  1252. package/packages/opencode/command/slack-gif-creator/templates/zoom.py +0 -312
  1253. package/packages/opencode/command/slack-gif-creator.md +0 -340
  1254. package/packages/opencode/command/theme-factory/themes/arctic-frost.md +0 -19
  1255. package/packages/opencode/command/theme-factory/themes/botanical-garden.md +0 -19
  1256. package/packages/opencode/command/theme-factory/themes/desert-rose.md +0 -19
  1257. package/packages/opencode/command/theme-factory/themes/forest-canopy.md +0 -19
  1258. package/packages/opencode/command/theme-factory/themes/golden-hour.md +0 -19
  1259. package/packages/opencode/command/theme-factory/themes/midnight-galaxy.md +0 -19
  1260. package/packages/opencode/command/theme-factory/themes/modern-minimalist.md +0 -19
  1261. package/packages/opencode/command/theme-factory/themes/ocean-depths.md +0 -19
  1262. package/packages/opencode/command/theme-factory/themes/sunset-boulevard.md +0 -19
  1263. package/packages/opencode/command/theme-factory/themes/tech-innovation.md +0 -19
  1264. package/packages/opencode/command/theme-factory.md +0 -146
  1265. package/packages/opencode/command/webapp-testing/examples/console_logging.py +0 -35
  1266. package/packages/opencode/command/webapp-testing/examples/element_discovery.py +0 -40
  1267. package/packages/opencode/command/webapp-testing/examples/static_html_automation.py +0 -33
  1268. package/packages/opencode/command/webapp-testing/scripts/with_server.py +0 -106
  1269. package/packages/opencode/command/webapp-testing.md +0 -275
  1270. package/packages/opencode/command/xlsx/recalc.py +0 -178
  1271. package/packages/opencode/command/xlsx.md +0 -254
  1272. package/packages/opencode/resources/agent-teams.yaml +0 -50
  1273. package/packages/opencode/resources/checklists.md +0 -1724
  1274. package/packages/opencode/resources/data.md +0 -1372
  1275. package/packages/opencode/resources/task-briefs.md +0 -4428
  1276. package/packages/opencode/resources/templates.yaml +0 -5810
  1277. package/packages/opencode/resources/workflows.yaml +0 -1513
  1278. package/packages/opencode/subagentic-manual.md +0 -170
@@ -1,1542 +0,0 @@
1
- ---
2
- name: pptx
3
- description: "Presentation creation, editing, and analysis. When Claude needs to work with presentations (.pptx files) for: (1) Creating new presentations, (2) Modifying or editing content, (3) Working with layouts, (4) Adding comments or speaker notes, or any other presentation tasks"
4
- license: Proprietary. LICENSE.txt has complete terms
5
- ---
6
-
7
- # PPTX creation, editing, and analysis
8
-
9
- ## Overview
10
-
11
- A user may ask you to create, edit, or analyze the contents of a .pptx file. A .pptx file is essentially a ZIP archive containing XML files and other resources that you can read or edit. You have different tools and workflows available for different tasks.
12
-
13
- ## Reading and analyzing content
14
-
15
- ### Text extraction
16
- If you just need to read the text contents of a presentation, you should convert the document to markdown:
17
-
18
- ```bash
19
- # Convert document to markdown
20
- python -m markitdown path-to-file.pptx
21
- ```
22
-
23
- ### Raw XML access
24
- You need raw XML access for: comments, speaker notes, slide layouts, animations, design elements, and complex formatting. For any of these features, you'll need to unpack a presentation and read its raw XML contents.
25
-
26
- #### Unpacking a file
27
- `python ooxml/scripts/unpack.py <office_file> <output_dir>`
28
-
29
- **Note**: The unpack.py script is located at `skills/pptx/ooxml/scripts/unpack.py` relative to the project root. If the script doesn't exist at this path, use `find . -name "unpack.py"` to locate it.
30
-
31
- #### Key file structures
32
- * `ppt/presentation.xml` - Main presentation metadata and slide references
33
- * `ppt/slides/slide{N}.xml` - Individual slide contents (slide1.xml, slide2.xml, etc.)
34
- * `ppt/notesSlides/notesSlide{N}.xml` - Speaker notes for each slide
35
- * `ppt/comments/modernComment_*.xml` - Comments for specific slides
36
- * `ppt/slideLayouts/` - Layout templates for slides
37
- * `ppt/slideMasters/` - Master slide templates
38
- * `ppt/theme/` - Theme and styling information
39
- * `ppt/media/` - Images and other media files
40
-
41
- #### Typography and color extraction
42
- **When given an example design to emulate**: Always analyze the presentation's typography and colors first using the methods below:
43
- 1. **Read theme file**: Check `ppt/theme/theme1.xml` for colors (`<a:clrScheme>`) and fonts (`<a:fontScheme>`)
44
- 2. **Sample slide content**: Examine `ppt/slides/slide1.xml` for actual font usage (`<a:rPr>`) and colors
45
- 3. **Search for patterns**: Use grep to find color (`<a:solidFill>`, `<a:srgbClr>`) and font references across all XML files
46
-
47
- ## Creating a new PowerPoint presentation **without a template**
48
-
49
- When creating a new PowerPoint presentation from scratch, use the **html2pptx** workflow to convert HTML slides to PowerPoint with accurate positioning.
50
-
51
- ### Design Principles
52
-
53
- **CRITICAL**: Before creating any presentation, analyze the content and choose appropriate design elements:
54
- 1. **Consider the subject matter**: What is this presentation about? What tone, industry, or mood does it suggest?
55
- 2. **Check for branding**: If the user mentions a company/organization, consider their brand colors and identity
56
- 3. **Match palette to content**: Select colors that reflect the subject
57
- 4. **State your approach**: Explain your design choices before writing code
58
-
59
- **Requirements**:
60
- - ✅ State your content-informed design approach BEFORE writing code
61
- - ✅ Use web-safe fonts only: Arial, Helvetica, Times New Roman, Georgia, Courier New, Verdana, Tahoma, Trebuchet MS, Impact
62
- - ✅ Create clear visual hierarchy through size, weight, and color
63
- - ✅ Ensure readability: strong contrast, appropriately sized text, clean alignment
64
- - ✅ Be consistent: repeat patterns, spacing, and visual language across slides
65
-
66
- #### Color Palette Selection
67
-
68
- **Choosing colors creatively**:
69
- - **Think beyond defaults**: What colors genuinely match this specific topic? Avoid autopilot choices.
70
- - **Consider multiple angles**: Topic, industry, mood, energy level, target audience, brand identity (if mentioned)
71
- - **Be adventurous**: Try unexpected combinations - a healthcare presentation doesn't have to be green, finance doesn't have to be navy
72
- - **Build your palette**: Pick 3-5 colors that work together (dominant colors + supporting tones + accent)
73
- - **Ensure contrast**: Text must be clearly readable on backgrounds
74
-
75
- **Example color palettes** (use these to spark creativity - choose one, adapt it, or create your own):
76
-
77
- 1. **Classic Blue**: Deep navy (#1C2833), slate gray (#2E4053), silver (#AAB7B8), off-white (#F4F6F6)
78
- 2. **Teal & Coral**: Teal (#5EA8A7), deep teal (#277884), coral (#FE4447), white (#FFFFFF)
79
- 3. **Bold Red**: Red (#C0392B), bright red (#E74C3C), orange (#F39C12), yellow (#F1C40F), green (#2ECC71)
80
- 4. **Warm Blush**: Mauve (#A49393), blush (#EED6D3), rose (#E8B4B8), cream (#FAF7F2)
81
- 5. **Burgundy Luxury**: Burgundy (#5D1D2E), crimson (#951233), rust (#C15937), gold (#997929)
82
- 6. **Deep Purple & Emerald**: Purple (#B165FB), dark blue (#181B24), emerald (#40695B), white (#FFFFFF)
83
- 7. **Cream & Forest Green**: Cream (#FFE1C7), forest green (#40695B), white (#FCFCFC)
84
- 8. **Pink & Purple**: Pink (#F8275B), coral (#FF574A), rose (#FF737D), purple (#3D2F68)
85
- 9. **Lime & Plum**: Lime (#C5DE82), plum (#7C3A5F), coral (#FD8C6E), blue-gray (#98ACB5)
86
- 10. **Black & Gold**: Gold (#BF9A4A), black (#000000), cream (#F4F6F6)
87
- 11. **Sage & Terracotta**: Sage (#87A96B), terracotta (#E07A5F), cream (#F4F1DE), charcoal (#2C2C2C)
88
- 12. **Charcoal & Red**: Charcoal (#292929), red (#E33737), light gray (#CCCBCB)
89
- 13. **Vibrant Orange**: Orange (#F96D00), light gray (#F2F2F2), charcoal (#222831)
90
- 14. **Forest Green**: Black (#191A19), green (#4E9F3D), dark green (#1E5128), white (#FFFFFF)
91
- 15. **Retro Rainbow**: Purple (#722880), pink (#D72D51), orange (#EB5C18), amber (#F08800), gold (#DEB600)
92
- 16. **Vintage Earthy**: Mustard (#E3B448), sage (#CBD18F), forest green (#3A6B35), cream (#F4F1DE)
93
- 17. **Coastal Rose**: Old rose (#AD7670), beaver (#B49886), eggshell (#F3ECDC), ash gray (#BFD5BE)
94
- 18. **Orange & Turquoise**: Light orange (#FC993E), grayish turquoise (#667C6F), white (#FCFCFC)
95
-
96
- #### Visual Details Options
97
-
98
- **Geometric Patterns**:
99
- - Diagonal section dividers instead of horizontal
100
- - Asymmetric column widths (30/70, 40/60, 25/75)
101
- - Rotated text headers at 90° or 270°
102
- - Circular/hexagonal frames for images
103
- - Triangular accent shapes in corners
104
- - Overlapping shapes for depth
105
-
106
- **Border & Frame Treatments**:
107
- - Thick single-color borders (10-20pt) on one side only
108
- - Double-line borders with contrasting colors
109
- - Corner brackets instead of full frames
110
- - L-shaped borders (top+left or bottom+right)
111
- - Underline accents beneath headers (3-5pt thick)
112
-
113
- **Typography Treatments**:
114
- - Extreme size contrast (72pt headlines vs 11pt body)
115
- - All-caps headers with wide letter spacing
116
- - Numbered sections in oversized display type
117
- - Monospace (Courier New) for data/stats/technical content
118
- - Condensed fonts (Arial Narrow) for dense information
119
- - Outlined text for emphasis
120
-
121
- **Chart & Data Styling**:
122
- - Monochrome charts with single accent color for key data
123
- - Horizontal bar charts instead of vertical
124
- - Dot plots instead of bar charts
125
- - Minimal gridlines or none at all
126
- - Data labels directly on elements (no legends)
127
- - Oversized numbers for key metrics
128
-
129
- **Layout Innovations**:
130
- - Full-bleed images with text overlays
131
- - Sidebar column (20-30% width) for navigation/context
132
- - Modular grid systems (3×3, 4×4 blocks)
133
- - Z-pattern or F-pattern content flow
134
- - Floating text boxes over colored shapes
135
- - Magazine-style multi-column layouts
136
-
137
- **Background Treatments**:
138
- - Solid color blocks occupying 40-60% of slide
139
- - Gradient fills (vertical or diagonal only)
140
- - Split backgrounds (two colors, diagonal or vertical)
141
- - Edge-to-edge color bands
142
- - Negative space as a design element
143
-
144
- ### Layout Tips
145
- **When creating slides with charts or tables:**
146
- - **Two-column layout (PREFERRED)**: Use a header spanning the full width, then two columns below - text/bullets in one column and the featured content in the other. This provides better balance and makes charts/tables more readable. Use flexbox with unequal column widths (e.g., 40%/60% split) to optimize space for each content type.
147
- - **Full-slide layout**: Let the featured content (chart/table) take up the entire slide for maximum impact and readability
148
- - **NEVER vertically stack**: Do not place charts/tables below text in a single column - this causes poor readability and layout issues
149
-
150
- ### Workflow
151
- 1. **MANDATORY - READ ENTIRE FILE**: Read [`html2pptx.md`](html2pptx.md) completely from start to finish. **NEVER set any range limits when reading this file.** Read the full file content for detailed syntax, critical formatting rules, and best practices before proceeding with presentation creation.
152
- 2. Create an HTML file for each slide with proper dimensions (e.g., 720pt × 405pt for 16:9)
153
- - Use `<p>`, `<h1>`-`<h6>`, `<ul>`, `<ol>` for all text content
154
- - Use `class="placeholder"` for areas where charts/tables will be added (render with gray background for visibility)
155
- - **CRITICAL**: Rasterize gradients and icons as PNG images FIRST using Sharp, then reference in HTML
156
- - **LAYOUT**: For slides with charts/tables/images, use either full-slide layout or two-column layout for better readability
157
- 3. Create and run a JavaScript file using the [`html2pptx.js`](scripts/html2pptx.js) library to convert HTML slides to PowerPoint and save the presentation
158
- - Use the `html2pptx()` function to process each HTML file
159
- - Add charts and tables to placeholder areas using PptxGenJS API
160
- - Save the presentation using `pptx.writeFile()`
161
- 4. **Visual validation**: Generate thumbnails and inspect for layout issues
162
- - Create thumbnail grid: `python scripts/thumbnail.py output.pptx workspace/thumbnails --cols 4`
163
- - Read and carefully examine the thumbnail image for:
164
- - **Text cutoff**: Text being cut off by header bars, shapes, or slide edges
165
- - **Text overlap**: Text overlapping with other text or shapes
166
- - **Positioning issues**: Content too close to slide boundaries or other elements
167
- - **Contrast issues**: Insufficient contrast between text and backgrounds
168
- - If issues found, adjust HTML margins/spacing/colors and regenerate the presentation
169
- - Repeat until all slides are visually correct
170
-
171
- ## Editing an existing PowerPoint presentation
172
-
173
- When edit slides in an existing PowerPoint presentation, you need to work with the raw Office Open XML (OOXML) format. This involves unpacking the .pptx file, editing the XML content, and repacking it.
174
-
175
- ### Workflow
176
- 1. **MANDATORY - READ ENTIRE FILE**: Read [`ooxml.md`](ooxml.md) (~500 lines) completely from start to finish. **NEVER set any range limits when reading this file.** Read the full file content for detailed guidance on OOXML structure and editing workflows before any presentation editing.
177
- 2. Unpack the presentation: `python ooxml/scripts/unpack.py <office_file> <output_dir>`
178
- 3. Edit the XML files (primarily `ppt/slides/slide{N}.xml` and related files)
179
- 4. **CRITICAL**: Validate immediately after each edit and fix any validation errors before proceeding: `python ooxml/scripts/validate.py <dir> --original <file>`
180
- 5. Pack the final presentation: `python ooxml/scripts/pack.py <input_directory> <office_file>`
181
-
182
- ## Creating a new PowerPoint presentation **using a template**
183
-
184
- When you need to create a presentation that follows an existing template's design, you'll need to duplicate and re-arrange template slides before then replacing placeholder context.
185
-
186
- ### Workflow
187
- 1. **Extract template text AND create visual thumbnail grid**:
188
- * Extract text: `python -m markitdown template.pptx > template-content.md`
189
- * Read `template-content.md`: Read the entire file to understand the contents of the template presentation. **NEVER set any range limits when reading this file.**
190
- * Create thumbnail grids: `python scripts/thumbnail.py template.pptx`
191
- * See [Creating Thumbnail Grids](#creating-thumbnail-grids) section for more details
192
-
193
- 2. **Analyze template and save inventory to a file**:
194
- * **Visual Analysis**: Review thumbnail grid(s) to understand slide layouts, design patterns, and visual structure
195
- * Create and save a template inventory file at `template-inventory.md` containing:
196
- ```markdown
197
- # Template Inventory Analysis
198
- **Total Slides: [count]**
199
- **IMPORTANT: Slides are 0-indexed (first slide = 0, last slide = count-1)**
200
-
201
- ## [Category Name]
202
- - Slide 0: [Layout code if available] - Description/purpose
203
- - Slide 1: [Layout code] - Description/purpose
204
- - Slide 2: [Layout code] - Description/purpose
205
- [... EVERY slide must be listed individually with its index ...]
206
- ```
207
- * **Using the thumbnail grid**: Reference the visual thumbnails to identify:
208
- - Layout patterns (title slides, content layouts, section dividers)
209
- - Image placeholder locations and counts
210
- - Design consistency across slide groups
211
- - Visual hierarchy and structure
212
- * This inventory file is REQUIRED for selecting appropriate templates in the next step
213
-
214
- 3. **Create presentation outline based on template inventory**:
215
- * Review available templates from step 2.
216
- * Choose an intro or title template for the first slide. This should be one of the first templates.
217
- * Choose safe, text-based layouts for the other slides.
218
- * **CRITICAL: Match layout structure to actual content**:
219
- - Single-column layouts: Use for unified narrative or single topic
220
- - Two-column layouts: Use ONLY when you have exactly 2 distinct items/concepts
221
- - Three-column layouts: Use ONLY when you have exactly 3 distinct items/concepts
222
- - Image + text layouts: Use ONLY when you have actual images to insert
223
- - Quote layouts: Use ONLY for actual quotes from people (with attribution), never for emphasis
224
- - Never use layouts with more placeholders than you have content
225
- - If you have 2 items, don't force them into a 3-column layout
226
- - If you have 4+ items, consider breaking into multiple slides or using a list format
227
- * Count your actual content pieces BEFORE selecting the layout
228
- * Verify each placeholder in the chosen layout will be filled with meaningful content
229
- * Select one option representing the **best** layout for each content section.
230
- * Save `outline.md` with content AND template mapping that leverages available designs
231
- * Example template mapping:
232
- ```
233
- # Template slides to use (0-based indexing)
234
- # WARNING: Verify indices are within range! Template with 73 slides has indices 0-72
235
- # Mapping: slide numbers from outline -> template slide indices
236
- template_mapping = [
237
- 0, # Use slide 0 (Title/Cover)
238
- 34, # Use slide 34 (B1: Title and body)
239
- 34, # Use slide 34 again (duplicate for second B1)
240
- 50, # Use slide 50 (E1: Quote)
241
- 54, # Use slide 54 (F2: Closing + Text)
242
- ]
243
- ```
244
-
245
- 4. **Duplicate, reorder, and delete slides using `rearrange.py`**:
246
- * Use the `scripts/rearrange.py` script to create a new presentation with slides in the desired order:
247
- ```bash
248
- python scripts/rearrange.py template.pptx working.pptx 0,34,34,50,52
249
- ```
250
- * The script handles duplicating repeated slides, deleting unused slides, and reordering automatically
251
- * Slide indices are 0-based (first slide is 0, second is 1, etc.)
252
- * The same slide index can appear multiple times to duplicate that slide
253
-
254
- 5. **Extract ALL text using the `inventory.py` script**:
255
- * **Run inventory extraction**:
256
- ```bash
257
- python scripts/inventory.py working.pptx text-inventory.json
258
- ```
259
- * **Read text-inventory.json**: Read the entire text-inventory.json file to understand all shapes and their properties. **NEVER set any range limits when reading this file.**
260
-
261
- * The inventory JSON structure:
262
- ```json
263
- {
264
- "slide-0": {
265
- "shape-0": {
266
- "placeholder_type": "TITLE", // or null for non-placeholders
267
- "left": 1.5, // position in inches
268
- "top": 2.0,
269
- "width": 7.5,
270
- "height": 1.2,
271
- "paragraphs": [
272
- {
273
- "text": "Paragraph text",
274
- // Optional properties (only included when non-default):
275
- "bullet": true, // explicit bullet detected
276
- "level": 0, // only included when bullet is true
277
- "alignment": "CENTER", // CENTER, RIGHT (not LEFT)
278
- "space_before": 10.0, // space before paragraph in points
279
- "space_after": 6.0, // space after paragraph in points
280
- "line_spacing": 22.4, // line spacing in points
281
- "font_name": "Arial", // from first run
282
- "font_size": 14.0, // in points
283
- "bold": true,
284
- "italic": false,
285
- "underline": false,
286
- "color": "FF0000" // RGB color
287
- }
288
- ]
289
- }
290
- }
291
- }
292
- ```
293
-
294
- * Key features:
295
- - **Slides**: Named as "slide-0", "slide-1", etc.
296
- - **Shapes**: Ordered by visual position (top-to-bottom, left-to-right) as "shape-0", "shape-1", etc.
297
- - **Placeholder types**: TITLE, CENTER_TITLE, SUBTITLE, BODY, OBJECT, or null
298
- - **Default font size**: `default_font_size` in points extracted from layout placeholders (when available)
299
- - **Slide numbers are filtered**: Shapes with SLIDE_NUMBER placeholder type are automatically excluded from inventory
300
- - **Bullets**: When `bullet: true`, `level` is always included (even if 0)
301
- - **Spacing**: `space_before`, `space_after`, and `line_spacing` in points (only included when set)
302
- - **Colors**: `color` for RGB (e.g., "FF0000"), `theme_color` for theme colors (e.g., "DARK_1")
303
- - **Properties**: Only non-default values are included in the output
304
-
305
- 6. **Generate replacement text and save the data to a JSON file**
306
- Based on the text inventory from the previous step:
307
- - **CRITICAL**: First verify which shapes exist in the inventory - only reference shapes that are actually present
308
- - **VALIDATION**: The replace.py script will validate that all shapes in your replacement JSON exist in the inventory
309
- - If you reference a non-existent shape, you'll get an error showing available shapes
310
- - If you reference a non-existent slide, you'll get an error indicating the slide doesn't exist
311
- - All validation errors are shown at once before the script exits
312
- - **IMPORTANT**: The replace.py script uses inventory.py internally to identify ALL text shapes
313
- - **AUTOMATIC CLEARING**: ALL text shapes from the inventory will be cleared unless you provide "paragraphs" for them
314
- - Add a "paragraphs" field to shapes that need content (not "replacement_paragraphs")
315
- - Shapes without "paragraphs" in the replacement JSON will have their text cleared automatically
316
- - Paragraphs with bullets will be automatically left aligned. Don't set the `alignment` property on when `"bullet": true`
317
- - Generate appropriate replacement content for placeholder text
318
- - Use shape size to determine appropriate content length
319
- - **CRITICAL**: Include paragraph properties from the original inventory - don't just provide text
320
- - **IMPORTANT**: When bullet: true, do NOT include bullet symbols (•, -, *) in text - they're added automatically
321
- - **ESSENTIAL FORMATTING RULES**:
322
- - Headers/titles should typically have `"bold": true`
323
- - List items should have `"bullet": true, "level": 0` (level is required when bullet is true)
324
- - Preserve any alignment properties (e.g., `"alignment": "CENTER"` for centered text)
325
- - Include font properties when different from default (e.g., `"font_size": 14.0`, `"font_name": "Lora"`)
326
- - Colors: Use `"color": "FF0000"` for RGB or `"theme_color": "DARK_1"` for theme colors
327
- - The replacement script expects **properly formatted paragraphs**, not just text strings
328
- - **Overlapping shapes**: Prefer shapes with larger default_font_size or more appropriate placeholder_type
329
- - Save the updated inventory with replacements to `replacement-text.json`
330
- - **WARNING**: Different template layouts have different shape counts - always check the actual inventory before creating replacements
331
-
332
- Example paragraphs field showing proper formatting:
333
- ```json
334
- "paragraphs": [
335
- {
336
- "text": "New presentation title text",
337
- "alignment": "CENTER",
338
- "bold": true
339
- },
340
- {
341
- "text": "Section Header",
342
- "bold": true
343
- },
344
- {
345
- "text": "First bullet point without bullet symbol",
346
- "bullet": true,
347
- "level": 0
348
- },
349
- {
350
- "text": "Red colored text",
351
- "color": "FF0000"
352
- },
353
- {
354
- "text": "Theme colored text",
355
- "theme_color": "DARK_1"
356
- },
357
- {
358
- "text": "Regular paragraph text without special formatting"
359
- }
360
- ]
361
- ```
362
-
363
- **Shapes not listed in the replacement JSON are automatically cleared**:
364
- ```json
365
- {
366
- "slide-0": {
367
- "shape-0": {
368
- "paragraphs": [...] // This shape gets new text
369
- }
370
- // shape-1 and shape-2 from inventory will be cleared automatically
371
- }
372
- }
373
- ```
374
-
375
- **Common formatting patterns for presentations**:
376
- - Title slides: Bold text, sometimes centered
377
- - Section headers within slides: Bold text
378
- - Bullet lists: Each item needs `"bullet": true, "level": 0`
379
- - Body text: Usually no special properties needed
380
- - Quotes: May have special alignment or font properties
381
-
382
- 7. **Apply replacements using the `replace.py` script**
383
- ```bash
384
- python scripts/replace.py working.pptx replacement-text.json output.pptx
385
- ```
386
-
387
- The script will:
388
- - First extract the inventory of ALL text shapes using functions from inventory.py
389
- - Validate that all shapes in the replacement JSON exist in the inventory
390
- - Clear text from ALL shapes identified in the inventory
391
- - Apply new text only to shapes with "paragraphs" defined in the replacement JSON
392
- - Preserve formatting by applying paragraph properties from the JSON
393
- - Handle bullets, alignment, font properties, and colors automatically
394
- - Save the updated presentation
395
-
396
- Example validation errors:
397
- ```
398
- ERROR: Invalid shapes in replacement JSON:
399
- - Shape 'shape-99' not found on 'slide-0'. Available shapes: shape-0, shape-1, shape-4
400
- - Slide 'slide-999' not found in inventory
401
- ```
402
-
403
- ```
404
- ERROR: Replacement text made overflow worse in these shapes:
405
- - slide-0/shape-2: overflow worsened by 1.25" (was 0.00", now 1.25")
406
- ```
407
-
408
- ## Creating Thumbnail Grids
409
-
410
- To create visual thumbnail grids of PowerPoint slides for quick analysis and reference:
411
-
412
- ```bash
413
- python scripts/thumbnail.py template.pptx [output_prefix]
414
- ```
415
-
416
- **Features**:
417
- - Creates: `thumbnails.jpg` (or `thumbnails-1.jpg`, `thumbnails-2.jpg`, etc. for large decks)
418
- - Default: 5 columns, max 30 slides per grid (5×6)
419
- - Custom prefix: `python scripts/thumbnail.py template.pptx my-grid`
420
- - Note: The output prefix should include the path if you want output in a specific directory (e.g., `workspace/my-grid`)
421
- - Adjust columns: `--cols 4` (range: 3-6, affects slides per grid)
422
- - Grid limits: 3 cols = 12 slides/grid, 4 cols = 20, 5 cols = 30, 6 cols = 42
423
- - Slides are zero-indexed (Slide 0, Slide 1, etc.)
424
-
425
- **Use cases**:
426
- - Template analysis: Quickly understand slide layouts and design patterns
427
- - Content review: Visual overview of entire presentation
428
- - Navigation reference: Find specific slides by their visual appearance
429
- - Quality check: Verify all slides are properly formatted
430
-
431
- **Examples**:
432
- ```bash
433
- # Basic usage
434
- python scripts/thumbnail.py presentation.pptx
435
-
436
- # Combine options: custom name, columns
437
- python scripts/thumbnail.py template.pptx analysis --cols 4
438
- ```
439
-
440
- ## Converting Slides to Images
441
-
442
- To visually analyze PowerPoint slides, convert them to images using a two-step process:
443
-
444
- 1. **Convert PPTX to PDF**:
445
- ```bash
446
- soffice --headless --convert-to pdf template.pptx
447
- ```
448
-
449
- 2. **Convert PDF pages to JPEG images**:
450
- ```bash
451
- pdftoppm -jpeg -r 150 template.pdf slide
452
- ```
453
- This creates files like `slide-1.jpg`, `slide-2.jpg`, etc.
454
-
455
- Options:
456
- - `-r 150`: Sets resolution to 150 DPI (adjust for quality/size balance)
457
- - `-jpeg`: Output JPEG format (use `-png` for PNG if preferred)
458
- - `-f N`: First page to convert (e.g., `-f 2` starts from page 2)
459
- - `-l N`: Last page to convert (e.g., `-l 5` stops at page 5)
460
- - `slide`: Prefix for output files
461
-
462
- Example for specific range:
463
- ```bash
464
- pdftoppm -jpeg -r 150 -f 2 -l 5 template.pdf slide # Converts only pages 2-5
465
- ```
466
-
467
- ## Code Style Guidelines
468
- **IMPORTANT**: When generating code for PPTX operations:
469
- - Write concise code
470
- - Avoid verbose variable names and redundant operations
471
- - Avoid unnecessary print statements
472
-
473
- ## Dependencies
474
-
475
- Required dependencies (should already be installed):
476
-
477
- - **markitdown**: `pip install "markitdown[pptx]"` (for text extraction from presentations)
478
- - **pptxgenjs**: `npm install -g pptxgenjs` (for creating presentations via html2pptx)
479
- - **playwright**: `npm install -g playwright` (for HTML rendering in html2pptx)
480
- - **react-icons**: `npm install -g react-icons react react-dom` (for icons)
481
- - **sharp**: `npm install -g sharp` (for SVG rasterization and image processing)
482
- - **LibreOffice**: `sudo apt-get install libreoffice` (for PDF conversion)
483
- - **Poppler**: `sudo apt-get install poppler-utils` (for pdftoppm to convert PDF to images)
484
- - **defusedxml**: `pip install defusedxml` (for secure XML parsing)
485
-
486
- ## Html2pptx
487
-
488
- # HTML to PowerPoint Guide
489
-
490
- Convert HTML slides to PowerPoint presentations with accurate positioning using the `html2pptx.js` library.
491
-
492
- ## Table of Contents
493
-
494
- 1. [Creating HTML Slides](#creating-html-slides)
495
- 2. [Using the html2pptx Library](#using-the-html2pptx-library)
496
- 3. [Using PptxGenJS](#using-pptxgenjs)
497
-
498
- ---
499
-
500
- ## Creating HTML Slides
501
-
502
- Every HTML slide must include proper body dimensions:
503
-
504
- ### Layout Dimensions
505
-
506
- - **16:9** (default): `width: 720pt; height: 405pt`
507
- - **4:3**: `width: 720pt; height: 540pt`
508
- - **16:10**: `width: 720pt; height: 450pt`
509
-
510
- ### Supported Elements
511
-
512
- - `<p>`, `<h1>`-`<h6>` - Text with styling
513
- - `<ul>`, `<ol>` - Lists (never use manual bullets •, -, *)
514
- - `<b>`, `<strong>` - Bold text (inline formatting)
515
- - `<i>`, `<em>` - Italic text (inline formatting)
516
- - `<u>` - Underlined text (inline formatting)
517
- - `<span>` - Inline formatting with CSS styles (bold, italic, underline, color)
518
- - `<br>` - Line breaks
519
- - `<div>` with bg/border - Becomes shape
520
- - `<img>` - Images
521
- - `class="placeholder"` - Reserved space for charts (returns `{ id, x, y, w, h }`)
522
-
523
- ### Critical Text Rules
524
-
525
- **ALL text MUST be inside `<p>`, `<h1>`-`<h6>`, `<ul>`, or `<ol>` tags:**
526
- - ✅ Correct: `<div><p>Text here</p></div>`
527
- - ❌ Wrong: `<div>Text here</div>` - **Text will NOT appear in PowerPoint**
528
- - ❌ Wrong: `<span>Text</span>` - **Text will NOT appear in PowerPoint**
529
- - Text in `<div>` or `<span>` without a text tag will be silently ignored
530
-
531
- **NEVER use manual bullet symbols (•, -, *, etc.)** - Use `<ul>` or `<ol>` lists instead
532
-
533
- **ONLY use web-safe fonts that are universally available:**
534
- - ✅ Web-safe fonts: `Arial`, `Helvetica`, `Times New Roman`, `Georgia`, `Courier New`, `Verdana`, `Tahoma`, `Trebuchet MS`, `Impact`, `Comic Sans MS`
535
- - ❌ Wrong: `'Segoe UI'`, `'SF Pro'`, `'Roboto'`, custom fonts - **Might cause rendering issues**
536
-
537
- ### Styling
538
-
539
- - Use `display: flex` on body to prevent margin collapse from breaking overflow validation
540
- - Use `margin` for spacing (padding included in size)
541
- - Inline formatting: Use `<b>`, `<i>`, `<u>` tags OR `<span>` with CSS styles
542
- - `<span>` supports: `font-weight: bold`, `font-style: italic`, `text-decoration: underline`, `color: #rrggbb`
543
- - `<span>` does NOT support: `margin`, `padding` (not supported in PowerPoint text runs)
544
- - Example: `<span style="font-weight: bold; color: #667eea;">Bold blue text</span>`
545
- - Flexbox works - positions calculated from rendered layout
546
- - Use hex colors with `#` prefix in CSS
547
- - **Text alignment**: Use CSS `text-align` (`center`, `right`, etc.) when needed as a hint to PptxGenJS for text formatting if text lengths are slightly off
548
-
549
- ### Shape Styling (DIV elements only)
550
-
551
- **IMPORTANT: Backgrounds, borders, and shadows only work on `<div>` elements, NOT on text elements (`<p>`, `<h1>`-`<h6>`, `<ul>`, `<ol>`)**
552
-
553
- - **Backgrounds**: CSS `background` or `background-color` on `<div>` elements only
554
- - Example: `<div style="background: #f0f0f0;">` - Creates a shape with background
555
- - **Borders**: CSS `border` on `<div>` elements converts to PowerPoint shape borders
556
- - Supports uniform borders: `border: 2px solid #333333`
557
- - Supports partial borders: `border-left`, `border-right`, `border-top`, `border-bottom` (rendered as line shapes)
558
- - Example: `<div style="border-left: 8pt solid #E76F51;">`
559
- - **Border radius**: CSS `border-radius` on `<div>` elements for rounded corners
560
- - `border-radius: 50%` or higher creates circular shape
561
- - Percentages <50% calculated relative to shape's smaller dimension
562
- - Supports px and pt units (e.g., `border-radius: 8pt;`, `border-radius: 12px;`)
563
- - Example: `<div style="border-radius: 25%;">` on 100x200px box = 25% of 100px = 25px radius
564
- - **Box shadows**: CSS `box-shadow` on `<div>` elements converts to PowerPoint shadows
565
- - Supports outer shadows only (inset shadows are ignored to prevent corruption)
566
- - Example: `<div style="box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3);">`
567
- - Note: Inset/inner shadows are not supported by PowerPoint and will be skipped
568
-
569
- ### Icons & Gradients
570
-
571
- - **CRITICAL: Never use CSS gradients (`linear-gradient`, `radial-gradient`)** - They don't convert to PowerPoint
572
- - **ALWAYS create gradient/icon PNGs FIRST using Sharp, then reference in HTML**
573
- - For gradients: Rasterize SVG to PNG background images
574
- - For icons: Rasterize react-icons SVG to PNG images
575
- - All visual effects must be pre-rendered as raster images before HTML rendering
576
-
577
- **Rasterizing Icons with Sharp:**
578
-
579
- ```javascript
580
- const React = require('react');
581
- const ReactDOMServer = require('react-dom/server');
582
- const sharp = require('sharp');
583
- const { FaHome } = require('react-icons/fa');
584
-
585
- async function rasterizeIconPng(IconComponent, color, size = "256", filename) {
586
- const svgString = ReactDOMServer.renderToStaticMarkup(
587
- React.createElement(IconComponent, { color: `#${color}`, size: size })
588
- );
589
-
590
- // Convert SVG to PNG using Sharp
591
- await sharp(Buffer.from(svgString))
592
- .png()
593
- .toFile(filename);
594
-
595
- return filename;
596
- }
597
-
598
- // Usage: Rasterize icon before using in HTML
599
- const iconPath = await rasterizeIconPng(FaHome, "4472c4", "256", "home-icon.png");
600
- // Then reference in HTML: <img src="home-icon.png" style="width: 40pt; height: 40pt;">
601
- ```
602
-
603
- **Rasterizing Gradients with Sharp:**
604
-
605
- ```javascript
606
- const sharp = require('sharp');
607
-
608
- async function createGradientBackground(filename) {
609
- const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="562.5">
610
- <defs>
611
- <linearGradient id="g" x1="0%" y1="0%" x2="100%" y2="100%">
612
- <stop offset="0%" style="stop-color:#COLOR1"/>
613
- <stop offset="100%" style="stop-color:#COLOR2"/>
614
- </linearGradient>
615
- </defs>
616
- <rect width="100%" height="100%" fill="url(#g)"/>
617
- </svg>`;
618
-
619
- await sharp(Buffer.from(svg))
620
- .png()
621
- .toFile(filename);
622
-
623
- return filename;
624
- }
625
-
626
- // Usage: Create gradient background before HTML
627
- const bgPath = await createGradientBackground("gradient-bg.png");
628
- // Then in HTML: <body style="background-image: url('gradient-bg.png');">
629
- ```
630
-
631
- ### Example
632
-
633
- ```html
634
- <!DOCTYPE html>
635
- <html>
636
- <head>
637
- <style>
638
- html { background: #ffffff; }
639
- body {
640
- width: 720pt; height: 405pt; margin: 0; padding: 0;
641
- background: #f5f5f5; font-family: Arial, sans-serif;
642
- display: flex;
643
- }
644
- .content { margin: 30pt; padding: 40pt; background: #ffffff; border-radius: 8pt; }
645
- h1 { color: #2d3748; font-size: 32pt; }
646
- .box {
647
- background: #70ad47; padding: 20pt; border: 3px solid #5a8f37;
648
- border-radius: 12pt; box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.25);
649
- }
650
- </style>
651
- </head>
652
- <body>
653
- <div class="content">
654
- <h1>Recipe Title</h1>
655
- <ul>
656
- <li><b>Item:</b> Description</li>
657
- </ul>
658
- <p>Text with <b>bold</b>, <i>italic</i>, <u>underline</u>.</p>
659
- <div id="chart" class="placeholder" style="width: 350pt; height: 200pt;"></div>
660
-
661
- <!-- Text MUST be in <p> tags -->
662
- <div class="box">
663
- <p>5</p>
664
- </div>
665
- </div>
666
- </body>
667
- </html>
668
- ```
669
-
670
- ## Using the html2pptx Library
671
-
672
- ### Dependencies
673
-
674
- These libraries have been globally installed and are available to use:
675
- - `pptxgenjs`
676
- - `playwright`
677
- - `sharp`
678
-
679
- ### Basic Usage
680
-
681
- ```javascript
682
- const pptxgen = require('pptxgenjs');
683
- const html2pptx = require('./html2pptx');
684
-
685
- const pptx = new pptxgen();
686
- pptx.layout = 'LAYOUT_16x9'; // Must match HTML body dimensions
687
-
688
- const { slide, placeholders } = await html2pptx('slide1.html', pptx);
689
-
690
- // Add chart to placeholder area
691
- if (placeholders.length > 0) {
692
- slide.addChart(pptx.charts.LINE, chartData, placeholders[0]);
693
- }
694
-
695
- await pptx.writeFile('output.pptx');
696
- ```
697
-
698
- ### API Reference
699
-
700
- #### Function Signature
701
- ```javascript
702
- await html2pptx(htmlFile, pres, options)
703
- ```
704
-
705
- #### Parameters
706
- - `htmlFile` (string): Path to HTML file (absolute or relative)
707
- - `pres` (pptxgen): PptxGenJS presentation instance with layout already set
708
- - `options` (object, optional):
709
- - `tmpDir` (string): Temporary directory for generated files (default: `process.env.TMPDIR || '/tmp'`)
710
- - `slide` (object): Existing slide to reuse (default: creates new slide)
711
-
712
- #### Returns
713
- ```javascript
714
- {
715
- slide: pptxgenSlide, // The created/updated slide
716
- placeholders: [ // Array of placeholder positions
717
- { id: string, x: number, y: number, w: number, h: number },
718
- ...
719
- ]
720
- }
721
- ```
722
-
723
- ### Validation
724
-
725
- The library automatically validates and collects all errors before throwing:
726
-
727
- 1. **HTML dimensions must match presentation layout** - Reports dimension mismatches
728
- 2. **Content must not overflow body** - Reports overflow with exact measurements
729
- 3. **CSS gradients** - Reports unsupported gradient usage
730
- 4. **Text element styling** - Reports backgrounds/borders/shadows on text elements (only allowed on divs)
731
-
732
- **All validation errors are collected and reported together** in a single error message, allowing you to fix all issues at once instead of one at a time.
733
-
734
- ### Working with Placeholders
735
-
736
- ```javascript
737
- const { slide, placeholders } = await html2pptx('slide.html', pptx);
738
-
739
- // Use first placeholder
740
- slide.addChart(pptx.charts.BAR, data, placeholders[0]);
741
-
742
- // Find by ID
743
- const chartArea = placeholders.find(p => p.id === 'chart-area');
744
- slide.addChart(pptx.charts.LINE, data, chartArea);
745
- ```
746
-
747
- ### Complete Example
748
-
749
- ```javascript
750
- const pptxgen = require('pptxgenjs');
751
- const html2pptx = require('./html2pptx');
752
-
753
- async function createPresentation() {
754
- const pptx = new pptxgen();
755
- pptx.layout = 'LAYOUT_16x9';
756
- pptx.author = 'Your Name';
757
- pptx.title = 'My Presentation';
758
-
759
- // Slide 1: Title
760
- const { slide: slide1 } = await html2pptx('slides/title.html', pptx);
761
-
762
- // Slide 2: Content with chart
763
- const { slide: slide2, placeholders } = await html2pptx('slides/data.html', pptx);
764
-
765
- const chartData = [{
766
- name: 'Sales',
767
- labels: ['Q1', 'Q2', 'Q3', 'Q4'],
768
- values: [4500, 5500, 6200, 7100]
769
- }];
770
-
771
- slide2.addChart(pptx.charts.BAR, chartData, {
772
- ...placeholders[0],
773
- showTitle: true,
774
- title: 'Quarterly Sales',
775
- showCatAxisTitle: true,
776
- catAxisTitle: 'Quarter',
777
- showValAxisTitle: true,
778
- valAxisTitle: 'Sales ($000s)'
779
- });
780
-
781
- // Save
782
- await pptx.writeFile({ fileName: 'presentation.pptx' });
783
- console.log('Presentation created successfully!');
784
- }
785
-
786
- createPresentation().catch(console.error);
787
- ```
788
-
789
- ## Using PptxGenJS
790
-
791
- After converting HTML to slides with `html2pptx`, you'll use PptxGenJS to add dynamic content like charts, images, and additional elements.
792
-
793
- ### ⚠️ Critical Rules
794
-
795
- #### Colors
796
- - **NEVER use `#` prefix** with hex colors in PptxGenJS - causes file corruption
797
- - ✅ Correct: `color: "FF0000"`, `fill: { color: "0066CC" }`
798
- - ❌ Wrong: `color: "#FF0000"` (breaks document)
799
-
800
- ### Adding Images
801
-
802
- Always calculate aspect ratios from actual image dimensions:
803
-
804
- ```javascript
805
- // Get image dimensions: identify image.png | grep -o '[0-9]* x [0-9]*'
806
- const imgWidth = 1860, imgHeight = 1519; // From actual file
807
- const aspectRatio = imgWidth / imgHeight;
808
-
809
- const h = 3; // Max height
810
- const w = h * aspectRatio;
811
- const x = (10 - w) / 2; // Center on 16:9 slide
812
-
813
- slide.addImage({ path: "chart.png", x, y: 1.5, w, h });
814
- ```
815
-
816
- ### Adding Text
817
-
818
- ```javascript
819
- // Rich text with formatting
820
- slide.addText([
821
- { text: "Bold ", options: { bold: true } },
822
- { text: "Italic ", options: { italic: true } },
823
- { text: "Normal" }
824
- ], {
825
- x: 1, y: 2, w: 8, h: 1
826
- });
827
- ```
828
-
829
- ### Adding Shapes
830
-
831
- ```javascript
832
- // Rectangle
833
- slide.addShape(pptx.shapes.RECTANGLE, {
834
- x: 1, y: 1, w: 3, h: 2,
835
- fill: { color: "4472C4" },
836
- line: { color: "000000", width: 2 }
837
- });
838
-
839
- // Circle
840
- slide.addShape(pptx.shapes.OVAL, {
841
- x: 5, y: 1, w: 2, h: 2,
842
- fill: { color: "ED7D31" }
843
- });
844
-
845
- // Rounded rectangle
846
- slide.addShape(pptx.shapes.ROUNDED_RECTANGLE, {
847
- x: 1, y: 4, w: 3, h: 1.5,
848
- fill: { color: "70AD47" },
849
- rectRadius: 0.2
850
- });
851
- ```
852
-
853
- ### Adding Charts
854
-
855
- **Required for most charts:** Axis labels using `catAxisTitle` (category) and `valAxisTitle` (value).
856
-
857
- **Chart Data Format:**
858
- - Use **single series with all labels** for simple bar/line charts
859
- - Each series creates a separate legend entry
860
- - Labels array defines X-axis values
861
-
862
- **Time Series Data - Choose Correct Granularity:**
863
- - **< 30 days**: Use daily grouping (e.g., "10-01", "10-02") - avoid monthly aggregation that creates single-point charts
864
- - **30-365 days**: Use monthly grouping (e.g., "2024-01", "2024-02")
865
- - **> 365 days**: Use yearly grouping (e.g., "2023", "2024")
866
- - **Validate**: Charts with only 1 data point likely indicate incorrect aggregation for the time period
867
-
868
- ```javascript
869
- const { slide, placeholders } = await html2pptx('slide.html', pptx);
870
-
871
- // CORRECT: Single series with all labels
872
- slide.addChart(pptx.charts.BAR, [{
873
- name: "Sales 2024",
874
- labels: ["Q1", "Q2", "Q3", "Q4"],
875
- values: [4500, 5500, 6200, 7100]
876
- }], {
877
- ...placeholders[0], // Use placeholder position
878
- barDir: 'col', // 'col' = vertical bars, 'bar' = horizontal
879
- showTitle: true,
880
- title: 'Quarterly Sales',
881
- showLegend: false, // No legend needed for single series
882
- // Required axis labels
883
- showCatAxisTitle: true,
884
- catAxisTitle: 'Quarter',
885
- showValAxisTitle: true,
886
- valAxisTitle: 'Sales ($000s)',
887
- // Optional: Control scaling (adjust min based on data range for better visualization)
888
- valAxisMaxVal: 8000,
889
- valAxisMinVal: 0, // Use 0 for counts/amounts; for clustered data (e.g., 4500-7100), consider starting closer to min value
890
- valAxisMajorUnit: 2000, // Control y-axis label spacing to prevent crowding
891
- catAxisLabelRotate: 45, // Rotate labels if crowded
892
- dataLabelPosition: 'outEnd',
893
- dataLabelColor: '000000',
894
- // Use single color for single-series charts
895
- chartColors: ["4472C4"] // All bars same color
896
- });
897
- ```
898
-
899
- #### Scatter Chart
900
-
901
- **IMPORTANT**: Scatter chart data format is unusual - first series contains X-axis values, subsequent series contain Y-values:
902
-
903
- ```javascript
904
- // Prepare data
905
- const data1 = [{ x: 10, y: 20 }, { x: 15, y: 25 }, { x: 20, y: 30 }];
906
- const data2 = [{ x: 12, y: 18 }, { x: 18, y: 22 }];
907
-
908
- const allXValues = [...data1.map(d => d.x), ...data2.map(d => d.x)];
909
-
910
- slide.addChart(pptx.charts.SCATTER, [
911
- { name: 'X-Axis', values: allXValues }, // First series = X values
912
- { name: 'Series 1', values: data1.map(d => d.y) }, // Y values only
913
- { name: 'Series 2', values: data2.map(d => d.y) } // Y values only
914
- ], {
915
- x: 1, y: 1, w: 8, h: 4,
916
- lineSize: 0, // 0 = no connecting lines
917
- lineDataSymbol: 'circle',
918
- lineDataSymbolSize: 6,
919
- showCatAxisTitle: true,
920
- catAxisTitle: 'X Axis',
921
- showValAxisTitle: true,
922
- valAxisTitle: 'Y Axis',
923
- chartColors: ["4472C4", "ED7D31"]
924
- });
925
- ```
926
-
927
- #### Line Chart
928
-
929
- ```javascript
930
- slide.addChart(pptx.charts.LINE, [{
931
- name: "Temperature",
932
- labels: ["Jan", "Feb", "Mar", "Apr"],
933
- values: [32, 35, 42, 55]
934
- }], {
935
- x: 1, y: 1, w: 8, h: 4,
936
- lineSize: 4,
937
- lineSmooth: true,
938
- // Required axis labels
939
- showCatAxisTitle: true,
940
- catAxisTitle: 'Month',
941
- showValAxisTitle: true,
942
- valAxisTitle: 'Temperature (°F)',
943
- // Optional: Y-axis range (set min based on data range for better visualization)
944
- valAxisMinVal: 0, // For ranges starting at 0 (counts, percentages, etc.)
945
- valAxisMaxVal: 60,
946
- valAxisMajorUnit: 20, // Control y-axis label spacing to prevent crowding (e.g., 10, 20, 25)
947
- // valAxisMinVal: 30, // PREFERRED: For data clustered in a range (e.g., 32-55 or ratings 3-5), start axis closer to min value to show variation
948
- // Optional: Chart colors
949
- chartColors: ["4472C4", "ED7D31", "A5A5A5"]
950
- });
951
- ```
952
-
953
- #### Pie Chart (No Axis Labels Required)
954
-
955
- **CRITICAL**: Pie charts require a **single data series** with all categories in the `labels` array and corresponding values in the `values` array.
956
-
957
- ```javascript
958
- slide.addChart(pptx.charts.PIE, [{
959
- name: "Market Share",
960
- labels: ["Product A", "Product B", "Other"], // All categories in one array
961
- values: [35, 45, 20] // All values in one array
962
- }], {
963
- x: 2, y: 1, w: 6, h: 4,
964
- showPercent: true,
965
- showLegend: true,
966
- legendPos: 'r', // right
967
- chartColors: ["4472C4", "ED7D31", "A5A5A5"]
968
- });
969
- ```
970
-
971
- #### Multiple Data Series
972
-
973
- ```javascript
974
- slide.addChart(pptx.charts.LINE, [
975
- {
976
- name: "Product A",
977
- labels: ["Q1", "Q2", "Q3", "Q4"],
978
- values: [10, 20, 30, 40]
979
- },
980
- {
981
- name: "Product B",
982
- labels: ["Q1", "Q2", "Q3", "Q4"],
983
- values: [15, 25, 20, 35]
984
- }
985
- ], {
986
- x: 1, y: 1, w: 8, h: 4,
987
- showCatAxisTitle: true,
988
- catAxisTitle: 'Quarter',
989
- showValAxisTitle: true,
990
- valAxisTitle: 'Revenue ($M)'
991
- });
992
- ```
993
-
994
- ### Chart Colors
995
-
996
- **CRITICAL**: Use hex colors **without** the `#` prefix - including `#` causes file corruption.
997
-
998
- **Align chart colors with your chosen design palette**, ensuring sufficient contrast and distinctiveness for data visualization. Adjust colors for:
999
- - Strong contrast between adjacent series
1000
- - Readability against slide backgrounds
1001
- - Accessibility (avoid red-green only combinations)
1002
-
1003
- ```javascript
1004
- // Example: Ocean palette-inspired chart colors (adjusted for contrast)
1005
- const chartColors = ["16A085", "FF6B9D", "2C3E50", "F39C12", "9B59B6"];
1006
-
1007
- // Single-series chart: Use one color for all bars/points
1008
- slide.addChart(pptx.charts.BAR, [{
1009
- name: "Sales",
1010
- labels: ["Q1", "Q2", "Q3", "Q4"],
1011
- values: [4500, 5500, 6200, 7100]
1012
- }], {
1013
- ...placeholders[0],
1014
- chartColors: ["16A085"], // All bars same color
1015
- showLegend: false
1016
- });
1017
-
1018
- // Multi-series chart: Each series gets a different color
1019
- slide.addChart(pptx.charts.LINE, [
1020
- { name: "Product A", labels: ["Q1", "Q2", "Q3"], values: [10, 20, 30] },
1021
- { name: "Product B", labels: ["Q1", "Q2", "Q3"], values: [15, 25, 20] }
1022
- ], {
1023
- ...placeholders[0],
1024
- chartColors: ["16A085", "FF6B9D"] // One color per series
1025
- });
1026
- ```
1027
-
1028
- ### Adding Tables
1029
-
1030
- Tables can be added with basic or advanced formatting:
1031
-
1032
- #### Basic Table
1033
-
1034
- ```javascript
1035
- slide.addTable([
1036
- ["Header 1", "Header 2", "Header 3"],
1037
- ["Row 1, Col 1", "Row 1, Col 2", "Row 1, Col 3"],
1038
- ["Row 2, Col 1", "Row 2, Col 2", "Row 2, Col 3"]
1039
- ], {
1040
- x: 0.5,
1041
- y: 1,
1042
- w: 9,
1043
- h: 3,
1044
- border: { pt: 1, color: "999999" },
1045
- fill: { color: "F1F1F1" }
1046
- });
1047
- ```
1048
-
1049
- #### Table with Custom Formatting
1050
-
1051
- ```javascript
1052
- const tableData = [
1053
- // Header row with custom styling
1054
- [
1055
- { text: "Product", options: { fill: { color: "4472C4" }, color: "FFFFFF", bold: true } },
1056
- { text: "Revenue", options: { fill: { color: "4472C4" }, color: "FFFFFF", bold: true } },
1057
- { text: "Growth", options: { fill: { color: "4472C4" }, color: "FFFFFF", bold: true } }
1058
- ],
1059
- // Data rows
1060
- ["Product A", "$50M", "+15%"],
1061
- ["Product B", "$35M", "+22%"],
1062
- ["Product C", "$28M", "+8%"]
1063
- ];
1064
-
1065
- slide.addTable(tableData, {
1066
- x: 1,
1067
- y: 1.5,
1068
- w: 8,
1069
- h: 3,
1070
- colW: [3, 2.5, 2.5], // Column widths
1071
- rowH: [0.5, 0.6, 0.6, 0.6], // Row heights
1072
- border: { pt: 1, color: "CCCCCC" },
1073
- align: "center",
1074
- valign: "middle",
1075
- fontSize: 14
1076
- });
1077
- ```
1078
-
1079
- #### Table with Merged Cells
1080
-
1081
- ```javascript
1082
- const mergedTableData = [
1083
- [
1084
- { text: "Q1 Results", options: { colspan: 3, fill: { color: "4472C4" }, color: "FFFFFF", bold: true } }
1085
- ],
1086
- ["Product", "Sales", "Market Share"],
1087
- ["Product A", "$25M", "35%"],
1088
- ["Product B", "$18M", "25%"]
1089
- ];
1090
-
1091
- slide.addTable(mergedTableData, {
1092
- x: 1,
1093
- y: 1,
1094
- w: 8,
1095
- h: 2.5,
1096
- colW: [3, 2.5, 2.5],
1097
- border: { pt: 1, color: "DDDDDD" }
1098
- });
1099
- ```
1100
-
1101
- ### Table Options
1102
-
1103
- Common table options:
1104
- - `x, y, w, h` - Position and size
1105
- - `colW` - Array of column widths (in inches)
1106
- - `rowH` - Array of row heights (in inches)
1107
- - `border` - Border style: `{ pt: 1, color: "999999" }`
1108
- - `fill` - Background color (no # prefix)
1109
- - `align` - Text alignment: "left", "center", "right"
1110
- - `valign` - Vertical alignment: "top", "middle", "bottom"
1111
- - `fontSize` - Text size
1112
- - `autoPage` - Auto-create new slides if content overflows
1113
-
1114
- ## Ooxml
1115
-
1116
- # Office Open XML Technical Reference for PowerPoint
1117
-
1118
- **Important: Read this entire document before starting.** Critical XML schema rules and formatting requirements are covered throughout. Incorrect implementation can create invalid PPTX files that PowerPoint cannot open.
1119
-
1120
- ## Technical Guidelines
1121
-
1122
- ### Schema Compliance
1123
- - **Element ordering in `<p:txBody>`**: `<a:bodyPr>`, `<a:lstStyle>`, `<a:p>`
1124
- - **Whitespace**: Add `xml:space='preserve'` to `<a:t>` elements with leading/trailing spaces
1125
- - **Unicode**: Escape characters in ASCII content: `"` becomes `&#8220;`
1126
- - **Images**: Add to `ppt/media/`, reference in slide XML, set dimensions to fit slide bounds
1127
- - **Relationships**: Update `ppt/slides/_rels/slideN.xml.rels` for each slide's resources
1128
- - **Dirty attribute**: Add `dirty="0"` to `<a:rPr>` and `<a:endParaRPr>` elements to indicate clean state
1129
-
1130
- ## Presentation Structure
1131
-
1132
- ### Basic Slide Structure
1133
- ```xml
1134
- <!-- ppt/slides/slide1.xml -->
1135
- <p:sld>
1136
- <p:cSld>
1137
- <p:spTree>
1138
- <p:nvGrpSpPr>...</p:nvGrpSpPr>
1139
- <p:grpSpPr>...</p:grpSpPr>
1140
- <!-- Shapes go here -->
1141
- </p:spTree>
1142
- </p:cSld>
1143
- </p:sld>
1144
- ```
1145
-
1146
- ### Text Box / Shape with Text
1147
- ```xml
1148
- <p:sp>
1149
- <p:nvSpPr>
1150
- <p:cNvPr id="2" name="Title"/>
1151
- <p:cNvSpPr>
1152
- <a:spLocks noGrp="1"/>
1153
- </p:cNvSpPr>
1154
- <p:nvPr>
1155
- <p:ph type="ctrTitle"/>
1156
- </p:nvPr>
1157
- </p:nvSpPr>
1158
- <p:spPr>
1159
- <a:xfrm>
1160
- <a:off x="838200" y="365125"/>
1161
- <a:ext cx="7772400" cy="1470025"/>
1162
- </a:xfrm>
1163
- </p:spPr>
1164
- <p:txBody>
1165
- <a:bodyPr/>
1166
- <a:lstStyle/>
1167
- <a:p>
1168
- <a:r>
1169
- <a:t>Slide Title</a:t>
1170
- </a:r>
1171
- </a:p>
1172
- </p:txBody>
1173
- </p:sp>
1174
- ```
1175
-
1176
- ### Text Formatting
1177
- ```xml
1178
- <!-- Bold -->
1179
- <a:r>
1180
- <a:rPr b="1"/>
1181
- <a:t>Bold Text</a:t>
1182
- </a:r>
1183
-
1184
- <!-- Italic -->
1185
- <a:r>
1186
- <a:rPr i="1"/>
1187
- <a:t>Italic Text</a:t>
1188
- </a:r>
1189
-
1190
- <!-- Underline -->
1191
- <a:r>
1192
- <a:rPr u="sng"/>
1193
- <a:t>Underlined</a:t>
1194
- </a:r>
1195
-
1196
- <!-- Highlight -->
1197
- <a:r>
1198
- <a:rPr>
1199
- <a:highlight>
1200
- <a:srgbClr val="FFFF00"/>
1201
- </a:highlight>
1202
- </a:rPr>
1203
- <a:t>Highlighted Text</a:t>
1204
- </a:r>
1205
-
1206
- <!-- Font and Size -->
1207
- <a:r>
1208
- <a:rPr sz="2400" typeface="Arial">
1209
- <a:solidFill>
1210
- <a:srgbClr val="FF0000"/>
1211
- </a:solidFill>
1212
- </a:rPr>
1213
- <a:t>Colored Arial 24pt</a:t>
1214
- </a:r>
1215
-
1216
- <!-- Complete formatting example -->
1217
- <a:r>
1218
- <a:rPr lang="en-US" sz="1400" b="1" dirty="0">
1219
- <a:solidFill>
1220
- <a:srgbClr val="FAFAFA"/>
1221
- </a:solidFill>
1222
- </a:rPr>
1223
- <a:t>Formatted text</a:t>
1224
- </a:r>
1225
- ```
1226
-
1227
- ### Lists
1228
- ```xml
1229
- <!-- Bullet list -->
1230
- <a:p>
1231
- <a:pPr lvl="0">
1232
- <a:buChar char="•"/>
1233
- </a:pPr>
1234
- <a:r>
1235
- <a:t>First bullet point</a:t>
1236
- </a:r>
1237
- </a:p>
1238
-
1239
- <!-- Numbered list -->
1240
- <a:p>
1241
- <a:pPr lvl="0">
1242
- <a:buAutoNum type="arabicPeriod"/>
1243
- </a:pPr>
1244
- <a:r>
1245
- <a:t>First numbered item</a:t>
1246
- </a:r>
1247
- </a:p>
1248
-
1249
- <!-- Second level indent -->
1250
- <a:p>
1251
- <a:pPr lvl="1">
1252
- <a:buChar char="•"/>
1253
- </a:pPr>
1254
- <a:r>
1255
- <a:t>Indented bullet</a:t>
1256
- </a:r>
1257
- </a:p>
1258
- ```
1259
-
1260
- ### Shapes
1261
- ```xml
1262
- <!-- Rectangle -->
1263
- <p:sp>
1264
- <p:nvSpPr>
1265
- <p:cNvPr id="3" name="Rectangle"/>
1266
- <p:cNvSpPr/>
1267
- <p:nvPr/>
1268
- </p:nvSpPr>
1269
- <p:spPr>
1270
- <a:xfrm>
1271
- <a:off x="1000000" y="1000000"/>
1272
- <a:ext cx="3000000" cy="2000000"/>
1273
- </a:xfrm>
1274
- <a:prstGeom prst="rect">
1275
- <a:avLst/>
1276
- </a:prstGeom>
1277
- <a:solidFill>
1278
- <a:srgbClr val="FF0000"/>
1279
- </a:solidFill>
1280
- <a:ln w="25400">
1281
- <a:solidFill>
1282
- <a:srgbClr val="000000"/>
1283
- </a:solidFill>
1284
- </a:ln>
1285
- </p:spPr>
1286
- </p:sp>
1287
-
1288
- <!-- Rounded Rectangle -->
1289
- <p:sp>
1290
- <p:spPr>
1291
- <a:prstGeom prst="roundRect">
1292
- <a:avLst/>
1293
- </a:prstGeom>
1294
- </p:spPr>
1295
- </p:sp>
1296
-
1297
- <!-- Circle/Ellipse -->
1298
- <p:sp>
1299
- <p:spPr>
1300
- <a:prstGeom prst="ellipse">
1301
- <a:avLst/>
1302
- </a:prstGeom>
1303
- </p:spPr>
1304
- </p:sp>
1305
- ```
1306
-
1307
- ### Images
1308
- ```xml
1309
- <p:pic>
1310
- <p:nvPicPr>
1311
- <p:cNvPr id="4" name="Picture">
1312
- <a:hlinkClick r:id="" action="ppaction://media"/>
1313
- </p:cNvPr>
1314
- <p:cNvPicPr>
1315
- <a:picLocks noChangeAspect="1"/>
1316
- </p:cNvPicPr>
1317
- <p:nvPr/>
1318
- </p:nvPicPr>
1319
- <p:blipFill>
1320
- <a:blip r:embed="rId2"/>
1321
- <a:stretch>
1322
- <a:fillRect/>
1323
- </a:stretch>
1324
- </p:blipFill>
1325
- <p:spPr>
1326
- <a:xfrm>
1327
- <a:off x="1000000" y="1000000"/>
1328
- <a:ext cx="3000000" cy="2000000"/>
1329
- </a:xfrm>
1330
- <a:prstGeom prst="rect">
1331
- <a:avLst/>
1332
- </a:prstGeom>
1333
- </p:spPr>
1334
- </p:pic>
1335
- ```
1336
-
1337
- ### Tables
1338
- ```xml
1339
- <p:graphicFrame>
1340
- <p:nvGraphicFramePr>
1341
- <p:cNvPr id="5" name="Table"/>
1342
- <p:cNvGraphicFramePr>
1343
- <a:graphicFrameLocks noGrp="1"/>
1344
- </p:cNvGraphicFramePr>
1345
- <p:nvPr/>
1346
- </p:nvGraphicFramePr>
1347
- <p:xfrm>
1348
- <a:off x="1000000" y="1000000"/>
1349
- <a:ext cx="6000000" cy="2000000"/>
1350
- </p:xfrm>
1351
- <a:graphic>
1352
- <a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/table">
1353
- <a:tbl>
1354
- <a:tblGrid>
1355
- <a:gridCol w="3000000"/>
1356
- <a:gridCol w="3000000"/>
1357
- </a:tblGrid>
1358
- <a:tr h="500000">
1359
- <a:tc>
1360
- <a:txBody>
1361
- <a:bodyPr/>
1362
- <a:lstStyle/>
1363
- <a:p>
1364
- <a:r>
1365
- <a:t>Cell 1</a:t>
1366
- </a:r>
1367
- </a:p>
1368
- </a:txBody>
1369
- </a:tc>
1370
- <a:tc>
1371
- <a:txBody>
1372
- <a:bodyPr/>
1373
- <a:lstStyle/>
1374
- <a:p>
1375
- <a:r>
1376
- <a:t>Cell 2</a:t>
1377
- </a:r>
1378
- </a:p>
1379
- </a:txBody>
1380
- </a:tc>
1381
- </a:tr>
1382
- </a:tbl>
1383
- </a:graphicData>
1384
- </a:graphic>
1385
- </p:graphicFrame>
1386
- ```
1387
-
1388
- ### Slide Layouts
1389
-
1390
- ```xml
1391
- <!-- Title Slide Layout -->
1392
- <p:sp>
1393
- <p:nvSpPr>
1394
- <p:nvPr>
1395
- <p:ph type="ctrTitle"/>
1396
- </p:nvPr>
1397
- </p:nvSpPr>
1398
- <!-- Title content -->
1399
- </p:sp>
1400
-
1401
- <p:sp>
1402
- <p:nvSpPr>
1403
- <p:nvPr>
1404
- <p:ph type="subTitle" idx="1"/>
1405
- </p:nvPr>
1406
- </p:nvSpPr>
1407
- <!-- Subtitle content -->
1408
- </p:sp>
1409
-
1410
- <!-- Content Slide Layout -->
1411
- <p:sp>
1412
- <p:nvSpPr>
1413
- <p:nvPr>
1414
- <p:ph type="title"/>
1415
- </p:nvPr>
1416
- </p:nvSpPr>
1417
- <!-- Slide title -->
1418
- </p:sp>
1419
-
1420
- <p:sp>
1421
- <p:nvSpPr>
1422
- <p:nvPr>
1423
- <p:ph type="body" idx="1"/>
1424
- </p:nvPr>
1425
- </p:nvSpPr>
1426
- <!-- Content body -->
1427
- </p:sp>
1428
- ```
1429
-
1430
- ## File Updates
1431
-
1432
- When adding content, update these files:
1433
-
1434
- **`ppt/_rels/presentation.xml.rels`:**
1435
- ```xml
1436
- <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide" Target="slides/slide1.xml"/>
1437
- <Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster" Target="slideMasters/slideMaster1.xml"/>
1438
- ```
1439
-
1440
- **`ppt/slides/_rels/slide1.xml.rels`:**
1441
- ```xml
1442
- <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout" Target="../slideLayouts/slideLayout1.xml"/>
1443
- <Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="../media/image1.png"/>
1444
- ```
1445
-
1446
- **`[Content_Types].xml`:**
1447
- ```xml
1448
- <Default Extension="png" ContentType="image/png"/>
1449
- <Default Extension="jpg" ContentType="image/jpeg"/>
1450
- <Override PartName="/ppt/slides/slide1.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.slide+xml"/>
1451
- ```
1452
-
1453
- **`ppt/presentation.xml`:**
1454
- ```xml
1455
- <p:sldIdLst>
1456
- <p:sldId id="256" r:id="rId1"/>
1457
- <p:sldId id="257" r:id="rId2"/>
1458
- </p:sldIdLst>
1459
- ```
1460
-
1461
- **`docProps/app.xml`:** Update slide count and statistics
1462
- ```xml
1463
- <Slides>2</Slides>
1464
- <Paragraphs>10</Paragraphs>
1465
- <Words>50</Words>
1466
- ```
1467
-
1468
- ## Slide Operations
1469
-
1470
- ### Adding a New Slide
1471
- When adding a slide to the end of the presentation:
1472
-
1473
- 1. **Create the slide file** (`ppt/slides/slideN.xml`)
1474
- 2. **Update `[Content_Types].xml`**: Add Override for the new slide
1475
- 3. **Update `ppt/_rels/presentation.xml.rels`**: Add relationship for the new slide
1476
- 4. **Update `ppt/presentation.xml`**: Add slide ID to `<p:sldIdLst>`
1477
- 5. **Create slide relationships** (`ppt/slides/_rels/slideN.xml.rels`) if needed
1478
- 6. **Update `docProps/app.xml`**: Increment slide count and update statistics (if present)
1479
-
1480
- ### Duplicating a Slide
1481
- 1. Copy the source slide XML file with a new name
1482
- 2. Update all IDs in the new slide to be unique
1483
- 3. Follow the "Adding a New Slide" steps above
1484
- 4. **CRITICAL**: Remove or update any notes slide references in `_rels` files
1485
- 5. Remove references to unused media files
1486
-
1487
- ### Reordering Slides
1488
- 1. **Update `ppt/presentation.xml`**: Reorder `<p:sldId>` elements in `<p:sldIdLst>`
1489
- 2. The order of `<p:sldId>` elements determines slide order
1490
- 3. Keep slide IDs and relationship IDs unchanged
1491
-
1492
- Example:
1493
- ```xml
1494
- <!-- Original order -->
1495
- <p:sldIdLst>
1496
- <p:sldId id="256" r:id="rId2"/>
1497
- <p:sldId id="257" r:id="rId3"/>
1498
- <p:sldId id="258" r:id="rId4"/>
1499
- </p:sldIdLst>
1500
-
1501
- <!-- After moving slide 3 to position 2 -->
1502
- <p:sldIdLst>
1503
- <p:sldId id="256" r:id="rId2"/>
1504
- <p:sldId id="258" r:id="rId4"/>
1505
- <p:sldId id="257" r:id="rId3"/>
1506
- </p:sldIdLst>
1507
- ```
1508
-
1509
- ### Deleting a Slide
1510
- 1. **Remove from `ppt/presentation.xml`**: Delete the `<p:sldId>` entry
1511
- 2. **Remove from `ppt/_rels/presentation.xml.rels`**: Delete the relationship
1512
- 3. **Remove from `[Content_Types].xml`**: Delete the Override entry
1513
- 4. **Delete files**: Remove `ppt/slides/slideN.xml` and `ppt/slides/_rels/slideN.xml.rels`
1514
- 5. **Update `docProps/app.xml`**: Decrement slide count and update statistics
1515
- 6. **Clean up unused media**: Remove orphaned images from `ppt/media/`
1516
-
1517
- Note: Don't renumber remaining slides - keep their original IDs and filenames.
1518
-
1519
-
1520
- ## Common Errors to Avoid
1521
-
1522
- - **Encodings**: Escape unicode characters in ASCII content: `"` becomes `&#8220;`
1523
- - **Images**: Add to `ppt/media/` and update relationship files
1524
- - **Lists**: Omit bullets from list headers
1525
- - **IDs**: Use valid hexadecimal values for UUIDs
1526
- - **Themes**: Check all themes in `theme` directory for colors
1527
-
1528
- ## Validation Checklist for Template-Based Presentations
1529
-
1530
- ### Before Packing, Always:
1531
- - **Clean unused resources**: Remove unreferenced media, fonts, and notes directories
1532
- - **Fix Content_Types.xml**: Declare ALL slides, layouts, and themes present in the package
1533
- - **Fix relationship IDs**:
1534
- - Remove font embed references if not using embedded fonts
1535
- - **Remove broken references**: Check all `_rels` files for references to deleted resources
1536
-
1537
- ### Common Template Duplication Pitfalls:
1538
- - Multiple slides referencing the same notes slide after duplication
1539
- - Image/media references from template slides that no longer exist
1540
- - Font embedding references when fonts aren't included
1541
- - Missing slideLayout declarations for layouts 12-25
1542
- - docProps directory may not unpack - this is optional