@amrhas82/agentic-kit 1.5.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 (1281) 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 +55 -0
  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/ampcode/agents/context-builder.md +198 -0
  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 +176 -85
  21. package/packages/{claude/agents/qa-test-architect.md → ampcode/agents/quality-assurance.md} +53 -22
  22. package/packages/{claude/agents/scrum-master.md → ampcode/agents/story-writer.md} +52 -16
  23. package/packages/ampcode/agents/{holistic-architect.md → 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 +61 -0
  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 +177 -85
  58. package/packages/{ampcode/agents/qa-test-architect.md → claude/agents/quality-assurance.md} +53 -22
  59. package/packages/{ampcode/agents/scrum-master.md → claude/agents/story-writer.md} +52 -16
  60. package/packages/claude/agents/{holistic-architect.md → 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 -386
  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.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.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 +158 -142
  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 +176 -85
  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 -382
  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 +176 -86
  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 +304 -107
  160. package/packages/ampcode/AGENTS.md +0 -378
  161. package/packages/ampcode/agents/context-initializer.md +0 -472
  162. package/packages/ampcode/agents/full-stack-dev.md +0 -80
  163. package/packages/ampcode/agents/product-manager.md +0 -82
  164. package/packages/ampcode/agents/product-owner.md +0 -97
  165. package/packages/ampcode/commands/README.md +0 -76
  166. package/packages/ampcode/commands/algorithmic-art/templates/generator_template.js +0 -223
  167. package/packages/ampcode/commands/algorithmic-art/templates/viewer.html +0 -599
  168. package/packages/ampcode/commands/algorithmic-art.md +0 -405
  169. package/packages/ampcode/commands/artifacts-builder/scripts/bundle-artifact.sh +0 -54
  170. package/packages/ampcode/commands/artifacts-builder/scripts/init-artifact.sh +0 -322
  171. package/packages/ampcode/commands/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  172. package/packages/ampcode/commands/artifacts-builder.md +0 -74
  173. package/packages/ampcode/commands/brand-guidelines.md +0 -73
  174. package/packages/ampcode/commands/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +0 -93
  175. package/packages/ampcode/commands/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  176. package/packages/ampcode/commands/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  177. package/packages/ampcode/commands/canvas-design/canvas-fonts/BigShoulders-OFL.txt +0 -93
  178. package/packages/ampcode/commands/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  179. package/packages/ampcode/commands/canvas-design/canvas-fonts/Boldonse-OFL.txt +0 -93
  180. package/packages/ampcode/commands/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  181. package/packages/ampcode/commands/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  182. package/packages/ampcode/commands/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +0 -93
  183. package/packages/ampcode/commands/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  184. package/packages/ampcode/commands/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  185. package/packages/ampcode/commands/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  186. package/packages/ampcode/commands/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +0 -93
  187. package/packages/ampcode/commands/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  188. package/packages/ampcode/commands/canvas-design/canvas-fonts/DMMono-OFL.txt +0 -93
  189. package/packages/ampcode/commands/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  190. package/packages/ampcode/commands/canvas-design/canvas-fonts/EricaOne-OFL.txt +0 -94
  191. package/packages/ampcode/commands/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  192. package/packages/ampcode/commands/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  193. package/packages/ampcode/commands/canvas-design/canvas-fonts/GeistMono-OFL.txt +0 -93
  194. package/packages/ampcode/commands/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  195. package/packages/ampcode/commands/canvas-design/canvas-fonts/Gloock-OFL.txt +0 -93
  196. package/packages/ampcode/commands/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  197. package/packages/ampcode/commands/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  198. package/packages/ampcode/commands/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +0 -93
  199. package/packages/ampcode/commands/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  200. package/packages/ampcode/commands/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  201. package/packages/ampcode/commands/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  202. package/packages/ampcode/commands/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  203. package/packages/ampcode/commands/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  204. package/packages/ampcode/commands/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  205. package/packages/ampcode/commands/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  206. package/packages/ampcode/commands/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  207. package/packages/ampcode/commands/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +0 -93
  208. package/packages/ampcode/commands/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  209. package/packages/ampcode/commands/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  210. package/packages/ampcode/commands/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  211. package/packages/ampcode/commands/canvas-design/canvas-fonts/Italiana-OFL.txt +0 -93
  212. package/packages/ampcode/commands/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  213. package/packages/ampcode/commands/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  214. package/packages/ampcode/commands/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +0 -93
  215. package/packages/ampcode/commands/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  216. package/packages/ampcode/commands/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  217. package/packages/ampcode/commands/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  218. package/packages/ampcode/commands/canvas-design/canvas-fonts/Jura-OFL.txt +0 -93
  219. package/packages/ampcode/commands/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +0 -93
  220. package/packages/ampcode/commands/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  221. package/packages/ampcode/commands/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  222. package/packages/ampcode/commands/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  223. package/packages/ampcode/commands/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  224. package/packages/ampcode/commands/canvas-design/canvas-fonts/Lora-OFL.txt +0 -93
  225. package/packages/ampcode/commands/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  226. package/packages/ampcode/commands/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  227. package/packages/ampcode/commands/canvas-design/canvas-fonts/NationalPark-OFL.txt +0 -93
  228. package/packages/ampcode/commands/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  229. package/packages/ampcode/commands/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -93
  230. package/packages/ampcode/commands/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  231. package/packages/ampcode/commands/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  232. package/packages/ampcode/commands/canvas-design/canvas-fonts/Outfit-OFL.txt +0 -93
  233. package/packages/ampcode/commands/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  234. package/packages/ampcode/commands/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  235. package/packages/ampcode/commands/canvas-design/canvas-fonts/PixelifySans-OFL.txt +0 -93
  236. package/packages/ampcode/commands/canvas-design/canvas-fonts/PoiretOne-OFL.txt +0 -93
  237. package/packages/ampcode/commands/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  238. package/packages/ampcode/commands/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  239. package/packages/ampcode/commands/canvas-design/canvas-fonts/RedHatMono-OFL.txt +0 -93
  240. package/packages/ampcode/commands/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  241. package/packages/ampcode/commands/canvas-design/canvas-fonts/Silkscreen-OFL.txt +0 -93
  242. package/packages/ampcode/commands/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  243. package/packages/ampcode/commands/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  244. package/packages/ampcode/commands/canvas-design/canvas-fonts/SmoochSans-OFL.txt +0 -93
  245. package/packages/ampcode/commands/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  246. package/packages/ampcode/commands/canvas-design/canvas-fonts/Tektur-OFL.txt +0 -93
  247. package/packages/ampcode/commands/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  248. package/packages/ampcode/commands/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  249. package/packages/ampcode/commands/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  250. package/packages/ampcode/commands/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  251. package/packages/ampcode/commands/canvas-design/canvas-fonts/WorkSans-OFL.txt +0 -93
  252. package/packages/ampcode/commands/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  253. package/packages/ampcode/commands/canvas-design/canvas-fonts/YoungSerif-OFL.txt +0 -93
  254. package/packages/ampcode/commands/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  255. package/packages/ampcode/commands/canvas-design.md +0 -130
  256. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  257. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  258. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  259. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  260. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  261. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  262. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  263. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  264. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  265. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  266. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  267. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  268. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  269. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  270. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  271. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  272. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  273. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  274. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  275. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  276. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  277. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  278. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  279. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  280. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  281. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  282. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  283. package/packages/ampcode/commands/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  284. package/packages/ampcode/commands/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  285. package/packages/ampcode/commands/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  286. package/packages/ampcode/commands/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  287. package/packages/ampcode/commands/docx/ooxml/schemas/mce/mc.xsd +0 -75
  288. package/packages/ampcode/commands/docx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  289. package/packages/ampcode/commands/docx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  290. package/packages/ampcode/commands/docx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  291. package/packages/ampcode/commands/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  292. package/packages/ampcode/commands/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  293. package/packages/ampcode/commands/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  294. package/packages/ampcode/commands/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  295. package/packages/ampcode/commands/docx/ooxml/scripts/pack.py +0 -159
  296. package/packages/ampcode/commands/docx/ooxml/scripts/unpack.py +0 -29
  297. package/packages/ampcode/commands/docx/ooxml/scripts/validate.py +0 -69
  298. package/packages/ampcode/commands/docx/ooxml/scripts/validation/__init__.py +0 -15
  299. package/packages/ampcode/commands/docx/ooxml/scripts/validation/base.py +0 -951
  300. package/packages/ampcode/commands/docx/ooxml/scripts/validation/docx.py +0 -274
  301. package/packages/ampcode/commands/docx/ooxml/scripts/validation/pptx.py +0 -315
  302. package/packages/ampcode/commands/docx/ooxml/scripts/validation/redlining.py +0 -279
  303. package/packages/ampcode/commands/docx/scripts/__init__.py +0 -1
  304. package/packages/ampcode/commands/docx/scripts/document.py +0 -1276
  305. package/packages/ampcode/commands/docx/scripts/templates/comments.xml +0 -3
  306. package/packages/ampcode/commands/docx/scripts/templates/commentsExtended.xml +0 -3
  307. package/packages/ampcode/commands/docx/scripts/templates/commentsExtensible.xml +0 -3
  308. package/packages/ampcode/commands/docx/scripts/templates/commentsIds.xml +0 -3
  309. package/packages/ampcode/commands/docx/scripts/templates/people.xml +0 -3
  310. package/packages/ampcode/commands/docx/scripts/utilities.py +0 -374
  311. package/packages/ampcode/commands/docx.md +0 -1163
  312. package/packages/ampcode/commands/internal-comms/examples/3p-updates.md +0 -47
  313. package/packages/ampcode/commands/internal-comms/examples/company-newsletter.md +0 -65
  314. package/packages/ampcode/commands/internal-comms/examples/faq-answers.md +0 -30
  315. package/packages/ampcode/commands/internal-comms/examples/general-comms.md +0 -16
  316. package/packages/ampcode/commands/internal-comms.md +0 -32
  317. package/packages/ampcode/commands/mcp-builder/reference/evaluation.md +0 -602
  318. package/packages/ampcode/commands/mcp-builder/reference/mcp_best_practices.md +0 -915
  319. package/packages/ampcode/commands/mcp-builder/reference/node_mcp_server.md +0 -916
  320. package/packages/ampcode/commands/mcp-builder/reference/python_mcp_server.md +0 -752
  321. package/packages/ampcode/commands/mcp-builder/scripts/connections.py +0 -151
  322. package/packages/ampcode/commands/mcp-builder/scripts/evaluation.py +0 -373
  323. package/packages/ampcode/commands/mcp-builder/scripts/example_evaluation.xml +0 -22
  324. package/packages/ampcode/commands/mcp-builder/scripts/requirements.txt +0 -2
  325. package/packages/ampcode/commands/mcp-builder.md +0 -328
  326. package/packages/ampcode/commands/pdf/scripts/check_bounding_boxes.py +0 -70
  327. package/packages/ampcode/commands/pdf/scripts/check_bounding_boxes_test.py +0 -226
  328. package/packages/ampcode/commands/pdf/scripts/check_fillable_fields.py +0 -12
  329. package/packages/ampcode/commands/pdf/scripts/convert_pdf_to_images.py +0 -35
  330. package/packages/ampcode/commands/pdf/scripts/create_validation_image.py +0 -41
  331. package/packages/ampcode/commands/pdf/scripts/extract_form_field_info.py +0 -152
  332. package/packages/ampcode/commands/pdf/scripts/fill_fillable_fields.py +0 -114
  333. package/packages/ampcode/commands/pdf/scripts/fill_pdf_form_with_annotations.py +0 -108
  334. package/packages/ampcode/commands/pdf.md +0 -1117
  335. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  336. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  337. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  338. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  339. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  340. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  341. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  342. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  343. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  344. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  345. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  346. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  347. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  348. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  349. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  350. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  351. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  352. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  353. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  354. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  355. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  356. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  357. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  358. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  359. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  360. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  361. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  362. package/packages/ampcode/commands/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  363. package/packages/ampcode/commands/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  364. package/packages/ampcode/commands/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  365. package/packages/ampcode/commands/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  366. package/packages/ampcode/commands/pptx/ooxml/schemas/mce/mc.xsd +0 -75
  367. package/packages/ampcode/commands/pptx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  368. package/packages/ampcode/commands/pptx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  369. package/packages/ampcode/commands/pptx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  370. package/packages/ampcode/commands/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  371. package/packages/ampcode/commands/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  372. package/packages/ampcode/commands/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  373. package/packages/ampcode/commands/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  374. package/packages/ampcode/commands/pptx/ooxml/scripts/pack.py +0 -159
  375. package/packages/ampcode/commands/pptx/ooxml/scripts/unpack.py +0 -29
  376. package/packages/ampcode/commands/pptx/ooxml/scripts/validate.py +0 -69
  377. package/packages/ampcode/commands/pptx/ooxml/scripts/validation/__init__.py +0 -15
  378. package/packages/ampcode/commands/pptx/ooxml/scripts/validation/base.py +0 -951
  379. package/packages/ampcode/commands/pptx/ooxml/scripts/validation/docx.py +0 -274
  380. package/packages/ampcode/commands/pptx/ooxml/scripts/validation/pptx.py +0 -315
  381. package/packages/ampcode/commands/pptx/ooxml/scripts/validation/redlining.py +0 -279
  382. package/packages/ampcode/commands/pptx/scripts/html2pptx.js +0 -979
  383. package/packages/ampcode/commands/pptx/scripts/inventory.py +0 -1020
  384. package/packages/ampcode/commands/pptx/scripts/rearrange.py +0 -231
  385. package/packages/ampcode/commands/pptx/scripts/replace.py +0 -385
  386. package/packages/ampcode/commands/pptx/scripts/thumbnail.py +0 -450
  387. package/packages/ampcode/commands/pptx.md +0 -1542
  388. package/packages/ampcode/commands/slack-gif-creator/core/color_palettes.py +0 -302
  389. package/packages/ampcode/commands/slack-gif-creator/core/easing.py +0 -230
  390. package/packages/ampcode/commands/slack-gif-creator/core/frame_composer.py +0 -469
  391. package/packages/ampcode/commands/slack-gif-creator/core/gif_builder.py +0 -246
  392. package/packages/ampcode/commands/slack-gif-creator/core/typography.py +0 -357
  393. package/packages/ampcode/commands/slack-gif-creator/core/validators.py +0 -264
  394. package/packages/ampcode/commands/slack-gif-creator/core/visual_effects.py +0 -494
  395. package/packages/ampcode/commands/slack-gif-creator/templates/bounce.py +0 -106
  396. package/packages/ampcode/commands/slack-gif-creator/templates/explode.py +0 -331
  397. package/packages/ampcode/commands/slack-gif-creator/templates/fade.py +0 -329
  398. package/packages/ampcode/commands/slack-gif-creator/templates/flip.py +0 -291
  399. package/packages/ampcode/commands/slack-gif-creator/templates/kaleidoscope.py +0 -211
  400. package/packages/ampcode/commands/slack-gif-creator/templates/morph.py +0 -329
  401. package/packages/ampcode/commands/slack-gif-creator/templates/move.py +0 -293
  402. package/packages/ampcode/commands/slack-gif-creator/templates/pulse.py +0 -268
  403. package/packages/ampcode/commands/slack-gif-creator/templates/shake.py +0 -127
  404. package/packages/ampcode/commands/slack-gif-creator/templates/slide.py +0 -291
  405. package/packages/ampcode/commands/slack-gif-creator/templates/spin.py +0 -269
  406. package/packages/ampcode/commands/slack-gif-creator/templates/wiggle.py +0 -300
  407. package/packages/ampcode/commands/slack-gif-creator/templates/zoom.py +0 -312
  408. package/packages/ampcode/commands/slack-gif-creator.md +0 -646
  409. package/packages/ampcode/commands/theme-factory/themes/arctic-frost.md +0 -19
  410. package/packages/ampcode/commands/theme-factory/themes/botanical-garden.md +0 -19
  411. package/packages/ampcode/commands/theme-factory/themes/desert-rose.md +0 -19
  412. package/packages/ampcode/commands/theme-factory/themes/forest-canopy.md +0 -19
  413. package/packages/ampcode/commands/theme-factory/themes/golden-hour.md +0 -19
  414. package/packages/ampcode/commands/theme-factory/themes/midnight-galaxy.md +0 -19
  415. package/packages/ampcode/commands/theme-factory/themes/modern-minimalist.md +0 -19
  416. package/packages/ampcode/commands/theme-factory/themes/ocean-depths.md +0 -19
  417. package/packages/ampcode/commands/theme-factory/themes/sunset-boulevard.md +0 -19
  418. package/packages/ampcode/commands/theme-factory/themes/tech-innovation.md +0 -19
  419. package/packages/ampcode/commands/theme-factory.md +0 -58
  420. package/packages/ampcode/commands/webapp-testing/examples/console_logging.py +0 -35
  421. package/packages/ampcode/commands/webapp-testing/examples/element_discovery.py +0 -40
  422. package/packages/ampcode/commands/webapp-testing/examples/static_html_automation.py +0 -33
  423. package/packages/ampcode/commands/webapp-testing/scripts/with_server.py +0 -106
  424. package/packages/ampcode/commands/webapp-testing.md +0 -96
  425. package/packages/ampcode/commands/xlsx/recalc.py +0 -178
  426. package/packages/ampcode/commands/xlsx.md +0 -289
  427. package/packages/ampcode/resources/agent-teams.yaml +0 -50
  428. package/packages/ampcode/resources/checklists.md +0 -1724
  429. package/packages/ampcode/resources/data.md +0 -1372
  430. package/packages/ampcode/resources/task-briefs.md +0 -4428
  431. package/packages/ampcode/resources/templates.yaml +0 -5810
  432. package/packages/ampcode/resources/workflows.yaml +0 -1513
  433. package/packages/ampcode/subagentic-manual.md +0 -155
  434. package/packages/claude/.claude-plugin/marketplace.json +0 -67
  435. package/packages/claude/.claude-plugin/plugin-lite.json +0 -44
  436. package/packages/claude/.claude-plugin/plugin-pro.json +0 -189
  437. package/packages/claude/.claude-plugin/plugin-standard.json +0 -153
  438. package/packages/claude/.claude-plugin/plugin.json +0 -47
  439. package/packages/claude/AGENTS.md +0 -389
  440. package/packages/claude/agents/context-initializer.md +0 -472
  441. package/packages/claude/agents/full-stack-dev.md +0 -80
  442. package/packages/claude/agents/product-manager.md +0 -82
  443. package/packages/claude/agents/product-owner.md +0 -97
  444. package/packages/claude/hooks/register-agents.js +0 -123
  445. package/packages/claude/hooks/session-start.js +0 -159
  446. package/packages/claude/resources/agent-teams.yaml +0 -50
  447. package/packages/claude/resources/checklists.md +0 -1724
  448. package/packages/claude/resources/data.md +0 -1372
  449. package/packages/claude/resources/task-briefs.md +0 -4428
  450. package/packages/claude/resources/templates.yaml +0 -5810
  451. package/packages/claude/resources/workflows.yaml +0 -1513
  452. package/packages/claude/skills/README.md +0 -76
  453. package/packages/claude/skills/algorithmic-art/LICENSE.txt +0 -202
  454. package/packages/claude/skills/algorithmic-art/SKILL.md +0 -405
  455. package/packages/claude/skills/algorithmic-art/templates/generator_template.js +0 -223
  456. package/packages/claude/skills/algorithmic-art/templates/viewer.html +0 -599
  457. package/packages/claude/skills/artifacts-builder/LICENSE.txt +0 -202
  458. package/packages/claude/skills/artifacts-builder/SKILL.md +0 -74
  459. package/packages/claude/skills/artifacts-builder/scripts/bundle-artifact.sh +0 -54
  460. package/packages/claude/skills/artifacts-builder/scripts/init-artifact.sh +0 -322
  461. package/packages/claude/skills/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  462. package/packages/claude/skills/brand-guidelines/LICENSE.txt +0 -202
  463. package/packages/claude/skills/brand-guidelines/SKILL.md +0 -73
  464. package/packages/claude/skills/canvas-design/LICENSE.txt +0 -202
  465. package/packages/claude/skills/canvas-design/SKILL.md +0 -130
  466. package/packages/claude/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +0 -93
  467. package/packages/claude/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  468. package/packages/claude/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  469. package/packages/claude/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +0 -93
  470. package/packages/claude/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  471. package/packages/claude/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +0 -93
  472. package/packages/claude/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  473. package/packages/claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  474. package/packages/claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +0 -93
  475. package/packages/claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  476. package/packages/claude/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  477. package/packages/claude/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  478. package/packages/claude/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +0 -93
  479. package/packages/claude/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  480. package/packages/claude/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +0 -93
  481. package/packages/claude/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  482. package/packages/claude/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +0 -94
  483. package/packages/claude/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  484. package/packages/claude/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  485. package/packages/claude/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +0 -93
  486. package/packages/claude/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  487. package/packages/claude/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +0 -93
  488. package/packages/claude/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  489. package/packages/claude/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  490. package/packages/claude/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +0 -93
  491. package/packages/claude/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  492. package/packages/claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  493. package/packages/claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  494. package/packages/claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  495. package/packages/claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  496. package/packages/claude/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  497. package/packages/claude/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  498. package/packages/claude/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  499. package/packages/claude/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +0 -93
  500. package/packages/claude/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  501. package/packages/claude/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  502. package/packages/claude/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  503. package/packages/claude/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +0 -93
  504. package/packages/claude/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  505. package/packages/claude/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  506. package/packages/claude/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +0 -93
  507. package/packages/claude/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  508. package/packages/claude/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  509. package/packages/claude/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  510. package/packages/claude/skills/canvas-design/canvas-fonts/Jura-OFL.txt +0 -93
  511. package/packages/claude/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +0 -93
  512. package/packages/claude/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  513. package/packages/claude/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  514. package/packages/claude/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  515. package/packages/claude/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  516. package/packages/claude/skills/canvas-design/canvas-fonts/Lora-OFL.txt +0 -93
  517. package/packages/claude/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  518. package/packages/claude/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  519. package/packages/claude/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +0 -93
  520. package/packages/claude/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  521. package/packages/claude/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -93
  522. package/packages/claude/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  523. package/packages/claude/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  524. package/packages/claude/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +0 -93
  525. package/packages/claude/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  526. package/packages/claude/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  527. package/packages/claude/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +0 -93
  528. package/packages/claude/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +0 -93
  529. package/packages/claude/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  530. package/packages/claude/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  531. package/packages/claude/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +0 -93
  532. package/packages/claude/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  533. package/packages/claude/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +0 -93
  534. package/packages/claude/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  535. package/packages/claude/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  536. package/packages/claude/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +0 -93
  537. package/packages/claude/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  538. package/packages/claude/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +0 -93
  539. package/packages/claude/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  540. package/packages/claude/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  541. package/packages/claude/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  542. package/packages/claude/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  543. package/packages/claude/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +0 -93
  544. package/packages/claude/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  545. package/packages/claude/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +0 -93
  546. package/packages/claude/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  547. package/packages/claude/skills/docx/LICENSE.txt +0 -30
  548. package/packages/claude/skills/docx/SKILL.md +0 -197
  549. package/packages/claude/skills/docx/docx-js.md +0 -350
  550. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  551. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  552. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  553. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  554. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  555. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  556. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  557. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  558. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  559. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  560. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  561. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  562. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  563. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  564. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  565. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  566. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  567. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  568. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  569. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  570. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  571. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  572. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  573. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  574. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  575. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  576. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  577. package/packages/claude/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  578. package/packages/claude/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  579. package/packages/claude/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  580. package/packages/claude/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  581. package/packages/claude/skills/docx/ooxml/schemas/mce/mc.xsd +0 -75
  582. package/packages/claude/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  583. package/packages/claude/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  584. package/packages/claude/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  585. package/packages/claude/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  586. package/packages/claude/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  587. package/packages/claude/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  588. package/packages/claude/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  589. package/packages/claude/skills/docx/ooxml/scripts/pack.py +0 -159
  590. package/packages/claude/skills/docx/ooxml/scripts/unpack.py +0 -29
  591. package/packages/claude/skills/docx/ooxml/scripts/validate.py +0 -69
  592. package/packages/claude/skills/docx/ooxml/scripts/validation/__init__.py +0 -15
  593. package/packages/claude/skills/docx/ooxml/scripts/validation/base.py +0 -951
  594. package/packages/claude/skills/docx/ooxml/scripts/validation/docx.py +0 -274
  595. package/packages/claude/skills/docx/ooxml/scripts/validation/pptx.py +0 -315
  596. package/packages/claude/skills/docx/ooxml/scripts/validation/redlining.py +0 -279
  597. package/packages/claude/skills/docx/ooxml.md +0 -610
  598. package/packages/claude/skills/docx/scripts/__init__.py +0 -1
  599. package/packages/claude/skills/docx/scripts/document.py +0 -1276
  600. package/packages/claude/skills/docx/scripts/templates/comments.xml +0 -3
  601. package/packages/claude/skills/docx/scripts/templates/commentsExtended.xml +0 -3
  602. package/packages/claude/skills/docx/scripts/templates/commentsExtensible.xml +0 -3
  603. package/packages/claude/skills/docx/scripts/templates/commentsIds.xml +0 -3
  604. package/packages/claude/skills/docx/scripts/templates/people.xml +0 -3
  605. package/packages/claude/skills/docx/scripts/utilities.py +0 -374
  606. package/packages/claude/skills/internal-comms/LICENSE.txt +0 -202
  607. package/packages/claude/skills/internal-comms/SKILL.md +0 -32
  608. package/packages/claude/skills/internal-comms/examples/3p-updates.md +0 -47
  609. package/packages/claude/skills/internal-comms/examples/company-newsletter.md +0 -65
  610. package/packages/claude/skills/internal-comms/examples/faq-answers.md +0 -30
  611. package/packages/claude/skills/internal-comms/examples/general-comms.md +0 -16
  612. package/packages/claude/skills/mcp-builder/LICENSE.txt +0 -202
  613. package/packages/claude/skills/mcp-builder/SKILL.md +0 -328
  614. package/packages/claude/skills/mcp-builder/reference/evaluation.md +0 -602
  615. package/packages/claude/skills/mcp-builder/reference/mcp_best_practices.md +0 -915
  616. package/packages/claude/skills/mcp-builder/reference/node_mcp_server.md +0 -916
  617. package/packages/claude/skills/mcp-builder/reference/python_mcp_server.md +0 -752
  618. package/packages/claude/skills/mcp-builder/scripts/connections.py +0 -151
  619. package/packages/claude/skills/mcp-builder/scripts/evaluation.py +0 -373
  620. package/packages/claude/skills/mcp-builder/scripts/example_evaluation.xml +0 -22
  621. package/packages/claude/skills/mcp-builder/scripts/requirements.txt +0 -2
  622. package/packages/claude/skills/pdf/LICENSE.txt +0 -30
  623. package/packages/claude/skills/pdf/SKILL.md +0 -294
  624. package/packages/claude/skills/pdf/forms.md +0 -205
  625. package/packages/claude/skills/pdf/reference.md +0 -612
  626. package/packages/claude/skills/pdf/scripts/check_bounding_boxes.py +0 -70
  627. package/packages/claude/skills/pdf/scripts/check_bounding_boxes_test.py +0 -226
  628. package/packages/claude/skills/pdf/scripts/check_fillable_fields.py +0 -12
  629. package/packages/claude/skills/pdf/scripts/convert_pdf_to_images.py +0 -35
  630. package/packages/claude/skills/pdf/scripts/create_validation_image.py +0 -41
  631. package/packages/claude/skills/pdf/scripts/extract_form_field_info.py +0 -152
  632. package/packages/claude/skills/pdf/scripts/fill_fillable_fields.py +0 -114
  633. package/packages/claude/skills/pdf/scripts/fill_pdf_form_with_annotations.py +0 -108
  634. package/packages/claude/skills/pptx/LICENSE.txt +0 -30
  635. package/packages/claude/skills/pptx/SKILL.md +0 -484
  636. package/packages/claude/skills/pptx/html2pptx.md +0 -625
  637. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  638. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  639. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  640. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  641. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  642. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  643. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  644. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  645. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  646. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  647. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  648. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  649. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  650. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  651. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  652. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  653. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  654. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  655. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  656. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  657. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  658. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  659. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  660. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  661. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  662. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  663. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  664. package/packages/claude/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  665. package/packages/claude/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  666. package/packages/claude/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  667. package/packages/claude/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  668. package/packages/claude/skills/pptx/ooxml/schemas/mce/mc.xsd +0 -75
  669. package/packages/claude/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  670. package/packages/claude/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  671. package/packages/claude/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  672. package/packages/claude/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  673. package/packages/claude/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  674. package/packages/claude/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  675. package/packages/claude/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  676. package/packages/claude/skills/pptx/ooxml/scripts/pack.py +0 -159
  677. package/packages/claude/skills/pptx/ooxml/scripts/unpack.py +0 -29
  678. package/packages/claude/skills/pptx/ooxml/scripts/validate.py +0 -69
  679. package/packages/claude/skills/pptx/ooxml/scripts/validation/__init__.py +0 -15
  680. package/packages/claude/skills/pptx/ooxml/scripts/validation/base.py +0 -951
  681. package/packages/claude/skills/pptx/ooxml/scripts/validation/docx.py +0 -274
  682. package/packages/claude/skills/pptx/ooxml/scripts/validation/pptx.py +0 -315
  683. package/packages/claude/skills/pptx/ooxml/scripts/validation/redlining.py +0 -279
  684. package/packages/claude/skills/pptx/ooxml.md +0 -427
  685. package/packages/claude/skills/pptx/scripts/html2pptx.js +0 -979
  686. package/packages/claude/skills/pptx/scripts/inventory.py +0 -1020
  687. package/packages/claude/skills/pptx/scripts/rearrange.py +0 -231
  688. package/packages/claude/skills/pptx/scripts/replace.py +0 -385
  689. package/packages/claude/skills/pptx/scripts/thumbnail.py +0 -450
  690. package/packages/claude/skills/slack-gif-creator/LICENSE.txt +0 -202
  691. package/packages/claude/skills/slack-gif-creator/SKILL.md +0 -646
  692. package/packages/claude/skills/slack-gif-creator/core/color_palettes.py +0 -302
  693. package/packages/claude/skills/slack-gif-creator/core/easing.py +0 -230
  694. package/packages/claude/skills/slack-gif-creator/core/frame_composer.py +0 -469
  695. package/packages/claude/skills/slack-gif-creator/core/gif_builder.py +0 -246
  696. package/packages/claude/skills/slack-gif-creator/core/typography.py +0 -357
  697. package/packages/claude/skills/slack-gif-creator/core/validators.py +0 -264
  698. package/packages/claude/skills/slack-gif-creator/core/visual_effects.py +0 -494
  699. package/packages/claude/skills/slack-gif-creator/requirements.txt +0 -4
  700. package/packages/claude/skills/slack-gif-creator/templates/bounce.py +0 -106
  701. package/packages/claude/skills/slack-gif-creator/templates/explode.py +0 -331
  702. package/packages/claude/skills/slack-gif-creator/templates/fade.py +0 -329
  703. package/packages/claude/skills/slack-gif-creator/templates/flip.py +0 -291
  704. package/packages/claude/skills/slack-gif-creator/templates/kaleidoscope.py +0 -211
  705. package/packages/claude/skills/slack-gif-creator/templates/morph.py +0 -329
  706. package/packages/claude/skills/slack-gif-creator/templates/move.py +0 -293
  707. package/packages/claude/skills/slack-gif-creator/templates/pulse.py +0 -268
  708. package/packages/claude/skills/slack-gif-creator/templates/shake.py +0 -127
  709. package/packages/claude/skills/slack-gif-creator/templates/slide.py +0 -291
  710. package/packages/claude/skills/slack-gif-creator/templates/spin.py +0 -269
  711. package/packages/claude/skills/slack-gif-creator/templates/wiggle.py +0 -300
  712. package/packages/claude/skills/slack-gif-creator/templates/zoom.py +0 -312
  713. package/packages/claude/skills/theme-factory/LICENSE.txt +0 -202
  714. package/packages/claude/skills/theme-factory/SKILL.md +0 -59
  715. package/packages/claude/skills/theme-factory/theme-showcase.pdf +0 -0
  716. package/packages/claude/skills/theme-factory/themes/arctic-frost.md +0 -19
  717. package/packages/claude/skills/theme-factory/themes/botanical-garden.md +0 -19
  718. package/packages/claude/skills/theme-factory/themes/desert-rose.md +0 -19
  719. package/packages/claude/skills/theme-factory/themes/forest-canopy.md +0 -19
  720. package/packages/claude/skills/theme-factory/themes/golden-hour.md +0 -19
  721. package/packages/claude/skills/theme-factory/themes/midnight-galaxy.md +0 -19
  722. package/packages/claude/skills/theme-factory/themes/modern-minimalist.md +0 -19
  723. package/packages/claude/skills/theme-factory/themes/ocean-depths.md +0 -19
  724. package/packages/claude/skills/theme-factory/themes/sunset-boulevard.md +0 -19
  725. package/packages/claude/skills/theme-factory/themes/tech-innovation.md +0 -19
  726. package/packages/claude/skills/webapp-testing/LICENSE.txt +0 -202
  727. package/packages/claude/skills/webapp-testing/SKILL.md +0 -96
  728. package/packages/claude/skills/webapp-testing/examples/console_logging.py +0 -35
  729. package/packages/claude/skills/webapp-testing/examples/element_discovery.py +0 -40
  730. package/packages/claude/skills/webapp-testing/examples/static_html_automation.py +0 -33
  731. package/packages/claude/skills/webapp-testing/scripts/with_server.py +0 -106
  732. package/packages/claude/skills/xlsx/LICENSE.txt +0 -30
  733. package/packages/claude/skills/xlsx/SKILL.md +0 -289
  734. package/packages/claude/skills/xlsx/recalc.py +0 -178
  735. package/packages/claude/subagentic-manual.md +0 -155
  736. package/packages/droid/commands/README.md +0 -76
  737. package/packages/droid/commands/algorithmic-art/templates/generator_template.js +0 -223
  738. package/packages/droid/commands/algorithmic-art/templates/viewer.html +0 -599
  739. package/packages/droid/commands/algorithmic-art.md +0 -159
  740. package/packages/droid/commands/artifacts-builder/scripts/bundle-artifact.sh +0 -54
  741. package/packages/droid/commands/artifacts-builder/scripts/init-artifact.sh +0 -322
  742. package/packages/droid/commands/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  743. package/packages/droid/commands/artifacts-builder.md +0 -285
  744. package/packages/droid/commands/brand-guidelines.md +0 -123
  745. package/packages/droid/commands/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +0 -93
  746. package/packages/droid/commands/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  747. package/packages/droid/commands/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  748. package/packages/droid/commands/canvas-design/canvas-fonts/BigShoulders-OFL.txt +0 -93
  749. package/packages/droid/commands/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  750. package/packages/droid/commands/canvas-design/canvas-fonts/Boldonse-OFL.txt +0 -93
  751. package/packages/droid/commands/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  752. package/packages/droid/commands/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  753. package/packages/droid/commands/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +0 -93
  754. package/packages/droid/commands/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  755. package/packages/droid/commands/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  756. package/packages/droid/commands/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  757. package/packages/droid/commands/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +0 -93
  758. package/packages/droid/commands/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  759. package/packages/droid/commands/canvas-design/canvas-fonts/DMMono-OFL.txt +0 -93
  760. package/packages/droid/commands/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  761. package/packages/droid/commands/canvas-design/canvas-fonts/EricaOne-OFL.txt +0 -94
  762. package/packages/droid/commands/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  763. package/packages/droid/commands/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  764. package/packages/droid/commands/canvas-design/canvas-fonts/GeistMono-OFL.txt +0 -93
  765. package/packages/droid/commands/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  766. package/packages/droid/commands/canvas-design/canvas-fonts/Gloock-OFL.txt +0 -93
  767. package/packages/droid/commands/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  768. package/packages/droid/commands/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  769. package/packages/droid/commands/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +0 -93
  770. package/packages/droid/commands/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  771. package/packages/droid/commands/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  772. package/packages/droid/commands/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  773. package/packages/droid/commands/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  774. package/packages/droid/commands/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  775. package/packages/droid/commands/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  776. package/packages/droid/commands/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  777. package/packages/droid/commands/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  778. package/packages/droid/commands/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +0 -93
  779. package/packages/droid/commands/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  780. package/packages/droid/commands/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  781. package/packages/droid/commands/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  782. package/packages/droid/commands/canvas-design/canvas-fonts/Italiana-OFL.txt +0 -93
  783. package/packages/droid/commands/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  784. package/packages/droid/commands/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  785. package/packages/droid/commands/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +0 -93
  786. package/packages/droid/commands/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  787. package/packages/droid/commands/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  788. package/packages/droid/commands/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  789. package/packages/droid/commands/canvas-design/canvas-fonts/Jura-OFL.txt +0 -93
  790. package/packages/droid/commands/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +0 -93
  791. package/packages/droid/commands/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  792. package/packages/droid/commands/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  793. package/packages/droid/commands/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  794. package/packages/droid/commands/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  795. package/packages/droid/commands/canvas-design/canvas-fonts/Lora-OFL.txt +0 -93
  796. package/packages/droid/commands/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  797. package/packages/droid/commands/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  798. package/packages/droid/commands/canvas-design/canvas-fonts/NationalPark-OFL.txt +0 -93
  799. package/packages/droid/commands/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  800. package/packages/droid/commands/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -93
  801. package/packages/droid/commands/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  802. package/packages/droid/commands/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  803. package/packages/droid/commands/canvas-design/canvas-fonts/Outfit-OFL.txt +0 -93
  804. package/packages/droid/commands/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  805. package/packages/droid/commands/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  806. package/packages/droid/commands/canvas-design/canvas-fonts/PixelifySans-OFL.txt +0 -93
  807. package/packages/droid/commands/canvas-design/canvas-fonts/PoiretOne-OFL.txt +0 -93
  808. package/packages/droid/commands/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  809. package/packages/droid/commands/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  810. package/packages/droid/commands/canvas-design/canvas-fonts/RedHatMono-OFL.txt +0 -93
  811. package/packages/droid/commands/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  812. package/packages/droid/commands/canvas-design/canvas-fonts/Silkscreen-OFL.txt +0 -93
  813. package/packages/droid/commands/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  814. package/packages/droid/commands/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  815. package/packages/droid/commands/canvas-design/canvas-fonts/SmoochSans-OFL.txt +0 -93
  816. package/packages/droid/commands/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  817. package/packages/droid/commands/canvas-design/canvas-fonts/Tektur-OFL.txt +0 -93
  818. package/packages/droid/commands/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  819. package/packages/droid/commands/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  820. package/packages/droid/commands/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  821. package/packages/droid/commands/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  822. package/packages/droid/commands/canvas-design/canvas-fonts/WorkSans-OFL.txt +0 -93
  823. package/packages/droid/commands/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  824. package/packages/droid/commands/canvas-design/canvas-fonts/YoungSerif-OFL.txt +0 -93
  825. package/packages/droid/commands/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  826. package/packages/droid/commands/canvas-design.md +0 -155
  827. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  828. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  829. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  830. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  831. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  832. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  833. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  834. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  835. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  836. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  837. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  838. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  839. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  840. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  841. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  842. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  843. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  844. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  845. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  846. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  847. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  848. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  849. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  850. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  851. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  852. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  853. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  854. package/packages/droid/commands/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  855. package/packages/droid/commands/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  856. package/packages/droid/commands/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  857. package/packages/droid/commands/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  858. package/packages/droid/commands/docx/ooxml/schemas/mce/mc.xsd +0 -75
  859. package/packages/droid/commands/docx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  860. package/packages/droid/commands/docx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  861. package/packages/droid/commands/docx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  862. package/packages/droid/commands/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  863. package/packages/droid/commands/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  864. package/packages/droid/commands/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  865. package/packages/droid/commands/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  866. package/packages/droid/commands/docx/ooxml/scripts/pack.py +0 -159
  867. package/packages/droid/commands/docx/ooxml/scripts/unpack.py +0 -29
  868. package/packages/droid/commands/docx/ooxml/scripts/validate.py +0 -69
  869. package/packages/droid/commands/docx/ooxml/scripts/validation/__init__.py +0 -15
  870. package/packages/droid/commands/docx/ooxml/scripts/validation/base.py +0 -951
  871. package/packages/droid/commands/docx/ooxml/scripts/validation/docx.py +0 -274
  872. package/packages/droid/commands/docx/ooxml/scripts/validation/pptx.py +0 -315
  873. package/packages/droid/commands/docx/ooxml/scripts/validation/redlining.py +0 -279
  874. package/packages/droid/commands/docx/scripts/__init__.py +0 -1
  875. package/packages/droid/commands/docx/scripts/document.py +0 -1276
  876. package/packages/droid/commands/docx/scripts/templates/comments.xml +0 -3
  877. package/packages/droid/commands/docx/scripts/templates/commentsExtended.xml +0 -3
  878. package/packages/droid/commands/docx/scripts/templates/commentsExtensible.xml +0 -3
  879. package/packages/droid/commands/docx/scripts/templates/commentsIds.xml +0 -3
  880. package/packages/droid/commands/docx/scripts/templates/people.xml +0 -3
  881. package/packages/droid/commands/docx/scripts/utilities.py +0 -374
  882. package/packages/droid/commands/docx.md +0 -255
  883. package/packages/droid/commands/internal-comms/examples/3p-updates.md +0 -47
  884. package/packages/droid/commands/internal-comms/examples/company-newsletter.md +0 -65
  885. package/packages/droid/commands/internal-comms/examples/faq-answers.md +0 -30
  886. package/packages/droid/commands/internal-comms/examples/general-comms.md +0 -16
  887. package/packages/droid/commands/internal-comms.md +0 -142
  888. package/packages/droid/commands/mcp-builder/reference/evaluation.md +0 -602
  889. package/packages/droid/commands/mcp-builder/reference/mcp_best_practices.md +0 -915
  890. package/packages/droid/commands/mcp-builder/reference/node_mcp_server.md +0 -916
  891. package/packages/droid/commands/mcp-builder/reference/python_mcp_server.md +0 -752
  892. package/packages/droid/commands/mcp-builder/scripts/connections.py +0 -151
  893. package/packages/droid/commands/mcp-builder/scripts/evaluation.py +0 -373
  894. package/packages/droid/commands/mcp-builder/scripts/example_evaluation.xml +0 -22
  895. package/packages/droid/commands/mcp-builder/scripts/requirements.txt +0 -2
  896. package/packages/droid/commands/mcp-builder.md +0 -282
  897. package/packages/droid/commands/pdf/scripts/check_bounding_boxes.py +0 -70
  898. package/packages/droid/commands/pdf/scripts/check_bounding_boxes_test.py +0 -226
  899. package/packages/droid/commands/pdf/scripts/check_fillable_fields.py +0 -12
  900. package/packages/droid/commands/pdf/scripts/convert_pdf_to_images.py +0 -35
  901. package/packages/droid/commands/pdf/scripts/create_validation_image.py +0 -41
  902. package/packages/droid/commands/pdf/scripts/extract_form_field_info.py +0 -152
  903. package/packages/droid/commands/pdf/scripts/fill_fillable_fields.py +0 -114
  904. package/packages/droid/commands/pdf/scripts/fill_pdf_form_with_annotations.py +0 -108
  905. package/packages/droid/commands/pdf.md +0 -194
  906. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  907. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  908. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  909. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  910. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  911. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  912. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  913. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  914. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  915. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  916. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  917. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  918. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  919. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  920. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  921. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  922. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  923. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  924. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  925. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  926. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  927. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  928. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  929. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  930. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  931. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  932. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  933. package/packages/droid/commands/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  934. package/packages/droid/commands/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  935. package/packages/droid/commands/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  936. package/packages/droid/commands/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  937. package/packages/droid/commands/pptx/ooxml/schemas/mce/mc.xsd +0 -75
  938. package/packages/droid/commands/pptx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  939. package/packages/droid/commands/pptx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  940. package/packages/droid/commands/pptx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  941. package/packages/droid/commands/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  942. package/packages/droid/commands/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  943. package/packages/droid/commands/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  944. package/packages/droid/commands/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  945. package/packages/droid/commands/pptx/ooxml/scripts/pack.py +0 -159
  946. package/packages/droid/commands/pptx/ooxml/scripts/unpack.py +0 -29
  947. package/packages/droid/commands/pptx/ooxml/scripts/validate.py +0 -69
  948. package/packages/droid/commands/pptx/ooxml/scripts/validation/__init__.py +0 -15
  949. package/packages/droid/commands/pptx/ooxml/scripts/validation/base.py +0 -951
  950. package/packages/droid/commands/pptx/ooxml/scripts/validation/docx.py +0 -274
  951. package/packages/droid/commands/pptx/ooxml/scripts/validation/pptx.py +0 -315
  952. package/packages/droid/commands/pptx/ooxml/scripts/validation/redlining.py +0 -279
  953. package/packages/droid/commands/pptx/scripts/html2pptx.js +0 -979
  954. package/packages/droid/commands/pptx/scripts/inventory.py +0 -1020
  955. package/packages/droid/commands/pptx/scripts/rearrange.py +0 -231
  956. package/packages/droid/commands/pptx/scripts/replace.py +0 -385
  957. package/packages/droid/commands/pptx/scripts/thumbnail.py +0 -450
  958. package/packages/droid/commands/pptx.md +0 -272
  959. package/packages/droid/commands/slack-gif-creator/core/color_palettes.py +0 -302
  960. package/packages/droid/commands/slack-gif-creator/core/easing.py +0 -230
  961. package/packages/droid/commands/slack-gif-creator/core/frame_composer.py +0 -469
  962. package/packages/droid/commands/slack-gif-creator/core/gif_builder.py +0 -246
  963. package/packages/droid/commands/slack-gif-creator/core/typography.py +0 -357
  964. package/packages/droid/commands/slack-gif-creator/core/validators.py +0 -264
  965. package/packages/droid/commands/slack-gif-creator/core/visual_effects.py +0 -494
  966. package/packages/droid/commands/slack-gif-creator/templates/bounce.py +0 -106
  967. package/packages/droid/commands/slack-gif-creator/templates/explode.py +0 -331
  968. package/packages/droid/commands/slack-gif-creator/templates/fade.py +0 -329
  969. package/packages/droid/commands/slack-gif-creator/templates/flip.py +0 -291
  970. package/packages/droid/commands/slack-gif-creator/templates/kaleidoscope.py +0 -211
  971. package/packages/droid/commands/slack-gif-creator/templates/morph.py +0 -329
  972. package/packages/droid/commands/slack-gif-creator/templates/move.py +0 -293
  973. package/packages/droid/commands/slack-gif-creator/templates/pulse.py +0 -268
  974. package/packages/droid/commands/slack-gif-creator/templates/shake.py +0 -127
  975. package/packages/droid/commands/slack-gif-creator/templates/slide.py +0 -291
  976. package/packages/droid/commands/slack-gif-creator/templates/spin.py +0 -269
  977. package/packages/droid/commands/slack-gif-creator/templates/wiggle.py +0 -300
  978. package/packages/droid/commands/slack-gif-creator/templates/zoom.py +0 -312
  979. package/packages/droid/commands/slack-gif-creator.md +0 -340
  980. package/packages/droid/commands/theme-factory/themes/arctic-frost.md +0 -19
  981. package/packages/droid/commands/theme-factory/themes/botanical-garden.md +0 -19
  982. package/packages/droid/commands/theme-factory/themes/desert-rose.md +0 -19
  983. package/packages/droid/commands/theme-factory/themes/forest-canopy.md +0 -19
  984. package/packages/droid/commands/theme-factory/themes/golden-hour.md +0 -19
  985. package/packages/droid/commands/theme-factory/themes/midnight-galaxy.md +0 -19
  986. package/packages/droid/commands/theme-factory/themes/modern-minimalist.md +0 -19
  987. package/packages/droid/commands/theme-factory/themes/ocean-depths.md +0 -19
  988. package/packages/droid/commands/theme-factory/themes/sunset-boulevard.md +0 -19
  989. package/packages/droid/commands/theme-factory/themes/tech-innovation.md +0 -19
  990. package/packages/droid/commands/theme-factory.md +0 -146
  991. package/packages/droid/commands/webapp-testing/examples/console_logging.py +0 -35
  992. package/packages/droid/commands/webapp-testing/examples/element_discovery.py +0 -40
  993. package/packages/droid/commands/webapp-testing/examples/static_html_automation.py +0 -33
  994. package/packages/droid/commands/webapp-testing/scripts/with_server.py +0 -106
  995. package/packages/droid/commands/webapp-testing.md +0 -275
  996. package/packages/droid/commands/xlsx/recalc.py +0 -178
  997. package/packages/droid/commands/xlsx.md +0 -254
  998. package/packages/droid/droids/context-initializer.md +0 -472
  999. package/packages/droid/droids/full-stack-dev.md +0 -80
  1000. package/packages/droid/droids/product-manager.md +0 -82
  1001. package/packages/droid/droids/product-owner.md +0 -97
  1002. package/packages/droid/resources/agent-teams.yaml +0 -50
  1003. package/packages/droid/resources/checklists.md +0 -1724
  1004. package/packages/droid/resources/data.md +0 -1372
  1005. package/packages/droid/resources/task-briefs.md +0 -4428
  1006. package/packages/droid/resources/templates.yaml +0 -5810
  1007. package/packages/droid/resources/workflows.yaml +0 -1513
  1008. package/packages/droid/subagentic-manual.md +0 -155
  1009. package/packages/opencode/agent/context-initializer.md +0 -476
  1010. package/packages/opencode/agent/full-stack-dev.md +0 -77
  1011. package/packages/opencode/agent/product-manager.md +0 -86
  1012. package/packages/opencode/agent/product-owner.md +0 -101
  1013. package/packages/opencode/command/README.md +0 -76
  1014. package/packages/opencode/command/algorithmic-art/templates/generator_template.js +0 -223
  1015. package/packages/opencode/command/algorithmic-art/templates/viewer.html +0 -599
  1016. package/packages/opencode/command/algorithmic-art.md +0 -159
  1017. package/packages/opencode/command/artifacts-builder/scripts/bundle-artifact.sh +0 -54
  1018. package/packages/opencode/command/artifacts-builder/scripts/init-artifact.sh +0 -322
  1019. package/packages/opencode/command/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  1020. package/packages/opencode/command/artifacts-builder.md +0 -285
  1021. package/packages/opencode/command/brand-guidelines.md +0 -123
  1022. package/packages/opencode/command/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +0 -93
  1023. package/packages/opencode/command/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  1024. package/packages/opencode/command/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  1025. package/packages/opencode/command/canvas-design/canvas-fonts/BigShoulders-OFL.txt +0 -93
  1026. package/packages/opencode/command/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  1027. package/packages/opencode/command/canvas-design/canvas-fonts/Boldonse-OFL.txt +0 -93
  1028. package/packages/opencode/command/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  1029. package/packages/opencode/command/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  1030. package/packages/opencode/command/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +0 -93
  1031. package/packages/opencode/command/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  1032. package/packages/opencode/command/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  1033. package/packages/opencode/command/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  1034. package/packages/opencode/command/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +0 -93
  1035. package/packages/opencode/command/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  1036. package/packages/opencode/command/canvas-design/canvas-fonts/DMMono-OFL.txt +0 -93
  1037. package/packages/opencode/command/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  1038. package/packages/opencode/command/canvas-design/canvas-fonts/EricaOne-OFL.txt +0 -94
  1039. package/packages/opencode/command/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  1040. package/packages/opencode/command/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  1041. package/packages/opencode/command/canvas-design/canvas-fonts/GeistMono-OFL.txt +0 -93
  1042. package/packages/opencode/command/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  1043. package/packages/opencode/command/canvas-design/canvas-fonts/Gloock-OFL.txt +0 -93
  1044. package/packages/opencode/command/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  1045. package/packages/opencode/command/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  1046. package/packages/opencode/command/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +0 -93
  1047. package/packages/opencode/command/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  1048. package/packages/opencode/command/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  1049. package/packages/opencode/command/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  1050. package/packages/opencode/command/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  1051. package/packages/opencode/command/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  1052. package/packages/opencode/command/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  1053. package/packages/opencode/command/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  1054. package/packages/opencode/command/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  1055. package/packages/opencode/command/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +0 -93
  1056. package/packages/opencode/command/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  1057. package/packages/opencode/command/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  1058. package/packages/opencode/command/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  1059. package/packages/opencode/command/canvas-design/canvas-fonts/Italiana-OFL.txt +0 -93
  1060. package/packages/opencode/command/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  1061. package/packages/opencode/command/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  1062. package/packages/opencode/command/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +0 -93
  1063. package/packages/opencode/command/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  1064. package/packages/opencode/command/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  1065. package/packages/opencode/command/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  1066. package/packages/opencode/command/canvas-design/canvas-fonts/Jura-OFL.txt +0 -93
  1067. package/packages/opencode/command/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +0 -93
  1068. package/packages/opencode/command/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  1069. package/packages/opencode/command/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  1070. package/packages/opencode/command/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  1071. package/packages/opencode/command/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  1072. package/packages/opencode/command/canvas-design/canvas-fonts/Lora-OFL.txt +0 -93
  1073. package/packages/opencode/command/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  1074. package/packages/opencode/command/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  1075. package/packages/opencode/command/canvas-design/canvas-fonts/NationalPark-OFL.txt +0 -93
  1076. package/packages/opencode/command/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  1077. package/packages/opencode/command/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -93
  1078. package/packages/opencode/command/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  1079. package/packages/opencode/command/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  1080. package/packages/opencode/command/canvas-design/canvas-fonts/Outfit-OFL.txt +0 -93
  1081. package/packages/opencode/command/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  1082. package/packages/opencode/command/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  1083. package/packages/opencode/command/canvas-design/canvas-fonts/PixelifySans-OFL.txt +0 -93
  1084. package/packages/opencode/command/canvas-design/canvas-fonts/PoiretOne-OFL.txt +0 -93
  1085. package/packages/opencode/command/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  1086. package/packages/opencode/command/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  1087. package/packages/opencode/command/canvas-design/canvas-fonts/RedHatMono-OFL.txt +0 -93
  1088. package/packages/opencode/command/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  1089. package/packages/opencode/command/canvas-design/canvas-fonts/Silkscreen-OFL.txt +0 -93
  1090. package/packages/opencode/command/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  1091. package/packages/opencode/command/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  1092. package/packages/opencode/command/canvas-design/canvas-fonts/SmoochSans-OFL.txt +0 -93
  1093. package/packages/opencode/command/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  1094. package/packages/opencode/command/canvas-design/canvas-fonts/Tektur-OFL.txt +0 -93
  1095. package/packages/opencode/command/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  1096. package/packages/opencode/command/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  1097. package/packages/opencode/command/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  1098. package/packages/opencode/command/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  1099. package/packages/opencode/command/canvas-design/canvas-fonts/WorkSans-OFL.txt +0 -93
  1100. package/packages/opencode/command/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  1101. package/packages/opencode/command/canvas-design/canvas-fonts/YoungSerif-OFL.txt +0 -93
  1102. package/packages/opencode/command/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  1103. package/packages/opencode/command/canvas-design.md +0 -155
  1104. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  1105. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  1106. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  1107. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  1108. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  1109. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  1110. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  1111. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  1112. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  1113. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  1114. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  1115. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  1116. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  1117. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  1118. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  1119. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  1120. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  1121. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  1122. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  1123. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  1124. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  1125. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  1126. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  1127. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  1128. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  1129. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  1130. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  1131. package/packages/opencode/command/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  1132. package/packages/opencode/command/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  1133. package/packages/opencode/command/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  1134. package/packages/opencode/command/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  1135. package/packages/opencode/command/docx/ooxml/schemas/mce/mc.xsd +0 -75
  1136. package/packages/opencode/command/docx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  1137. package/packages/opencode/command/docx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  1138. package/packages/opencode/command/docx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  1139. package/packages/opencode/command/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  1140. package/packages/opencode/command/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  1141. package/packages/opencode/command/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  1142. package/packages/opencode/command/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  1143. package/packages/opencode/command/docx/ooxml/scripts/pack.py +0 -159
  1144. package/packages/opencode/command/docx/ooxml/scripts/unpack.py +0 -29
  1145. package/packages/opencode/command/docx/ooxml/scripts/validate.py +0 -69
  1146. package/packages/opencode/command/docx/ooxml/scripts/validation/__init__.py +0 -15
  1147. package/packages/opencode/command/docx/ooxml/scripts/validation/base.py +0 -951
  1148. package/packages/opencode/command/docx/ooxml/scripts/validation/docx.py +0 -274
  1149. package/packages/opencode/command/docx/ooxml/scripts/validation/pptx.py +0 -315
  1150. package/packages/opencode/command/docx/ooxml/scripts/validation/redlining.py +0 -279
  1151. package/packages/opencode/command/docx/scripts/__init__.py +0 -1
  1152. package/packages/opencode/command/docx/scripts/document.py +0 -1276
  1153. package/packages/opencode/command/docx/scripts/templates/comments.xml +0 -3
  1154. package/packages/opencode/command/docx/scripts/templates/commentsExtended.xml +0 -3
  1155. package/packages/opencode/command/docx/scripts/templates/commentsExtensible.xml +0 -3
  1156. package/packages/opencode/command/docx/scripts/templates/commentsIds.xml +0 -3
  1157. package/packages/opencode/command/docx/scripts/templates/people.xml +0 -3
  1158. package/packages/opencode/command/docx/scripts/utilities.py +0 -374
  1159. package/packages/opencode/command/docx.md +0 -255
  1160. package/packages/opencode/command/internal-comms/examples/3p-updates.md +0 -47
  1161. package/packages/opencode/command/internal-comms/examples/company-newsletter.md +0 -65
  1162. package/packages/opencode/command/internal-comms/examples/faq-answers.md +0 -30
  1163. package/packages/opencode/command/internal-comms/examples/general-comms.md +0 -16
  1164. package/packages/opencode/command/internal-comms.md +0 -142
  1165. package/packages/opencode/command/mcp-builder/reference/evaluation.md +0 -602
  1166. package/packages/opencode/command/mcp-builder/reference/mcp_best_practices.md +0 -915
  1167. package/packages/opencode/command/mcp-builder/reference/node_mcp_server.md +0 -916
  1168. package/packages/opencode/command/mcp-builder/reference/python_mcp_server.md +0 -752
  1169. package/packages/opencode/command/mcp-builder/scripts/connections.py +0 -151
  1170. package/packages/opencode/command/mcp-builder/scripts/evaluation.py +0 -373
  1171. package/packages/opencode/command/mcp-builder/scripts/example_evaluation.xml +0 -22
  1172. package/packages/opencode/command/mcp-builder/scripts/requirements.txt +0 -2
  1173. package/packages/opencode/command/mcp-builder.md +0 -282
  1174. package/packages/opencode/command/pdf/scripts/check_bounding_boxes.py +0 -70
  1175. package/packages/opencode/command/pdf/scripts/check_bounding_boxes_test.py +0 -226
  1176. package/packages/opencode/command/pdf/scripts/check_fillable_fields.py +0 -12
  1177. package/packages/opencode/command/pdf/scripts/convert_pdf_to_images.py +0 -35
  1178. package/packages/opencode/command/pdf/scripts/create_validation_image.py +0 -41
  1179. package/packages/opencode/command/pdf/scripts/extract_form_field_info.py +0 -152
  1180. package/packages/opencode/command/pdf/scripts/fill_fillable_fields.py +0 -114
  1181. package/packages/opencode/command/pdf/scripts/fill_pdf_form_with_annotations.py +0 -108
  1182. package/packages/opencode/command/pdf.md +0 -194
  1183. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  1184. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  1185. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  1186. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  1187. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  1188. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  1189. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  1190. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  1191. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  1192. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  1193. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  1194. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  1195. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  1196. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  1197. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  1198. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  1199. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  1200. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  1201. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  1202. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  1203. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  1204. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  1205. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  1206. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  1207. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  1208. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  1209. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  1210. package/packages/opencode/command/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  1211. package/packages/opencode/command/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  1212. package/packages/opencode/command/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  1213. package/packages/opencode/command/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  1214. package/packages/opencode/command/pptx/ooxml/schemas/mce/mc.xsd +0 -75
  1215. package/packages/opencode/command/pptx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  1216. package/packages/opencode/command/pptx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  1217. package/packages/opencode/command/pptx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  1218. package/packages/opencode/command/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  1219. package/packages/opencode/command/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  1220. package/packages/opencode/command/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  1221. package/packages/opencode/command/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  1222. package/packages/opencode/command/pptx/ooxml/scripts/pack.py +0 -159
  1223. package/packages/opencode/command/pptx/ooxml/scripts/unpack.py +0 -29
  1224. package/packages/opencode/command/pptx/ooxml/scripts/validate.py +0 -69
  1225. package/packages/opencode/command/pptx/ooxml/scripts/validation/__init__.py +0 -15
  1226. package/packages/opencode/command/pptx/ooxml/scripts/validation/base.py +0 -951
  1227. package/packages/opencode/command/pptx/ooxml/scripts/validation/docx.py +0 -274
  1228. package/packages/opencode/command/pptx/ooxml/scripts/validation/pptx.py +0 -315
  1229. package/packages/opencode/command/pptx/ooxml/scripts/validation/redlining.py +0 -279
  1230. package/packages/opencode/command/pptx/scripts/html2pptx.js +0 -979
  1231. package/packages/opencode/command/pptx/scripts/inventory.py +0 -1020
  1232. package/packages/opencode/command/pptx/scripts/rearrange.py +0 -231
  1233. package/packages/opencode/command/pptx/scripts/replace.py +0 -385
  1234. package/packages/opencode/command/pptx/scripts/thumbnail.py +0 -450
  1235. package/packages/opencode/command/pptx.md +0 -272
  1236. package/packages/opencode/command/slack-gif-creator/core/color_palettes.py +0 -302
  1237. package/packages/opencode/command/slack-gif-creator/core/easing.py +0 -230
  1238. package/packages/opencode/command/slack-gif-creator/core/frame_composer.py +0 -469
  1239. package/packages/opencode/command/slack-gif-creator/core/gif_builder.py +0 -246
  1240. package/packages/opencode/command/slack-gif-creator/core/typography.py +0 -357
  1241. package/packages/opencode/command/slack-gif-creator/core/validators.py +0 -264
  1242. package/packages/opencode/command/slack-gif-creator/core/visual_effects.py +0 -494
  1243. package/packages/opencode/command/slack-gif-creator/templates/bounce.py +0 -106
  1244. package/packages/opencode/command/slack-gif-creator/templates/explode.py +0 -331
  1245. package/packages/opencode/command/slack-gif-creator/templates/fade.py +0 -329
  1246. package/packages/opencode/command/slack-gif-creator/templates/flip.py +0 -291
  1247. package/packages/opencode/command/slack-gif-creator/templates/kaleidoscope.py +0 -211
  1248. package/packages/opencode/command/slack-gif-creator/templates/morph.py +0 -329
  1249. package/packages/opencode/command/slack-gif-creator/templates/move.py +0 -293
  1250. package/packages/opencode/command/slack-gif-creator/templates/pulse.py +0 -268
  1251. package/packages/opencode/command/slack-gif-creator/templates/shake.py +0 -127
  1252. package/packages/opencode/command/slack-gif-creator/templates/slide.py +0 -291
  1253. package/packages/opencode/command/slack-gif-creator/templates/spin.py +0 -269
  1254. package/packages/opencode/command/slack-gif-creator/templates/wiggle.py +0 -300
  1255. package/packages/opencode/command/slack-gif-creator/templates/zoom.py +0 -312
  1256. package/packages/opencode/command/slack-gif-creator.md +0 -340
  1257. package/packages/opencode/command/theme-factory/themes/arctic-frost.md +0 -19
  1258. package/packages/opencode/command/theme-factory/themes/botanical-garden.md +0 -19
  1259. package/packages/opencode/command/theme-factory/themes/desert-rose.md +0 -19
  1260. package/packages/opencode/command/theme-factory/themes/forest-canopy.md +0 -19
  1261. package/packages/opencode/command/theme-factory/themes/golden-hour.md +0 -19
  1262. package/packages/opencode/command/theme-factory/themes/midnight-galaxy.md +0 -19
  1263. package/packages/opencode/command/theme-factory/themes/modern-minimalist.md +0 -19
  1264. package/packages/opencode/command/theme-factory/themes/ocean-depths.md +0 -19
  1265. package/packages/opencode/command/theme-factory/themes/sunset-boulevard.md +0 -19
  1266. package/packages/opencode/command/theme-factory/themes/tech-innovation.md +0 -19
  1267. package/packages/opencode/command/theme-factory.md +0 -146
  1268. package/packages/opencode/command/webapp-testing/examples/console_logging.py +0 -35
  1269. package/packages/opencode/command/webapp-testing/examples/element_discovery.py +0 -40
  1270. package/packages/opencode/command/webapp-testing/examples/static_html_automation.py +0 -33
  1271. package/packages/opencode/command/webapp-testing/scripts/with_server.py +0 -106
  1272. package/packages/opencode/command/webapp-testing.md +0 -275
  1273. package/packages/opencode/command/xlsx/recalc.py +0 -178
  1274. package/packages/opencode/command/xlsx.md +0 -254
  1275. package/packages/opencode/resources/agent-teams.yaml +0 -50
  1276. package/packages/opencode/resources/checklists.md +0 -1724
  1277. package/packages/opencode/resources/data.md +0 -1372
  1278. package/packages/opencode/resources/task-briefs.md +0 -4428
  1279. package/packages/opencode/resources/templates.yaml +0 -5810
  1280. package/packages/opencode/resources/workflows.yaml +0 -1513
  1281. package/packages/opencode/subagentic-manual.md +0 -155
@@ -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