@amrhas82/agentic-kit 1.5.0 → 1.7.5

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