@amrhas82/agentic-kit 1.7.0 → 1.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1278) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +110 -183
  3. package/docs/INSTALLATION_DEMO.md +4 -4
  4. package/docs/INTEGRATION_ISSUES_9.1.md +2 -2
  5. package/docs/KNOWLEDGE_BASE.md +16 -16
  6. package/docs/PACKAGE_BASELINE.md +9 -9
  7. package/docs/UPDATED_VARIANT_CONFIGURATION.md +14 -14
  8. package/docs/VARIANT_CONFIGURATION.md +2 -2
  9. package/package.json +1 -1
  10. package/packages/ampcode/AGENT.md +49 -505
  11. package/packages/ampcode/agents/1-create-prd.md +69 -40
  12. package/packages/ampcode/agents/2-generate-tasks.md +113 -25
  13. package/packages/ampcode/agents/3-process-task-list.md +125 -71
  14. package/packages/ampcode/agents/backlog-manager.md +169 -0
  15. package/packages/ampcode/agents/code-developer.md +118 -0
  16. package/packages/{claude/agents/context-initializer.md → ampcode/agents/context-builder.md} +53 -146
  17. package/packages/ampcode/agents/feature-planner.md +155 -0
  18. package/packages/ampcode/agents/{business-analyst.md → market-researcher.md} +57 -9
  19. package/packages/ampcode/agents/master.md +107 -18
  20. package/packages/ampcode/agents/orchestrator.md +95 -42
  21. package/packages/{claude/agents/qa-test-architect.md → ampcode/agents/quality-assurance.md} +53 -22
  22. package/packages/ampcode/agents/{scrum-master.md → story-writer.md} +52 -16
  23. package/packages/{claude/agents/holistic-architect.md → ampcode/agents/system-architect.md} +45 -3
  24. package/packages/{claude/agents/ux-expert.md → ampcode/agents/ui-designer.md} +50 -16
  25. package/packages/ampcode/commands/brainstorming.md +6 -3
  26. package/packages/ampcode/commands/code-review.md +8 -154
  27. package/packages/ampcode/commands/condition-based-waiting.md +5 -2
  28. package/packages/ampcode/commands/debug.md +21 -0
  29. package/packages/ampcode/commands/docs-builder/templates.md +572 -0
  30. package/packages/ampcode/commands/docs-builder.md +107 -0
  31. package/packages/ampcode/commands/explain.md +19 -0
  32. package/packages/ampcode/commands/git-commit.md +15 -0
  33. package/packages/ampcode/commands/optimize.md +21 -0
  34. package/packages/ampcode/commands/refactor.md +22 -0
  35. package/packages/ampcode/commands/review.md +19 -0
  36. package/packages/ampcode/commands/root-cause-tracing.md +5 -2
  37. package/packages/ampcode/commands/security.md +22 -0
  38. package/packages/ampcode/commands/ship.md +19 -0
  39. package/packages/ampcode/commands/skill-creator.md +4 -1
  40. package/packages/ampcode/commands/subagent-spawning.md +82 -0
  41. package/packages/ampcode/commands/systematic-debugging.md +4 -344
  42. package/packages/ampcode/commands/test-driven-development.md +27 -1
  43. package/packages/ampcode/commands/test-generate.md +19 -0
  44. package/packages/ampcode/commands/testing-anti-patterns.md +4 -1
  45. package/packages/ampcode/commands/verification-before-completion.md +15 -1
  46. package/packages/ampcode/variants.json +44 -22
  47. package/packages/claude/CLAUDE.md +55 -515
  48. package/packages/claude/agents/1-create-prd.md +69 -40
  49. package/packages/claude/agents/2-generate-tasks.md +113 -25
  50. package/packages/claude/agents/3-process-task-list.md +125 -72
  51. package/packages/claude/agents/backlog-manager.md +169 -0
  52. package/packages/claude/agents/code-developer.md +118 -0
  53. package/packages/claude/agents/context-builder.md +198 -0
  54. package/packages/claude/agents/feature-planner.md +155 -0
  55. package/packages/claude/agents/{business-analyst.md → market-researcher.md} +57 -9
  56. package/packages/claude/agents/master.md +107 -19
  57. package/packages/claude/agents/orchestrator.md +92 -39
  58. package/packages/{ampcode/agents/qa-test-architect.md → claude/agents/quality-assurance.md} +53 -22
  59. package/packages/claude/agents/{scrum-master.md → story-writer.md} +52 -16
  60. package/packages/{ampcode/agents/holistic-architect.md → claude/agents/system-architect.md} +45 -3
  61. package/packages/{ampcode/agents/ux-expert.md → claude/agents/ui-designer.md} +50 -16
  62. package/packages/claude/commands/debug.md +21 -0
  63. package/packages/claude/commands/explain.md +19 -0
  64. package/packages/claude/commands/git-commit.md +15 -0
  65. package/packages/claude/commands/optimize.md +21 -0
  66. package/packages/claude/commands/refactor.md +22 -0
  67. package/packages/claude/commands/review.md +19 -0
  68. package/packages/claude/commands/security.md +22 -0
  69. package/packages/claude/commands/ship.md +19 -0
  70. package/packages/claude/commands/test-generate.md +19 -0
  71. package/packages/claude/skills/brainstorming/SKILL.md +5 -2
  72. package/packages/claude/skills/code-review/SKILL.md +8 -5
  73. package/packages/claude/skills/condition-based-waiting/SKILL.md +3 -0
  74. package/packages/claude/skills/docs-builder/SKILL.md +107 -0
  75. package/packages/claude/skills/docs-builder/references/templates.md +572 -0
  76. package/packages/claude/skills/root-cause-tracing/SKILL.md +3 -0
  77. package/packages/claude/skills/skill-creator/SKILL.md +3 -0
  78. package/packages/claude/skills/subagent-spawning/SKILL.md +82 -0
  79. package/packages/claude/skills/systematic-debugging/SKILL.md +4 -2
  80. package/packages/claude/skills/test-driven-development/SKILL.md +29 -0
  81. package/packages/claude/skills/testing-anti-patterns/SKILL.md +3 -0
  82. package/packages/claude/skills/verification-before-completion/SKILL.md +14 -0
  83. package/packages/claude/variants.json +46 -19
  84. package/packages/droid/AGENTS.md +49 -519
  85. package/packages/droid/commands/brainstorming.md +12 -4
  86. package/packages/droid/commands/code-review.md +47 -31
  87. package/packages/droid/commands/{condition-based-waiting/condition-based-waiting.md → condition-based-waiting.md} +42 -52
  88. package/packages/droid/commands/debug.md +21 -0
  89. package/packages/droid/commands/docs-builder/templates.md +572 -0
  90. package/packages/droid/commands/docs-builder.md +107 -0
  91. package/packages/droid/commands/explain.md +19 -0
  92. package/packages/droid/commands/git-commit.md +15 -0
  93. package/packages/droid/commands/optimize.md +21 -0
  94. package/packages/droid/commands/refactor.md +22 -0
  95. package/packages/droid/commands/review.md +19 -0
  96. package/packages/droid/commands/{root-cause-tracing/root-cause-tracing.md → root-cause-tracing.md} +65 -99
  97. package/packages/droid/commands/security.md +22 -0
  98. package/packages/droid/commands/ship.md +19 -0
  99. package/packages/droid/commands/skill-creator.md +212 -0
  100. package/packages/droid/commands/subagent-spawning.md +82 -0
  101. package/packages/droid/commands/systematic-debugging.md +222 -139
  102. package/packages/droid/commands/test-driven-development.md +237 -78
  103. package/packages/droid/commands/test-generate.md +19 -0
  104. package/packages/droid/commands/testing-anti-patterns.md +130 -73
  105. package/packages/droid/commands/verification-before-completion.md +91 -89
  106. package/packages/droid/droids/1-create-prd.md +69 -41
  107. package/packages/droid/droids/2-generate-tasks.md +113 -26
  108. package/packages/droid/droids/3-process-task-list.md +125 -72
  109. package/packages/droid/droids/backlog-manager.md +169 -0
  110. package/packages/droid/droids/code-developer.md +118 -0
  111. package/packages/droid/droids/context-builder.md +198 -0
  112. package/packages/droid/droids/feature-planner.md +155 -0
  113. package/packages/droid/droids/{business-analyst.md → market-researcher.md} +57 -9
  114. package/packages/droid/droids/master.md +107 -18
  115. package/packages/droid/droids/orchestrator.md +95 -42
  116. package/packages/droid/droids/{qa-test-architect.md → quality-assurance.md} +53 -22
  117. package/packages/droid/droids/{scrum-master.md → story-writer.md} +52 -16
  118. package/packages/droid/droids/{holistic-architect.md → system-architect.md} +45 -3
  119. package/packages/droid/droids/{ux-expert.md → ui-designer.md} +50 -16
  120. package/packages/droid/variants.json +44 -22
  121. package/packages/opencode/AGENTS.md +49 -515
  122. package/packages/opencode/agent/1-create-prd.md +69 -40
  123. package/packages/opencode/agent/2-generate-tasks.md +113 -26
  124. package/packages/opencode/agent/3-process-task-list.md +124 -71
  125. package/packages/opencode/agent/backlog-manager.md +173 -0
  126. package/packages/opencode/agent/code-developer.md +122 -0
  127. package/packages/opencode/agent/context-builder.md +202 -0
  128. package/packages/opencode/agent/feature-planner.md +159 -0
  129. package/packages/opencode/agent/{business-analyst.md → market-researcher.md} +58 -10
  130. package/packages/opencode/agent/master.md +107 -18
  131. package/packages/opencode/agent/orchestrator.md +95 -42
  132. package/packages/opencode/agent/{qa-test-architect.md → quality-assurance.md} +53 -22
  133. package/packages/opencode/agent/{scrum-master.md → story-writer.md} +52 -16
  134. package/packages/opencode/agent/{holistic-architect.md → system-architect.md} +45 -3
  135. package/packages/opencode/agent/{ux-expert.md → ui-designer.md} +50 -16
  136. package/packages/opencode/command/brainstorming.md +12 -4
  137. package/packages/opencode/command/code-review.md +47 -31
  138. package/packages/opencode/command/condition-based-waiting.md +42 -52
  139. package/packages/opencode/command/debug.md +21 -0
  140. package/packages/opencode/command/docs-builder/templates.md +572 -0
  141. package/packages/opencode/command/docs-builder.md +107 -0
  142. package/packages/opencode/command/explain.md +19 -0
  143. package/packages/opencode/command/git-commit.md +15 -0
  144. package/packages/opencode/command/optimize.md +21 -0
  145. package/packages/opencode/command/refactor.md +22 -0
  146. package/packages/opencode/command/review.md +19 -0
  147. package/packages/opencode/command/root-cause-tracing.md +65 -99
  148. package/packages/opencode/command/security.md +22 -0
  149. package/packages/opencode/command/ship.md +19 -0
  150. package/packages/opencode/command/skill-creator.md +158 -142
  151. package/packages/opencode/command/subagent-spawning.md +82 -0
  152. package/packages/opencode/command/systematic-debugging.md +222 -139
  153. package/packages/opencode/command/test-driven-development.md +237 -78
  154. package/packages/opencode/command/test-generate.md +19 -0
  155. package/packages/opencode/command/testing-anti-patterns.md +130 -73
  156. package/packages/opencode/command/verification-before-completion.md +91 -89
  157. package/packages/opencode/opencode.jsonc +37 -85
  158. package/packages/opencode/variants.json +44 -22
  159. package/packages/subagentic-manual.md +329 -147
  160. package/packages/ampcode/agents/context-initializer.md +0 -291
  161. package/packages/ampcode/agents/full-stack-dev.md +0 -80
  162. package/packages/ampcode/agents/product-manager.md +0 -82
  163. package/packages/ampcode/agents/product-owner.md +0 -97
  164. package/packages/ampcode/commands/README.md +0 -76
  165. package/packages/ampcode/commands/algorithmic-art/templates/generator_template.js +0 -223
  166. package/packages/ampcode/commands/algorithmic-art/templates/viewer.html +0 -599
  167. package/packages/ampcode/commands/algorithmic-art.md +0 -405
  168. package/packages/ampcode/commands/artifacts-builder/scripts/bundle-artifact.sh +0 -54
  169. package/packages/ampcode/commands/artifacts-builder/scripts/init-artifact.sh +0 -322
  170. package/packages/ampcode/commands/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  171. package/packages/ampcode/commands/artifacts-builder.md +0 -74
  172. package/packages/ampcode/commands/brand-guidelines.md +0 -73
  173. package/packages/ampcode/commands/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +0 -93
  174. package/packages/ampcode/commands/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  175. package/packages/ampcode/commands/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  176. package/packages/ampcode/commands/canvas-design/canvas-fonts/BigShoulders-OFL.txt +0 -93
  177. package/packages/ampcode/commands/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  178. package/packages/ampcode/commands/canvas-design/canvas-fonts/Boldonse-OFL.txt +0 -93
  179. package/packages/ampcode/commands/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  180. package/packages/ampcode/commands/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  181. package/packages/ampcode/commands/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +0 -93
  182. package/packages/ampcode/commands/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  183. package/packages/ampcode/commands/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  184. package/packages/ampcode/commands/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  185. package/packages/ampcode/commands/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +0 -93
  186. package/packages/ampcode/commands/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  187. package/packages/ampcode/commands/canvas-design/canvas-fonts/DMMono-OFL.txt +0 -93
  188. package/packages/ampcode/commands/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  189. package/packages/ampcode/commands/canvas-design/canvas-fonts/EricaOne-OFL.txt +0 -94
  190. package/packages/ampcode/commands/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  191. package/packages/ampcode/commands/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  192. package/packages/ampcode/commands/canvas-design/canvas-fonts/GeistMono-OFL.txt +0 -93
  193. package/packages/ampcode/commands/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  194. package/packages/ampcode/commands/canvas-design/canvas-fonts/Gloock-OFL.txt +0 -93
  195. package/packages/ampcode/commands/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  196. package/packages/ampcode/commands/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  197. package/packages/ampcode/commands/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +0 -93
  198. package/packages/ampcode/commands/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  199. package/packages/ampcode/commands/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  200. package/packages/ampcode/commands/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  201. package/packages/ampcode/commands/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  202. package/packages/ampcode/commands/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  203. package/packages/ampcode/commands/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  204. package/packages/ampcode/commands/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  205. package/packages/ampcode/commands/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  206. package/packages/ampcode/commands/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +0 -93
  207. package/packages/ampcode/commands/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  208. package/packages/ampcode/commands/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  209. package/packages/ampcode/commands/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  210. package/packages/ampcode/commands/canvas-design/canvas-fonts/Italiana-OFL.txt +0 -93
  211. package/packages/ampcode/commands/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  212. package/packages/ampcode/commands/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  213. package/packages/ampcode/commands/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +0 -93
  214. package/packages/ampcode/commands/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  215. package/packages/ampcode/commands/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  216. package/packages/ampcode/commands/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  217. package/packages/ampcode/commands/canvas-design/canvas-fonts/Jura-OFL.txt +0 -93
  218. package/packages/ampcode/commands/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +0 -93
  219. package/packages/ampcode/commands/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  220. package/packages/ampcode/commands/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  221. package/packages/ampcode/commands/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  222. package/packages/ampcode/commands/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  223. package/packages/ampcode/commands/canvas-design/canvas-fonts/Lora-OFL.txt +0 -93
  224. package/packages/ampcode/commands/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  225. package/packages/ampcode/commands/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  226. package/packages/ampcode/commands/canvas-design/canvas-fonts/NationalPark-OFL.txt +0 -93
  227. package/packages/ampcode/commands/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  228. package/packages/ampcode/commands/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -93
  229. package/packages/ampcode/commands/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  230. package/packages/ampcode/commands/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  231. package/packages/ampcode/commands/canvas-design/canvas-fonts/Outfit-OFL.txt +0 -93
  232. package/packages/ampcode/commands/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  233. package/packages/ampcode/commands/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  234. package/packages/ampcode/commands/canvas-design/canvas-fonts/PixelifySans-OFL.txt +0 -93
  235. package/packages/ampcode/commands/canvas-design/canvas-fonts/PoiretOne-OFL.txt +0 -93
  236. package/packages/ampcode/commands/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  237. package/packages/ampcode/commands/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  238. package/packages/ampcode/commands/canvas-design/canvas-fonts/RedHatMono-OFL.txt +0 -93
  239. package/packages/ampcode/commands/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  240. package/packages/ampcode/commands/canvas-design/canvas-fonts/Silkscreen-OFL.txt +0 -93
  241. package/packages/ampcode/commands/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  242. package/packages/ampcode/commands/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  243. package/packages/ampcode/commands/canvas-design/canvas-fonts/SmoochSans-OFL.txt +0 -93
  244. package/packages/ampcode/commands/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  245. package/packages/ampcode/commands/canvas-design/canvas-fonts/Tektur-OFL.txt +0 -93
  246. package/packages/ampcode/commands/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  247. package/packages/ampcode/commands/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  248. package/packages/ampcode/commands/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  249. package/packages/ampcode/commands/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  250. package/packages/ampcode/commands/canvas-design/canvas-fonts/WorkSans-OFL.txt +0 -93
  251. package/packages/ampcode/commands/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  252. package/packages/ampcode/commands/canvas-design/canvas-fonts/YoungSerif-OFL.txt +0 -93
  253. package/packages/ampcode/commands/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  254. package/packages/ampcode/commands/canvas-design.md +0 -130
  255. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  256. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  257. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  258. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  259. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  260. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  261. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  262. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  263. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  264. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  265. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  266. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  267. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  268. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  269. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  270. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  271. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  272. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  273. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  274. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  275. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  276. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  277. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  278. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  279. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  280. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  281. package/packages/ampcode/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  282. package/packages/ampcode/commands/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  283. package/packages/ampcode/commands/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  284. package/packages/ampcode/commands/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  285. package/packages/ampcode/commands/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  286. package/packages/ampcode/commands/docx/ooxml/schemas/mce/mc.xsd +0 -75
  287. package/packages/ampcode/commands/docx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  288. package/packages/ampcode/commands/docx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  289. package/packages/ampcode/commands/docx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  290. package/packages/ampcode/commands/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  291. package/packages/ampcode/commands/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  292. package/packages/ampcode/commands/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  293. package/packages/ampcode/commands/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  294. package/packages/ampcode/commands/docx/ooxml/scripts/pack.py +0 -159
  295. package/packages/ampcode/commands/docx/ooxml/scripts/unpack.py +0 -29
  296. package/packages/ampcode/commands/docx/ooxml/scripts/validate.py +0 -69
  297. package/packages/ampcode/commands/docx/ooxml/scripts/validation/__init__.py +0 -15
  298. package/packages/ampcode/commands/docx/ooxml/scripts/validation/base.py +0 -951
  299. package/packages/ampcode/commands/docx/ooxml/scripts/validation/docx.py +0 -274
  300. package/packages/ampcode/commands/docx/ooxml/scripts/validation/pptx.py +0 -315
  301. package/packages/ampcode/commands/docx/ooxml/scripts/validation/redlining.py +0 -279
  302. package/packages/ampcode/commands/docx/scripts/__init__.py +0 -1
  303. package/packages/ampcode/commands/docx/scripts/document.py +0 -1276
  304. package/packages/ampcode/commands/docx/scripts/templates/comments.xml +0 -3
  305. package/packages/ampcode/commands/docx/scripts/templates/commentsExtended.xml +0 -3
  306. package/packages/ampcode/commands/docx/scripts/templates/commentsExtensible.xml +0 -3
  307. package/packages/ampcode/commands/docx/scripts/templates/commentsIds.xml +0 -3
  308. package/packages/ampcode/commands/docx/scripts/templates/people.xml +0 -3
  309. package/packages/ampcode/commands/docx/scripts/utilities.py +0 -374
  310. package/packages/ampcode/commands/docx.md +0 -1163
  311. package/packages/ampcode/commands/internal-comms/examples/3p-updates.md +0 -47
  312. package/packages/ampcode/commands/internal-comms/examples/company-newsletter.md +0 -65
  313. package/packages/ampcode/commands/internal-comms/examples/faq-answers.md +0 -30
  314. package/packages/ampcode/commands/internal-comms/examples/general-comms.md +0 -16
  315. package/packages/ampcode/commands/internal-comms.md +0 -32
  316. package/packages/ampcode/commands/mcp-builder/reference/evaluation.md +0 -602
  317. package/packages/ampcode/commands/mcp-builder/reference/mcp_best_practices.md +0 -915
  318. package/packages/ampcode/commands/mcp-builder/reference/node_mcp_server.md +0 -916
  319. package/packages/ampcode/commands/mcp-builder/reference/python_mcp_server.md +0 -752
  320. package/packages/ampcode/commands/mcp-builder/scripts/connections.py +0 -151
  321. package/packages/ampcode/commands/mcp-builder/scripts/evaluation.py +0 -373
  322. package/packages/ampcode/commands/mcp-builder/scripts/example_evaluation.xml +0 -22
  323. package/packages/ampcode/commands/mcp-builder/scripts/requirements.txt +0 -2
  324. package/packages/ampcode/commands/mcp-builder.md +0 -328
  325. package/packages/ampcode/commands/pdf/scripts/check_bounding_boxes.py +0 -70
  326. package/packages/ampcode/commands/pdf/scripts/check_bounding_boxes_test.py +0 -226
  327. package/packages/ampcode/commands/pdf/scripts/check_fillable_fields.py +0 -12
  328. package/packages/ampcode/commands/pdf/scripts/convert_pdf_to_images.py +0 -35
  329. package/packages/ampcode/commands/pdf/scripts/create_validation_image.py +0 -41
  330. package/packages/ampcode/commands/pdf/scripts/extract_form_field_info.py +0 -152
  331. package/packages/ampcode/commands/pdf/scripts/fill_fillable_fields.py +0 -114
  332. package/packages/ampcode/commands/pdf/scripts/fill_pdf_form_with_annotations.py +0 -108
  333. package/packages/ampcode/commands/pdf.md +0 -1117
  334. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  335. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  336. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  337. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  338. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  339. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  340. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  341. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  342. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  343. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  344. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  345. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  346. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  347. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  348. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  349. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  350. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  351. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  352. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  353. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  354. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  355. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  356. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  357. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  358. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  359. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  360. package/packages/ampcode/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  361. package/packages/ampcode/commands/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  362. package/packages/ampcode/commands/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  363. package/packages/ampcode/commands/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  364. package/packages/ampcode/commands/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  365. package/packages/ampcode/commands/pptx/ooxml/schemas/mce/mc.xsd +0 -75
  366. package/packages/ampcode/commands/pptx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  367. package/packages/ampcode/commands/pptx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  368. package/packages/ampcode/commands/pptx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  369. package/packages/ampcode/commands/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  370. package/packages/ampcode/commands/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  371. package/packages/ampcode/commands/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  372. package/packages/ampcode/commands/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  373. package/packages/ampcode/commands/pptx/ooxml/scripts/pack.py +0 -159
  374. package/packages/ampcode/commands/pptx/ooxml/scripts/unpack.py +0 -29
  375. package/packages/ampcode/commands/pptx/ooxml/scripts/validate.py +0 -69
  376. package/packages/ampcode/commands/pptx/ooxml/scripts/validation/__init__.py +0 -15
  377. package/packages/ampcode/commands/pptx/ooxml/scripts/validation/base.py +0 -951
  378. package/packages/ampcode/commands/pptx/ooxml/scripts/validation/docx.py +0 -274
  379. package/packages/ampcode/commands/pptx/ooxml/scripts/validation/pptx.py +0 -315
  380. package/packages/ampcode/commands/pptx/ooxml/scripts/validation/redlining.py +0 -279
  381. package/packages/ampcode/commands/pptx/scripts/html2pptx.js +0 -979
  382. package/packages/ampcode/commands/pptx/scripts/inventory.py +0 -1020
  383. package/packages/ampcode/commands/pptx/scripts/rearrange.py +0 -231
  384. package/packages/ampcode/commands/pptx/scripts/replace.py +0 -385
  385. package/packages/ampcode/commands/pptx/scripts/thumbnail.py +0 -450
  386. package/packages/ampcode/commands/pptx.md +0 -1542
  387. package/packages/ampcode/commands/slack-gif-creator/core/color_palettes.py +0 -302
  388. package/packages/ampcode/commands/slack-gif-creator/core/easing.py +0 -230
  389. package/packages/ampcode/commands/slack-gif-creator/core/frame_composer.py +0 -469
  390. package/packages/ampcode/commands/slack-gif-creator/core/gif_builder.py +0 -246
  391. package/packages/ampcode/commands/slack-gif-creator/core/typography.py +0 -357
  392. package/packages/ampcode/commands/slack-gif-creator/core/validators.py +0 -264
  393. package/packages/ampcode/commands/slack-gif-creator/core/visual_effects.py +0 -494
  394. package/packages/ampcode/commands/slack-gif-creator/templates/bounce.py +0 -106
  395. package/packages/ampcode/commands/slack-gif-creator/templates/explode.py +0 -331
  396. package/packages/ampcode/commands/slack-gif-creator/templates/fade.py +0 -329
  397. package/packages/ampcode/commands/slack-gif-creator/templates/flip.py +0 -291
  398. package/packages/ampcode/commands/slack-gif-creator/templates/kaleidoscope.py +0 -211
  399. package/packages/ampcode/commands/slack-gif-creator/templates/morph.py +0 -329
  400. package/packages/ampcode/commands/slack-gif-creator/templates/move.py +0 -293
  401. package/packages/ampcode/commands/slack-gif-creator/templates/pulse.py +0 -268
  402. package/packages/ampcode/commands/slack-gif-creator/templates/shake.py +0 -127
  403. package/packages/ampcode/commands/slack-gif-creator/templates/slide.py +0 -291
  404. package/packages/ampcode/commands/slack-gif-creator/templates/spin.py +0 -269
  405. package/packages/ampcode/commands/slack-gif-creator/templates/wiggle.py +0 -300
  406. package/packages/ampcode/commands/slack-gif-creator/templates/zoom.py +0 -312
  407. package/packages/ampcode/commands/slack-gif-creator.md +0 -646
  408. package/packages/ampcode/commands/theme-factory/themes/arctic-frost.md +0 -19
  409. package/packages/ampcode/commands/theme-factory/themes/botanical-garden.md +0 -19
  410. package/packages/ampcode/commands/theme-factory/themes/desert-rose.md +0 -19
  411. package/packages/ampcode/commands/theme-factory/themes/forest-canopy.md +0 -19
  412. package/packages/ampcode/commands/theme-factory/themes/golden-hour.md +0 -19
  413. package/packages/ampcode/commands/theme-factory/themes/midnight-galaxy.md +0 -19
  414. package/packages/ampcode/commands/theme-factory/themes/modern-minimalist.md +0 -19
  415. package/packages/ampcode/commands/theme-factory/themes/ocean-depths.md +0 -19
  416. package/packages/ampcode/commands/theme-factory/themes/sunset-boulevard.md +0 -19
  417. package/packages/ampcode/commands/theme-factory/themes/tech-innovation.md +0 -19
  418. package/packages/ampcode/commands/theme-factory.md +0 -58
  419. package/packages/ampcode/commands/webapp-testing/examples/console_logging.py +0 -35
  420. package/packages/ampcode/commands/webapp-testing/examples/element_discovery.py +0 -40
  421. package/packages/ampcode/commands/webapp-testing/examples/static_html_automation.py +0 -33
  422. package/packages/ampcode/commands/webapp-testing/scripts/with_server.py +0 -106
  423. package/packages/ampcode/commands/webapp-testing.md +0 -96
  424. package/packages/ampcode/commands/xlsx/recalc.py +0 -178
  425. package/packages/ampcode/commands/xlsx.md +0 -289
  426. package/packages/ampcode/resources/agent-teams.yaml +0 -50
  427. package/packages/ampcode/resources/checklists.md +0 -1724
  428. package/packages/ampcode/resources/data.md +0 -1372
  429. package/packages/ampcode/resources/task-briefs.md +0 -4428
  430. package/packages/ampcode/resources/templates.yaml +0 -5810
  431. package/packages/ampcode/resources/workflows.yaml +0 -1513
  432. package/packages/ampcode/subagentic-manual.md +0 -170
  433. package/packages/claude/.claude-plugin/marketplace.json +0 -67
  434. package/packages/claude/.claude-plugin/plugin-lite.json +0 -44
  435. package/packages/claude/.claude-plugin/plugin-pro.json +0 -189
  436. package/packages/claude/.claude-plugin/plugin-standard.json +0 -153
  437. package/packages/claude/.claude-plugin/plugin.json +0 -47
  438. package/packages/claude/agents/full-stack-dev.md +0 -80
  439. package/packages/claude/agents/product-manager.md +0 -82
  440. package/packages/claude/agents/product-owner.md +0 -97
  441. package/packages/claude/hooks/register-agents.js +0 -123
  442. package/packages/claude/hooks/session-start.js +0 -166
  443. package/packages/claude/resources/agent-teams.yaml +0 -50
  444. package/packages/claude/resources/checklists.md +0 -1724
  445. package/packages/claude/resources/data.md +0 -1372
  446. package/packages/claude/resources/task-briefs.md +0 -4428
  447. package/packages/claude/resources/templates.yaml +0 -5810
  448. package/packages/claude/resources/workflows.yaml +0 -1513
  449. package/packages/claude/skills/README.md +0 -76
  450. package/packages/claude/skills/algorithmic-art/LICENSE.txt +0 -202
  451. package/packages/claude/skills/algorithmic-art/SKILL.md +0 -405
  452. package/packages/claude/skills/algorithmic-art/templates/generator_template.js +0 -223
  453. package/packages/claude/skills/algorithmic-art/templates/viewer.html +0 -599
  454. package/packages/claude/skills/artifacts-builder/LICENSE.txt +0 -202
  455. package/packages/claude/skills/artifacts-builder/SKILL.md +0 -74
  456. package/packages/claude/skills/artifacts-builder/scripts/bundle-artifact.sh +0 -54
  457. package/packages/claude/skills/artifacts-builder/scripts/init-artifact.sh +0 -322
  458. package/packages/claude/skills/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  459. package/packages/claude/skills/brand-guidelines/LICENSE.txt +0 -202
  460. package/packages/claude/skills/brand-guidelines/SKILL.md +0 -73
  461. package/packages/claude/skills/canvas-design/LICENSE.txt +0 -202
  462. package/packages/claude/skills/canvas-design/SKILL.md +0 -130
  463. package/packages/claude/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +0 -93
  464. package/packages/claude/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  465. package/packages/claude/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  466. package/packages/claude/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +0 -93
  467. package/packages/claude/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  468. package/packages/claude/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +0 -93
  469. package/packages/claude/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  470. package/packages/claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  471. package/packages/claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +0 -93
  472. package/packages/claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  473. package/packages/claude/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  474. package/packages/claude/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  475. package/packages/claude/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +0 -93
  476. package/packages/claude/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  477. package/packages/claude/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +0 -93
  478. package/packages/claude/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  479. package/packages/claude/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +0 -94
  480. package/packages/claude/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  481. package/packages/claude/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  482. package/packages/claude/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +0 -93
  483. package/packages/claude/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  484. package/packages/claude/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +0 -93
  485. package/packages/claude/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  486. package/packages/claude/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  487. package/packages/claude/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +0 -93
  488. package/packages/claude/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  489. package/packages/claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  490. package/packages/claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  491. package/packages/claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  492. package/packages/claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  493. package/packages/claude/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  494. package/packages/claude/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  495. package/packages/claude/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  496. package/packages/claude/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +0 -93
  497. package/packages/claude/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  498. package/packages/claude/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  499. package/packages/claude/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  500. package/packages/claude/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +0 -93
  501. package/packages/claude/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  502. package/packages/claude/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  503. package/packages/claude/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +0 -93
  504. package/packages/claude/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  505. package/packages/claude/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  506. package/packages/claude/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  507. package/packages/claude/skills/canvas-design/canvas-fonts/Jura-OFL.txt +0 -93
  508. package/packages/claude/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +0 -93
  509. package/packages/claude/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  510. package/packages/claude/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  511. package/packages/claude/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  512. package/packages/claude/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  513. package/packages/claude/skills/canvas-design/canvas-fonts/Lora-OFL.txt +0 -93
  514. package/packages/claude/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  515. package/packages/claude/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  516. package/packages/claude/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +0 -93
  517. package/packages/claude/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  518. package/packages/claude/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -93
  519. package/packages/claude/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  520. package/packages/claude/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  521. package/packages/claude/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +0 -93
  522. package/packages/claude/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  523. package/packages/claude/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  524. package/packages/claude/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +0 -93
  525. package/packages/claude/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +0 -93
  526. package/packages/claude/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  527. package/packages/claude/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  528. package/packages/claude/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +0 -93
  529. package/packages/claude/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  530. package/packages/claude/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +0 -93
  531. package/packages/claude/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  532. package/packages/claude/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  533. package/packages/claude/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +0 -93
  534. package/packages/claude/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  535. package/packages/claude/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +0 -93
  536. package/packages/claude/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  537. package/packages/claude/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  538. package/packages/claude/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  539. package/packages/claude/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  540. package/packages/claude/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +0 -93
  541. package/packages/claude/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  542. package/packages/claude/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +0 -93
  543. package/packages/claude/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  544. package/packages/claude/skills/docx/LICENSE.txt +0 -30
  545. package/packages/claude/skills/docx/SKILL.md +0 -197
  546. package/packages/claude/skills/docx/docx-js.md +0 -350
  547. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  548. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  549. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  550. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  551. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  552. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  553. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  554. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  555. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  556. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  557. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  558. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  559. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  560. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  561. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  562. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  563. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  564. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  565. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  566. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  567. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  568. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  569. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  570. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  571. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  572. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  573. package/packages/claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  574. package/packages/claude/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  575. package/packages/claude/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  576. package/packages/claude/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  577. package/packages/claude/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  578. package/packages/claude/skills/docx/ooxml/schemas/mce/mc.xsd +0 -75
  579. package/packages/claude/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  580. package/packages/claude/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  581. package/packages/claude/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  582. package/packages/claude/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  583. package/packages/claude/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  584. package/packages/claude/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  585. package/packages/claude/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  586. package/packages/claude/skills/docx/ooxml/scripts/pack.py +0 -159
  587. package/packages/claude/skills/docx/ooxml/scripts/unpack.py +0 -29
  588. package/packages/claude/skills/docx/ooxml/scripts/validate.py +0 -69
  589. package/packages/claude/skills/docx/ooxml/scripts/validation/__init__.py +0 -15
  590. package/packages/claude/skills/docx/ooxml/scripts/validation/base.py +0 -951
  591. package/packages/claude/skills/docx/ooxml/scripts/validation/docx.py +0 -274
  592. package/packages/claude/skills/docx/ooxml/scripts/validation/pptx.py +0 -315
  593. package/packages/claude/skills/docx/ooxml/scripts/validation/redlining.py +0 -279
  594. package/packages/claude/skills/docx/ooxml.md +0 -610
  595. package/packages/claude/skills/docx/scripts/__init__.py +0 -1
  596. package/packages/claude/skills/docx/scripts/document.py +0 -1276
  597. package/packages/claude/skills/docx/scripts/templates/comments.xml +0 -3
  598. package/packages/claude/skills/docx/scripts/templates/commentsExtended.xml +0 -3
  599. package/packages/claude/skills/docx/scripts/templates/commentsExtensible.xml +0 -3
  600. package/packages/claude/skills/docx/scripts/templates/commentsIds.xml +0 -3
  601. package/packages/claude/skills/docx/scripts/templates/people.xml +0 -3
  602. package/packages/claude/skills/docx/scripts/utilities.py +0 -374
  603. package/packages/claude/skills/internal-comms/LICENSE.txt +0 -202
  604. package/packages/claude/skills/internal-comms/SKILL.md +0 -32
  605. package/packages/claude/skills/internal-comms/examples/3p-updates.md +0 -47
  606. package/packages/claude/skills/internal-comms/examples/company-newsletter.md +0 -65
  607. package/packages/claude/skills/internal-comms/examples/faq-answers.md +0 -30
  608. package/packages/claude/skills/internal-comms/examples/general-comms.md +0 -16
  609. package/packages/claude/skills/mcp-builder/LICENSE.txt +0 -202
  610. package/packages/claude/skills/mcp-builder/SKILL.md +0 -328
  611. package/packages/claude/skills/mcp-builder/reference/evaluation.md +0 -602
  612. package/packages/claude/skills/mcp-builder/reference/mcp_best_practices.md +0 -915
  613. package/packages/claude/skills/mcp-builder/reference/node_mcp_server.md +0 -916
  614. package/packages/claude/skills/mcp-builder/reference/python_mcp_server.md +0 -752
  615. package/packages/claude/skills/mcp-builder/scripts/connections.py +0 -151
  616. package/packages/claude/skills/mcp-builder/scripts/evaluation.py +0 -373
  617. package/packages/claude/skills/mcp-builder/scripts/example_evaluation.xml +0 -22
  618. package/packages/claude/skills/mcp-builder/scripts/requirements.txt +0 -2
  619. package/packages/claude/skills/pdf/LICENSE.txt +0 -30
  620. package/packages/claude/skills/pdf/SKILL.md +0 -294
  621. package/packages/claude/skills/pdf/forms.md +0 -205
  622. package/packages/claude/skills/pdf/reference.md +0 -612
  623. package/packages/claude/skills/pdf/scripts/check_bounding_boxes.py +0 -70
  624. package/packages/claude/skills/pdf/scripts/check_bounding_boxes_test.py +0 -226
  625. package/packages/claude/skills/pdf/scripts/check_fillable_fields.py +0 -12
  626. package/packages/claude/skills/pdf/scripts/convert_pdf_to_images.py +0 -35
  627. package/packages/claude/skills/pdf/scripts/create_validation_image.py +0 -41
  628. package/packages/claude/skills/pdf/scripts/extract_form_field_info.py +0 -152
  629. package/packages/claude/skills/pdf/scripts/fill_fillable_fields.py +0 -114
  630. package/packages/claude/skills/pdf/scripts/fill_pdf_form_with_annotations.py +0 -108
  631. package/packages/claude/skills/pptx/LICENSE.txt +0 -30
  632. package/packages/claude/skills/pptx/SKILL.md +0 -484
  633. package/packages/claude/skills/pptx/html2pptx.md +0 -625
  634. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  635. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  636. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  637. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  638. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  639. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  640. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  641. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  642. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  643. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  644. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  645. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  646. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  647. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  648. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  649. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  650. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  651. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  652. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  653. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  654. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  655. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  656. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  657. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  658. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  659. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  660. package/packages/claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  661. package/packages/claude/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  662. package/packages/claude/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  663. package/packages/claude/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  664. package/packages/claude/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  665. package/packages/claude/skills/pptx/ooxml/schemas/mce/mc.xsd +0 -75
  666. package/packages/claude/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  667. package/packages/claude/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  668. package/packages/claude/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  669. package/packages/claude/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  670. package/packages/claude/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  671. package/packages/claude/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  672. package/packages/claude/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  673. package/packages/claude/skills/pptx/ooxml/scripts/pack.py +0 -159
  674. package/packages/claude/skills/pptx/ooxml/scripts/unpack.py +0 -29
  675. package/packages/claude/skills/pptx/ooxml/scripts/validate.py +0 -69
  676. package/packages/claude/skills/pptx/ooxml/scripts/validation/__init__.py +0 -15
  677. package/packages/claude/skills/pptx/ooxml/scripts/validation/base.py +0 -951
  678. package/packages/claude/skills/pptx/ooxml/scripts/validation/docx.py +0 -274
  679. package/packages/claude/skills/pptx/ooxml/scripts/validation/pptx.py +0 -315
  680. package/packages/claude/skills/pptx/ooxml/scripts/validation/redlining.py +0 -279
  681. package/packages/claude/skills/pptx/ooxml.md +0 -427
  682. package/packages/claude/skills/pptx/scripts/html2pptx.js +0 -979
  683. package/packages/claude/skills/pptx/scripts/inventory.py +0 -1020
  684. package/packages/claude/skills/pptx/scripts/rearrange.py +0 -231
  685. package/packages/claude/skills/pptx/scripts/replace.py +0 -385
  686. package/packages/claude/skills/pptx/scripts/thumbnail.py +0 -450
  687. package/packages/claude/skills/slack-gif-creator/LICENSE.txt +0 -202
  688. package/packages/claude/skills/slack-gif-creator/SKILL.md +0 -646
  689. package/packages/claude/skills/slack-gif-creator/core/color_palettes.py +0 -302
  690. package/packages/claude/skills/slack-gif-creator/core/easing.py +0 -230
  691. package/packages/claude/skills/slack-gif-creator/core/frame_composer.py +0 -469
  692. package/packages/claude/skills/slack-gif-creator/core/gif_builder.py +0 -246
  693. package/packages/claude/skills/slack-gif-creator/core/typography.py +0 -357
  694. package/packages/claude/skills/slack-gif-creator/core/validators.py +0 -264
  695. package/packages/claude/skills/slack-gif-creator/core/visual_effects.py +0 -494
  696. package/packages/claude/skills/slack-gif-creator/requirements.txt +0 -4
  697. package/packages/claude/skills/slack-gif-creator/templates/bounce.py +0 -106
  698. package/packages/claude/skills/slack-gif-creator/templates/explode.py +0 -331
  699. package/packages/claude/skills/slack-gif-creator/templates/fade.py +0 -329
  700. package/packages/claude/skills/slack-gif-creator/templates/flip.py +0 -291
  701. package/packages/claude/skills/slack-gif-creator/templates/kaleidoscope.py +0 -211
  702. package/packages/claude/skills/slack-gif-creator/templates/morph.py +0 -329
  703. package/packages/claude/skills/slack-gif-creator/templates/move.py +0 -293
  704. package/packages/claude/skills/slack-gif-creator/templates/pulse.py +0 -268
  705. package/packages/claude/skills/slack-gif-creator/templates/shake.py +0 -127
  706. package/packages/claude/skills/slack-gif-creator/templates/slide.py +0 -291
  707. package/packages/claude/skills/slack-gif-creator/templates/spin.py +0 -269
  708. package/packages/claude/skills/slack-gif-creator/templates/wiggle.py +0 -300
  709. package/packages/claude/skills/slack-gif-creator/templates/zoom.py +0 -312
  710. package/packages/claude/skills/theme-factory/LICENSE.txt +0 -202
  711. package/packages/claude/skills/theme-factory/SKILL.md +0 -59
  712. package/packages/claude/skills/theme-factory/theme-showcase.pdf +0 -0
  713. package/packages/claude/skills/theme-factory/themes/arctic-frost.md +0 -19
  714. package/packages/claude/skills/theme-factory/themes/botanical-garden.md +0 -19
  715. package/packages/claude/skills/theme-factory/themes/desert-rose.md +0 -19
  716. package/packages/claude/skills/theme-factory/themes/forest-canopy.md +0 -19
  717. package/packages/claude/skills/theme-factory/themes/golden-hour.md +0 -19
  718. package/packages/claude/skills/theme-factory/themes/midnight-galaxy.md +0 -19
  719. package/packages/claude/skills/theme-factory/themes/modern-minimalist.md +0 -19
  720. package/packages/claude/skills/theme-factory/themes/ocean-depths.md +0 -19
  721. package/packages/claude/skills/theme-factory/themes/sunset-boulevard.md +0 -19
  722. package/packages/claude/skills/theme-factory/themes/tech-innovation.md +0 -19
  723. package/packages/claude/skills/webapp-testing/LICENSE.txt +0 -202
  724. package/packages/claude/skills/webapp-testing/SKILL.md +0 -96
  725. package/packages/claude/skills/webapp-testing/examples/console_logging.py +0 -35
  726. package/packages/claude/skills/webapp-testing/examples/element_discovery.py +0 -40
  727. package/packages/claude/skills/webapp-testing/examples/static_html_automation.py +0 -33
  728. package/packages/claude/skills/webapp-testing/scripts/with_server.py +0 -106
  729. package/packages/claude/skills/xlsx/LICENSE.txt +0 -30
  730. package/packages/claude/skills/xlsx/SKILL.md +0 -289
  731. package/packages/claude/skills/xlsx/recalc.py +0 -178
  732. package/packages/claude/subagentic-manual.md +0 -170
  733. package/packages/droid/commands/algorithmic-art/algorithmic-art.md +0 -159
  734. package/packages/droid/commands/algorithmic-art/templates/generator_template.js +0 -223
  735. package/packages/droid/commands/algorithmic-art/templates/viewer.html +0 -599
  736. package/packages/droid/commands/artifacts-builder/artifacts-builder.md +0 -285
  737. package/packages/droid/commands/artifacts-builder/scripts/bundle-artifact.sh +0 -54
  738. package/packages/droid/commands/artifacts-builder/scripts/init-artifact.sh +0 -322
  739. package/packages/droid/commands/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  740. package/packages/droid/commands/brand-guidelines.md +0 -123
  741. package/packages/droid/commands/canvas-design/canvas-design.md +0 -155
  742. package/packages/droid/commands/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +0 -93
  743. package/packages/droid/commands/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  744. package/packages/droid/commands/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  745. package/packages/droid/commands/canvas-design/canvas-fonts/BigShoulders-OFL.txt +0 -93
  746. package/packages/droid/commands/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  747. package/packages/droid/commands/canvas-design/canvas-fonts/Boldonse-OFL.txt +0 -93
  748. package/packages/droid/commands/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  749. package/packages/droid/commands/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  750. package/packages/droid/commands/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +0 -93
  751. package/packages/droid/commands/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  752. package/packages/droid/commands/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  753. package/packages/droid/commands/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  754. package/packages/droid/commands/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +0 -93
  755. package/packages/droid/commands/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  756. package/packages/droid/commands/canvas-design/canvas-fonts/DMMono-OFL.txt +0 -93
  757. package/packages/droid/commands/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  758. package/packages/droid/commands/canvas-design/canvas-fonts/EricaOne-OFL.txt +0 -94
  759. package/packages/droid/commands/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  760. package/packages/droid/commands/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  761. package/packages/droid/commands/canvas-design/canvas-fonts/GeistMono-OFL.txt +0 -93
  762. package/packages/droid/commands/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  763. package/packages/droid/commands/canvas-design/canvas-fonts/Gloock-OFL.txt +0 -93
  764. package/packages/droid/commands/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  765. package/packages/droid/commands/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  766. package/packages/droid/commands/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +0 -93
  767. package/packages/droid/commands/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  768. package/packages/droid/commands/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  769. package/packages/droid/commands/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  770. package/packages/droid/commands/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  771. package/packages/droid/commands/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  772. package/packages/droid/commands/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  773. package/packages/droid/commands/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  774. package/packages/droid/commands/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  775. package/packages/droid/commands/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +0 -93
  776. package/packages/droid/commands/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  777. package/packages/droid/commands/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  778. package/packages/droid/commands/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  779. package/packages/droid/commands/canvas-design/canvas-fonts/Italiana-OFL.txt +0 -93
  780. package/packages/droid/commands/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  781. package/packages/droid/commands/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  782. package/packages/droid/commands/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +0 -93
  783. package/packages/droid/commands/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  784. package/packages/droid/commands/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  785. package/packages/droid/commands/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  786. package/packages/droid/commands/canvas-design/canvas-fonts/Jura-OFL.txt +0 -93
  787. package/packages/droid/commands/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +0 -93
  788. package/packages/droid/commands/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  789. package/packages/droid/commands/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  790. package/packages/droid/commands/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  791. package/packages/droid/commands/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  792. package/packages/droid/commands/canvas-design/canvas-fonts/Lora-OFL.txt +0 -93
  793. package/packages/droid/commands/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  794. package/packages/droid/commands/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  795. package/packages/droid/commands/canvas-design/canvas-fonts/NationalPark-OFL.txt +0 -93
  796. package/packages/droid/commands/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  797. package/packages/droid/commands/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -93
  798. package/packages/droid/commands/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  799. package/packages/droid/commands/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  800. package/packages/droid/commands/canvas-design/canvas-fonts/Outfit-OFL.txt +0 -93
  801. package/packages/droid/commands/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  802. package/packages/droid/commands/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  803. package/packages/droid/commands/canvas-design/canvas-fonts/PixelifySans-OFL.txt +0 -93
  804. package/packages/droid/commands/canvas-design/canvas-fonts/PoiretOne-OFL.txt +0 -93
  805. package/packages/droid/commands/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  806. package/packages/droid/commands/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  807. package/packages/droid/commands/canvas-design/canvas-fonts/RedHatMono-OFL.txt +0 -93
  808. package/packages/droid/commands/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  809. package/packages/droid/commands/canvas-design/canvas-fonts/Silkscreen-OFL.txt +0 -93
  810. package/packages/droid/commands/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  811. package/packages/droid/commands/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  812. package/packages/droid/commands/canvas-design/canvas-fonts/SmoochSans-OFL.txt +0 -93
  813. package/packages/droid/commands/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  814. package/packages/droid/commands/canvas-design/canvas-fonts/Tektur-OFL.txt +0 -93
  815. package/packages/droid/commands/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  816. package/packages/droid/commands/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  817. package/packages/droid/commands/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  818. package/packages/droid/commands/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  819. package/packages/droid/commands/canvas-design/canvas-fonts/WorkSans-OFL.txt +0 -93
  820. package/packages/droid/commands/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  821. package/packages/droid/commands/canvas-design/canvas-fonts/YoungSerif-OFL.txt +0 -93
  822. package/packages/droid/commands/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  823. package/packages/droid/commands/docx/docx.md +0 -255
  824. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  825. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  826. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  827. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  828. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  829. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  830. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  831. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  832. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  833. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  834. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  835. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  836. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  837. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  838. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  839. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  840. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  841. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  842. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  843. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  844. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  845. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  846. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  847. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  848. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  849. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  850. package/packages/droid/commands/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  851. package/packages/droid/commands/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  852. package/packages/droid/commands/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  853. package/packages/droid/commands/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  854. package/packages/droid/commands/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  855. package/packages/droid/commands/docx/ooxml/schemas/mce/mc.xsd +0 -75
  856. package/packages/droid/commands/docx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  857. package/packages/droid/commands/docx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  858. package/packages/droid/commands/docx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  859. package/packages/droid/commands/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  860. package/packages/droid/commands/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  861. package/packages/droid/commands/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  862. package/packages/droid/commands/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  863. package/packages/droid/commands/docx/ooxml/scripts/pack.py +0 -159
  864. package/packages/droid/commands/docx/ooxml/scripts/unpack.py +0 -29
  865. package/packages/droid/commands/docx/ooxml/scripts/validate.py +0 -69
  866. package/packages/droid/commands/docx/ooxml/scripts/validation/__init__.py +0 -15
  867. package/packages/droid/commands/docx/ooxml/scripts/validation/base.py +0 -951
  868. package/packages/droid/commands/docx/ooxml/scripts/validation/docx.py +0 -274
  869. package/packages/droid/commands/docx/ooxml/scripts/validation/pptx.py +0 -315
  870. package/packages/droid/commands/docx/ooxml/scripts/validation/redlining.py +0 -279
  871. package/packages/droid/commands/docx/scripts/__init__.py +0 -1
  872. package/packages/droid/commands/docx/scripts/document.py +0 -1276
  873. package/packages/droid/commands/docx/scripts/templates/comments.xml +0 -3
  874. package/packages/droid/commands/docx/scripts/templates/commentsExtended.xml +0 -3
  875. package/packages/droid/commands/docx/scripts/templates/commentsExtensible.xml +0 -3
  876. package/packages/droid/commands/docx/scripts/templates/commentsIds.xml +0 -3
  877. package/packages/droid/commands/docx/scripts/templates/people.xml +0 -3
  878. package/packages/droid/commands/docx/scripts/utilities.py +0 -374
  879. package/packages/droid/commands/internal-comms/examples/3p-updates.md +0 -47
  880. package/packages/droid/commands/internal-comms/examples/company-newsletter.md +0 -65
  881. package/packages/droid/commands/internal-comms/examples/faq-answers.md +0 -30
  882. package/packages/droid/commands/internal-comms/examples/general-comms.md +0 -16
  883. package/packages/droid/commands/internal-comms/internal-comms.md +0 -142
  884. package/packages/droid/commands/mcp-builder/mcp-builder.md +0 -282
  885. package/packages/droid/commands/mcp-builder/reference/evaluation.md +0 -602
  886. package/packages/droid/commands/mcp-builder/reference/mcp_best_practices.md +0 -915
  887. package/packages/droid/commands/mcp-builder/reference/node_mcp_server.md +0 -916
  888. package/packages/droid/commands/mcp-builder/reference/python_mcp_server.md +0 -752
  889. package/packages/droid/commands/mcp-builder/scripts/connections.py +0 -151
  890. package/packages/droid/commands/mcp-builder/scripts/evaluation.py +0 -373
  891. package/packages/droid/commands/mcp-builder/scripts/example_evaluation.xml +0 -22
  892. package/packages/droid/commands/mcp-builder/scripts/requirements.txt +0 -2
  893. package/packages/droid/commands/pdf/pdf.md +0 -194
  894. package/packages/droid/commands/pdf/scripts/check_bounding_boxes.py +0 -70
  895. package/packages/droid/commands/pdf/scripts/check_bounding_boxes_test.py +0 -226
  896. package/packages/droid/commands/pdf/scripts/check_fillable_fields.py +0 -12
  897. package/packages/droid/commands/pdf/scripts/convert_pdf_to_images.py +0 -35
  898. package/packages/droid/commands/pdf/scripts/create_validation_image.py +0 -41
  899. package/packages/droid/commands/pdf/scripts/extract_form_field_info.py +0 -152
  900. package/packages/droid/commands/pdf/scripts/fill_fillable_fields.py +0 -114
  901. package/packages/droid/commands/pdf/scripts/fill_pdf_form_with_annotations.py +0 -108
  902. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  903. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  904. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  905. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  906. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  907. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  908. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  909. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  910. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  911. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  912. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  913. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  914. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  915. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  916. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  917. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  918. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  919. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  920. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  921. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  922. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  923. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  924. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  925. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  926. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  927. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  928. package/packages/droid/commands/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  929. package/packages/droid/commands/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  930. package/packages/droid/commands/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  931. package/packages/droid/commands/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  932. package/packages/droid/commands/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  933. package/packages/droid/commands/pptx/ooxml/schemas/mce/mc.xsd +0 -75
  934. package/packages/droid/commands/pptx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  935. package/packages/droid/commands/pptx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  936. package/packages/droid/commands/pptx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  937. package/packages/droid/commands/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  938. package/packages/droid/commands/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  939. package/packages/droid/commands/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  940. package/packages/droid/commands/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  941. package/packages/droid/commands/pptx/ooxml/scripts/pack.py +0 -159
  942. package/packages/droid/commands/pptx/ooxml/scripts/unpack.py +0 -29
  943. package/packages/droid/commands/pptx/ooxml/scripts/validate.py +0 -69
  944. package/packages/droid/commands/pptx/ooxml/scripts/validation/__init__.py +0 -15
  945. package/packages/droid/commands/pptx/ooxml/scripts/validation/base.py +0 -951
  946. package/packages/droid/commands/pptx/ooxml/scripts/validation/docx.py +0 -274
  947. package/packages/droid/commands/pptx/ooxml/scripts/validation/pptx.py +0 -315
  948. package/packages/droid/commands/pptx/ooxml/scripts/validation/redlining.py +0 -279
  949. package/packages/droid/commands/pptx/pptx.md +0 -272
  950. package/packages/droid/commands/pptx/scripts/html2pptx.js +0 -979
  951. package/packages/droid/commands/pptx/scripts/inventory.py +0 -1020
  952. package/packages/droid/commands/pptx/scripts/rearrange.py +0 -231
  953. package/packages/droid/commands/pptx/scripts/replace.py +0 -385
  954. package/packages/droid/commands/pptx/scripts/thumbnail.py +0 -450
  955. package/packages/droid/commands/skill-creator/skill-creator.md +0 -196
  956. package/packages/droid/commands/slack-gif-creator/core/color_palettes.py +0 -302
  957. package/packages/droid/commands/slack-gif-creator/core/easing.py +0 -230
  958. package/packages/droid/commands/slack-gif-creator/core/frame_composer.py +0 -469
  959. package/packages/droid/commands/slack-gif-creator/core/gif_builder.py +0 -246
  960. package/packages/droid/commands/slack-gif-creator/core/typography.py +0 -357
  961. package/packages/droid/commands/slack-gif-creator/core/validators.py +0 -264
  962. package/packages/droid/commands/slack-gif-creator/core/visual_effects.py +0 -494
  963. package/packages/droid/commands/slack-gif-creator/slack-gif-creator.md +0 -340
  964. package/packages/droid/commands/slack-gif-creator/templates/bounce.py +0 -106
  965. package/packages/droid/commands/slack-gif-creator/templates/explode.py +0 -331
  966. package/packages/droid/commands/slack-gif-creator/templates/fade.py +0 -329
  967. package/packages/droid/commands/slack-gif-creator/templates/flip.py +0 -291
  968. package/packages/droid/commands/slack-gif-creator/templates/kaleidoscope.py +0 -211
  969. package/packages/droid/commands/slack-gif-creator/templates/morph.py +0 -329
  970. package/packages/droid/commands/slack-gif-creator/templates/move.py +0 -293
  971. package/packages/droid/commands/slack-gif-creator/templates/pulse.py +0 -268
  972. package/packages/droid/commands/slack-gif-creator/templates/shake.py +0 -127
  973. package/packages/droid/commands/slack-gif-creator/templates/slide.py +0 -291
  974. package/packages/droid/commands/slack-gif-creator/templates/spin.py +0 -269
  975. package/packages/droid/commands/slack-gif-creator/templates/wiggle.py +0 -300
  976. package/packages/droid/commands/slack-gif-creator/templates/zoom.py +0 -312
  977. package/packages/droid/commands/theme-factory/theme-factory.md +0 -146
  978. package/packages/droid/commands/theme-factory/themes/arctic-frost.md +0 -19
  979. package/packages/droid/commands/theme-factory/themes/botanical-garden.md +0 -19
  980. package/packages/droid/commands/theme-factory/themes/desert-rose.md +0 -19
  981. package/packages/droid/commands/theme-factory/themes/forest-canopy.md +0 -19
  982. package/packages/droid/commands/theme-factory/themes/golden-hour.md +0 -19
  983. package/packages/droid/commands/theme-factory/themes/midnight-galaxy.md +0 -19
  984. package/packages/droid/commands/theme-factory/themes/modern-minimalist.md +0 -19
  985. package/packages/droid/commands/theme-factory/themes/ocean-depths.md +0 -19
  986. package/packages/droid/commands/theme-factory/themes/sunset-boulevard.md +0 -19
  987. package/packages/droid/commands/theme-factory/themes/tech-innovation.md +0 -19
  988. package/packages/droid/commands/webapp-testing/examples/console_logging.py +0 -35
  989. package/packages/droid/commands/webapp-testing/examples/element_discovery.py +0 -40
  990. package/packages/droid/commands/webapp-testing/examples/static_html_automation.py +0 -33
  991. package/packages/droid/commands/webapp-testing/scripts/with_server.py +0 -106
  992. package/packages/droid/commands/webapp-testing/webapp-testing.md +0 -275
  993. package/packages/droid/commands/xlsx/recalc.py +0 -178
  994. package/packages/droid/commands/xlsx/xlsx.md +0 -254
  995. package/packages/droid/droids/context-initializer.md +0 -291
  996. package/packages/droid/droids/full-stack-dev.md +0 -80
  997. package/packages/droid/droids/product-manager.md +0 -82
  998. package/packages/droid/droids/product-owner.md +0 -97
  999. package/packages/droid/resources/agent-teams.yaml +0 -50
  1000. package/packages/droid/resources/checklists.md +0 -1724
  1001. package/packages/droid/resources/data.md +0 -1372
  1002. package/packages/droid/resources/task-briefs.md +0 -4428
  1003. package/packages/droid/resources/templates.yaml +0 -5810
  1004. package/packages/droid/resources/workflows.yaml +0 -1513
  1005. package/packages/droid/subagentic-manual.md +0 -170
  1006. package/packages/opencode/agent/context-initializer.md +0 -295
  1007. package/packages/opencode/agent/full-stack-dev.md +0 -77
  1008. package/packages/opencode/agent/product-manager.md +0 -86
  1009. package/packages/opencode/agent/product-owner.md +0 -101
  1010. package/packages/opencode/command/README.md +0 -76
  1011. package/packages/opencode/command/algorithmic-art/templates/generator_template.js +0 -223
  1012. package/packages/opencode/command/algorithmic-art/templates/viewer.html +0 -599
  1013. package/packages/opencode/command/algorithmic-art.md +0 -159
  1014. package/packages/opencode/command/artifacts-builder/scripts/bundle-artifact.sh +0 -54
  1015. package/packages/opencode/command/artifacts-builder/scripts/init-artifact.sh +0 -322
  1016. package/packages/opencode/command/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  1017. package/packages/opencode/command/artifacts-builder.md +0 -285
  1018. package/packages/opencode/command/brand-guidelines.md +0 -123
  1019. package/packages/opencode/command/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +0 -93
  1020. package/packages/opencode/command/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  1021. package/packages/opencode/command/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  1022. package/packages/opencode/command/canvas-design/canvas-fonts/BigShoulders-OFL.txt +0 -93
  1023. package/packages/opencode/command/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  1024. package/packages/opencode/command/canvas-design/canvas-fonts/Boldonse-OFL.txt +0 -93
  1025. package/packages/opencode/command/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  1026. package/packages/opencode/command/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  1027. package/packages/opencode/command/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +0 -93
  1028. package/packages/opencode/command/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  1029. package/packages/opencode/command/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  1030. package/packages/opencode/command/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  1031. package/packages/opencode/command/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +0 -93
  1032. package/packages/opencode/command/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  1033. package/packages/opencode/command/canvas-design/canvas-fonts/DMMono-OFL.txt +0 -93
  1034. package/packages/opencode/command/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  1035. package/packages/opencode/command/canvas-design/canvas-fonts/EricaOne-OFL.txt +0 -94
  1036. package/packages/opencode/command/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  1037. package/packages/opencode/command/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  1038. package/packages/opencode/command/canvas-design/canvas-fonts/GeistMono-OFL.txt +0 -93
  1039. package/packages/opencode/command/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  1040. package/packages/opencode/command/canvas-design/canvas-fonts/Gloock-OFL.txt +0 -93
  1041. package/packages/opencode/command/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  1042. package/packages/opencode/command/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  1043. package/packages/opencode/command/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +0 -93
  1044. package/packages/opencode/command/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  1045. package/packages/opencode/command/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  1046. package/packages/opencode/command/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  1047. package/packages/opencode/command/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  1048. package/packages/opencode/command/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  1049. package/packages/opencode/command/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  1050. package/packages/opencode/command/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  1051. package/packages/opencode/command/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  1052. package/packages/opencode/command/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +0 -93
  1053. package/packages/opencode/command/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  1054. package/packages/opencode/command/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  1055. package/packages/opencode/command/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  1056. package/packages/opencode/command/canvas-design/canvas-fonts/Italiana-OFL.txt +0 -93
  1057. package/packages/opencode/command/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  1058. package/packages/opencode/command/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  1059. package/packages/opencode/command/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +0 -93
  1060. package/packages/opencode/command/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  1061. package/packages/opencode/command/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  1062. package/packages/opencode/command/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  1063. package/packages/opencode/command/canvas-design/canvas-fonts/Jura-OFL.txt +0 -93
  1064. package/packages/opencode/command/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +0 -93
  1065. package/packages/opencode/command/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  1066. package/packages/opencode/command/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  1067. package/packages/opencode/command/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  1068. package/packages/opencode/command/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  1069. package/packages/opencode/command/canvas-design/canvas-fonts/Lora-OFL.txt +0 -93
  1070. package/packages/opencode/command/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  1071. package/packages/opencode/command/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  1072. package/packages/opencode/command/canvas-design/canvas-fonts/NationalPark-OFL.txt +0 -93
  1073. package/packages/opencode/command/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  1074. package/packages/opencode/command/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -93
  1075. package/packages/opencode/command/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  1076. package/packages/opencode/command/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  1077. package/packages/opencode/command/canvas-design/canvas-fonts/Outfit-OFL.txt +0 -93
  1078. package/packages/opencode/command/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  1079. package/packages/opencode/command/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  1080. package/packages/opencode/command/canvas-design/canvas-fonts/PixelifySans-OFL.txt +0 -93
  1081. package/packages/opencode/command/canvas-design/canvas-fonts/PoiretOne-OFL.txt +0 -93
  1082. package/packages/opencode/command/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  1083. package/packages/opencode/command/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  1084. package/packages/opencode/command/canvas-design/canvas-fonts/RedHatMono-OFL.txt +0 -93
  1085. package/packages/opencode/command/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  1086. package/packages/opencode/command/canvas-design/canvas-fonts/Silkscreen-OFL.txt +0 -93
  1087. package/packages/opencode/command/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  1088. package/packages/opencode/command/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  1089. package/packages/opencode/command/canvas-design/canvas-fonts/SmoochSans-OFL.txt +0 -93
  1090. package/packages/opencode/command/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  1091. package/packages/opencode/command/canvas-design/canvas-fonts/Tektur-OFL.txt +0 -93
  1092. package/packages/opencode/command/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  1093. package/packages/opencode/command/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  1094. package/packages/opencode/command/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  1095. package/packages/opencode/command/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  1096. package/packages/opencode/command/canvas-design/canvas-fonts/WorkSans-OFL.txt +0 -93
  1097. package/packages/opencode/command/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  1098. package/packages/opencode/command/canvas-design/canvas-fonts/YoungSerif-OFL.txt +0 -93
  1099. package/packages/opencode/command/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  1100. package/packages/opencode/command/canvas-design.md +0 -155
  1101. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  1102. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  1103. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  1104. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  1105. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  1106. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  1107. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  1108. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  1109. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  1110. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  1111. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  1112. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  1113. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  1114. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  1115. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  1116. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  1117. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  1118. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  1119. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  1120. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  1121. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  1122. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  1123. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  1124. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  1125. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  1126. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  1127. package/packages/opencode/command/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  1128. package/packages/opencode/command/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  1129. package/packages/opencode/command/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  1130. package/packages/opencode/command/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  1131. package/packages/opencode/command/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  1132. package/packages/opencode/command/docx/ooxml/schemas/mce/mc.xsd +0 -75
  1133. package/packages/opencode/command/docx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  1134. package/packages/opencode/command/docx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  1135. package/packages/opencode/command/docx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  1136. package/packages/opencode/command/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  1137. package/packages/opencode/command/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  1138. package/packages/opencode/command/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  1139. package/packages/opencode/command/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  1140. package/packages/opencode/command/docx/ooxml/scripts/pack.py +0 -159
  1141. package/packages/opencode/command/docx/ooxml/scripts/unpack.py +0 -29
  1142. package/packages/opencode/command/docx/ooxml/scripts/validate.py +0 -69
  1143. package/packages/opencode/command/docx/ooxml/scripts/validation/__init__.py +0 -15
  1144. package/packages/opencode/command/docx/ooxml/scripts/validation/base.py +0 -951
  1145. package/packages/opencode/command/docx/ooxml/scripts/validation/docx.py +0 -274
  1146. package/packages/opencode/command/docx/ooxml/scripts/validation/pptx.py +0 -315
  1147. package/packages/opencode/command/docx/ooxml/scripts/validation/redlining.py +0 -279
  1148. package/packages/opencode/command/docx/scripts/__init__.py +0 -1
  1149. package/packages/opencode/command/docx/scripts/document.py +0 -1276
  1150. package/packages/opencode/command/docx/scripts/templates/comments.xml +0 -3
  1151. package/packages/opencode/command/docx/scripts/templates/commentsExtended.xml +0 -3
  1152. package/packages/opencode/command/docx/scripts/templates/commentsExtensible.xml +0 -3
  1153. package/packages/opencode/command/docx/scripts/templates/commentsIds.xml +0 -3
  1154. package/packages/opencode/command/docx/scripts/templates/people.xml +0 -3
  1155. package/packages/opencode/command/docx/scripts/utilities.py +0 -374
  1156. package/packages/opencode/command/docx.md +0 -255
  1157. package/packages/opencode/command/internal-comms/examples/3p-updates.md +0 -47
  1158. package/packages/opencode/command/internal-comms/examples/company-newsletter.md +0 -65
  1159. package/packages/opencode/command/internal-comms/examples/faq-answers.md +0 -30
  1160. package/packages/opencode/command/internal-comms/examples/general-comms.md +0 -16
  1161. package/packages/opencode/command/internal-comms.md +0 -142
  1162. package/packages/opencode/command/mcp-builder/reference/evaluation.md +0 -602
  1163. package/packages/opencode/command/mcp-builder/reference/mcp_best_practices.md +0 -915
  1164. package/packages/opencode/command/mcp-builder/reference/node_mcp_server.md +0 -916
  1165. package/packages/opencode/command/mcp-builder/reference/python_mcp_server.md +0 -752
  1166. package/packages/opencode/command/mcp-builder/scripts/connections.py +0 -151
  1167. package/packages/opencode/command/mcp-builder/scripts/evaluation.py +0 -373
  1168. package/packages/opencode/command/mcp-builder/scripts/example_evaluation.xml +0 -22
  1169. package/packages/opencode/command/mcp-builder/scripts/requirements.txt +0 -2
  1170. package/packages/opencode/command/mcp-builder.md +0 -282
  1171. package/packages/opencode/command/pdf/scripts/check_bounding_boxes.py +0 -70
  1172. package/packages/opencode/command/pdf/scripts/check_bounding_boxes_test.py +0 -226
  1173. package/packages/opencode/command/pdf/scripts/check_fillable_fields.py +0 -12
  1174. package/packages/opencode/command/pdf/scripts/convert_pdf_to_images.py +0 -35
  1175. package/packages/opencode/command/pdf/scripts/create_validation_image.py +0 -41
  1176. package/packages/opencode/command/pdf/scripts/extract_form_field_info.py +0 -152
  1177. package/packages/opencode/command/pdf/scripts/fill_fillable_fields.py +0 -114
  1178. package/packages/opencode/command/pdf/scripts/fill_pdf_form_with_annotations.py +0 -108
  1179. package/packages/opencode/command/pdf.md +0 -194
  1180. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  1181. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  1182. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  1183. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  1184. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  1185. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  1186. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  1187. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  1188. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  1189. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  1190. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  1191. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  1192. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  1193. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  1194. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  1195. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  1196. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  1197. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  1198. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  1199. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  1200. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  1201. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  1202. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  1203. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  1204. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  1205. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  1206. package/packages/opencode/command/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  1207. package/packages/opencode/command/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  1208. package/packages/opencode/command/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  1209. package/packages/opencode/command/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  1210. package/packages/opencode/command/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  1211. package/packages/opencode/command/pptx/ooxml/schemas/mce/mc.xsd +0 -75
  1212. package/packages/opencode/command/pptx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  1213. package/packages/opencode/command/pptx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  1214. package/packages/opencode/command/pptx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  1215. package/packages/opencode/command/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  1216. package/packages/opencode/command/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  1217. package/packages/opencode/command/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  1218. package/packages/opencode/command/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  1219. package/packages/opencode/command/pptx/ooxml/scripts/pack.py +0 -159
  1220. package/packages/opencode/command/pptx/ooxml/scripts/unpack.py +0 -29
  1221. package/packages/opencode/command/pptx/ooxml/scripts/validate.py +0 -69
  1222. package/packages/opencode/command/pptx/ooxml/scripts/validation/__init__.py +0 -15
  1223. package/packages/opencode/command/pptx/ooxml/scripts/validation/base.py +0 -951
  1224. package/packages/opencode/command/pptx/ooxml/scripts/validation/docx.py +0 -274
  1225. package/packages/opencode/command/pptx/ooxml/scripts/validation/pptx.py +0 -315
  1226. package/packages/opencode/command/pptx/ooxml/scripts/validation/redlining.py +0 -279
  1227. package/packages/opencode/command/pptx/scripts/html2pptx.js +0 -979
  1228. package/packages/opencode/command/pptx/scripts/inventory.py +0 -1020
  1229. package/packages/opencode/command/pptx/scripts/rearrange.py +0 -231
  1230. package/packages/opencode/command/pptx/scripts/replace.py +0 -385
  1231. package/packages/opencode/command/pptx/scripts/thumbnail.py +0 -450
  1232. package/packages/opencode/command/pptx.md +0 -272
  1233. package/packages/opencode/command/slack-gif-creator/core/color_palettes.py +0 -302
  1234. package/packages/opencode/command/slack-gif-creator/core/easing.py +0 -230
  1235. package/packages/opencode/command/slack-gif-creator/core/frame_composer.py +0 -469
  1236. package/packages/opencode/command/slack-gif-creator/core/gif_builder.py +0 -246
  1237. package/packages/opencode/command/slack-gif-creator/core/typography.py +0 -357
  1238. package/packages/opencode/command/slack-gif-creator/core/validators.py +0 -264
  1239. package/packages/opencode/command/slack-gif-creator/core/visual_effects.py +0 -494
  1240. package/packages/opencode/command/slack-gif-creator/templates/bounce.py +0 -106
  1241. package/packages/opencode/command/slack-gif-creator/templates/explode.py +0 -331
  1242. package/packages/opencode/command/slack-gif-creator/templates/fade.py +0 -329
  1243. package/packages/opencode/command/slack-gif-creator/templates/flip.py +0 -291
  1244. package/packages/opencode/command/slack-gif-creator/templates/kaleidoscope.py +0 -211
  1245. package/packages/opencode/command/slack-gif-creator/templates/morph.py +0 -329
  1246. package/packages/opencode/command/slack-gif-creator/templates/move.py +0 -293
  1247. package/packages/opencode/command/slack-gif-creator/templates/pulse.py +0 -268
  1248. package/packages/opencode/command/slack-gif-creator/templates/shake.py +0 -127
  1249. package/packages/opencode/command/slack-gif-creator/templates/slide.py +0 -291
  1250. package/packages/opencode/command/slack-gif-creator/templates/spin.py +0 -269
  1251. package/packages/opencode/command/slack-gif-creator/templates/wiggle.py +0 -300
  1252. package/packages/opencode/command/slack-gif-creator/templates/zoom.py +0 -312
  1253. package/packages/opencode/command/slack-gif-creator.md +0 -340
  1254. package/packages/opencode/command/theme-factory/themes/arctic-frost.md +0 -19
  1255. package/packages/opencode/command/theme-factory/themes/botanical-garden.md +0 -19
  1256. package/packages/opencode/command/theme-factory/themes/desert-rose.md +0 -19
  1257. package/packages/opencode/command/theme-factory/themes/forest-canopy.md +0 -19
  1258. package/packages/opencode/command/theme-factory/themes/golden-hour.md +0 -19
  1259. package/packages/opencode/command/theme-factory/themes/midnight-galaxy.md +0 -19
  1260. package/packages/opencode/command/theme-factory/themes/modern-minimalist.md +0 -19
  1261. package/packages/opencode/command/theme-factory/themes/ocean-depths.md +0 -19
  1262. package/packages/opencode/command/theme-factory/themes/sunset-boulevard.md +0 -19
  1263. package/packages/opencode/command/theme-factory/themes/tech-innovation.md +0 -19
  1264. package/packages/opencode/command/theme-factory.md +0 -146
  1265. package/packages/opencode/command/webapp-testing/examples/console_logging.py +0 -35
  1266. package/packages/opencode/command/webapp-testing/examples/element_discovery.py +0 -40
  1267. package/packages/opencode/command/webapp-testing/examples/static_html_automation.py +0 -33
  1268. package/packages/opencode/command/webapp-testing/scripts/with_server.py +0 -106
  1269. package/packages/opencode/command/webapp-testing.md +0 -275
  1270. package/packages/opencode/command/xlsx/recalc.py +0 -178
  1271. package/packages/opencode/command/xlsx.md +0 -254
  1272. package/packages/opencode/resources/agent-teams.yaml +0 -50
  1273. package/packages/opencode/resources/checklists.md +0 -1724
  1274. package/packages/opencode/resources/data.md +0 -1372
  1275. package/packages/opencode/resources/task-briefs.md +0 -4428
  1276. package/packages/opencode/resources/templates.yaml +0 -5810
  1277. package/packages/opencode/resources/workflows.yaml +0 -1513
  1278. package/packages/opencode/subagentic-manual.md +0 -170
@@ -1,1163 +0,0 @@
1
- ---
2
- name: docx
3
- description: "Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks"
4
- license: Proprietary. LICENSE.txt has complete terms
5
- ---
6
-
7
- # DOCX creation, editing, and analysis
8
-
9
- ## Overview
10
-
11
- A user may ask you to create, edit, or analyze the contents of a .docx file. A .docx 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
- ## Workflow Decision Tree
14
-
15
- ### Reading/Analyzing Content
16
- Use "Text extraction" or "Raw XML access" sections below
17
-
18
- ### Creating New Document
19
- Use "Creating a new Word document" workflow
20
-
21
- ### Editing Existing Document
22
- - **Your own document + simple changes**
23
- Use "Basic OOXML editing" workflow
24
-
25
- - **Someone else's document**
26
- Use **"Redlining workflow"** (recommended default)
27
-
28
- - **Legal, academic, business, or government docs**
29
- Use **"Redlining workflow"** (required)
30
-
31
- ## Reading and analyzing content
32
-
33
- ### Text extraction
34
- If you just need to read the text contents of a document, you should convert the document to markdown using pandoc. Pandoc provides excellent support for preserving document structure and can show tracked changes:
35
-
36
- ```bash
37
- # Convert document to markdown with tracked changes
38
- pandoc --track-changes=all path-to-file.docx -o output.md
39
- # Options: --track-changes=accept/reject/all
40
- ```
41
-
42
- ### Raw XML access
43
- You need raw XML access for: comments, complex formatting, document structure, embedded media, and metadata. For any of these features, you'll need to unpack a document and read its raw XML contents.
44
-
45
- #### Unpacking a file
46
- `python ooxml/scripts/unpack.py <office_file> <output_directory>`
47
-
48
- #### Key file structures
49
- * `word/document.xml` - Main document contents
50
- * `word/comments.xml` - Comments referenced in document.xml
51
- * `word/media/` - Embedded images and media files
52
- * Tracked changes use `<w:ins>` (insertions) and `<w:del>` (deletions) tags
53
-
54
- ## Creating a new Word document
55
-
56
- When creating a new Word document from scratch, use **docx-js**, which allows you to create Word documents using JavaScript/TypeScript.
57
-
58
- ### Workflow
59
- 1. **MANDATORY - READ ENTIRE FILE**: Read [`docx-js.md`](docx-js.md) (~500 lines) 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 document creation.
60
- 2. Create a JavaScript/TypeScript file using Document, Paragraph, TextRun components (You can assume all dependencies are installed, but if not, refer to the dependencies section below)
61
- 3. Export as .docx using Packer.toBuffer()
62
-
63
- ## Editing an existing Word document
64
-
65
- When editing an existing Word document, use the **Document library** (a Python library for OOXML manipulation). The library automatically handles infrastructure setup and provides methods for document manipulation. For complex scenarios, you can access the underlying DOM directly through the library.
66
-
67
- ### Workflow
68
- 1. **MANDATORY - READ ENTIRE FILE**: Read [`ooxml.md`](ooxml.md) (~600 lines) completely from start to finish. **NEVER set any range limits when reading this file.** Read the full file content for the Document library API and XML patterns for directly editing document files.
69
- 2. Unpack the document: `python ooxml/scripts/unpack.py <office_file> <output_directory>`
70
- 3. Create and run a Python script using the Document library (see "Document Library" section in ooxml.md)
71
- 4. Pack the final document: `python ooxml/scripts/pack.py <input_directory> <office_file>`
72
-
73
- The Document library provides both high-level methods for common operations and direct DOM access for complex scenarios.
74
-
75
- ## Redlining workflow for document review
76
-
77
- This workflow allows you to plan comprehensive tracked changes using markdown before implementing them in OOXML. **CRITICAL**: For complete tracked changes, you must implement ALL changes systematically.
78
-
79
- **Batching Strategy**: Group related changes into batches of 3-10 changes. This makes debugging manageable while maintaining efficiency. Test each batch before moving to the next.
80
-
81
- **Principle: Minimal, Precise Edits**
82
- When implementing tracked changes, only mark text that actually changes. Repeating unchanged text makes edits harder to review and appears unprofessional. Break replacements into: [unchanged text] + [deletion] + [insertion] + [unchanged text]. Preserve the original run's RSID for unchanged text by extracting the `<w:r>` element from the original and reusing it.
83
-
84
- Example - Changing "30 days" to "60 days" in a sentence:
85
- ```python
86
- # BAD - Replaces entire sentence
87
- '<w:del><w:r><w:delText>The term is 30 days.</w:delText></w:r></w:del><w:ins><w:r><w:t>The term is 60 days.</w:t></w:r></w:ins>'
88
-
89
- # GOOD - Only marks what changed, preserves original <w:r> for unchanged text
90
- '<w:r w:rsidR="00AB12CD"><w:t>The term is </w:t></w:r><w:del><w:r><w:delText>30</w:delText></w:r></w:del><w:ins><w:r><w:t>60</w:t></w:r></w:ins><w:r w:rsidR="00AB12CD"><w:t> days.</w:t></w:r>'
91
- ```
92
-
93
- ### Tracked changes workflow
94
-
95
- 1. **Get markdown representation**: Convert document to markdown with tracked changes preserved:
96
- ```bash
97
- pandoc --track-changes=all path-to-file.docx -o current.md
98
- ```
99
-
100
- 2. **Identify and group changes**: Review the document and identify ALL changes needed, organizing them into logical batches:
101
-
102
- **Location methods** (for finding changes in XML):
103
- - Section/heading numbers (e.g., "Section 3.2", "Article IV")
104
- - Paragraph identifiers if numbered
105
- - Grep patterns with unique surrounding text
106
- - Document structure (e.g., "first paragraph", "signature block")
107
- - **DO NOT use markdown line numbers** - they don't map to XML structure
108
-
109
- **Batch organization** (group 3-10 related changes per batch):
110
- - By section: "Batch 1: Section 2 amendments", "Batch 2: Section 5 updates"
111
- - By type: "Batch 1: Date corrections", "Batch 2: Party name changes"
112
- - By complexity: Start with simple text replacements, then tackle complex structural changes
113
- - Sequential: "Batch 1: Pages 1-3", "Batch 2: Pages 4-6"
114
-
115
- 3. **Read documentation and unpack**:
116
- - **MANDATORY - READ ENTIRE FILE**: Read [`ooxml.md`](ooxml.md) (~600 lines) completely from start to finish. **NEVER set any range limits when reading this file.** Pay special attention to the "Document Library" and "Tracked Change Patterns" sections.
117
- - **Unpack the document**: `python ooxml/scripts/unpack.py <file.docx> <dir>`
118
- - **Note the suggested RSID**: The unpack script will suggest an RSID to use for your tracked changes. Copy this RSID for use in step 4b.
119
-
120
- 4. **Implement changes in batches**: Group changes logically (by section, by type, or by proximity) and implement them together in a single script. This approach:
121
- - Makes debugging easier (smaller batch = easier to isolate errors)
122
- - Allows incremental progress
123
- - Maintains efficiency (batch size of 3-10 changes works well)
124
-
125
- **Suggested batch groupings:**
126
- - By document section (e.g., "Section 3 changes", "Definitions", "Termination clause")
127
- - By change type (e.g., "Date changes", "Party name updates", "Legal term replacements")
128
- - By proximity (e.g., "Changes on pages 1-3", "Changes in first half of document")
129
-
130
- For each batch of related changes:
131
-
132
- **a. Map text to XML**: Grep for text in `word/document.xml` to verify how text is split across `<w:r>` elements.
133
-
134
- **b. Create and run script**: Use `get_node` to find nodes, implement changes, then `doc.save()`. See **"Document Library"** section in ooxml.md for patterns.
135
-
136
- **Note**: Always grep `word/document.xml` immediately before writing a script to get current line numbers and verify text content. Line numbers change after each script run.
137
-
138
- 5. **Pack the document**: After all batches are complete, convert the unpacked directory back to .docx:
139
- ```bash
140
- python ooxml/scripts/pack.py unpacked reviewed-document.docx
141
- ```
142
-
143
- 6. **Final verification**: Do a comprehensive check of the complete document:
144
- - Convert final document to markdown:
145
- ```bash
146
- pandoc --track-changes=all reviewed-document.docx -o verification.md
147
- ```
148
- - Verify ALL changes were applied correctly:
149
- ```bash
150
- grep "original phrase" verification.md # Should NOT find it
151
- grep "replacement phrase" verification.md # Should find it
152
- ```
153
- - Check that no unintended changes were introduced
154
-
155
-
156
- ## Converting Documents to Images
157
-
158
- To visually analyze Word documents, convert them to images using a two-step process:
159
-
160
- 1. **Convert DOCX to PDF**:
161
- ```bash
162
- soffice --headless --convert-to pdf document.docx
163
- ```
164
-
165
- 2. **Convert PDF pages to JPEG images**:
166
- ```bash
167
- pdftoppm -jpeg -r 150 document.pdf page
168
- ```
169
- This creates files like `page-1.jpg`, `page-2.jpg`, etc.
170
-
171
- Options:
172
- - `-r 150`: Sets resolution to 150 DPI (adjust for quality/size balance)
173
- - `-jpeg`: Output JPEG format (use `-png` for PNG if preferred)
174
- - `-f N`: First page to convert (e.g., `-f 2` starts from page 2)
175
- - `-l N`: Last page to convert (e.g., `-l 5` stops at page 5)
176
- - `page`: Prefix for output files
177
-
178
- Example for specific range:
179
- ```bash
180
- pdftoppm -jpeg -r 150 -f 2 -l 5 document.pdf page # Converts only pages 2-5
181
- ```
182
-
183
- ## Code Style Guidelines
184
- **IMPORTANT**: When generating code for DOCX operations:
185
- - Write concise code
186
- - Avoid verbose variable names and redundant operations
187
- - Avoid unnecessary print statements
188
-
189
- ## Dependencies
190
-
191
- Required dependencies (install if not available):
192
-
193
- - **pandoc**: `sudo apt-get install pandoc` (for text extraction)
194
- - **docx**: `npm install -g docx` (for creating new documents)
195
- - **LibreOffice**: `sudo apt-get install libreoffice` (for PDF conversion)
196
- - **Poppler**: `sudo apt-get install poppler-utils` (for pdftoppm to convert PDF to images)
197
- - **defusedxml**: `pip install defusedxml` (for secure XML parsing)
198
-
199
- ## Docx JS
200
-
201
- # DOCX Library Tutorial
202
-
203
- Generate .docx files with JavaScript/TypeScript.
204
-
205
- **Important: Read this entire document before starting.** Critical formatting rules and common pitfalls are covered throughout - skipping sections may result in corrupted files or rendering issues.
206
-
207
- ## Setup
208
- Assumes docx is already installed globally
209
- If not installed: `npm install -g docx`
210
-
211
- ```javascript
212
- const { Document, Packer, Paragraph, TextRun, Table, TableRow, TableCell, ImageRun, Media,
213
- Header, Footer, AlignmentType, PageOrientation, LevelFormat, ExternalHyperlink,
214
- InternalHyperlink, TableOfContents, HeadingLevel, BorderStyle, WidthType, TabStopType,
215
- TabStopPosition, UnderlineType, ShadingType, VerticalAlign, SymbolRun, PageNumber,
216
- FootnoteReferenceRun, Footnote, PageBreak } = require('docx');
217
-
218
- // Create & Save
219
- const doc = new Document({ sections: [{ children: [/* content */] }] });
220
- Packer.toBuffer(doc).then(buffer => fs.writeFileSync("doc.docx", buffer)); // Node.js
221
- Packer.toBlob(doc).then(blob => { /* download logic */ }); // Browser
222
- ```
223
-
224
- ## Text & Formatting
225
- ```javascript
226
- // IMPORTANT: Never use \n for line breaks - always use separate Paragraph elements
227
- // ❌ WRONG: new TextRun("Line 1\nLine 2")
228
- // ✅ CORRECT: new Paragraph({ children: [new TextRun("Line 1")] }), new Paragraph({ children: [new TextRun("Line 2")] })
229
-
230
- // Basic text with all formatting options
231
- new Paragraph({
232
- alignment: AlignmentType.CENTER,
233
- spacing: { before: 200, after: 200 },
234
- indent: { left: 720, right: 720 },
235
- children: [
236
- new TextRun({ text: "Bold", bold: true }),
237
- new TextRun({ text: "Italic", italics: true }),
238
- new TextRun({ text: "Underlined", underline: { type: UnderlineType.DOUBLE, color: "FF0000" } }),
239
- new TextRun({ text: "Colored", color: "FF0000", size: 28, font: "Arial" }), // Arial default
240
- new TextRun({ text: "Highlighted", highlight: "yellow" }),
241
- new TextRun({ text: "Strikethrough", strike: true }),
242
- new TextRun({ text: "x2", superScript: true }),
243
- new TextRun({ text: "H2O", subScript: true }),
244
- new TextRun({ text: "SMALL CAPS", smallCaps: true }),
245
- new SymbolRun({ char: "2022", font: "Symbol" }), // Bullet •
246
- new SymbolRun({ char: "00A9", font: "Arial" }) // Copyright © - Arial for symbols
247
- ]
248
- })
249
- ```
250
-
251
- ## Styles & Professional Formatting
252
-
253
- ```javascript
254
- const doc = new Document({
255
- styles: {
256
- default: { document: { run: { font: "Arial", size: 24 } } }, // 12pt default
257
- paragraphStyles: [
258
- // Document title style - override built-in Title style
259
- { id: "Title", name: "Title", basedOn: "Normal",
260
- run: { size: 56, bold: true, color: "000000", font: "Arial" },
261
- paragraph: { spacing: { before: 240, after: 120 }, alignment: AlignmentType.CENTER } },
262
- // IMPORTANT: Override built-in heading styles by using their exact IDs
263
- { id: "Heading1", name: "Heading 1", basedOn: "Normal", next: "Normal", quickFormat: true,
264
- run: { size: 32, bold: true, color: "000000", font: "Arial" }, // 16pt
265
- paragraph: { spacing: { before: 240, after: 240 }, outlineLevel: 0 } }, // Required for TOC
266
- { id: "Heading2", name: "Heading 2", basedOn: "Normal", next: "Normal", quickFormat: true,
267
- run: { size: 28, bold: true, color: "000000", font: "Arial" }, // 14pt
268
- paragraph: { spacing: { before: 180, after: 180 }, outlineLevel: 1 } },
269
- // Custom styles use your own IDs
270
- { id: "myStyle", name: "My Style", basedOn: "Normal",
271
- run: { size: 28, bold: true, color: "000000" },
272
- paragraph: { spacing: { after: 120 }, alignment: AlignmentType.CENTER } }
273
- ],
274
- characterStyles: [{ id: "myCharStyle", name: "My Char Style",
275
- run: { color: "FF0000", bold: true, underline: { type: UnderlineType.SINGLE } } }]
276
- },
277
- sections: [{
278
- properties: { page: { margin: { top: 1440, right: 1440, bottom: 1440, left: 1440 } } },
279
- children: [
280
- new Paragraph({ heading: HeadingLevel.TITLE, children: [new TextRun("Document Title")] }), // Uses overridden Title style
281
- new Paragraph({ heading: HeadingLevel.HEADING_1, children: [new TextRun("Heading 1")] }), // Uses overridden Heading1 style
282
- new Paragraph({ style: "myStyle", children: [new TextRun("Custom paragraph style")] }),
283
- new Paragraph({ children: [
284
- new TextRun("Normal with "),
285
- new TextRun({ text: "custom char style", style: "myCharStyle" })
286
- ]})
287
- ]
288
- }]
289
- });
290
- ```
291
-
292
- **Professional Font Combinations:**
293
- - **Arial (Headers) + Arial (Body)** - Most universally supported, clean and professional
294
- - **Times New Roman (Headers) + Arial (Body)** - Classic serif headers with modern sans-serif body
295
- - **Georgia (Headers) + Verdana (Body)** - Optimized for screen reading, elegant contrast
296
-
297
- **Key Styling Principles:**
298
- - **Override built-in styles**: Use exact IDs like "Heading1", "Heading2", "Heading3" to override Word's built-in heading styles
299
- - **HeadingLevel constants**: `HeadingLevel.HEADING_1` uses "Heading1" style, `HeadingLevel.HEADING_2` uses "Heading2" style, etc.
300
- - **Include outlineLevel**: Set `outlineLevel: 0` for H1, `outlineLevel: 1` for H2, etc. to ensure TOC works correctly
301
- - **Use custom styles** instead of inline formatting for consistency
302
- - **Set a default font** using `styles.default.document.run.font` - Arial is universally supported
303
- - **Establish visual hierarchy** with different font sizes (titles > headers > body)
304
- - **Add proper spacing** with `before` and `after` paragraph spacing
305
- - **Use colors sparingly**: Default to black (000000) and shades of gray for titles and headings (heading 1, heading 2, etc.)
306
- - **Set consistent margins** (1440 = 1 inch is standard)
307
-
308
-
309
- ## Lists (ALWAYS USE PROPER LISTS - NEVER USE UNICODE BULLETS)
310
- ```javascript
311
- // Bullets - ALWAYS use the numbering config, NOT unicode symbols
312
- // CRITICAL: Use LevelFormat.BULLET constant, NOT the string "bullet"
313
- const doc = new Document({
314
- numbering: {
315
- config: [
316
- { reference: "bullet-list",
317
- levels: [{ level: 0, format: LevelFormat.BULLET, text: "•", alignment: AlignmentType.LEFT,
318
- style: { paragraph: { indent: { left: 720, hanging: 360 } } } }] },
319
- { reference: "first-numbered-list",
320
- levels: [{ level: 0, format: LevelFormat.DECIMAL, text: "%1.", alignment: AlignmentType.LEFT,
321
- style: { paragraph: { indent: { left: 720, hanging: 360 } } } }] },
322
- { reference: "second-numbered-list", // Different reference = restarts at 1
323
- levels: [{ level: 0, format: LevelFormat.DECIMAL, text: "%1.", alignment: AlignmentType.LEFT,
324
- style: { paragraph: { indent: { left: 720, hanging: 360 } } } }] }
325
- ]
326
- },
327
- sections: [{
328
- children: [
329
- // Bullet list items
330
- new Paragraph({ numbering: { reference: "bullet-list", level: 0 },
331
- children: [new TextRun("First bullet point")] }),
332
- new Paragraph({ numbering: { reference: "bullet-list", level: 0 },
333
- children: [new TextRun("Second bullet point")] }),
334
- // Numbered list items
335
- new Paragraph({ numbering: { reference: "first-numbered-list", level: 0 },
336
- children: [new TextRun("First numbered item")] }),
337
- new Paragraph({ numbering: { reference: "first-numbered-list", level: 0 },
338
- children: [new TextRun("Second numbered item")] }),
339
- // ⚠️ CRITICAL: Different reference = INDEPENDENT list that restarts at 1
340
- // Same reference = CONTINUES previous numbering
341
- new Paragraph({ numbering: { reference: "second-numbered-list", level: 0 },
342
- children: [new TextRun("Starts at 1 again (because different reference)")] })
343
- ]
344
- }]
345
- });
346
-
347
- // ⚠️ CRITICAL NUMBERING RULE: Each reference creates an INDEPENDENT numbered list
348
- // - Same reference = continues numbering (1, 2, 3... then 4, 5, 6...)
349
- // - Different reference = restarts at 1 (1, 2, 3... then 1, 2, 3...)
350
- // Use unique reference names for each separate numbered section!
351
-
352
- // ⚠️ CRITICAL: NEVER use unicode bullets - they create fake lists that don't work properly
353
- // new TextRun("• Item") // WRONG
354
- // new SymbolRun({ char: "2022" }) // WRONG
355
- // ✅ ALWAYS use numbering config with LevelFormat.BULLET for real Word lists
356
- ```
357
-
358
- ## Tables
359
- ```javascript
360
- // Complete table with margins, borders, headers, and bullet points
361
- const tableBorder = { style: BorderStyle.SINGLE, size: 1, color: "CCCCCC" };
362
- const cellBorders = { top: tableBorder, bottom: tableBorder, left: tableBorder, right: tableBorder };
363
-
364
- new Table({
365
- columnWidths: [4680, 4680], // ⚠️ CRITICAL: Set column widths at table level - values in DXA (twentieths of a point)
366
- margins: { top: 100, bottom: 100, left: 180, right: 180 }, // Set once for all cells
367
- rows: [
368
- new TableRow({
369
- tableHeader: true,
370
- children: [
371
- new TableCell({
372
- borders: cellBorders,
373
- width: { size: 4680, type: WidthType.DXA }, // ALSO set width on each cell
374
- // ⚠️ CRITICAL: Always use ShadingType.CLEAR to prevent black backgrounds in Word.
375
- shading: { fill: "D5E8F0", type: ShadingType.CLEAR },
376
- verticalAlign: VerticalAlign.CENTER,
377
- children: [new Paragraph({
378
- alignment: AlignmentType.CENTER,
379
- children: [new TextRun({ text: "Header", bold: true, size: 22 })]
380
- })]
381
- }),
382
- new TableCell({
383
- borders: cellBorders,
384
- width: { size: 4680, type: WidthType.DXA }, // ALSO set width on each cell
385
- shading: { fill: "D5E8F0", type: ShadingType.CLEAR },
386
- children: [new Paragraph({
387
- alignment: AlignmentType.CENTER,
388
- children: [new TextRun({ text: "Bullet Points", bold: true, size: 22 })]
389
- })]
390
- })
391
- ]
392
- }),
393
- new TableRow({
394
- children: [
395
- new TableCell({
396
- borders: cellBorders,
397
- width: { size: 4680, type: WidthType.DXA }, // ALSO set width on each cell
398
- children: [new Paragraph({ children: [new TextRun("Regular data")] })]
399
- }),
400
- new TableCell({
401
- borders: cellBorders,
402
- width: { size: 4680, type: WidthType.DXA }, // ALSO set width on each cell
403
- children: [
404
- new Paragraph({
405
- numbering: { reference: "bullet-list", level: 0 },
406
- children: [new TextRun("First bullet point")]
407
- }),
408
- new Paragraph({
409
- numbering: { reference: "bullet-list", level: 0 },
410
- children: [new TextRun("Second bullet point")]
411
- })
412
- ]
413
- })
414
- ]
415
- })
416
- ]
417
- })
418
- ```
419
-
420
- **IMPORTANT: Table Width & Borders**
421
- - Use BOTH `columnWidths: [width1, width2, ...]` array AND `width: { size: X, type: WidthType.DXA }` on each cell
422
- - Values in DXA (twentieths of a point): 1440 = 1 inch, Letter usable width = 9360 DXA (with 1" margins)
423
- - Apply borders to individual `TableCell` elements, NOT the `Table` itself
424
-
425
- **Precomputed Column Widths (Letter size with 1" margins = 9360 DXA total):**
426
- - **2 columns:** `columnWidths: [4680, 4680]` (equal width)
427
- - **3 columns:** `columnWidths: [3120, 3120, 3120]` (equal width)
428
-
429
- ## Links & Navigation
430
- ```javascript
431
- // TOC (requires headings) - CRITICAL: Use HeadingLevel only, NOT custom styles
432
- // ❌ WRONG: new Paragraph({ heading: HeadingLevel.HEADING_1, style: "customHeader", children: [new TextRun("Title")] })
433
- // ✅ CORRECT: new Paragraph({ heading: HeadingLevel.HEADING_1, children: [new TextRun("Title")] })
434
- new TableOfContents("Table of Contents", { hyperlink: true, headingStyleRange: "1-3" }),
435
-
436
- // External link
437
- new Paragraph({
438
- children: [new ExternalHyperlink({
439
- children: [new TextRun({ text: "Google", style: "Hyperlink" })],
440
- link: "https://www.google.com"
441
- })]
442
- }),
443
-
444
- // Internal link & bookmark
445
- new Paragraph({
446
- children: [new InternalHyperlink({
447
- children: [new TextRun({ text: "Go to Section", style: "Hyperlink" })],
448
- anchor: "section1"
449
- })]
450
- }),
451
- new Paragraph({
452
- children: [new TextRun("Section Content")],
453
- bookmark: { id: "section1", name: "section1" }
454
- }),
455
- ```
456
-
457
- ## Images & Media
458
- ```javascript
459
- // Basic image with sizing & positioning
460
- // CRITICAL: Always specify 'type' parameter - it's REQUIRED for ImageRun
461
- new Paragraph({
462
- alignment: AlignmentType.CENTER,
463
- children: [new ImageRun({
464
- type: "png", // NEW REQUIREMENT: Must specify image type (png, jpg, jpeg, gif, bmp, svg)
465
- data: fs.readFileSync("image.png"),
466
- transformation: { width: 200, height: 150, rotation: 0 }, // rotation in degrees
467
- altText: { title: "Logo", description: "Company logo", name: "Name" } // IMPORTANT: All three fields are required
468
- })]
469
- })
470
- ```
471
-
472
- ## Page Breaks
473
- ```javascript
474
- // Manual page break
475
- new Paragraph({ children: [new PageBreak()] }),
476
-
477
- // Page break before paragraph
478
- new Paragraph({
479
- pageBreakBefore: true,
480
- children: [new TextRun("This starts on a new page")]
481
- })
482
-
483
- // ⚠️ CRITICAL: NEVER use PageBreak standalone - it will create invalid XML that Word cannot open
484
- // ❌ WRONG: new PageBreak()
485
- // ✅ CORRECT: new Paragraph({ children: [new PageBreak()] })
486
- ```
487
-
488
- ## Headers/Footers & Page Setup
489
- ```javascript
490
- const doc = new Document({
491
- sections: [{
492
- properties: {
493
- page: {
494
- margin: { top: 1440, right: 1440, bottom: 1440, left: 1440 }, // 1440 = 1 inch
495
- size: { orientation: PageOrientation.LANDSCAPE },
496
- pageNumbers: { start: 1, formatType: "decimal" } // "upperRoman", "lowerRoman", "upperLetter", "lowerLetter"
497
- }
498
- },
499
- headers: {
500
- default: new Header({ children: [new Paragraph({
501
- alignment: AlignmentType.RIGHT,
502
- children: [new TextRun("Header Text")]
503
- })] })
504
- },
505
- footers: {
506
- default: new Footer({ children: [new Paragraph({
507
- alignment: AlignmentType.CENTER,
508
- children: [new TextRun("Page "), new TextRun({ children: [PageNumber.CURRENT] }), new TextRun(" of "), new TextRun({ children: [PageNumber.TOTAL_PAGES] })]
509
- })] })
510
- },
511
- children: [/* content */]
512
- }]
513
- });
514
- ```
515
-
516
- ## Tabs
517
- ```javascript
518
- new Paragraph({
519
- tabStops: [
520
- { type: TabStopType.LEFT, position: TabStopPosition.MAX / 4 },
521
- { type: TabStopType.CENTER, position: TabStopPosition.MAX / 2 },
522
- { type: TabStopType.RIGHT, position: TabStopPosition.MAX * 3 / 4 }
523
- ],
524
- children: [new TextRun("Left\tCenter\tRight")]
525
- })
526
- ```
527
-
528
- ## Constants & Quick Reference
529
- - **Underlines:** `SINGLE`, `DOUBLE`, `WAVY`, `DASH`
530
- - **Borders:** `SINGLE`, `DOUBLE`, `DASHED`, `DOTTED`
531
- - **Numbering:** `DECIMAL` (1,2,3), `UPPER_ROMAN` (I,II,III), `LOWER_LETTER` (a,b,c)
532
- - **Tabs:** `LEFT`, `CENTER`, `RIGHT`, `DECIMAL`
533
- - **Symbols:** `"2022"` (•), `"00A9"` (©), `"00AE"` (®), `"2122"` (™), `"00B0"` (°), `"F070"` (✓), `"F0FC"` (✗)
534
-
535
- ## Critical Issues & Common Mistakes
536
- - **CRITICAL: PageBreak must ALWAYS be inside a Paragraph** - standalone PageBreak creates invalid XML that Word cannot open
537
- - **ALWAYS use ShadingType.CLEAR for table cell shading** - Never use ShadingType.SOLID (causes black background).
538
- - Measurements in DXA (1440 = 1 inch) | Each table cell needs ≥1 Paragraph | TOC requires HeadingLevel styles only
539
- - **ALWAYS use custom styles** with Arial font for professional appearance and proper visual hierarchy
540
- - **ALWAYS set a default font** using `styles.default.document.run.font` - Arial recommended
541
- - **ALWAYS use columnWidths array for tables** + individual cell widths for compatibility
542
- - **NEVER use unicode symbols for bullets** - always use proper numbering configuration with `LevelFormat.BULLET` constant (NOT the string "bullet")
543
- - **NEVER use \n for line breaks anywhere** - always use separate Paragraph elements for each line
544
- - **ALWAYS use TextRun objects within Paragraph children** - never use text property directly on Paragraph
545
- - **CRITICAL for images**: ImageRun REQUIRES `type` parameter - always specify "png", "jpg", "jpeg", "gif", "bmp", or "svg"
546
- - **CRITICAL for bullets**: Must use `LevelFormat.BULLET` constant, not string "bullet", and include `text: "•"` for the bullet character
547
- - **CRITICAL for numbering**: Each numbering reference creates an INDEPENDENT list. Same reference = continues numbering (1,2,3 then 4,5,6). Different reference = restarts at 1 (1,2,3 then 1,2,3). Use unique reference names for each separate numbered section!
548
- - **CRITICAL for TOC**: When using TableOfContents, headings must use HeadingLevel ONLY - do NOT add custom styles to heading paragraphs or TOC will break
549
- - **Tables**: Set `columnWidths` array + individual cell widths, apply borders to cells not table
550
- - **Set table margins at TABLE level** for consistent cell padding (avoids repetition per cell)
551
-
552
- ## Ooxml
553
-
554
- # Office Open XML Technical Reference
555
-
556
- **Important: Read this entire document before starting.** This document covers:
557
- - [Technical Guidelines](#technical-guidelines) - Schema compliance rules and validation requirements
558
- - [Document Content Patterns](#document-content-patterns) - XML patterns for headings, lists, tables, formatting, etc.
559
- - [Document Library (Python)](#document-library-python) - Recommended approach for OOXML manipulation with automatic infrastructure setup
560
- - [Tracked Changes (Redlining)](#tracked-changes-redlining) - XML patterns for implementing tracked changes
561
-
562
- ## Technical Guidelines
563
-
564
- ### Schema Compliance
565
- - **Element ordering in `<w:pPr>`**: `<w:pStyle>`, `<w:numPr>`, `<w:spacing>`, `<w:ind>`, `<w:jc>`
566
- - **Whitespace**: Add `xml:space='preserve'` to `<w:t>` elements with leading/trailing spaces
567
- - **Unicode**: Escape characters in ASCII content: `"` becomes `&#8220;`
568
- - **Character encoding reference**: Curly quotes `""` become `&#8220;&#8221;`, apostrophe `'` becomes `&#8217;`, em-dash `—` becomes `&#8212;`
569
- - **Tracked changes**: Use `<w:del>` and `<w:ins>` tags with `w:author="Claude"` outside `<w:r>` elements
570
- - **Critical**: `<w:ins>` closes with `</w:ins>`, `<w:del>` closes with `</w:del>` - never mix
571
- - **RSIDs must be 8-digit hex**: Use values like `00AB1234` (only 0-9, A-F characters)
572
- - **trackRevisions placement**: Add `<w:trackRevisions/>` after `<w:proofState>` in settings.xml
573
- - **Images**: Add to `word/media/`, reference in `document.xml`, set dimensions to prevent overflow
574
-
575
- ## Document Content Patterns
576
-
577
- ### Basic Structure
578
- ```xml
579
- <w:p>
580
- <w:r><w:t>Text content</w:t></w:r>
581
- </w:p>
582
- ```
583
-
584
- ### Headings and Styles
585
- ```xml
586
- <w:p>
587
- <w:pPr>
588
- <w:pStyle w:val="Title"/>
589
- <w:jc w:val="center"/>
590
- </w:pPr>
591
- <w:r><w:t>Document Title</w:t></w:r>
592
- </w:p>
593
-
594
- <w:p>
595
- <w:pPr><w:pStyle w:val="Heading2"/></w:pPr>
596
- <w:r><w:t>Section Heading</w:t></w:r>
597
- </w:p>
598
- ```
599
-
600
- ### Text Formatting
601
- ```xml
602
- <!-- Bold -->
603
- <w:r><w:rPr><w:b/><w:bCs/></w:rPr><w:t>Bold</w:t></w:r>
604
- <!-- Italic -->
605
- <w:r><w:rPr><w:i/><w:iCs/></w:rPr><w:t>Italic</w:t></w:r>
606
- <!-- Underline -->
607
- <w:r><w:rPr><w:u w:val="single"/></w:rPr><w:t>Underlined</w:t></w:r>
608
- <!-- Highlight -->
609
- <w:r><w:rPr><w:highlight w:val="yellow"/></w:rPr><w:t>Highlighted</w:t></w:r>
610
- ```
611
-
612
- ### Lists
613
- ```xml
614
- <!-- Numbered list -->
615
- <w:p>
616
- <w:pPr>
617
- <w:pStyle w:val="ListParagraph"/>
618
- <w:numPr><w:ilvl w:val="0"/><w:numId w:val="1"/></w:numPr>
619
- <w:spacing w:before="240"/>
620
- </w:pPr>
621
- <w:r><w:t>First item</w:t></w:r>
622
- </w:p>
623
-
624
- <!-- Restart numbered list at 1 - use different numId -->
625
- <w:p>
626
- <w:pPr>
627
- <w:pStyle w:val="ListParagraph"/>
628
- <w:numPr><w:ilvl w:val="0"/><w:numId w:val="2"/></w:numPr>
629
- <w:spacing w:before="240"/>
630
- </w:pPr>
631
- <w:r><w:t>New list item 1</w:t></w:r>
632
- </w:p>
633
-
634
- <!-- Bullet list (level 2) -->
635
- <w:p>
636
- <w:pPr>
637
- <w:pStyle w:val="ListParagraph"/>
638
- <w:numPr><w:ilvl w:val="1"/><w:numId w:val="1"/></w:numPr>
639
- <w:spacing w:before="240"/>
640
- <w:ind w:left="900"/>
641
- </w:pPr>
642
- <w:r><w:t>Bullet item</w:t></w:r>
643
- </w:p>
644
- ```
645
-
646
- ### Tables
647
- ```xml
648
- <w:tbl>
649
- <w:tblPr>
650
- <w:tblStyle w:val="TableGrid"/>
651
- <w:tblW w:w="0" w:type="auto"/>
652
- </w:tblPr>
653
- <w:tblGrid>
654
- <w:gridCol w:w="4675"/><w:gridCol w:w="4675"/>
655
- </w:tblGrid>
656
- <w:tr>
657
- <w:tc>
658
- <w:tcPr><w:tcW w:w="4675" w:type="dxa"/></w:tcPr>
659
- <w:p><w:r><w:t>Cell 1</w:t></w:r></w:p>
660
- </w:tc>
661
- <w:tc>
662
- <w:tcPr><w:tcW w:w="4675" w:type="dxa"/></w:tcPr>
663
- <w:p><w:r><w:t>Cell 2</w:t></w:r></w:p>
664
- </w:tc>
665
- </w:tr>
666
- </w:tbl>
667
- ```
668
-
669
- ### Layout
670
- ```xml
671
- <!-- Page break before new section (common pattern) -->
672
- <w:p>
673
- <w:r>
674
- <w:br w:type="page"/>
675
- </w:r>
676
- </w:p>
677
- <w:p>
678
- <w:pPr>
679
- <w:pStyle w:val="Heading1"/>
680
- </w:pPr>
681
- <w:r>
682
- <w:t>New Section Title</w:t>
683
- </w:r>
684
- </w:p>
685
-
686
- <!-- Centered paragraph -->
687
- <w:p>
688
- <w:pPr>
689
- <w:spacing w:before="240" w:after="0"/>
690
- <w:jc w:val="center"/>
691
- </w:pPr>
692
- <w:r><w:t>Centered text</w:t></w:r>
693
- </w:p>
694
-
695
- <!-- Font change - paragraph level (applies to all runs) -->
696
- <w:p>
697
- <w:pPr>
698
- <w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New"/></w:rPr>
699
- </w:pPr>
700
- <w:r><w:t>Monospace text</w:t></w:r>
701
- </w:p>
702
-
703
- <!-- Font change - run level (specific to this text) -->
704
- <w:p>
705
- <w:r>
706
- <w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New"/></w:rPr>
707
- <w:t>This text is Courier New</w:t>
708
- </w:r>
709
- <w:r><w:t> and this text uses default font</w:t></w:r>
710
- </w:p>
711
- ```
712
-
713
- ## File Updates
714
-
715
- When adding content, update these files:
716
-
717
- **`word/_rels/document.xml.rels`:**
718
- ```xml
719
- <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering" Target="numbering.xml"/>
720
- <Relationship Id="rId5" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="media/image1.png"/>
721
- ```
722
-
723
- **`[Content_Types].xml`:**
724
- ```xml
725
- <Default Extension="png" ContentType="image/png"/>
726
- <Override PartName="/word/numbering.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml"/>
727
- ```
728
-
729
- ### Images
730
- **CRITICAL**: Calculate dimensions to prevent page overflow and maintain aspect ratio.
731
-
732
- ```xml
733
- <!-- Minimal required structure -->
734
- <w:p>
735
- <w:r>
736
- <w:drawing>
737
- <wp:inline>
738
- <wp:extent cx="2743200" cy="1828800"/>
739
- <wp:docPr id="1" name="Picture 1"/>
740
- <a:graphic xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
741
- <a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/picture">
742
- <pic:pic xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture">
743
- <pic:nvPicPr>
744
- <pic:cNvPr id="0" name="image1.png"/>
745
- <pic:cNvPicPr/>
746
- </pic:nvPicPr>
747
- <pic:blipFill>
748
- <a:blip r:embed="rId5"/>
749
- <!-- Add for stretch fill with aspect ratio preservation -->
750
- <a:stretch>
751
- <a:fillRect/>
752
- </a:stretch>
753
- </pic:blipFill>
754
- <pic:spPr>
755
- <a:xfrm>
756
- <a:ext cx="2743200" cy="1828800"/>
757
- </a:xfrm>
758
- <a:prstGeom prst="rect"/>
759
- </pic:spPr>
760
- </pic:pic>
761
- </a:graphicData>
762
- </a:graphic>
763
- </wp:inline>
764
- </w:drawing>
765
- </w:r>
766
- </w:p>
767
- ```
768
-
769
- ### Links (Hyperlinks)
770
-
771
- **IMPORTANT**: All hyperlinks (both internal and external) require the Hyperlink style to be defined in styles.xml. Without this style, links will look like regular text instead of blue underlined clickable links.
772
-
773
- **External Links:**
774
- ```xml
775
- <!-- In document.xml -->
776
- <w:hyperlink r:id="rId5">
777
- <w:r>
778
- <w:rPr><w:rStyle w:val="Hyperlink"/></w:rPr>
779
- <w:t>Link Text</w:t>
780
- </w:r>
781
- </w:hyperlink>
782
-
783
- <!-- In word/_rels/document.xml.rels -->
784
- <Relationship Id="rId5" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink"
785
- Target="https://www.example.com/" TargetMode="External"/>
786
- ```
787
-
788
- **Internal Links:**
789
-
790
- ```xml
791
- <!-- Link to bookmark -->
792
- <w:hyperlink w:anchor="myBookmark">
793
- <w:r>
794
- <w:rPr><w:rStyle w:val="Hyperlink"/></w:rPr>
795
- <w:t>Link Text</w:t>
796
- </w:r>
797
- </w:hyperlink>
798
-
799
- <!-- Bookmark target -->
800
- <w:bookmarkStart w:id="0" w:name="myBookmark"/>
801
- <w:r><w:t>Target content</w:t></w:r>
802
- <w:bookmarkEnd w:id="0"/>
803
- ```
804
-
805
- **Hyperlink Style (required in styles.xml):**
806
- ```xml
807
- <w:style w:type="character" w:styleId="Hyperlink">
808
- <w:name w:val="Hyperlink"/>
809
- <w:basedOn w:val="DefaultParagraphFont"/>
810
- <w:uiPriority w:val="99"/>
811
- <w:unhideWhenUsed/>
812
- <w:rPr>
813
- <w:color w:val="467886" w:themeColor="hyperlink"/>
814
- <w:u w:val="single"/>
815
- </w:rPr>
816
- </w:style>
817
- ```
818
-
819
- ## Document Library (Python)
820
-
821
- Use the Document class from `scripts/document.py` for all tracked changes and comments. It automatically handles infrastructure setup (people.xml, RSIDs, settings.xml, comment files, relationships, content types). Only use direct XML manipulation for complex scenarios not supported by the library.
822
-
823
- **Working with Unicode and Entities:**
824
- - **Searching**: Both entity notation and Unicode characters work - `contains="&#8220;Company"` and `contains="\u201cCompany"` find the same text
825
- - **Replacing**: Use either entities (`&#8220;`) or Unicode (`\u201c`) - both work and will be converted appropriately based on the file's encoding (ascii → entities, utf-8 → Unicode)
826
-
827
- ### Initialization
828
-
829
- **Find the docx skill root** (directory containing `scripts/` and `ooxml/`):
830
- ```bash
831
- # Search for document.py to locate the skill root
832
- # Note: /mnt/skills is used here as an example; check your context for the actual location
833
- find /mnt/skills -name "document.py" -path "*/docx/scripts/*" 2>/dev/null | head -1
834
- # Example output: /mnt/skills/docx/scripts/document.py
835
- # Skill root is: /mnt/skills/docx
836
- ```
837
-
838
- **Run your script with PYTHONPATH** set to the docx skill root:
839
- ```bash
840
- PYTHONPATH=/mnt/skills/docx python your_script.py
841
- ```
842
-
843
- **In your script**, import from the skill root:
844
- ```python
845
- from scripts.document import Document, DocxXMLEditor
846
-
847
- # Basic initialization (automatically creates temp copy and sets up infrastructure)
848
- doc = Document('unpacked')
849
-
850
- # Customize author and initials
851
- doc = Document('unpacked', author="John Doe", initials="JD")
852
-
853
- # Enable track revisions mode
854
- doc = Document('unpacked', track_revisions=True)
855
-
856
- # Specify custom RSID (auto-generated if not provided)
857
- doc = Document('unpacked', rsid="07DC5ECB")
858
- ```
859
-
860
- ### Creating Tracked Changes
861
-
862
- **CRITICAL**: Only mark text that actually changes. Keep ALL unchanged text outside `<w:del>`/`<w:ins>` tags. Marking unchanged text makes edits unprofessional and harder to review.
863
-
864
- **Attribute Handling**: The Document class auto-injects attributes (w:id, w:date, w:rsidR, w:rsidDel, w16du:dateUtc, xml:space) into new elements. When preserving unchanged text from the original document, copy the original `<w:r>` element with its existing attributes to maintain document integrity.
865
-
866
- **Method Selection Guide**:
867
- - **Adding your own changes to regular text**: Use `replace_node()` with `<w:del>`/`<w:ins>` tags, or `suggest_deletion()` for removing entire `<w:r>` or `<w:p>` elements
868
- - **Partially modifying another author's tracked change**: Use `replace_node()` to nest your changes inside their `<w:ins>`/`<w:del>`
869
- - **Completely rejecting another author's insertion**: Use `revert_insertion()` on the `<w:ins>` element (NOT `suggest_deletion()`)
870
- - **Completely rejecting another author's deletion**: Use `revert_deletion()` on the `<w:del>` element to restore deleted content using tracked changes
871
-
872
- ```python
873
- # Minimal edit - change one word: "The report is monthly" → "The report is quarterly"
874
- # Original: <w:r w:rsidR="00AB12CD"><w:rPr><w:rFonts w:ascii="Calibri"/></w:rPr><w:t>The report is monthly</w:t></w:r>
875
- node = doc["word/document.xml"].get_node(tag="w:r", contains="The report is monthly")
876
- rpr = tags[0].toxml() if (tags := node.getElementsByTagName("w:rPr")) else ""
877
- replacement = f'<w:r w:rsidR="00AB12CD">{rpr}<w:t>The report is </w:t></w:r><w:del><w:r>{rpr}<w:delText>monthly</w:delText></w:r></w:del><w:ins><w:r>{rpr}<w:t>quarterly</w:t></w:r></w:ins>'
878
- doc["word/document.xml"].replace_node(node, replacement)
879
-
880
- # Minimal edit - change number: "within 30 days" → "within 45 days"
881
- # Original: <w:r w:rsidR="00XYZ789"><w:rPr><w:rFonts w:ascii="Calibri"/></w:rPr><w:t>within 30 days</w:t></w:r>
882
- node = doc["word/document.xml"].get_node(tag="w:r", contains="within 30 days")
883
- rpr = tags[0].toxml() if (tags := node.getElementsByTagName("w:rPr")) else ""
884
- replacement = f'<w:r w:rsidR="00XYZ789">{rpr}<w:t>within </w:t></w:r><w:del><w:r>{rpr}<w:delText>30</w:delText></w:r></w:del><w:ins><w:r>{rpr}<w:t>45</w:t></w:r></w:ins><w:r w:rsidR="00XYZ789">{rpr}<w:t> days</w:t></w:r>'
885
- doc["word/document.xml"].replace_node(node, replacement)
886
-
887
- # Complete replacement - preserve formatting even when replacing all text
888
- node = doc["word/document.xml"].get_node(tag="w:r", contains="apple")
889
- rpr = tags[0].toxml() if (tags := node.getElementsByTagName("w:rPr")) else ""
890
- replacement = f'<w:del><w:r>{rpr}<w:delText>apple</w:delText></w:r></w:del><w:ins><w:r>{rpr}<w:t>banana orange</w:t></w:r></w:ins>'
891
- doc["word/document.xml"].replace_node(node, replacement)
892
-
893
- # Insert new content (no attributes needed - auto-injected)
894
- node = doc["word/document.xml"].get_node(tag="w:r", contains="existing text")
895
- doc["word/document.xml"].insert_after(node, '<w:ins><w:r><w:t>new text</w:t></w:r></w:ins>')
896
-
897
- # Partially delete another author's insertion
898
- # Original: <w:ins w:author="Jane Smith" w:date="..."><w:r><w:t>quarterly financial report</w:t></w:r></w:ins>
899
- # Goal: Delete only "financial" to make it "quarterly report"
900
- node = doc["word/document.xml"].get_node(tag="w:ins", attrs={"w:id": "5"})
901
- # IMPORTANT: Preserve w:author="Jane Smith" on the outer <w:ins> to maintain authorship
902
- replacement = '''<w:ins w:author="Jane Smith" w:date="2025-01-15T10:00:00Z">
903
- <w:r><w:t>quarterly </w:t></w:r>
904
- <w:del><w:r><w:delText>financial </w:delText></w:r></w:del>
905
- <w:r><w:t>report</w:t></w:r>
906
- </w:ins>'''
907
- doc["word/document.xml"].replace_node(node, replacement)
908
-
909
- # Change part of another author's insertion
910
- # Original: <w:ins w:author="Jane Smith"><w:r><w:t>in silence, safe and sound</w:t></w:r></w:ins>
911
- # Goal: Change "safe and sound" to "soft and unbound"
912
- node = doc["word/document.xml"].get_node(tag="w:ins", attrs={"w:id": "8"})
913
- replacement = f'''<w:ins w:author="Jane Smith" w:date="2025-01-15T10:00:00Z">
914
- <w:r><w:t>in silence, </w:t></w:r>
915
- </w:ins>
916
- <w:ins>
917
- <w:r><w:t>soft and unbound</w:t></w:r>
918
- </w:ins>
919
- <w:ins w:author="Jane Smith" w:date="2025-01-15T10:00:00Z">
920
- <w:del><w:r><w:delText>safe and sound</w:delText></w:r></w:del>
921
- </w:ins>'''
922
- doc["word/document.xml"].replace_node(node, replacement)
923
-
924
- # Delete entire run (use only when deleting all content; use replace_node for partial deletions)
925
- node = doc["word/document.xml"].get_node(tag="w:r", contains="text to delete")
926
- doc["word/document.xml"].suggest_deletion(node)
927
-
928
- # Delete entire paragraph (in-place, handles both regular and numbered list paragraphs)
929
- para = doc["word/document.xml"].get_node(tag="w:p", contains="paragraph to delete")
930
- doc["word/document.xml"].suggest_deletion(para)
931
-
932
- # Add new numbered list item
933
- target_para = doc["word/document.xml"].get_node(tag="w:p", contains="existing list item")
934
- pPr = tags[0].toxml() if (tags := target_para.getElementsByTagName("w:pPr")) else ""
935
- new_item = f'<w:p>{pPr}<w:r><w:t>New item</w:t></w:r></w:p>'
936
- tracked_para = DocxXMLEditor.suggest_paragraph(new_item)
937
- doc["word/document.xml"].insert_after(target_para, tracked_para)
938
- # Optional: add spacing paragraph before content for better visual separation
939
- # spacing = DocxXMLEditor.suggest_paragraph('<w:p><w:pPr><w:pStyle w:val="ListParagraph"/></w:pPr></w:p>')
940
- # doc["word/document.xml"].insert_after(target_para, spacing + tracked_para)
941
- ```
942
-
943
- ### Adding Comments
944
-
945
- ```python
946
- # Add comment spanning two existing tracked changes
947
- # Note: w:id is auto-generated. Only search by w:id if you know it from XML inspection
948
- start_node = doc["word/document.xml"].get_node(tag="w:del", attrs={"w:id": "1"})
949
- end_node = doc["word/document.xml"].get_node(tag="w:ins", attrs={"w:id": "2"})
950
- doc.add_comment(start=start_node, end=end_node, text="Explanation of this change")
951
-
952
- # Add comment on a paragraph
953
- para = doc["word/document.xml"].get_node(tag="w:p", contains="paragraph text")
954
- doc.add_comment(start=para, end=para, text="Comment on this paragraph")
955
-
956
- # Add comment on newly created tracked change
957
- # First create the tracked change
958
- node = doc["word/document.xml"].get_node(tag="w:r", contains="old")
959
- new_nodes = doc["word/document.xml"].replace_node(
960
- node,
961
- '<w:del><w:r><w:delText>old</w:delText></w:r></w:del><w:ins><w:r><w:t>new</w:t></w:r></w:ins>'
962
- )
963
- # Then add comment on the newly created elements
964
- # new_nodes[0] is the <w:del>, new_nodes[1] is the <w:ins>
965
- doc.add_comment(start=new_nodes[0], end=new_nodes[1], text="Changed old to new per requirements")
966
-
967
- # Reply to existing comment
968
- doc.reply_to_comment(parent_comment_id=0, text="I agree with this change")
969
- ```
970
-
971
- ### Rejecting Tracked Changes
972
-
973
- **IMPORTANT**: Use `revert_insertion()` to reject insertions and `revert_deletion()` to restore deletions using tracked changes. Use `suggest_deletion()` only for regular unmarked content.
974
-
975
- ```python
976
- # Reject insertion (wraps it in deletion)
977
- # Use this when another author inserted text that you want to delete
978
- ins = doc["word/document.xml"].get_node(tag="w:ins", attrs={"w:id": "5"})
979
- nodes = doc["word/document.xml"].revert_insertion(ins) # Returns [ins]
980
-
981
- # Reject deletion (creates insertion to restore deleted content)
982
- # Use this when another author deleted text that you want to restore
983
- del_elem = doc["word/document.xml"].get_node(tag="w:del", attrs={"w:id": "3"})
984
- nodes = doc["word/document.xml"].revert_deletion(del_elem) # Returns [del_elem, new_ins]
985
-
986
- # Reject all insertions in a paragraph
987
- para = doc["word/document.xml"].get_node(tag="w:p", contains="paragraph text")
988
- nodes = doc["word/document.xml"].revert_insertion(para) # Returns [para]
989
-
990
- # Reject all deletions in a paragraph
991
- para = doc["word/document.xml"].get_node(tag="w:p", contains="paragraph text")
992
- nodes = doc["word/document.xml"].revert_deletion(para) # Returns [para]
993
- ```
994
-
995
- ### Inserting Images
996
-
997
- **CRITICAL**: The Document class works with a temporary copy at `doc.unpacked_path`. Always copy images to this temp directory, not the original unpacked folder.
998
-
999
- ```python
1000
- from PIL import Image
1001
- import shutil, os
1002
-
1003
- # Initialize document first
1004
- doc = Document('unpacked')
1005
-
1006
- # Copy image and calculate full-width dimensions with aspect ratio
1007
- media_dir = os.path.join(doc.unpacked_path, 'word/media')
1008
- os.makedirs(media_dir, exist_ok=True)
1009
- shutil.copy('image.png', os.path.join(media_dir, 'image1.png'))
1010
- img = Image.open(os.path.join(media_dir, 'image1.png'))
1011
- width_emus = int(6.5 * 914400) # 6.5" usable width, 914400 EMUs/inch
1012
- height_emus = int(width_emus * img.size[1] / img.size[0])
1013
-
1014
- # Add relationship and content type
1015
- rels_editor = doc['word/_rels/document.xml.rels']
1016
- next_rid = rels_editor.get_next_rid()
1017
- rels_editor.append_to(rels_editor.dom.documentElement,
1018
- f'<Relationship Id="{next_rid}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="media/image1.png"/>')
1019
- doc['[Content_Types].xml'].append_to(doc['[Content_Types].xml'].dom.documentElement,
1020
- '<Default Extension="png" ContentType="image/png"/>')
1021
-
1022
- # Insert image
1023
- node = doc["word/document.xml"].get_node(tag="w:p", line_number=100)
1024
- doc["word/document.xml"].insert_after(node, f'''<w:p>
1025
- <w:r>
1026
- <w:drawing>
1027
- <wp:inline distT="0" distB="0" distL="0" distR="0">
1028
- <wp:extent cx="{width_emus}" cy="{height_emus}"/>
1029
- <wp:docPr id="1" name="Picture 1"/>
1030
- <a:graphic xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
1031
- <a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/picture">
1032
- <pic:pic xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture">
1033
- <pic:nvPicPr><pic:cNvPr id="1" name="image1.png"/><pic:cNvPicPr/></pic:nvPicPr>
1034
- <pic:blipFill><a:blip r:embed="{next_rid}"/><a:stretch><a:fillRect/></a:stretch></pic:blipFill>
1035
- <pic:spPr><a:xfrm><a:ext cx="{width_emus}" cy="{height_emus}"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></pic:spPr>
1036
- </pic:pic>
1037
- </a:graphicData>
1038
- </a:graphic>
1039
- </wp:inline>
1040
- </w:drawing>
1041
- </w:r>
1042
- </w:p>''')
1043
- ```
1044
-
1045
- ### Getting Nodes
1046
-
1047
- ```python
1048
- # By text content
1049
- node = doc["word/document.xml"].get_node(tag="w:p", contains="specific text")
1050
-
1051
- # By line range
1052
- para = doc["word/document.xml"].get_node(tag="w:p", line_number=range(100, 150))
1053
-
1054
- # By attributes
1055
- node = doc["word/document.xml"].get_node(tag="w:del", attrs={"w:id": "1"})
1056
-
1057
- # By exact line number (must be line number where tag opens)
1058
- para = doc["word/document.xml"].get_node(tag="w:p", line_number=42)
1059
-
1060
- # Combine filters
1061
- node = doc["word/document.xml"].get_node(tag="w:r", line_number=range(40, 60), contains="text")
1062
-
1063
- # Disambiguate when text appears multiple times - add line_number range
1064
- node = doc["word/document.xml"].get_node(tag="w:r", contains="Section", line_number=range(2400, 2500))
1065
- ```
1066
-
1067
- ### Saving
1068
-
1069
- ```python
1070
- # Save with automatic validation (copies back to original directory)
1071
- doc.save() # Validates by default, raises error if validation fails
1072
-
1073
- # Save to different location
1074
- doc.save('modified-unpacked')
1075
-
1076
- # Skip validation (debugging only - needing this in production indicates XML issues)
1077
- doc.save(validate=False)
1078
- ```
1079
-
1080
- ### Direct DOM Manipulation
1081
-
1082
- For complex scenarios not covered by the library:
1083
-
1084
- ```python
1085
- # Access any XML file
1086
- editor = doc["word/document.xml"]
1087
- editor = doc["word/comments.xml"]
1088
-
1089
- # Direct DOM access (defusedxml.minidom.Document)
1090
- node = doc["word/document.xml"].get_node(tag="w:p", line_number=5)
1091
- parent = node.parentNode
1092
- parent.removeChild(node)
1093
- parent.appendChild(node) # Move to end
1094
-
1095
- # General document manipulation (without tracked changes)
1096
- old_node = doc["word/document.xml"].get_node(tag="w:p", contains="original text")
1097
- doc["word/document.xml"].replace_node(old_node, "<w:p><w:r><w:t>replacement text</w:t></w:r></w:p>")
1098
-
1099
- # Multiple insertions - use return value to maintain order
1100
- node = doc["word/document.xml"].get_node(tag="w:r", line_number=100)
1101
- nodes = doc["word/document.xml"].insert_after(node, "<w:r><w:t>A</w:t></w:r>")
1102
- nodes = doc["word/document.xml"].insert_after(nodes[-1], "<w:r><w:t>B</w:t></w:r>")
1103
- nodes = doc["word/document.xml"].insert_after(nodes[-1], "<w:r><w:t>C</w:t></w:r>")
1104
- # Results in: original_node, A, B, C
1105
- ```
1106
-
1107
- ## Tracked Changes (Redlining)
1108
-
1109
- **Use the Document class above for all tracked changes.** The patterns below are for reference when constructing replacement XML strings.
1110
-
1111
- ### Validation Rules
1112
- The validator checks that the document text matches the original after reverting Claude's changes. This means:
1113
- - **NEVER modify text inside another author's `<w:ins>` or `<w:del>` tags**
1114
- - **ALWAYS use nested deletions** to remove another author's insertions
1115
- - **Every edit must be properly tracked** with `<w:ins>` or `<w:del>` tags
1116
-
1117
- ### Tracked Change Patterns
1118
-
1119
- **CRITICAL RULES**:
1120
- 1. Never modify the content inside another author's tracked changes. Always use nested deletions.
1121
- 2. **XML Structure**: Always place `<w:del>` and `<w:ins>` at paragraph level containing complete `<w:r>` elements. Never nest inside `<w:r>` elements - this creates invalid XML that breaks document processing.
1122
-
1123
- **Text Insertion:**
1124
- ```xml
1125
- <w:ins w:id="1" w:author="Claude" w:date="2025-07-30T23:05:00Z" w16du:dateUtc="2025-07-31T06:05:00Z">
1126
- <w:r w:rsidR="00792858">
1127
- <w:t>inserted text</w:t>
1128
- </w:r>
1129
- </w:ins>
1130
- ```
1131
-
1132
- **Text Deletion:**
1133
- ```xml
1134
- <w:del w:id="2" w:author="Claude" w:date="2025-07-30T23:05:00Z" w16du:dateUtc="2025-07-31T06:05:00Z">
1135
- <w:r w:rsidDel="00792858">
1136
- <w:delText>deleted text</w:delText>
1137
- </w:r>
1138
- </w:del>
1139
- ```
1140
-
1141
- **Deleting Another Author's Insertion (MUST use nested structure):**
1142
- ```xml
1143
- <!-- Nest deletion inside the original insertion -->
1144
- <w:ins w:author="Jane Smith" w:id="16">
1145
- <w:del w:author="Claude" w:id="40">
1146
- <w:r><w:delText>monthly</w:delText></w:r>
1147
- </w:del>
1148
- </w:ins>
1149
- <w:ins w:author="Claude" w:id="41">
1150
- <w:r><w:t>weekly</w:t></w:r>
1151
- </w:ins>
1152
- ```
1153
-
1154
- **Restoring Another Author's Deletion:**
1155
- ```xml
1156
- <!-- Leave their deletion unchanged, add new insertion after it -->
1157
- <w:del w:author="Jane Smith" w:id="50">
1158
- <w:r><w:delText>within 30 days</w:delText></w:r>
1159
- </w:del>
1160
- <w:ins w:author="Claude" w:id="51">
1161
- <w:r><w:t>within 30 days</w:t></w:r>
1162
- </w:ins>
1163
- ```