@amrhas82/agentic-kit 1.2.1 → 1.7.0

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 (1036) hide show
  1. package/README.md +5 -5
  2. package/VARIANTS.md +16 -85
  3. package/package.json +1 -1
  4. package/packages/ampcode/AGENT.md +511 -0
  5. package/packages/ampcode/agents/1-create-prd.md +1 -0
  6. package/packages/ampcode/agents/2-generate-tasks.md +1 -0
  7. package/packages/ampcode/agents/3-process-task-list.md +1 -5
  8. package/packages/ampcode/agents/context-initializer.md +291 -0
  9. package/packages/ampcode/agents/master.md +1 -5
  10. package/packages/ampcode/agents/orchestrator.md +116 -81
  11. package/packages/ampcode/{skills/brainstorming/SKILL.md → commands/brainstorming.md} +1 -1
  12. package/packages/{droid/skills/brand-guidelines/SKILL.md → ampcode/commands/brand-guidelines.md} +1 -1
  13. package/packages/{opencode/skills/code-review/code-reviewer.md → ampcode/commands/code-review.md} +109 -1
  14. package/packages/{droid/skills/condition-based-waiting/SKILL.md → ampcode/commands/condition-based-waiting.md} +2 -2
  15. package/packages/ampcode/commands/docx.md +1163 -0
  16. package/packages/ampcode/{skills/internal-comms/SKILL.md → commands/internal-comms.md} +1 -1
  17. package/packages/{droid/skills/mcp-builder/SKILL.md → ampcode/commands/mcp-builder.md} +1 -1
  18. package/packages/{opencode/skills/pdf/reference.md → ampcode/commands/pdf.md} +505 -0
  19. package/packages/ampcode/commands/pptx.md +1542 -0
  20. package/packages/{opencode/skills/root-cause-tracing/SKILL.md → ampcode/commands/root-cause-tracing.md} +2 -2
  21. package/packages/{droid/skills/skill-creator/SKILL.md → ampcode/commands/skill-creator.md} +1 -1
  22. package/packages/{opencode/skills/slack-gif-creator/SKILL.md → ampcode/commands/slack-gif-creator.md} +1 -1
  23. package/packages/ampcode/commands/systematic-debugging.md +638 -0
  24. package/packages/{droid/skills/test-driven-development/SKILL.md → ampcode/commands/test-driven-development.md} +1 -1
  25. package/packages/{opencode/skills/testing-anti-patterns/SKILL.md → ampcode/commands/testing-anti-patterns.md} +1 -1
  26. package/packages/{droid/skills/theme-factory/SKILL.md → ampcode/commands/theme-factory.md} +1 -2
  27. package/packages/{droid/skills/verification-before-completion/SKILL.md → ampcode/commands/verification-before-completion.md} +1 -1
  28. package/packages/{opencode/skills/xlsx/SKILL.md → ampcode/commands/xlsx.md} +5 -5
  29. package/packages/ampcode/subagentic-manual.md +170 -0
  30. package/packages/ampcode/variants.json +13 -11
  31. package/packages/claude/.claude-plugin/plugin-lite.json +7 -6
  32. package/packages/claude/.claude-plugin/plugin-pro.json +7 -6
  33. package/packages/claude/.claude-plugin/plugin-standard.json +7 -6
  34. package/packages/claude/.claude-plugin/plugin.json +1 -6
  35. package/packages/claude/CLAUDE.md +521 -0
  36. package/packages/claude/agents/1-create-prd.md +1 -0
  37. package/packages/claude/agents/2-generate-tasks.md +1 -0
  38. package/packages/claude/agents/3-process-task-list.md +0 -3
  39. package/packages/claude/agents/context-initializer.md +291 -0
  40. package/packages/claude/agents/master.md +1 -4
  41. package/packages/claude/agents/orchestrator.md +116 -81
  42. package/packages/claude/hooks/session-start.js +7 -0
  43. package/packages/claude/resources/data.md +3 -3
  44. package/packages/claude/subagentic-manual.md +170 -0
  45. package/packages/claude/variants.json +4 -2
  46. package/packages/droid/AGENTS.md +525 -0
  47. package/packages/droid/change_settings.json +61 -0
  48. package/packages/droid/{agents → droids}/1-create-prd.md +1 -0
  49. package/packages/droid/{agents → droids}/2-generate-tasks.md +1 -0
  50. package/packages/droid/{agents → droids}/3-process-task-list.md +0 -3
  51. package/packages/droid/droids/context-initializer.md +291 -0
  52. package/packages/droid/{agents → droids}/master.md +1 -5
  53. package/packages/droid/droids/orchestrator.md +138 -0
  54. package/packages/droid/resources/data.md +3 -3
  55. package/packages/droid/subagentic-manual.md +170 -0
  56. package/packages/droid/variants.json +13 -11
  57. package/packages/opencode/AGENTS.md +206 -64
  58. package/packages/opencode/{agents → agent}/1-create-prd.md +7 -2
  59. package/packages/opencode/{agents → agent}/2-generate-tasks.md +7 -2
  60. package/packages/opencode/{agents → agent}/3-process-task-list.md +6 -6
  61. package/packages/opencode/{agents → agent}/business-analyst.md +6 -2
  62. package/packages/opencode/agent/context-initializer.md +295 -0
  63. package/packages/opencode/{agents → agent}/full-stack-dev.md +6 -2
  64. package/packages/opencode/{agents → agent}/holistic-architect.md +6 -2
  65. package/packages/opencode/{agents → agent}/master.md +7 -7
  66. package/packages/opencode/agent/orchestrator.md +142 -0
  67. package/packages/opencode/{agents → agent}/product-manager.md +6 -2
  68. package/packages/opencode/{agents → agent}/product-owner.md +6 -2
  69. package/packages/opencode/{agents → agent}/qa-test-architect.md +6 -2
  70. package/packages/opencode/{agents → agent}/scrum-master.md +6 -2
  71. package/packages/opencode/{agents → agent}/ux-expert.md +6 -2
  72. package/packages/opencode/command/algorithmic-art.md +159 -0
  73. package/packages/opencode/command/artifacts-builder.md +285 -0
  74. package/packages/{droid/skills/brainstorming/SKILL.md → opencode/command/brainstorming.md} +5 -10
  75. package/packages/opencode/command/brand-guidelines.md +123 -0
  76. package/packages/opencode/command/canvas-design.md +155 -0
  77. package/packages/opencode/command/code-review.md +92 -0
  78. package/packages/{ampcode/skills/condition-based-waiting/SKILL.md → opencode/command/condition-based-waiting.md} +52 -39
  79. package/packages/opencode/command/docx.md +255 -0
  80. package/packages/opencode/command/internal-comms.md +142 -0
  81. package/packages/opencode/command/mcp-builder.md +282 -0
  82. package/packages/opencode/command/pdf.md +194 -0
  83. package/packages/opencode/command/pptx.md +272 -0
  84. package/packages/{ampcode/skills/root-cause-tracing/SKILL.md → opencode/command/root-cause-tracing.md} +99 -62
  85. package/packages/opencode/command/skill-creator.md +196 -0
  86. package/packages/opencode/command/slack-gif-creator.md +340 -0
  87. package/packages/opencode/command/systematic-debugging.md +215 -0
  88. package/packages/opencode/command/test-driven-development.md +231 -0
  89. package/packages/opencode/command/testing-anti-patterns.md +248 -0
  90. package/packages/opencode/command/theme-factory.md +146 -0
  91. package/packages/opencode/command/verification-before-completion.md +151 -0
  92. package/packages/opencode/command/webapp-testing.md +275 -0
  93. package/packages/opencode/command/xlsx.md +254 -0
  94. package/packages/opencode/opencode.jsonc +44 -34
  95. package/packages/opencode/subagentic-manual.md +170 -0
  96. package/packages/opencode/variants.json +13 -11
  97. package/packages/subagentic-manual.md +170 -0
  98. package/packages/ampcode/AGENTS.md +0 -109
  99. package/packages/ampcode/hooks/register-agents.js +0 -128
  100. package/packages/ampcode/hooks/session-start.js +0 -168
  101. package/packages/ampcode/skills/algorithmic-art/LICENSE.txt +0 -202
  102. package/packages/ampcode/skills/artifacts-builder/LICENSE.txt +0 -202
  103. package/packages/ampcode/skills/brand-guidelines/LICENSE.txt +0 -202
  104. package/packages/ampcode/skills/brand-guidelines/SKILL.md +0 -73
  105. package/packages/ampcode/skills/canvas-design/LICENSE.txt +0 -202
  106. package/packages/ampcode/skills/code-review/SKILL.md +0 -105
  107. package/packages/ampcode/skills/code-review/code-reviewer.md +0 -146
  108. package/packages/ampcode/skills/docx/LICENSE.txt +0 -30
  109. package/packages/ampcode/skills/docx/SKILL.md +0 -197
  110. package/packages/ampcode/skills/docx/docx-js.md +0 -350
  111. package/packages/ampcode/skills/docx/ooxml.md +0 -610
  112. package/packages/ampcode/skills/internal-comms/LICENSE.txt +0 -202
  113. package/packages/ampcode/skills/mcp-builder/LICENSE.txt +0 -202
  114. package/packages/ampcode/skills/mcp-builder/SKILL.md +0 -328
  115. package/packages/ampcode/skills/pdf/LICENSE.txt +0 -30
  116. package/packages/ampcode/skills/pdf/SKILL.md +0 -294
  117. package/packages/ampcode/skills/pdf/forms.md +0 -205
  118. package/packages/ampcode/skills/pdf/reference.md +0 -612
  119. package/packages/ampcode/skills/pptx/LICENSE.txt +0 -30
  120. package/packages/ampcode/skills/pptx/SKILL.md +0 -484
  121. package/packages/ampcode/skills/pptx/html2pptx.md +0 -625
  122. package/packages/ampcode/skills/pptx/ooxml.md +0 -427
  123. package/packages/ampcode/skills/skill-creator/LICENSE.txt +0 -202
  124. package/packages/ampcode/skills/skill-creator/SKILL.md +0 -209
  125. package/packages/ampcode/skills/slack-gif-creator/LICENSE.txt +0 -202
  126. package/packages/ampcode/skills/slack-gif-creator/SKILL.md +0 -646
  127. package/packages/ampcode/skills/slack-gif-creator/requirements.txt +0 -4
  128. package/packages/ampcode/skills/systematic-debugging/CREATION-LOG.md +0 -119
  129. package/packages/ampcode/skills/systematic-debugging/SKILL.md +0 -295
  130. package/packages/ampcode/skills/systematic-debugging/test-academic.md +0 -14
  131. package/packages/ampcode/skills/systematic-debugging/test-pressure-1.md +0 -58
  132. package/packages/ampcode/skills/systematic-debugging/test-pressure-2.md +0 -68
  133. package/packages/ampcode/skills/systematic-debugging/test-pressure-3.md +0 -69
  134. package/packages/ampcode/skills/test-driven-development/SKILL.md +0 -364
  135. package/packages/ampcode/skills/testing-anti-patterns/SKILL.md +0 -302
  136. package/packages/ampcode/skills/theme-factory/LICENSE.txt +0 -202
  137. package/packages/ampcode/skills/theme-factory/SKILL.md +0 -59
  138. package/packages/ampcode/skills/theme-factory/theme-showcase.pdf +0 -0
  139. package/packages/ampcode/skills/verification-before-completion/SKILL.md +0 -139
  140. package/packages/ampcode/skills/webapp-testing/LICENSE.txt +0 -202
  141. package/packages/ampcode/skills/xlsx/LICENSE.txt +0 -30
  142. package/packages/ampcode/skills/xlsx/SKILL.md +0 -289
  143. package/packages/ampcode/subagents-and-skills.md +0 -79
  144. package/packages/claude/AGENTS.md +0 -243
  145. package/packages/claude/subagents-and-skills.md +0 -79
  146. package/packages/droid/agents/orchestrator.md +0 -103
  147. package/packages/droid/hooks/register-agents.js +0 -128
  148. package/packages/droid/hooks/session-start.js +0 -168
  149. package/packages/droid/skills/algorithmic-art/LICENSE.txt +0 -202
  150. package/packages/droid/skills/algorithmic-art/SKILL.md +0 -405
  151. package/packages/droid/skills/artifacts-builder/LICENSE.txt +0 -202
  152. package/packages/droid/skills/artifacts-builder/SKILL.md +0 -74
  153. package/packages/droid/skills/brand-guidelines/LICENSE.txt +0 -202
  154. package/packages/droid/skills/canvas-design/LICENSE.txt +0 -202
  155. package/packages/droid/skills/canvas-design/SKILL.md +0 -130
  156. package/packages/droid/skills/code-review/SKILL.md +0 -105
  157. package/packages/droid/skills/code-review/code-reviewer.md +0 -146
  158. package/packages/droid/skills/docx/LICENSE.txt +0 -30
  159. package/packages/droid/skills/docx/SKILL.md +0 -197
  160. package/packages/droid/skills/docx/docx-js.md +0 -350
  161. package/packages/droid/skills/docx/ooxml.md +0 -610
  162. package/packages/droid/skills/internal-comms/LICENSE.txt +0 -202
  163. package/packages/droid/skills/internal-comms/SKILL.md +0 -32
  164. package/packages/droid/skills/mcp-builder/LICENSE.txt +0 -202
  165. package/packages/droid/skills/pdf/LICENSE.txt +0 -30
  166. package/packages/droid/skills/pdf/SKILL.md +0 -294
  167. package/packages/droid/skills/pdf/forms.md +0 -205
  168. package/packages/droid/skills/pdf/reference.md +0 -612
  169. package/packages/droid/skills/pptx/LICENSE.txt +0 -30
  170. package/packages/droid/skills/pptx/SKILL.md +0 -484
  171. package/packages/droid/skills/pptx/html2pptx.md +0 -625
  172. package/packages/droid/skills/pptx/ooxml.md +0 -427
  173. package/packages/droid/skills/root-cause-tracing/SKILL.md +0 -174
  174. package/packages/droid/skills/skill-creator/LICENSE.txt +0 -202
  175. package/packages/droid/skills/slack-gif-creator/LICENSE.txt +0 -202
  176. package/packages/droid/skills/slack-gif-creator/SKILL.md +0 -646
  177. package/packages/droid/skills/slack-gif-creator/requirements.txt +0 -4
  178. package/packages/droid/skills/systematic-debugging/CREATION-LOG.md +0 -119
  179. package/packages/droid/skills/systematic-debugging/SKILL.md +0 -295
  180. package/packages/droid/skills/systematic-debugging/test-academic.md +0 -14
  181. package/packages/droid/skills/systematic-debugging/test-pressure-1.md +0 -58
  182. package/packages/droid/skills/systematic-debugging/test-pressure-2.md +0 -68
  183. package/packages/droid/skills/systematic-debugging/test-pressure-3.md +0 -69
  184. package/packages/droid/skills/testing-anti-patterns/SKILL.md +0 -302
  185. package/packages/droid/skills/theme-factory/LICENSE.txt +0 -202
  186. package/packages/droid/skills/theme-factory/theme-showcase.pdf +0 -0
  187. package/packages/droid/skills/webapp-testing/LICENSE.txt +0 -202
  188. package/packages/droid/skills/webapp-testing/SKILL.md +0 -96
  189. package/packages/droid/skills/xlsx/LICENSE.txt +0 -30
  190. package/packages/droid/skills/xlsx/SKILL.md +0 -289
  191. package/packages/droid/subagents-and-skills.md +0 -79
  192. package/packages/opencode/agents/orchestrator.md +0 -103
  193. package/packages/opencode/hooks/register-agents.js +0 -128
  194. package/packages/opencode/hooks/session-start.js +0 -168
  195. package/packages/opencode/skills/README.md +0 -76
  196. package/packages/opencode/skills/algorithmic-art/LICENSE.txt +0 -202
  197. package/packages/opencode/skills/algorithmic-art/SKILL.md +0 -405
  198. package/packages/opencode/skills/artifacts-builder/LICENSE.txt +0 -202
  199. package/packages/opencode/skills/artifacts-builder/SKILL.md +0 -74
  200. package/packages/opencode/skills/brainstorming/SKILL.md +0 -54
  201. package/packages/opencode/skills/brand-guidelines/LICENSE.txt +0 -202
  202. package/packages/opencode/skills/brand-guidelines/SKILL.md +0 -73
  203. package/packages/opencode/skills/canvas-design/LICENSE.txt +0 -202
  204. package/packages/opencode/skills/canvas-design/SKILL.md +0 -130
  205. package/packages/opencode/skills/code-review/SKILL.md +0 -105
  206. package/packages/opencode/skills/condition-based-waiting/SKILL.md +0 -120
  207. package/packages/opencode/skills/docx/LICENSE.txt +0 -30
  208. package/packages/opencode/skills/docx/SKILL.md +0 -197
  209. package/packages/opencode/skills/docx/docx-js.md +0 -350
  210. package/packages/opencode/skills/docx/ooxml.md +0 -610
  211. package/packages/opencode/skills/internal-comms/LICENSE.txt +0 -202
  212. package/packages/opencode/skills/internal-comms/SKILL.md +0 -32
  213. package/packages/opencode/skills/mcp-builder/LICENSE.txt +0 -202
  214. package/packages/opencode/skills/mcp-builder/SKILL.md +0 -328
  215. package/packages/opencode/skills/pdf/LICENSE.txt +0 -30
  216. package/packages/opencode/skills/pdf/SKILL.md +0 -294
  217. package/packages/opencode/skills/pdf/forms.md +0 -205
  218. package/packages/opencode/skills/pptx/LICENSE.txt +0 -30
  219. package/packages/opencode/skills/pptx/SKILL.md +0 -484
  220. package/packages/opencode/skills/pptx/html2pptx.md +0 -625
  221. package/packages/opencode/skills/pptx/ooxml.md +0 -427
  222. package/packages/opencode/skills/skill-creator/LICENSE.txt +0 -202
  223. package/packages/opencode/skills/skill-creator/SKILL.md +0 -209
  224. package/packages/opencode/skills/slack-gif-creator/LICENSE.txt +0 -202
  225. package/packages/opencode/skills/slack-gif-creator/requirements.txt +0 -4
  226. package/packages/opencode/skills/systematic-debugging/CREATION-LOG.md +0 -119
  227. package/packages/opencode/skills/systematic-debugging/SKILL.md +0 -295
  228. package/packages/opencode/skills/systematic-debugging/test-academic.md +0 -14
  229. package/packages/opencode/skills/systematic-debugging/test-pressure-1.md +0 -58
  230. package/packages/opencode/skills/systematic-debugging/test-pressure-2.md +0 -68
  231. package/packages/opencode/skills/systematic-debugging/test-pressure-3.md +0 -69
  232. package/packages/opencode/skills/test-driven-development/SKILL.md +0 -364
  233. package/packages/opencode/skills/theme-factory/LICENSE.txt +0 -202
  234. package/packages/opencode/skills/theme-factory/SKILL.md +0 -59
  235. package/packages/opencode/skills/theme-factory/theme-showcase.pdf +0 -0
  236. package/packages/opencode/skills/verification-before-completion/SKILL.md +0 -139
  237. package/packages/opencode/skills/webapp-testing/LICENSE.txt +0 -202
  238. package/packages/opencode/skills/webapp-testing/SKILL.md +0 -96
  239. package/packages/opencode/skills/xlsx/LICENSE.txt +0 -30
  240. package/packages/opencode/skills-backup/README.md +0 -76
  241. package/packages/opencode/subagents-and-skills.md +0 -79
  242. /package/packages/ampcode/{skills → commands}/README.md +0 -0
  243. /package/packages/ampcode/{skills → commands}/algorithmic-art/templates/generator_template.js +0 -0
  244. /package/packages/ampcode/{skills → commands}/algorithmic-art/templates/viewer.html +0 -0
  245. /package/packages/ampcode/{skills/algorithmic-art/SKILL.md → commands/algorithmic-art.md} +0 -0
  246. /package/packages/ampcode/{skills → commands}/artifacts-builder/scripts/bundle-artifact.sh +0 -0
  247. /package/packages/ampcode/{skills → commands}/artifacts-builder/scripts/init-artifact.sh +0 -0
  248. /package/packages/ampcode/{skills → commands}/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  249. /package/packages/ampcode/{skills/artifacts-builder/SKILL.md → commands/artifacts-builder.md} +0 -0
  250. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +0 -0
  251. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  252. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  253. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/BigShoulders-OFL.txt +0 -0
  254. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  255. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/Boldonse-OFL.txt +0 -0
  256. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  257. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  258. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +0 -0
  259. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  260. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  261. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  262. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +0 -0
  263. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  264. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/DMMono-OFL.txt +0 -0
  265. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  266. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/EricaOne-OFL.txt +0 -0
  267. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  268. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  269. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/GeistMono-OFL.txt +0 -0
  270. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  271. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/Gloock-OFL.txt +0 -0
  272. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  273. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  274. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +0 -0
  275. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  276. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  277. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  278. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  279. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  280. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  281. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  282. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  283. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +0 -0
  284. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  285. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  286. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  287. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/Italiana-OFL.txt +0 -0
  288. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  289. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  290. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +0 -0
  291. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  292. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  293. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  294. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/Jura-OFL.txt +0 -0
  295. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +0 -0
  296. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  297. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  298. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  299. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  300. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/Lora-OFL.txt +0 -0
  301. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  302. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  303. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/NationalPark-OFL.txt +0 -0
  304. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  305. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -0
  306. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  307. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  308. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/Outfit-OFL.txt +0 -0
  309. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  310. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  311. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/PixelifySans-OFL.txt +0 -0
  312. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/PoiretOne-OFL.txt +0 -0
  313. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  314. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  315. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/RedHatMono-OFL.txt +0 -0
  316. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  317. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/Silkscreen-OFL.txt +0 -0
  318. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  319. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  320. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/SmoochSans-OFL.txt +0 -0
  321. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  322. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/Tektur-OFL.txt +0 -0
  323. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  324. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  325. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  326. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  327. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/WorkSans-OFL.txt +0 -0
  328. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  329. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/YoungSerif-OFL.txt +0 -0
  330. /package/packages/ampcode/{skills → commands}/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  331. /package/packages/ampcode/{skills/canvas-design/SKILL.md → commands/canvas-design.md} +0 -0
  332. /package/packages/ampcode/{skills → commands}/condition-based-waiting/example.ts +0 -0
  333. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
  334. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
  335. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
  336. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
  337. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
  338. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
  339. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
  340. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
  341. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
  342. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
  343. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
  344. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
  345. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
  346. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
  347. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
  348. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
  349. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
  350. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
  351. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
  352. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
  353. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
  354. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
  355. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
  356. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
  357. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
  358. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
  359. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
  360. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
  361. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
  362. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
  363. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
  364. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/mce/mc.xsd +0 -0
  365. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/microsoft/wml-2010.xsd +0 -0
  366. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/microsoft/wml-2012.xsd +0 -0
  367. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/microsoft/wml-2018.xsd +0 -0
  368. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -0
  369. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -0
  370. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
  371. /package/packages/ampcode/{skills → commands}/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -0
  372. /package/packages/ampcode/{skills → commands}/docx/ooxml/scripts/pack.py +0 -0
  373. /package/packages/ampcode/{skills → commands}/docx/ooxml/scripts/unpack.py +0 -0
  374. /package/packages/ampcode/{skills → commands}/docx/ooxml/scripts/validate.py +0 -0
  375. /package/packages/ampcode/{skills → commands}/docx/ooxml/scripts/validation/__init__.py +0 -0
  376. /package/packages/ampcode/{skills → commands}/docx/ooxml/scripts/validation/base.py +0 -0
  377. /package/packages/ampcode/{skills → commands}/docx/ooxml/scripts/validation/docx.py +0 -0
  378. /package/packages/ampcode/{skills → commands}/docx/ooxml/scripts/validation/pptx.py +0 -0
  379. /package/packages/ampcode/{skills → commands}/docx/ooxml/scripts/validation/redlining.py +0 -0
  380. /package/packages/ampcode/{skills → commands}/docx/scripts/__init__.py +0 -0
  381. /package/packages/ampcode/{skills → commands}/docx/scripts/document.py +0 -0
  382. /package/packages/ampcode/{skills → commands}/docx/scripts/templates/comments.xml +0 -0
  383. /package/packages/ampcode/{skills → commands}/docx/scripts/templates/commentsExtended.xml +0 -0
  384. /package/packages/ampcode/{skills → commands}/docx/scripts/templates/commentsExtensible.xml +0 -0
  385. /package/packages/ampcode/{skills → commands}/docx/scripts/templates/commentsIds.xml +0 -0
  386. /package/packages/ampcode/{skills → commands}/docx/scripts/templates/people.xml +0 -0
  387. /package/packages/ampcode/{skills → commands}/docx/scripts/utilities.py +0 -0
  388. /package/packages/ampcode/{skills → commands}/internal-comms/examples/3p-updates.md +0 -0
  389. /package/packages/ampcode/{skills → commands}/internal-comms/examples/company-newsletter.md +0 -0
  390. /package/packages/ampcode/{skills → commands}/internal-comms/examples/faq-answers.md +0 -0
  391. /package/packages/ampcode/{skills → commands}/internal-comms/examples/general-comms.md +0 -0
  392. /package/packages/ampcode/{skills → commands}/mcp-builder/reference/evaluation.md +0 -0
  393. /package/packages/ampcode/{skills → commands}/mcp-builder/reference/mcp_best_practices.md +0 -0
  394. /package/packages/ampcode/{skills → commands}/mcp-builder/reference/node_mcp_server.md +0 -0
  395. /package/packages/ampcode/{skills → commands}/mcp-builder/reference/python_mcp_server.md +0 -0
  396. /package/packages/ampcode/{skills → commands}/mcp-builder/scripts/connections.py +0 -0
  397. /package/packages/ampcode/{skills → commands}/mcp-builder/scripts/evaluation.py +0 -0
  398. /package/packages/ampcode/{skills → commands}/mcp-builder/scripts/example_evaluation.xml +0 -0
  399. /package/packages/ampcode/{skills → commands}/mcp-builder/scripts/requirements.txt +0 -0
  400. /package/packages/ampcode/{skills → commands}/pdf/scripts/check_bounding_boxes.py +0 -0
  401. /package/packages/ampcode/{skills → commands}/pdf/scripts/check_bounding_boxes_test.py +0 -0
  402. /package/packages/ampcode/{skills → commands}/pdf/scripts/check_fillable_fields.py +0 -0
  403. /package/packages/ampcode/{skills → commands}/pdf/scripts/convert_pdf_to_images.py +0 -0
  404. /package/packages/ampcode/{skills → commands}/pdf/scripts/create_validation_image.py +0 -0
  405. /package/packages/ampcode/{skills → commands}/pdf/scripts/extract_form_field_info.py +0 -0
  406. /package/packages/ampcode/{skills → commands}/pdf/scripts/fill_fillable_fields.py +0 -0
  407. /package/packages/ampcode/{skills → commands}/pdf/scripts/fill_pdf_form_with_annotations.py +0 -0
  408. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
  409. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
  410. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
  411. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
  412. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
  413. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
  414. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
  415. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
  416. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
  417. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
  418. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
  419. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
  420. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
  421. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
  422. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
  423. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
  424. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
  425. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
  426. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
  427. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
  428. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
  429. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
  430. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
  431. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
  432. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
  433. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
  434. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
  435. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
  436. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
  437. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
  438. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
  439. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/mce/mc.xsd +0 -0
  440. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/microsoft/wml-2010.xsd +0 -0
  441. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/microsoft/wml-2012.xsd +0 -0
  442. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/microsoft/wml-2018.xsd +0 -0
  443. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -0
  444. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -0
  445. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
  446. /package/packages/ampcode/{skills → commands}/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -0
  447. /package/packages/ampcode/{skills → commands}/pptx/ooxml/scripts/pack.py +0 -0
  448. /package/packages/ampcode/{skills → commands}/pptx/ooxml/scripts/unpack.py +0 -0
  449. /package/packages/ampcode/{skills → commands}/pptx/ooxml/scripts/validate.py +0 -0
  450. /package/packages/ampcode/{skills → commands}/pptx/ooxml/scripts/validation/__init__.py +0 -0
  451. /package/packages/ampcode/{skills → commands}/pptx/ooxml/scripts/validation/base.py +0 -0
  452. /package/packages/ampcode/{skills → commands}/pptx/ooxml/scripts/validation/docx.py +0 -0
  453. /package/packages/ampcode/{skills → commands}/pptx/ooxml/scripts/validation/pptx.py +0 -0
  454. /package/packages/ampcode/{skills → commands}/pptx/ooxml/scripts/validation/redlining.py +0 -0
  455. /package/packages/ampcode/{skills → commands}/pptx/scripts/html2pptx.js +0 -0
  456. /package/packages/ampcode/{skills → commands}/pptx/scripts/inventory.py +0 -0
  457. /package/packages/ampcode/{skills → commands}/pptx/scripts/rearrange.py +0 -0
  458. /package/packages/ampcode/{skills → commands}/pptx/scripts/replace.py +0 -0
  459. /package/packages/ampcode/{skills → commands}/pptx/scripts/thumbnail.py +0 -0
  460. /package/packages/ampcode/{skills → commands}/root-cause-tracing/find-polluter.sh +0 -0
  461. /package/packages/ampcode/{skills → commands}/skill-creator/scripts/init_skill.py +0 -0
  462. /package/packages/ampcode/{skills → commands}/skill-creator/scripts/package_skill.py +0 -0
  463. /package/packages/ampcode/{skills → commands}/skill-creator/scripts/quick_validate.py +0 -0
  464. /package/packages/ampcode/{skills → commands}/slack-gif-creator/core/color_palettes.py +0 -0
  465. /package/packages/ampcode/{skills → commands}/slack-gif-creator/core/easing.py +0 -0
  466. /package/packages/ampcode/{skills → commands}/slack-gif-creator/core/frame_composer.py +0 -0
  467. /package/packages/ampcode/{skills → commands}/slack-gif-creator/core/gif_builder.py +0 -0
  468. /package/packages/ampcode/{skills → commands}/slack-gif-creator/core/typography.py +0 -0
  469. /package/packages/ampcode/{skills → commands}/slack-gif-creator/core/validators.py +0 -0
  470. /package/packages/ampcode/{skills → commands}/slack-gif-creator/core/visual_effects.py +0 -0
  471. /package/packages/ampcode/{skills → commands}/slack-gif-creator/templates/bounce.py +0 -0
  472. /package/packages/ampcode/{skills → commands}/slack-gif-creator/templates/explode.py +0 -0
  473. /package/packages/ampcode/{skills → commands}/slack-gif-creator/templates/fade.py +0 -0
  474. /package/packages/ampcode/{skills → commands}/slack-gif-creator/templates/flip.py +0 -0
  475. /package/packages/ampcode/{skills → commands}/slack-gif-creator/templates/kaleidoscope.py +0 -0
  476. /package/packages/ampcode/{skills → commands}/slack-gif-creator/templates/morph.py +0 -0
  477. /package/packages/ampcode/{skills → commands}/slack-gif-creator/templates/move.py +0 -0
  478. /package/packages/ampcode/{skills → commands}/slack-gif-creator/templates/pulse.py +0 -0
  479. /package/packages/ampcode/{skills → commands}/slack-gif-creator/templates/shake.py +0 -0
  480. /package/packages/ampcode/{skills → commands}/slack-gif-creator/templates/slide.py +0 -0
  481. /package/packages/ampcode/{skills → commands}/slack-gif-creator/templates/spin.py +0 -0
  482. /package/packages/ampcode/{skills → commands}/slack-gif-creator/templates/wiggle.py +0 -0
  483. /package/packages/ampcode/{skills → commands}/slack-gif-creator/templates/zoom.py +0 -0
  484. /package/packages/ampcode/{skills → commands}/theme-factory/themes/arctic-frost.md +0 -0
  485. /package/packages/ampcode/{skills → commands}/theme-factory/themes/botanical-garden.md +0 -0
  486. /package/packages/ampcode/{skills → commands}/theme-factory/themes/desert-rose.md +0 -0
  487. /package/packages/ampcode/{skills → commands}/theme-factory/themes/forest-canopy.md +0 -0
  488. /package/packages/ampcode/{skills → commands}/theme-factory/themes/golden-hour.md +0 -0
  489. /package/packages/ampcode/{skills → commands}/theme-factory/themes/midnight-galaxy.md +0 -0
  490. /package/packages/ampcode/{skills → commands}/theme-factory/themes/modern-minimalist.md +0 -0
  491. /package/packages/ampcode/{skills → commands}/theme-factory/themes/ocean-depths.md +0 -0
  492. /package/packages/ampcode/{skills → commands}/theme-factory/themes/sunset-boulevard.md +0 -0
  493. /package/packages/ampcode/{skills → commands}/theme-factory/themes/tech-innovation.md +0 -0
  494. /package/packages/ampcode/{skills → commands}/webapp-testing/examples/console_logging.py +0 -0
  495. /package/packages/ampcode/{skills → commands}/webapp-testing/examples/element_discovery.py +0 -0
  496. /package/packages/ampcode/{skills → commands}/webapp-testing/examples/static_html_automation.py +0 -0
  497. /package/packages/ampcode/{skills → commands}/webapp-testing/scripts/with_server.py +0 -0
  498. /package/packages/ampcode/{skills/webapp-testing/SKILL.md → commands/webapp-testing.md} +0 -0
  499. /package/packages/ampcode/{skills → commands}/xlsx/recalc.py +0 -0
  500. /package/packages/{opencode/skills-backup → droid/commands/algorithmic-art}/algorithmic-art.md +0 -0
  501. /package/packages/droid/{skills → commands}/algorithmic-art/templates/generator_template.js +0 -0
  502. /package/packages/droid/{skills → commands}/algorithmic-art/templates/viewer.html +0 -0
  503. /package/packages/{opencode/skills-backup → droid/commands/artifacts-builder}/artifacts-builder.md +0 -0
  504. /package/packages/droid/{skills → commands}/artifacts-builder/scripts/bundle-artifact.sh +0 -0
  505. /package/packages/droid/{skills → commands}/artifacts-builder/scripts/init-artifact.sh +0 -0
  506. /package/packages/droid/{skills → commands}/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  507. /package/packages/{opencode/skills-backup → droid/commands}/brainstorming.md +0 -0
  508. /package/packages/{opencode/skills-backup → droid/commands}/brand-guidelines.md +0 -0
  509. /package/packages/{opencode/skills-backup → droid/commands/canvas-design}/canvas-design.md +0 -0
  510. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +0 -0
  511. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  512. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  513. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/BigShoulders-OFL.txt +0 -0
  514. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  515. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/Boldonse-OFL.txt +0 -0
  516. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  517. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  518. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +0 -0
  519. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  520. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  521. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  522. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +0 -0
  523. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  524. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/DMMono-OFL.txt +0 -0
  525. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  526. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/EricaOne-OFL.txt +0 -0
  527. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  528. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  529. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/GeistMono-OFL.txt +0 -0
  530. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  531. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/Gloock-OFL.txt +0 -0
  532. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  533. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  534. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +0 -0
  535. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  536. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  537. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  538. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  539. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  540. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  541. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  542. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  543. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +0 -0
  544. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  545. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  546. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  547. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/Italiana-OFL.txt +0 -0
  548. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  549. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  550. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +0 -0
  551. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  552. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  553. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  554. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/Jura-OFL.txt +0 -0
  555. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +0 -0
  556. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  557. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  558. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  559. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  560. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/Lora-OFL.txt +0 -0
  561. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  562. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  563. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/NationalPark-OFL.txt +0 -0
  564. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  565. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -0
  566. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  567. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  568. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/Outfit-OFL.txt +0 -0
  569. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  570. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  571. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/PixelifySans-OFL.txt +0 -0
  572. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/PoiretOne-OFL.txt +0 -0
  573. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  574. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  575. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/RedHatMono-OFL.txt +0 -0
  576. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  577. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/Silkscreen-OFL.txt +0 -0
  578. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  579. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  580. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/SmoochSans-OFL.txt +0 -0
  581. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  582. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/Tektur-OFL.txt +0 -0
  583. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  584. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  585. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  586. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  587. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/WorkSans-OFL.txt +0 -0
  588. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  589. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/YoungSerif-OFL.txt +0 -0
  590. /package/packages/droid/{skills → commands}/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  591. /package/packages/{opencode/skills-backup → droid/commands}/code-review.md +0 -0
  592. /package/packages/{opencode/skills-backup → droid/commands/condition-based-waiting}/condition-based-waiting.md +0 -0
  593. /package/packages/droid/{skills → commands}/condition-based-waiting/example.ts +0 -0
  594. /package/packages/{opencode/skills-backup → droid/commands/docx}/docx.md +0 -0
  595. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
  596. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
  597. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
  598. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
  599. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
  600. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
  601. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
  602. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
  603. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
  604. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
  605. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
  606. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
  607. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
  608. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
  609. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
  610. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
  611. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
  612. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
  613. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
  614. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
  615. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
  616. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
  617. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
  618. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
  619. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
  620. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
  621. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
  622. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
  623. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
  624. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
  625. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
  626. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/mce/mc.xsd +0 -0
  627. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/microsoft/wml-2010.xsd +0 -0
  628. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/microsoft/wml-2012.xsd +0 -0
  629. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/microsoft/wml-2018.xsd +0 -0
  630. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -0
  631. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -0
  632. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
  633. /package/packages/droid/{skills → commands}/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -0
  634. /package/packages/droid/{skills → commands}/docx/ooxml/scripts/pack.py +0 -0
  635. /package/packages/droid/{skills → commands}/docx/ooxml/scripts/unpack.py +0 -0
  636. /package/packages/droid/{skills → commands}/docx/ooxml/scripts/validate.py +0 -0
  637. /package/packages/droid/{skills → commands}/docx/ooxml/scripts/validation/__init__.py +0 -0
  638. /package/packages/droid/{skills → commands}/docx/ooxml/scripts/validation/base.py +0 -0
  639. /package/packages/droid/{skills → commands}/docx/ooxml/scripts/validation/docx.py +0 -0
  640. /package/packages/droid/{skills → commands}/docx/ooxml/scripts/validation/pptx.py +0 -0
  641. /package/packages/droid/{skills → commands}/docx/ooxml/scripts/validation/redlining.py +0 -0
  642. /package/packages/droid/{skills → commands}/docx/scripts/__init__.py +0 -0
  643. /package/packages/droid/{skills → commands}/docx/scripts/document.py +0 -0
  644. /package/packages/droid/{skills → commands}/docx/scripts/templates/comments.xml +0 -0
  645. /package/packages/droid/{skills → commands}/docx/scripts/templates/commentsExtended.xml +0 -0
  646. /package/packages/droid/{skills → commands}/docx/scripts/templates/commentsExtensible.xml +0 -0
  647. /package/packages/droid/{skills → commands}/docx/scripts/templates/commentsIds.xml +0 -0
  648. /package/packages/droid/{skills → commands}/docx/scripts/templates/people.xml +0 -0
  649. /package/packages/droid/{skills → commands}/docx/scripts/utilities.py +0 -0
  650. /package/packages/droid/{skills → commands}/internal-comms/examples/3p-updates.md +0 -0
  651. /package/packages/droid/{skills → commands}/internal-comms/examples/company-newsletter.md +0 -0
  652. /package/packages/droid/{skills → commands}/internal-comms/examples/faq-answers.md +0 -0
  653. /package/packages/droid/{skills → commands}/internal-comms/examples/general-comms.md +0 -0
  654. /package/packages/{opencode/skills-backup → droid/commands/internal-comms}/internal-comms.md +0 -0
  655. /package/packages/{opencode/skills-backup → droid/commands/mcp-builder}/mcp-builder.md +0 -0
  656. /package/packages/droid/{skills → commands}/mcp-builder/reference/evaluation.md +0 -0
  657. /package/packages/droid/{skills → commands}/mcp-builder/reference/mcp_best_practices.md +0 -0
  658. /package/packages/droid/{skills → commands}/mcp-builder/reference/node_mcp_server.md +0 -0
  659. /package/packages/droid/{skills → commands}/mcp-builder/reference/python_mcp_server.md +0 -0
  660. /package/packages/droid/{skills → commands}/mcp-builder/scripts/connections.py +0 -0
  661. /package/packages/droid/{skills → commands}/mcp-builder/scripts/evaluation.py +0 -0
  662. /package/packages/droid/{skills → commands}/mcp-builder/scripts/example_evaluation.xml +0 -0
  663. /package/packages/droid/{skills → commands}/mcp-builder/scripts/requirements.txt +0 -0
  664. /package/packages/{opencode/skills-backup → droid/commands/pdf}/pdf.md +0 -0
  665. /package/packages/droid/{skills → commands}/pdf/scripts/check_bounding_boxes.py +0 -0
  666. /package/packages/droid/{skills → commands}/pdf/scripts/check_bounding_boxes_test.py +0 -0
  667. /package/packages/droid/{skills → commands}/pdf/scripts/check_fillable_fields.py +0 -0
  668. /package/packages/droid/{skills → commands}/pdf/scripts/convert_pdf_to_images.py +0 -0
  669. /package/packages/droid/{skills → commands}/pdf/scripts/create_validation_image.py +0 -0
  670. /package/packages/droid/{skills → commands}/pdf/scripts/extract_form_field_info.py +0 -0
  671. /package/packages/droid/{skills → commands}/pdf/scripts/fill_fillable_fields.py +0 -0
  672. /package/packages/droid/{skills → commands}/pdf/scripts/fill_pdf_form_with_annotations.py +0 -0
  673. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
  674. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
  675. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
  676. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
  677. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
  678. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
  679. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
  680. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
  681. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
  682. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
  683. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
  684. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
  685. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
  686. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
  687. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
  688. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
  689. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
  690. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
  691. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
  692. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
  693. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
  694. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
  695. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
  696. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
  697. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
  698. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
  699. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
  700. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
  701. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
  702. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
  703. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
  704. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/mce/mc.xsd +0 -0
  705. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/microsoft/wml-2010.xsd +0 -0
  706. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/microsoft/wml-2012.xsd +0 -0
  707. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/microsoft/wml-2018.xsd +0 -0
  708. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -0
  709. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -0
  710. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
  711. /package/packages/droid/{skills → commands}/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -0
  712. /package/packages/droid/{skills → commands}/pptx/ooxml/scripts/pack.py +0 -0
  713. /package/packages/droid/{skills → commands}/pptx/ooxml/scripts/unpack.py +0 -0
  714. /package/packages/droid/{skills → commands}/pptx/ooxml/scripts/validate.py +0 -0
  715. /package/packages/droid/{skills → commands}/pptx/ooxml/scripts/validation/__init__.py +0 -0
  716. /package/packages/droid/{skills → commands}/pptx/ooxml/scripts/validation/base.py +0 -0
  717. /package/packages/droid/{skills → commands}/pptx/ooxml/scripts/validation/docx.py +0 -0
  718. /package/packages/droid/{skills → commands}/pptx/ooxml/scripts/validation/pptx.py +0 -0
  719. /package/packages/droid/{skills → commands}/pptx/ooxml/scripts/validation/redlining.py +0 -0
  720. /package/packages/{opencode/skills-backup → droid/commands/pptx}/pptx.md +0 -0
  721. /package/packages/droid/{skills → commands}/pptx/scripts/html2pptx.js +0 -0
  722. /package/packages/droid/{skills → commands}/pptx/scripts/inventory.py +0 -0
  723. /package/packages/droid/{skills → commands}/pptx/scripts/rearrange.py +0 -0
  724. /package/packages/droid/{skills → commands}/pptx/scripts/replace.py +0 -0
  725. /package/packages/droid/{skills → commands}/pptx/scripts/thumbnail.py +0 -0
  726. /package/packages/droid/{skills → commands}/root-cause-tracing/find-polluter.sh +0 -0
  727. /package/packages/{opencode/skills-backup → droid/commands/root-cause-tracing}/root-cause-tracing.md +0 -0
  728. /package/packages/droid/{skills → commands}/skill-creator/scripts/init_skill.py +0 -0
  729. /package/packages/droid/{skills → commands}/skill-creator/scripts/package_skill.py +0 -0
  730. /package/packages/droid/{skills → commands}/skill-creator/scripts/quick_validate.py +0 -0
  731. /package/packages/{opencode/skills-backup → droid/commands/skill-creator}/skill-creator.md +0 -0
  732. /package/packages/droid/{skills → commands}/slack-gif-creator/core/color_palettes.py +0 -0
  733. /package/packages/droid/{skills → commands}/slack-gif-creator/core/easing.py +0 -0
  734. /package/packages/droid/{skills → commands}/slack-gif-creator/core/frame_composer.py +0 -0
  735. /package/packages/droid/{skills → commands}/slack-gif-creator/core/gif_builder.py +0 -0
  736. /package/packages/droid/{skills → commands}/slack-gif-creator/core/typography.py +0 -0
  737. /package/packages/droid/{skills → commands}/slack-gif-creator/core/validators.py +0 -0
  738. /package/packages/droid/{skills → commands}/slack-gif-creator/core/visual_effects.py +0 -0
  739. /package/packages/{opencode/skills-backup → droid/commands/slack-gif-creator}/slack-gif-creator.md +0 -0
  740. /package/packages/droid/{skills → commands}/slack-gif-creator/templates/bounce.py +0 -0
  741. /package/packages/droid/{skills → commands}/slack-gif-creator/templates/explode.py +0 -0
  742. /package/packages/droid/{skills → commands}/slack-gif-creator/templates/fade.py +0 -0
  743. /package/packages/droid/{skills → commands}/slack-gif-creator/templates/flip.py +0 -0
  744. /package/packages/droid/{skills → commands}/slack-gif-creator/templates/kaleidoscope.py +0 -0
  745. /package/packages/droid/{skills → commands}/slack-gif-creator/templates/morph.py +0 -0
  746. /package/packages/droid/{skills → commands}/slack-gif-creator/templates/move.py +0 -0
  747. /package/packages/droid/{skills → commands}/slack-gif-creator/templates/pulse.py +0 -0
  748. /package/packages/droid/{skills → commands}/slack-gif-creator/templates/shake.py +0 -0
  749. /package/packages/droid/{skills → commands}/slack-gif-creator/templates/slide.py +0 -0
  750. /package/packages/droid/{skills → commands}/slack-gif-creator/templates/spin.py +0 -0
  751. /package/packages/droid/{skills → commands}/slack-gif-creator/templates/wiggle.py +0 -0
  752. /package/packages/droid/{skills → commands}/slack-gif-creator/templates/zoom.py +0 -0
  753. /package/packages/{opencode/skills-backup → droid/commands}/systematic-debugging.md +0 -0
  754. /package/packages/{opencode/skills-backup → droid/commands}/test-driven-development.md +0 -0
  755. /package/packages/{opencode/skills-backup → droid/commands}/testing-anti-patterns.md +0 -0
  756. /package/packages/{opencode/skills-backup → droid/commands/theme-factory}/theme-factory.md +0 -0
  757. /package/packages/droid/{skills → commands}/theme-factory/themes/arctic-frost.md +0 -0
  758. /package/packages/droid/{skills → commands}/theme-factory/themes/botanical-garden.md +0 -0
  759. /package/packages/droid/{skills → commands}/theme-factory/themes/desert-rose.md +0 -0
  760. /package/packages/droid/{skills → commands}/theme-factory/themes/forest-canopy.md +0 -0
  761. /package/packages/droid/{skills → commands}/theme-factory/themes/golden-hour.md +0 -0
  762. /package/packages/droid/{skills → commands}/theme-factory/themes/midnight-galaxy.md +0 -0
  763. /package/packages/droid/{skills → commands}/theme-factory/themes/modern-minimalist.md +0 -0
  764. /package/packages/droid/{skills → commands}/theme-factory/themes/ocean-depths.md +0 -0
  765. /package/packages/droid/{skills → commands}/theme-factory/themes/sunset-boulevard.md +0 -0
  766. /package/packages/droid/{skills → commands}/theme-factory/themes/tech-innovation.md +0 -0
  767. /package/packages/{opencode/skills-backup → droid/commands}/verification-before-completion.md +0 -0
  768. /package/packages/droid/{skills → commands}/webapp-testing/examples/console_logging.py +0 -0
  769. /package/packages/droid/{skills → commands}/webapp-testing/examples/element_discovery.py +0 -0
  770. /package/packages/droid/{skills → commands}/webapp-testing/examples/static_html_automation.py +0 -0
  771. /package/packages/droid/{skills → commands}/webapp-testing/scripts/with_server.py +0 -0
  772. /package/packages/{opencode/skills-backup → droid/commands/webapp-testing}/webapp-testing.md +0 -0
  773. /package/packages/droid/{skills → commands}/xlsx/recalc.py +0 -0
  774. /package/packages/{opencode/skills-backup → droid/commands/xlsx}/xlsx.md +0 -0
  775. /package/packages/droid/{agents → droids}/business-analyst.md +0 -0
  776. /package/packages/droid/{agents → droids}/full-stack-dev.md +0 -0
  777. /package/packages/droid/{agents → droids}/holistic-architect.md +0 -0
  778. /package/packages/droid/{agents → droids}/product-manager.md +0 -0
  779. /package/packages/droid/{agents → droids}/product-owner.md +0 -0
  780. /package/packages/droid/{agents → droids}/qa-test-architect.md +0 -0
  781. /package/packages/droid/{agents → droids}/scrum-master.md +0 -0
  782. /package/packages/droid/{agents → droids}/ux-expert.md +0 -0
  783. /package/packages/{droid/skills → opencode/command}/README.md +0 -0
  784. /package/packages/opencode/{skills → command}/algorithmic-art/templates/generator_template.js +0 -0
  785. /package/packages/opencode/{skills → command}/algorithmic-art/templates/viewer.html +0 -0
  786. /package/packages/opencode/{skills → command}/artifacts-builder/scripts/bundle-artifact.sh +0 -0
  787. /package/packages/opencode/{skills → command}/artifacts-builder/scripts/init-artifact.sh +0 -0
  788. /package/packages/opencode/{skills → command}/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  789. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +0 -0
  790. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  791. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  792. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/BigShoulders-OFL.txt +0 -0
  793. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  794. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/Boldonse-OFL.txt +0 -0
  795. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  796. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  797. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +0 -0
  798. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  799. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  800. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  801. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +0 -0
  802. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  803. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/DMMono-OFL.txt +0 -0
  804. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  805. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/EricaOne-OFL.txt +0 -0
  806. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  807. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  808. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/GeistMono-OFL.txt +0 -0
  809. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  810. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/Gloock-OFL.txt +0 -0
  811. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  812. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  813. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +0 -0
  814. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  815. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  816. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  817. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  818. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  819. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  820. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  821. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  822. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +0 -0
  823. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  824. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  825. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  826. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/Italiana-OFL.txt +0 -0
  827. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  828. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  829. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +0 -0
  830. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  831. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  832. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  833. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/Jura-OFL.txt +0 -0
  834. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +0 -0
  835. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  836. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  837. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  838. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  839. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/Lora-OFL.txt +0 -0
  840. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  841. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  842. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/NationalPark-OFL.txt +0 -0
  843. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  844. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -0
  845. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  846. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  847. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/Outfit-OFL.txt +0 -0
  848. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  849. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  850. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/PixelifySans-OFL.txt +0 -0
  851. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/PoiretOne-OFL.txt +0 -0
  852. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  853. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  854. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/RedHatMono-OFL.txt +0 -0
  855. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  856. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/Silkscreen-OFL.txt +0 -0
  857. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  858. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  859. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/SmoochSans-OFL.txt +0 -0
  860. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  861. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/Tektur-OFL.txt +0 -0
  862. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  863. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  864. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  865. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  866. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/WorkSans-OFL.txt +0 -0
  867. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  868. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/YoungSerif-OFL.txt +0 -0
  869. /package/packages/opencode/{skills → command}/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  870. /package/packages/opencode/{skills → command}/condition-based-waiting/example.ts +0 -0
  871. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
  872. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
  873. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
  874. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
  875. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
  876. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
  877. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
  878. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
  879. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
  880. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
  881. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
  882. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
  883. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
  884. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
  885. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
  886. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
  887. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
  888. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
  889. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
  890. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
  891. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
  892. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
  893. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
  894. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
  895. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
  896. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
  897. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
  898. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
  899. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
  900. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
  901. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
  902. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/mce/mc.xsd +0 -0
  903. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/microsoft/wml-2010.xsd +0 -0
  904. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/microsoft/wml-2012.xsd +0 -0
  905. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/microsoft/wml-2018.xsd +0 -0
  906. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -0
  907. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -0
  908. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
  909. /package/packages/opencode/{skills → command}/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -0
  910. /package/packages/opencode/{skills → command}/docx/ooxml/scripts/pack.py +0 -0
  911. /package/packages/opencode/{skills → command}/docx/ooxml/scripts/unpack.py +0 -0
  912. /package/packages/opencode/{skills → command}/docx/ooxml/scripts/validate.py +0 -0
  913. /package/packages/opencode/{skills → command}/docx/ooxml/scripts/validation/__init__.py +0 -0
  914. /package/packages/opencode/{skills → command}/docx/ooxml/scripts/validation/base.py +0 -0
  915. /package/packages/opencode/{skills → command}/docx/ooxml/scripts/validation/docx.py +0 -0
  916. /package/packages/opencode/{skills → command}/docx/ooxml/scripts/validation/pptx.py +0 -0
  917. /package/packages/opencode/{skills → command}/docx/ooxml/scripts/validation/redlining.py +0 -0
  918. /package/packages/opencode/{skills → command}/docx/scripts/__init__.py +0 -0
  919. /package/packages/opencode/{skills → command}/docx/scripts/document.py +0 -0
  920. /package/packages/opencode/{skills → command}/docx/scripts/templates/comments.xml +0 -0
  921. /package/packages/opencode/{skills → command}/docx/scripts/templates/commentsExtended.xml +0 -0
  922. /package/packages/opencode/{skills → command}/docx/scripts/templates/commentsExtensible.xml +0 -0
  923. /package/packages/opencode/{skills → command}/docx/scripts/templates/commentsIds.xml +0 -0
  924. /package/packages/opencode/{skills → command}/docx/scripts/templates/people.xml +0 -0
  925. /package/packages/opencode/{skills → command}/docx/scripts/utilities.py +0 -0
  926. /package/packages/opencode/{skills → command}/internal-comms/examples/3p-updates.md +0 -0
  927. /package/packages/opencode/{skills → command}/internal-comms/examples/company-newsletter.md +0 -0
  928. /package/packages/opencode/{skills → command}/internal-comms/examples/faq-answers.md +0 -0
  929. /package/packages/opencode/{skills → command}/internal-comms/examples/general-comms.md +0 -0
  930. /package/packages/opencode/{skills → command}/mcp-builder/reference/evaluation.md +0 -0
  931. /package/packages/opencode/{skills → command}/mcp-builder/reference/mcp_best_practices.md +0 -0
  932. /package/packages/opencode/{skills → command}/mcp-builder/reference/node_mcp_server.md +0 -0
  933. /package/packages/opencode/{skills → command}/mcp-builder/reference/python_mcp_server.md +0 -0
  934. /package/packages/opencode/{skills → command}/mcp-builder/scripts/connections.py +0 -0
  935. /package/packages/opencode/{skills → command}/mcp-builder/scripts/evaluation.py +0 -0
  936. /package/packages/opencode/{skills → command}/mcp-builder/scripts/example_evaluation.xml +0 -0
  937. /package/packages/opencode/{skills → command}/mcp-builder/scripts/requirements.txt +0 -0
  938. /package/packages/opencode/{skills → command}/pdf/scripts/check_bounding_boxes.py +0 -0
  939. /package/packages/opencode/{skills → command}/pdf/scripts/check_bounding_boxes_test.py +0 -0
  940. /package/packages/opencode/{skills → command}/pdf/scripts/check_fillable_fields.py +0 -0
  941. /package/packages/opencode/{skills → command}/pdf/scripts/convert_pdf_to_images.py +0 -0
  942. /package/packages/opencode/{skills → command}/pdf/scripts/create_validation_image.py +0 -0
  943. /package/packages/opencode/{skills → command}/pdf/scripts/extract_form_field_info.py +0 -0
  944. /package/packages/opencode/{skills → command}/pdf/scripts/fill_fillable_fields.py +0 -0
  945. /package/packages/opencode/{skills → command}/pdf/scripts/fill_pdf_form_with_annotations.py +0 -0
  946. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
  947. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
  948. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
  949. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
  950. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
  951. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
  952. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
  953. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
  954. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
  955. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
  956. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
  957. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
  958. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
  959. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
  960. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
  961. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
  962. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
  963. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
  964. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
  965. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
  966. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
  967. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
  968. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
  969. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
  970. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
  971. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
  972. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
  973. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
  974. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
  975. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
  976. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
  977. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/mce/mc.xsd +0 -0
  978. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/microsoft/wml-2010.xsd +0 -0
  979. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/microsoft/wml-2012.xsd +0 -0
  980. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/microsoft/wml-2018.xsd +0 -0
  981. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -0
  982. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -0
  983. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
  984. /package/packages/opencode/{skills → command}/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -0
  985. /package/packages/opencode/{skills → command}/pptx/ooxml/scripts/pack.py +0 -0
  986. /package/packages/opencode/{skills → command}/pptx/ooxml/scripts/unpack.py +0 -0
  987. /package/packages/opencode/{skills → command}/pptx/ooxml/scripts/validate.py +0 -0
  988. /package/packages/opencode/{skills → command}/pptx/ooxml/scripts/validation/__init__.py +0 -0
  989. /package/packages/opencode/{skills → command}/pptx/ooxml/scripts/validation/base.py +0 -0
  990. /package/packages/opencode/{skills → command}/pptx/ooxml/scripts/validation/docx.py +0 -0
  991. /package/packages/opencode/{skills → command}/pptx/ooxml/scripts/validation/pptx.py +0 -0
  992. /package/packages/opencode/{skills → command}/pptx/ooxml/scripts/validation/redlining.py +0 -0
  993. /package/packages/opencode/{skills → command}/pptx/scripts/html2pptx.js +0 -0
  994. /package/packages/opencode/{skills → command}/pptx/scripts/inventory.py +0 -0
  995. /package/packages/opencode/{skills → command}/pptx/scripts/rearrange.py +0 -0
  996. /package/packages/opencode/{skills → command}/pptx/scripts/replace.py +0 -0
  997. /package/packages/opencode/{skills → command}/pptx/scripts/thumbnail.py +0 -0
  998. /package/packages/opencode/{skills → command}/root-cause-tracing/find-polluter.sh +0 -0
  999. /package/packages/opencode/{skills → command}/skill-creator/scripts/init_skill.py +0 -0
  1000. /package/packages/opencode/{skills → command}/skill-creator/scripts/package_skill.py +0 -0
  1001. /package/packages/opencode/{skills → command}/skill-creator/scripts/quick_validate.py +0 -0
  1002. /package/packages/opencode/{skills → command}/slack-gif-creator/core/color_palettes.py +0 -0
  1003. /package/packages/opencode/{skills → command}/slack-gif-creator/core/easing.py +0 -0
  1004. /package/packages/opencode/{skills → command}/slack-gif-creator/core/frame_composer.py +0 -0
  1005. /package/packages/opencode/{skills → command}/slack-gif-creator/core/gif_builder.py +0 -0
  1006. /package/packages/opencode/{skills → command}/slack-gif-creator/core/typography.py +0 -0
  1007. /package/packages/opencode/{skills → command}/slack-gif-creator/core/validators.py +0 -0
  1008. /package/packages/opencode/{skills → command}/slack-gif-creator/core/visual_effects.py +0 -0
  1009. /package/packages/opencode/{skills → command}/slack-gif-creator/templates/bounce.py +0 -0
  1010. /package/packages/opencode/{skills → command}/slack-gif-creator/templates/explode.py +0 -0
  1011. /package/packages/opencode/{skills → command}/slack-gif-creator/templates/fade.py +0 -0
  1012. /package/packages/opencode/{skills → command}/slack-gif-creator/templates/flip.py +0 -0
  1013. /package/packages/opencode/{skills → command}/slack-gif-creator/templates/kaleidoscope.py +0 -0
  1014. /package/packages/opencode/{skills → command}/slack-gif-creator/templates/morph.py +0 -0
  1015. /package/packages/opencode/{skills → command}/slack-gif-creator/templates/move.py +0 -0
  1016. /package/packages/opencode/{skills → command}/slack-gif-creator/templates/pulse.py +0 -0
  1017. /package/packages/opencode/{skills → command}/slack-gif-creator/templates/shake.py +0 -0
  1018. /package/packages/opencode/{skills → command}/slack-gif-creator/templates/slide.py +0 -0
  1019. /package/packages/opencode/{skills → command}/slack-gif-creator/templates/spin.py +0 -0
  1020. /package/packages/opencode/{skills → command}/slack-gif-creator/templates/wiggle.py +0 -0
  1021. /package/packages/opencode/{skills → command}/slack-gif-creator/templates/zoom.py +0 -0
  1022. /package/packages/opencode/{skills → command}/theme-factory/themes/arctic-frost.md +0 -0
  1023. /package/packages/opencode/{skills → command}/theme-factory/themes/botanical-garden.md +0 -0
  1024. /package/packages/opencode/{skills → command}/theme-factory/themes/desert-rose.md +0 -0
  1025. /package/packages/opencode/{skills → command}/theme-factory/themes/forest-canopy.md +0 -0
  1026. /package/packages/opencode/{skills → command}/theme-factory/themes/golden-hour.md +0 -0
  1027. /package/packages/opencode/{skills → command}/theme-factory/themes/midnight-galaxy.md +0 -0
  1028. /package/packages/opencode/{skills → command}/theme-factory/themes/modern-minimalist.md +0 -0
  1029. /package/packages/opencode/{skills → command}/theme-factory/themes/ocean-depths.md +0 -0
  1030. /package/packages/opencode/{skills → command}/theme-factory/themes/sunset-boulevard.md +0 -0
  1031. /package/packages/opencode/{skills → command}/theme-factory/themes/tech-innovation.md +0 -0
  1032. /package/packages/opencode/{skills → command}/webapp-testing/examples/console_logging.py +0 -0
  1033. /package/packages/opencode/{skills → command}/webapp-testing/examples/element_discovery.py +0 -0
  1034. /package/packages/opencode/{skills → command}/webapp-testing/examples/static_html_automation.py +0 -0
  1035. /package/packages/opencode/{skills → command}/webapp-testing/scripts/with_server.py +0 -0
  1036. /package/packages/opencode/{skills → command}/xlsx/recalc.py +0 -0
@@ -1,610 +0,0 @@
1
- # Office Open XML Technical Reference
2
-
3
- **Important: Read this entire document before starting.** This document covers:
4
- - [Technical Guidelines](#technical-guidelines) - Schema compliance rules and validation requirements
5
- - [Document Content Patterns](#document-content-patterns) - XML patterns for headings, lists, tables, formatting, etc.
6
- - [Document Library (Python)](#document-library-python) - Recommended approach for OOXML manipulation with automatic infrastructure setup
7
- - [Tracked Changes (Redlining)](#tracked-changes-redlining) - XML patterns for implementing tracked changes
8
-
9
- ## Technical Guidelines
10
-
11
- ### Schema Compliance
12
- - **Element ordering in `<w:pPr>`**: `<w:pStyle>`, `<w:numPr>`, `<w:spacing>`, `<w:ind>`, `<w:jc>`
13
- - **Whitespace**: Add `xml:space='preserve'` to `<w:t>` elements with leading/trailing spaces
14
- - **Unicode**: Escape characters in ASCII content: `"` becomes `&#8220;`
15
- - **Character encoding reference**: Curly quotes `""` become `&#8220;&#8221;`, apostrophe `'` becomes `&#8217;`, em-dash `—` becomes `&#8212;`
16
- - **Tracked changes**: Use `<w:del>` and `<w:ins>` tags with `w:author="Claude"` outside `<w:r>` elements
17
- - **Critical**: `<w:ins>` closes with `</w:ins>`, `<w:del>` closes with `</w:del>` - never mix
18
- - **RSIDs must be 8-digit hex**: Use values like `00AB1234` (only 0-9, A-F characters)
19
- - **trackRevisions placement**: Add `<w:trackRevisions/>` after `<w:proofState>` in settings.xml
20
- - **Images**: Add to `word/media/`, reference in `document.xml`, set dimensions to prevent overflow
21
-
22
- ## Document Content Patterns
23
-
24
- ### Basic Structure
25
- ```xml
26
- <w:p>
27
- <w:r><w:t>Text content</w:t></w:r>
28
- </w:p>
29
- ```
30
-
31
- ### Headings and Styles
32
- ```xml
33
- <w:p>
34
- <w:pPr>
35
- <w:pStyle w:val="Title"/>
36
- <w:jc w:val="center"/>
37
- </w:pPr>
38
- <w:r><w:t>Document Title</w:t></w:r>
39
- </w:p>
40
-
41
- <w:p>
42
- <w:pPr><w:pStyle w:val="Heading2"/></w:pPr>
43
- <w:r><w:t>Section Heading</w:t></w:r>
44
- </w:p>
45
- ```
46
-
47
- ### Text Formatting
48
- ```xml
49
- <!-- Bold -->
50
- <w:r><w:rPr><w:b/><w:bCs/></w:rPr><w:t>Bold</w:t></w:r>
51
- <!-- Italic -->
52
- <w:r><w:rPr><w:i/><w:iCs/></w:rPr><w:t>Italic</w:t></w:r>
53
- <!-- Underline -->
54
- <w:r><w:rPr><w:u w:val="single"/></w:rPr><w:t>Underlined</w:t></w:r>
55
- <!-- Highlight -->
56
- <w:r><w:rPr><w:highlight w:val="yellow"/></w:rPr><w:t>Highlighted</w:t></w:r>
57
- ```
58
-
59
- ### Lists
60
- ```xml
61
- <!-- Numbered list -->
62
- <w:p>
63
- <w:pPr>
64
- <w:pStyle w:val="ListParagraph"/>
65
- <w:numPr><w:ilvl w:val="0"/><w:numId w:val="1"/></w:numPr>
66
- <w:spacing w:before="240"/>
67
- </w:pPr>
68
- <w:r><w:t>First item</w:t></w:r>
69
- </w:p>
70
-
71
- <!-- Restart numbered list at 1 - use different numId -->
72
- <w:p>
73
- <w:pPr>
74
- <w:pStyle w:val="ListParagraph"/>
75
- <w:numPr><w:ilvl w:val="0"/><w:numId w:val="2"/></w:numPr>
76
- <w:spacing w:before="240"/>
77
- </w:pPr>
78
- <w:r><w:t>New list item 1</w:t></w:r>
79
- </w:p>
80
-
81
- <!-- Bullet list (level 2) -->
82
- <w:p>
83
- <w:pPr>
84
- <w:pStyle w:val="ListParagraph"/>
85
- <w:numPr><w:ilvl w:val="1"/><w:numId w:val="1"/></w:numPr>
86
- <w:spacing w:before="240"/>
87
- <w:ind w:left="900"/>
88
- </w:pPr>
89
- <w:r><w:t>Bullet item</w:t></w:r>
90
- </w:p>
91
- ```
92
-
93
- ### Tables
94
- ```xml
95
- <w:tbl>
96
- <w:tblPr>
97
- <w:tblStyle w:val="TableGrid"/>
98
- <w:tblW w:w="0" w:type="auto"/>
99
- </w:tblPr>
100
- <w:tblGrid>
101
- <w:gridCol w:w="4675"/><w:gridCol w:w="4675"/>
102
- </w:tblGrid>
103
- <w:tr>
104
- <w:tc>
105
- <w:tcPr><w:tcW w:w="4675" w:type="dxa"/></w:tcPr>
106
- <w:p><w:r><w:t>Cell 1</w:t></w:r></w:p>
107
- </w:tc>
108
- <w:tc>
109
- <w:tcPr><w:tcW w:w="4675" w:type="dxa"/></w:tcPr>
110
- <w:p><w:r><w:t>Cell 2</w:t></w:r></w:p>
111
- </w:tc>
112
- </w:tr>
113
- </w:tbl>
114
- ```
115
-
116
- ### Layout
117
- ```xml
118
- <!-- Page break before new section (common pattern) -->
119
- <w:p>
120
- <w:r>
121
- <w:br w:type="page"/>
122
- </w:r>
123
- </w:p>
124
- <w:p>
125
- <w:pPr>
126
- <w:pStyle w:val="Heading1"/>
127
- </w:pPr>
128
- <w:r>
129
- <w:t>New Section Title</w:t>
130
- </w:r>
131
- </w:p>
132
-
133
- <!-- Centered paragraph -->
134
- <w:p>
135
- <w:pPr>
136
- <w:spacing w:before="240" w:after="0"/>
137
- <w:jc w:val="center"/>
138
- </w:pPr>
139
- <w:r><w:t>Centered text</w:t></w:r>
140
- </w:p>
141
-
142
- <!-- Font change - paragraph level (applies to all runs) -->
143
- <w:p>
144
- <w:pPr>
145
- <w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New"/></w:rPr>
146
- </w:pPr>
147
- <w:r><w:t>Monospace text</w:t></w:r>
148
- </w:p>
149
-
150
- <!-- Font change - run level (specific to this text) -->
151
- <w:p>
152
- <w:r>
153
- <w:rPr><w:rFonts w:ascii="Courier New" w:hAnsi="Courier New"/></w:rPr>
154
- <w:t>This text is Courier New</w:t>
155
- </w:r>
156
- <w:r><w:t> and this text uses default font</w:t></w:r>
157
- </w:p>
158
- ```
159
-
160
- ## File Updates
161
-
162
- When adding content, update these files:
163
-
164
- **`word/_rels/document.xml.rels`:**
165
- ```xml
166
- <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering" Target="numbering.xml"/>
167
- <Relationship Id="rId5" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="media/image1.png"/>
168
- ```
169
-
170
- **`[Content_Types].xml`:**
171
- ```xml
172
- <Default Extension="png" ContentType="image/png"/>
173
- <Override PartName="/word/numbering.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml"/>
174
- ```
175
-
176
- ### Images
177
- **CRITICAL**: Calculate dimensions to prevent page overflow and maintain aspect ratio.
178
-
179
- ```xml
180
- <!-- Minimal required structure -->
181
- <w:p>
182
- <w:r>
183
- <w:drawing>
184
- <wp:inline>
185
- <wp:extent cx="2743200" cy="1828800"/>
186
- <wp:docPr id="1" name="Picture 1"/>
187
- <a:graphic xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
188
- <a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/picture">
189
- <pic:pic xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture">
190
- <pic:nvPicPr>
191
- <pic:cNvPr id="0" name="image1.png"/>
192
- <pic:cNvPicPr/>
193
- </pic:nvPicPr>
194
- <pic:blipFill>
195
- <a:blip r:embed="rId5"/>
196
- <!-- Add for stretch fill with aspect ratio preservation -->
197
- <a:stretch>
198
- <a:fillRect/>
199
- </a:stretch>
200
- </pic:blipFill>
201
- <pic:spPr>
202
- <a:xfrm>
203
- <a:ext cx="2743200" cy="1828800"/>
204
- </a:xfrm>
205
- <a:prstGeom prst="rect"/>
206
- </pic:spPr>
207
- </pic:pic>
208
- </a:graphicData>
209
- </a:graphic>
210
- </wp:inline>
211
- </w:drawing>
212
- </w:r>
213
- </w:p>
214
- ```
215
-
216
- ### Links (Hyperlinks)
217
-
218
- **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.
219
-
220
- **External Links:**
221
- ```xml
222
- <!-- In document.xml -->
223
- <w:hyperlink r:id="rId5">
224
- <w:r>
225
- <w:rPr><w:rStyle w:val="Hyperlink"/></w:rPr>
226
- <w:t>Link Text</w:t>
227
- </w:r>
228
- </w:hyperlink>
229
-
230
- <!-- In word/_rels/document.xml.rels -->
231
- <Relationship Id="rId5" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink"
232
- Target="https://www.example.com/" TargetMode="External"/>
233
- ```
234
-
235
- **Internal Links:**
236
-
237
- ```xml
238
- <!-- Link to bookmark -->
239
- <w:hyperlink w:anchor="myBookmark">
240
- <w:r>
241
- <w:rPr><w:rStyle w:val="Hyperlink"/></w:rPr>
242
- <w:t>Link Text</w:t>
243
- </w:r>
244
- </w:hyperlink>
245
-
246
- <!-- Bookmark target -->
247
- <w:bookmarkStart w:id="0" w:name="myBookmark"/>
248
- <w:r><w:t>Target content</w:t></w:r>
249
- <w:bookmarkEnd w:id="0"/>
250
- ```
251
-
252
- **Hyperlink Style (required in styles.xml):**
253
- ```xml
254
- <w:style w:type="character" w:styleId="Hyperlink">
255
- <w:name w:val="Hyperlink"/>
256
- <w:basedOn w:val="DefaultParagraphFont"/>
257
- <w:uiPriority w:val="99"/>
258
- <w:unhideWhenUsed/>
259
- <w:rPr>
260
- <w:color w:val="467886" w:themeColor="hyperlink"/>
261
- <w:u w:val="single"/>
262
- </w:rPr>
263
- </w:style>
264
- ```
265
-
266
- ## Document Library (Python)
267
-
268
- 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.
269
-
270
- **Working with Unicode and Entities:**
271
- - **Searching**: Both entity notation and Unicode characters work - `contains="&#8220;Company"` and `contains="\u201cCompany"` find the same text
272
- - **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)
273
-
274
- ### Initialization
275
-
276
- **Find the docx skill root** (directory containing `scripts/` and `ooxml/`):
277
- ```bash
278
- # Search for document.py to locate the skill root
279
- # Note: /mnt/skills is used here as an example; check your context for the actual location
280
- find /mnt/skills -name "document.py" -path "*/docx/scripts/*" 2>/dev/null | head -1
281
- # Example output: /mnt/skills/docx/scripts/document.py
282
- # Skill root is: /mnt/skills/docx
283
- ```
284
-
285
- **Run your script with PYTHONPATH** set to the docx skill root:
286
- ```bash
287
- PYTHONPATH=/mnt/skills/docx python your_script.py
288
- ```
289
-
290
- **In your script**, import from the skill root:
291
- ```python
292
- from scripts.document import Document, DocxXMLEditor
293
-
294
- # Basic initialization (automatically creates temp copy and sets up infrastructure)
295
- doc = Document('unpacked')
296
-
297
- # Customize author and initials
298
- doc = Document('unpacked', author="John Doe", initials="JD")
299
-
300
- # Enable track revisions mode
301
- doc = Document('unpacked', track_revisions=True)
302
-
303
- # Specify custom RSID (auto-generated if not provided)
304
- doc = Document('unpacked', rsid="07DC5ECB")
305
- ```
306
-
307
- ### Creating Tracked Changes
308
-
309
- **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.
310
-
311
- **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.
312
-
313
- **Method Selection Guide**:
314
- - **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
315
- - **Partially modifying another author's tracked change**: Use `replace_node()` to nest your changes inside their `<w:ins>`/`<w:del>`
316
- - **Completely rejecting another author's insertion**: Use `revert_insertion()` on the `<w:ins>` element (NOT `suggest_deletion()`)
317
- - **Completely rejecting another author's deletion**: Use `revert_deletion()` on the `<w:del>` element to restore deleted content using tracked changes
318
-
319
- ```python
320
- # Minimal edit - change one word: "The report is monthly" → "The report is quarterly"
321
- # 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>
322
- node = doc["word/document.xml"].get_node(tag="w:r", contains="The report is monthly")
323
- rpr = tags[0].toxml() if (tags := node.getElementsByTagName("w:rPr")) else ""
324
- 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>'
325
- doc["word/document.xml"].replace_node(node, replacement)
326
-
327
- # Minimal edit - change number: "within 30 days" → "within 45 days"
328
- # Original: <w:r w:rsidR="00XYZ789"><w:rPr><w:rFonts w:ascii="Calibri"/></w:rPr><w:t>within 30 days</w:t></w:r>
329
- node = doc["word/document.xml"].get_node(tag="w:r", contains="within 30 days")
330
- rpr = tags[0].toxml() if (tags := node.getElementsByTagName("w:rPr")) else ""
331
- 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>'
332
- doc["word/document.xml"].replace_node(node, replacement)
333
-
334
- # Complete replacement - preserve formatting even when replacing all text
335
- node = doc["word/document.xml"].get_node(tag="w:r", contains="apple")
336
- rpr = tags[0].toxml() if (tags := node.getElementsByTagName("w:rPr")) else ""
337
- 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>'
338
- doc["word/document.xml"].replace_node(node, replacement)
339
-
340
- # Insert new content (no attributes needed - auto-injected)
341
- node = doc["word/document.xml"].get_node(tag="w:r", contains="existing text")
342
- doc["word/document.xml"].insert_after(node, '<w:ins><w:r><w:t>new text</w:t></w:r></w:ins>')
343
-
344
- # Partially delete another author's insertion
345
- # Original: <w:ins w:author="Jane Smith" w:date="..."><w:r><w:t>quarterly financial report</w:t></w:r></w:ins>
346
- # Goal: Delete only "financial" to make it "quarterly report"
347
- node = doc["word/document.xml"].get_node(tag="w:ins", attrs={"w:id": "5"})
348
- # IMPORTANT: Preserve w:author="Jane Smith" on the outer <w:ins> to maintain authorship
349
- replacement = '''<w:ins w:author="Jane Smith" w:date="2025-01-15T10:00:00Z">
350
- <w:r><w:t>quarterly </w:t></w:r>
351
- <w:del><w:r><w:delText>financial </w:delText></w:r></w:del>
352
- <w:r><w:t>report</w:t></w:r>
353
- </w:ins>'''
354
- doc["word/document.xml"].replace_node(node, replacement)
355
-
356
- # Change part of another author's insertion
357
- # Original: <w:ins w:author="Jane Smith"><w:r><w:t>in silence, safe and sound</w:t></w:r></w:ins>
358
- # Goal: Change "safe and sound" to "soft and unbound"
359
- node = doc["word/document.xml"].get_node(tag="w:ins", attrs={"w:id": "8"})
360
- replacement = f'''<w:ins w:author="Jane Smith" w:date="2025-01-15T10:00:00Z">
361
- <w:r><w:t>in silence, </w:t></w:r>
362
- </w:ins>
363
- <w:ins>
364
- <w:r><w:t>soft and unbound</w:t></w:r>
365
- </w:ins>
366
- <w:ins w:author="Jane Smith" w:date="2025-01-15T10:00:00Z">
367
- <w:del><w:r><w:delText>safe and sound</w:delText></w:r></w:del>
368
- </w:ins>'''
369
- doc["word/document.xml"].replace_node(node, replacement)
370
-
371
- # Delete entire run (use only when deleting all content; use replace_node for partial deletions)
372
- node = doc["word/document.xml"].get_node(tag="w:r", contains="text to delete")
373
- doc["word/document.xml"].suggest_deletion(node)
374
-
375
- # Delete entire paragraph (in-place, handles both regular and numbered list paragraphs)
376
- para = doc["word/document.xml"].get_node(tag="w:p", contains="paragraph to delete")
377
- doc["word/document.xml"].suggest_deletion(para)
378
-
379
- # Add new numbered list item
380
- target_para = doc["word/document.xml"].get_node(tag="w:p", contains="existing list item")
381
- pPr = tags[0].toxml() if (tags := target_para.getElementsByTagName("w:pPr")) else ""
382
- new_item = f'<w:p>{pPr}<w:r><w:t>New item</w:t></w:r></w:p>'
383
- tracked_para = DocxXMLEditor.suggest_paragraph(new_item)
384
- doc["word/document.xml"].insert_after(target_para, tracked_para)
385
- # Optional: add spacing paragraph before content for better visual separation
386
- # spacing = DocxXMLEditor.suggest_paragraph('<w:p><w:pPr><w:pStyle w:val="ListParagraph"/></w:pPr></w:p>')
387
- # doc["word/document.xml"].insert_after(target_para, spacing + tracked_para)
388
- ```
389
-
390
- ### Adding Comments
391
-
392
- ```python
393
- # Add comment spanning two existing tracked changes
394
- # Note: w:id is auto-generated. Only search by w:id if you know it from XML inspection
395
- start_node = doc["word/document.xml"].get_node(tag="w:del", attrs={"w:id": "1"})
396
- end_node = doc["word/document.xml"].get_node(tag="w:ins", attrs={"w:id": "2"})
397
- doc.add_comment(start=start_node, end=end_node, text="Explanation of this change")
398
-
399
- # Add comment on a paragraph
400
- para = doc["word/document.xml"].get_node(tag="w:p", contains="paragraph text")
401
- doc.add_comment(start=para, end=para, text="Comment on this paragraph")
402
-
403
- # Add comment on newly created tracked change
404
- # First create the tracked change
405
- node = doc["word/document.xml"].get_node(tag="w:r", contains="old")
406
- new_nodes = doc["word/document.xml"].replace_node(
407
- node,
408
- '<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>'
409
- )
410
- # Then add comment on the newly created elements
411
- # new_nodes[0] is the <w:del>, new_nodes[1] is the <w:ins>
412
- doc.add_comment(start=new_nodes[0], end=new_nodes[1], text="Changed old to new per requirements")
413
-
414
- # Reply to existing comment
415
- doc.reply_to_comment(parent_comment_id=0, text="I agree with this change")
416
- ```
417
-
418
- ### Rejecting Tracked Changes
419
-
420
- **IMPORTANT**: Use `revert_insertion()` to reject insertions and `revert_deletion()` to restore deletions using tracked changes. Use `suggest_deletion()` only for regular unmarked content.
421
-
422
- ```python
423
- # Reject insertion (wraps it in deletion)
424
- # Use this when another author inserted text that you want to delete
425
- ins = doc["word/document.xml"].get_node(tag="w:ins", attrs={"w:id": "5"})
426
- nodes = doc["word/document.xml"].revert_insertion(ins) # Returns [ins]
427
-
428
- # Reject deletion (creates insertion to restore deleted content)
429
- # Use this when another author deleted text that you want to restore
430
- del_elem = doc["word/document.xml"].get_node(tag="w:del", attrs={"w:id": "3"})
431
- nodes = doc["word/document.xml"].revert_deletion(del_elem) # Returns [del_elem, new_ins]
432
-
433
- # Reject all insertions in a paragraph
434
- para = doc["word/document.xml"].get_node(tag="w:p", contains="paragraph text")
435
- nodes = doc["word/document.xml"].revert_insertion(para) # Returns [para]
436
-
437
- # Reject all deletions in a paragraph
438
- para = doc["word/document.xml"].get_node(tag="w:p", contains="paragraph text")
439
- nodes = doc["word/document.xml"].revert_deletion(para) # Returns [para]
440
- ```
441
-
442
- ### Inserting Images
443
-
444
- **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.
445
-
446
- ```python
447
- from PIL import Image
448
- import shutil, os
449
-
450
- # Initialize document first
451
- doc = Document('unpacked')
452
-
453
- # Copy image and calculate full-width dimensions with aspect ratio
454
- media_dir = os.path.join(doc.unpacked_path, 'word/media')
455
- os.makedirs(media_dir, exist_ok=True)
456
- shutil.copy('image.png', os.path.join(media_dir, 'image1.png'))
457
- img = Image.open(os.path.join(media_dir, 'image1.png'))
458
- width_emus = int(6.5 * 914400) # 6.5" usable width, 914400 EMUs/inch
459
- height_emus = int(width_emus * img.size[1] / img.size[0])
460
-
461
- # Add relationship and content type
462
- rels_editor = doc['word/_rels/document.xml.rels']
463
- next_rid = rels_editor.get_next_rid()
464
- rels_editor.append_to(rels_editor.dom.documentElement,
465
- f'<Relationship Id="{next_rid}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="media/image1.png"/>')
466
- doc['[Content_Types].xml'].append_to(doc['[Content_Types].xml'].dom.documentElement,
467
- '<Default Extension="png" ContentType="image/png"/>')
468
-
469
- # Insert image
470
- node = doc["word/document.xml"].get_node(tag="w:p", line_number=100)
471
- doc["word/document.xml"].insert_after(node, f'''<w:p>
472
- <w:r>
473
- <w:drawing>
474
- <wp:inline distT="0" distB="0" distL="0" distR="0">
475
- <wp:extent cx="{width_emus}" cy="{height_emus}"/>
476
- <wp:docPr id="1" name="Picture 1"/>
477
- <a:graphic xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
478
- <a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/picture">
479
- <pic:pic xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture">
480
- <pic:nvPicPr><pic:cNvPr id="1" name="image1.png"/><pic:cNvPicPr/></pic:nvPicPr>
481
- <pic:blipFill><a:blip r:embed="{next_rid}"/><a:stretch><a:fillRect/></a:stretch></pic:blipFill>
482
- <pic:spPr><a:xfrm><a:ext cx="{width_emus}" cy="{height_emus}"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></pic:spPr>
483
- </pic:pic>
484
- </a:graphicData>
485
- </a:graphic>
486
- </wp:inline>
487
- </w:drawing>
488
- </w:r>
489
- </w:p>''')
490
- ```
491
-
492
- ### Getting Nodes
493
-
494
- ```python
495
- # By text content
496
- node = doc["word/document.xml"].get_node(tag="w:p", contains="specific text")
497
-
498
- # By line range
499
- para = doc["word/document.xml"].get_node(tag="w:p", line_number=range(100, 150))
500
-
501
- # By attributes
502
- node = doc["word/document.xml"].get_node(tag="w:del", attrs={"w:id": "1"})
503
-
504
- # By exact line number (must be line number where tag opens)
505
- para = doc["word/document.xml"].get_node(tag="w:p", line_number=42)
506
-
507
- # Combine filters
508
- node = doc["word/document.xml"].get_node(tag="w:r", line_number=range(40, 60), contains="text")
509
-
510
- # Disambiguate when text appears multiple times - add line_number range
511
- node = doc["word/document.xml"].get_node(tag="w:r", contains="Section", line_number=range(2400, 2500))
512
- ```
513
-
514
- ### Saving
515
-
516
- ```python
517
- # Save with automatic validation (copies back to original directory)
518
- doc.save() # Validates by default, raises error if validation fails
519
-
520
- # Save to different location
521
- doc.save('modified-unpacked')
522
-
523
- # Skip validation (debugging only - needing this in production indicates XML issues)
524
- doc.save(validate=False)
525
- ```
526
-
527
- ### Direct DOM Manipulation
528
-
529
- For complex scenarios not covered by the library:
530
-
531
- ```python
532
- # Access any XML file
533
- editor = doc["word/document.xml"]
534
- editor = doc["word/comments.xml"]
535
-
536
- # Direct DOM access (defusedxml.minidom.Document)
537
- node = doc["word/document.xml"].get_node(tag="w:p", line_number=5)
538
- parent = node.parentNode
539
- parent.removeChild(node)
540
- parent.appendChild(node) # Move to end
541
-
542
- # General document manipulation (without tracked changes)
543
- old_node = doc["word/document.xml"].get_node(tag="w:p", contains="original text")
544
- doc["word/document.xml"].replace_node(old_node, "<w:p><w:r><w:t>replacement text</w:t></w:r></w:p>")
545
-
546
- # Multiple insertions - use return value to maintain order
547
- node = doc["word/document.xml"].get_node(tag="w:r", line_number=100)
548
- nodes = doc["word/document.xml"].insert_after(node, "<w:r><w:t>A</w:t></w:r>")
549
- nodes = doc["word/document.xml"].insert_after(nodes[-1], "<w:r><w:t>B</w:t></w:r>")
550
- nodes = doc["word/document.xml"].insert_after(nodes[-1], "<w:r><w:t>C</w:t></w:r>")
551
- # Results in: original_node, A, B, C
552
- ```
553
-
554
- ## Tracked Changes (Redlining)
555
-
556
- **Use the Document class above for all tracked changes.** The patterns below are for reference when constructing replacement XML strings.
557
-
558
- ### Validation Rules
559
- The validator checks that the document text matches the original after reverting Claude's changes. This means:
560
- - **NEVER modify text inside another author's `<w:ins>` or `<w:del>` tags**
561
- - **ALWAYS use nested deletions** to remove another author's insertions
562
- - **Every edit must be properly tracked** with `<w:ins>` or `<w:del>` tags
563
-
564
- ### Tracked Change Patterns
565
-
566
- **CRITICAL RULES**:
567
- 1. Never modify the content inside another author's tracked changes. Always use nested deletions.
568
- 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.
569
-
570
- **Text Insertion:**
571
- ```xml
572
- <w:ins w:id="1" w:author="Claude" w:date="2025-07-30T23:05:00Z" w16du:dateUtc="2025-07-31T06:05:00Z">
573
- <w:r w:rsidR="00792858">
574
- <w:t>inserted text</w:t>
575
- </w:r>
576
- </w:ins>
577
- ```
578
-
579
- **Text Deletion:**
580
- ```xml
581
- <w:del w:id="2" w:author="Claude" w:date="2025-07-30T23:05:00Z" w16du:dateUtc="2025-07-31T06:05:00Z">
582
- <w:r w:rsidDel="00792858">
583
- <w:delText>deleted text</w:delText>
584
- </w:r>
585
- </w:del>
586
- ```
587
-
588
- **Deleting Another Author's Insertion (MUST use nested structure):**
589
- ```xml
590
- <!-- Nest deletion inside the original insertion -->
591
- <w:ins w:author="Jane Smith" w:id="16">
592
- <w:del w:author="Claude" w:id="40">
593
- <w:r><w:delText>monthly</w:delText></w:r>
594
- </w:del>
595
- </w:ins>
596
- <w:ins w:author="Claude" w:id="41">
597
- <w:r><w:t>weekly</w:t></w:r>
598
- </w:ins>
599
- ```
600
-
601
- **Restoring Another Author's Deletion:**
602
- ```xml
603
- <!-- Leave their deletion unchanged, add new insertion after it -->
604
- <w:del w:author="Jane Smith" w:id="50">
605
- <w:r><w:delText>within 30 days</w:delText></w:r>
606
- </w:del>
607
- <w:ins w:author="Claude" w:id="51">
608
- <w:r><w:t>within 30 days</w:t></w:r>
609
- </w:ins>
610
- ```