qoder-agent-config.json 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. {
  2. "name": "pptx-agent",
  3. "description": "Presentation creation, editing, and analysis. When Claude needs to work with presentations (.pptx files) for: (1) Creating new presentations, (2) Modifying or editing content, (3) Working with layouts, (4) Adding comments or speaker notes, or any other presentation tasks",
  4. "version": "1.0.0",
  5. "type": "skill-agent",
  6. "capabilities": [
  7. "pptx"
  8. ],
  9. "workflow": [
  10. {
  11. "step": "step-1",
  12. "description": "**Read theme file**: Check `ppt/theme/theme1.xml` for colors (`<a:clrScheme>`) and fonts (`<a:fontScheme>`)"
  13. },
  14. {
  15. "step": "step-2",
  16. "description": "**Sample slide content**: Examine `ppt/slides/slide1.xml` for actual font usage (`<a:rPr>`) and colors"
  17. },
  18. {
  19. "step": "step-3",
  20. "description": "**Search for patterns**: Use grep to find color (`<a:solidFill>`, `<a:srgbClr>`) and font references across all XML files"
  21. },
  22. {
  23. "step": "step-1",
  24. "description": "**Consider the subject matter**: What is this presentation about? What tone, industry, or mood does it suggest?"
  25. },
  26. {
  27. "step": "step-2",
  28. "description": "**Check for branding**: If the user mentions a company/organization, consider their brand colors and identity"
  29. },
  30. {
  31. "step": "step-3",
  32. "description": "**Match palette to content**: Select colors that reflect the subject"
  33. },
  34. {
  35. "step": "step-4",
  36. "description": "**State your approach**: Explain your design choices before writing code"
  37. },
  38. {
  39. "step": "step-1",
  40. "description": "**Classic Blue**: Deep navy (#1C2833), slate gray (#2E4053), silver (#AAB7B8), off-white (#F4F6F6)"
  41. },
  42. {
  43. "step": "step-2",
  44. "description": "**Teal & Coral**: Teal (#5EA8A7), deep teal (#277884), coral (#FE4447), white (#FFFFFF)"
  45. },
  46. {
  47. "step": "step-3",
  48. "description": "**Bold Red**: Red (#C0392B), bright red (#E74C3C), orange (#F39C12), yellow (#F1C40F), green (#2ECC71)"
  49. },
  50. {
  51. "step": "step-4",
  52. "description": "**Warm Blush**: Mauve (#A49393), blush (#EED6D3), rose (#E8B4B8), cream (#FAF7F2)"
  53. },
  54. {
  55. "step": "step-5",
  56. "description": "**Burgundy Luxury**: Burgundy (#5D1D2E), crimson (#951233), rust (#C15937), gold (#997929)"
  57. },
  58. {
  59. "step": "step-6",
  60. "description": "**Deep Purple & Emerald**: Purple (#B165FB), dark blue (#181B24), emerald (#40695B), white (#FFFFFF)"
  61. },
  62. {
  63. "step": "step-7",
  64. "description": "**Cream & Forest Green**: Cream (#FFE1C7), forest green (#40695B), white (#FCFCFC)"
  65. },
  66. {
  67. "step": "step-8",
  68. "description": "**Pink & Purple**: Pink (#F8275B), coral (#FF574A), rose (#FF737D), purple (#3D2F68)"
  69. },
  70. {
  71. "step": "step-9",
  72. "description": "**Lime & Plum**: Lime (#C5DE82), plum (#7C3A5F), coral (#FD8C6E), blue-gray (#98ACB5)"
  73. },
  74. {
  75. "step": "step-10",
  76. "description": "**Black & Gold**: Gold (#BF9A4A), black (#000000), cream (#F4F6F6)"
  77. },
  78. {
  79. "step": "step-11",
  80. "description": "**Sage & Terracotta**: Sage (#87A96B), terracotta (#E07A5F), cream (#F4F1DE), charcoal (#2C2C2C)"
  81. },
  82. {
  83. "step": "step-12",
  84. "description": "**Charcoal & Red**: Charcoal (#292929), red (#E33737), light gray (#CCCBCB)"
  85. },
  86. {
  87. "step": "step-13",
  88. "description": "**Vibrant Orange**: Orange (#F96D00), light gray (#F2F2F2), charcoal (#222831)"
  89. },
  90. {
  91. "step": "step-14",
  92. "description": "**Forest Green**: Black (#191A19), green (#4E9F3D), dark green (#1E5128), white (#FFFFFF)"
  93. },
  94. {
  95. "step": "step-15",
  96. "description": "**Retro Rainbow**: Purple (#722880), pink (#D72D51), orange (#EB5C18), amber (#F08800), gold (#DEB600)"
  97. },
  98. {
  99. "step": "step-16",
  100. "description": "**Vintage Earthy**: Mustard (#E3B448), sage (#CBD18F), forest green (#3A6B35), cream (#F4F1DE)"
  101. },
  102. {
  103. "step": "step-17",
  104. "description": "**Coastal Rose**: Old rose (#AD7670), beaver (#B49886), eggshell (#F3ECDC), ash gray (#BFD5BE)"
  105. },
  106. {
  107. "step": "step-18",
  108. "description": "**Orange & Turquoise**: Light orange (#FC993E), grayish turquoise (#667C6F), white (#FCFCFC)"
  109. },
  110. {
  111. "step": "step-1",
  112. "description": "**MANDATORY - READ ENTIRE FILE**: Read [`html2pptx.md`](html2pptx.md) completely from start to finish. **NEVER set any range limits when reading this file.** Read the full file content for detailed syntax, critical formatting rules, and best practices before proceeding with presentation creation."
  113. },
  114. {
  115. "step": "step-2",
  116. "description": "Create an HTML file for each slide with proper dimensions (e.g., 720pt × 405pt for 16:9)"
  117. },
  118. {
  119. "step": "step-3",
  120. "description": "Create and run a JavaScript file using the [`html2pptx.js`](scripts/html2pptx.js) library to convert HTML slides to PowerPoint and save the presentation"
  121. },
  122. {
  123. "step": "step-4",
  124. "description": "**Visual validation**: Generate thumbnails and inspect for layout issues"
  125. },
  126. {
  127. "step": "step-1",
  128. "description": "**MANDATORY - READ ENTIRE FILE**: Read [`ooxml.md`](ooxml.md) (~500 lines) completely from start to finish. **NEVER set any range limits when reading this file.** Read the full file content for detailed guidance on OOXML structure and editing workflows before any presentation editing."
  129. },
  130. {
  131. "step": "step-2",
  132. "description": "Unpack the presentation: `python ooxml/scripts/unpack.py <office_file> <output_dir>`"
  133. },
  134. {
  135. "step": "step-3",
  136. "description": "Edit the XML files (primarily `ppt/slides/slide{N}.xml` and related files)"
  137. },
  138. {
  139. "step": "step-4",
  140. "description": "**CRITICAL**: Validate immediately after each edit and fix any validation errors before proceeding: `python ooxml/scripts/validate.py <dir> --original <file>`"
  141. },
  142. {
  143. "step": "step-5",
  144. "description": "Pack the final presentation: `python ooxml/scripts/pack.py <input_directory> <office_file>`"
  145. },
  146. {
  147. "step": "step-1",
  148. "description": "**Extract template text AND create visual thumbnail grid**:"
  149. },
  150. {
  151. "step": "step-2",
  152. "description": "**Analyze template and save inventory to a file**:"
  153. },
  154. {
  155. "step": "step-3",
  156. "description": "**Create presentation outline based on template inventory**:"
  157. },
  158. {
  159. "step": "step-4",
  160. "description": "**Duplicate, reorder, and delete slides using `rearrange.py`**:"
  161. },
  162. {
  163. "step": "step-5",
  164. "description": "**Extract ALL text using the `inventory.py` script**:"
  165. },
  166. {
  167. "step": "step-6",
  168. "description": "**Generate replacement text and save the data to a JSON file**"
  169. },
  170. {
  171. "step": "step-7",
  172. "description": "**Apply replacements using the `replace.py` script**"
  173. },
  174. {
  175. "step": "step-1",
  176. "description": "**Convert PPTX to PDF**:"
  177. },
  178. {
  179. "step": "step-2",
  180. "description": "**Convert PDF pages to JPEG images**:"
  181. }
  182. ],
  183. "instructions": "SKILL.md",
  184. "metadata": {
  185. "source": "teaching-ai-skills",
  186. "original_skill": "pptx"
  187. }
  188. }