@prismer/runtime 2.2.55 → 2.2.64

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 (563) hide show
  1. package/CHANGELOG.md +574 -0
  2. package/apc/skills/releasing-test/SKILL.md +9 -0
  3. package/built-in-skills/agent-coordination/SKILL.md +21 -4
  4. package/built-in-skills/agent-meta/SKILL.md +11 -0
  5. package/built-in-skills/assets/SKILL.md +1 -1
  6. package/built-in-skills/canvas-design/SKILL.md +3 -3
  7. package/built-in-skills/canvas-design/canvas-fonts/IBMPlexSerif-OFL.txt +93 -0
  8. package/built-in-skills/canvas-design/canvas-fonts/InstrumentSerif-OFL.txt +93 -0
  9. package/built-in-skills/canvas-design/canvas-fonts/LICENSE-SOURCES.md +16 -0
  10. package/built-in-skills/claim-agent-ownership/SKILL.md +7 -3
  11. package/built-in-skills/claude-api/SKILL.md +1 -1
  12. package/built-in-skills/claude-api/python/claude-api/README.md +2 -2
  13. package/built-in-skills/claude-api/python/claude-api/tool-use.md +9 -5
  14. package/built-in-skills/claude-api/python/managed-agents/README.md +11 -1
  15. package/built-in-skills/claude-api/shared/error-codes.md +4 -4
  16. package/built-in-skills/claude-api/shared/managed-agents-client-patterns.md +4 -2
  17. package/built-in-skills/claude-api/shared/managed-agents-core.md +1 -2
  18. package/built-in-skills/claude-api/shared/managed-agents-events.md +41 -22
  19. package/built-in-skills/claude-api/shared/managed-agents-multiagent.md +5 -3
  20. package/built-in-skills/claude-api/shared/managed-agents-self-hosted-sandboxes.md +1 -1
  21. package/built-in-skills/claude-api/shared/managed-agents-tools.md +2 -3
  22. package/built-in-skills/claude-api/shared/model-migration.md +3 -3
  23. package/built-in-skills/claude-api/shared/models.md +1 -1
  24. package/built-in-skills/claude-api/typescript/claude-api/batches.md +1 -1
  25. package/built-in-skills/claude-api/typescript/claude-api/files-api.md +3 -1
  26. package/built-in-skills/claude-api/typescript/claude-api/tool-use.md +8 -2
  27. package/built-in-skills/claude-api/typescript/managed-agents/README.md +8 -2
  28. package/built-in-skills/codebase-design/SKILL.md +15 -1
  29. package/built-in-skills/codebase-design/references/requesting-code-review/GUIDE.md +291 -0
  30. package/built-in-skills/codebase-design/references/requesting-code-review/LICENSE +21 -0
  31. package/built-in-skills/codebase-design/references/requesting-code-review/LICENSE.superpowers +21 -0
  32. package/built-in-skills/codebase-design/references/requesting-code-review/NOTICE.md +37 -0
  33. package/built-in-skills/codebase-design/references/sdlc-review/GUIDE.md +130 -0
  34. package/built-in-skills/codebase-design/references/sdlc-review/LICENSE +21 -0
  35. package/built-in-skills/codebase-design/references/sdlc-review/NOTICE.md +17 -0
  36. package/built-in-skills/codebase-design/references/simplify-code/GUIDE.md +269 -0
  37. package/built-in-skills/codebase-design/references/simplify-code/LICENSE +21 -0
  38. package/built-in-skills/codebase-design/references/simplify-code/NOTICE.md +37 -0
  39. package/built-in-skills/competitor-intelligence/LICENSE +21 -0
  40. package/built-in-skills/competitor-intelligence/NOTICE.md +6 -0
  41. package/built-in-skills/competitor-intelligence/SKILL.md +125 -0
  42. package/built-in-skills/competitor-intelligence/scripts/watch_state.py +160 -0
  43. package/built-in-skills/conversation-compaction/SKILL.md +3 -0
  44. package/built-in-skills/council-creator/SKILL.md +4 -3
  45. package/built-in-skills/diagnosing-bugs/SKILL.md +12 -0
  46. package/built-in-skills/diagnosing-bugs/references/desktop-dom/GUIDE.md +64 -0
  47. package/built-in-skills/diagnosing-bugs/references/desktop-dom/LICENSE +21 -0
  48. package/built-in-skills/diagnosing-bugs/references/desktop-dom/NOTICE.md +17 -0
  49. package/built-in-skills/diagnosing-bugs/references/systematic-debugging/GUIDE.md +410 -0
  50. package/built-in-skills/diagnosing-bugs/references/systematic-debugging/LICENSE +21 -0
  51. package/built-in-skills/diagnosing-bugs/references/systematic-debugging/LICENSE.superpowers +21 -0
  52. package/built-in-skills/diagnosing-bugs/references/systematic-debugging/NOTICE.md +37 -0
  53. package/built-in-skills/doc-coauthoring/SKILL.md +6 -0
  54. package/built-in-skills/doc-coauthoring/references/humanizer/GUIDE.md +647 -0
  55. package/built-in-skills/doc-coauthoring/references/humanizer/LICENSE +21 -0
  56. package/built-in-skills/doc-coauthoring/references/humanizer/LICENSE.hermes +21 -0
  57. package/built-in-skills/doc-coauthoring/references/humanizer/PROVENANCE.md +7 -0
  58. package/built-in-skills/document-actions/LICENSE +21 -0
  59. package/built-in-skills/document-actions/NOTICE.md +21 -0
  60. package/built-in-skills/document-actions/SKILL.md +46 -0
  61. package/built-in-skills/evidence-citations/LICENSE +21 -0
  62. package/built-in-skills/evidence-citations/NOTICE.md +21 -0
  63. package/built-in-skills/evidence-citations/SKILL.md +46 -0
  64. package/built-in-skills/evidence-citations/references/citation-formats.md +68 -0
  65. package/built-in-skills/evidence-citations/references/grounding-rationale.md +64 -0
  66. package/built-in-skills/evidence-citations/scripts/sources.py +720 -0
  67. package/built-in-skills/frontend-design/SKILL.md +6 -0
  68. package/built-in-skills/frontend-design/references/claude-design/GUIDE.md +650 -0
  69. package/built-in-skills/frontend-design/references/claude-design/LICENSE +21 -0
  70. package/built-in-skills/frontend-design/references/claude-design/LICENSE.hermes +21 -0
  71. package/built-in-skills/frontend-design/references/claude-design/PROVENANCE.md +7 -0
  72. package/built-in-skills/image-generate/SKILL.md +5 -0
  73. package/built-in-skills/image-generate/scripts/generate-and-deliver.mjs +24 -3
  74. package/built-in-skills/mcp-builder/reference/evaluation.md +11 -2
  75. package/built-in-skills/mcp-builder/reference/node_mcp_server.md +34 -5
  76. package/built-in-skills/mcp-builder/reference/python_mcp_server.md +6 -2
  77. package/built-in-skills/mcp-builder/scripts/connections.py +1 -1
  78. package/built-in-skills/mcp-builder/scripts/evaluation.py +52 -34
  79. package/built-in-skills/mcp-builder/scripts/requirements.txt +2 -2
  80. package/built-in-skills/meeting-actions/LICENSE +21 -0
  81. package/built-in-skills/meeting-actions/NOTICE.md +21 -0
  82. package/built-in-skills/meeting-actions/SKILL.md +48 -0
  83. package/built-in-skills/memory/SKILL.md +27 -3
  84. package/built-in-skills/memory/references/llm-wiki/GUIDE.md +468 -0
  85. package/built-in-skills/memory/references/llm-wiki/LICENSE +21 -0
  86. package/built-in-skills/memory/references/llm-wiki/NOTICE.md +4 -0
  87. package/built-in-skills/memory/references/llm-wiki/scripts/lint_wiki.py +84 -0
  88. package/built-in-skills/memory/references/llm-wiki/scripts/requirements.txt +1 -0
  89. package/built-in-skills/memory/references/llm-wiki/templates/SCHEMA.md +19 -0
  90. package/built-in-skills/memory/references/llm-wiki/templates/index.md +9 -0
  91. package/built-in-skills/memory/references/llm-wiki/templates/log.md +4 -0
  92. package/built-in-skills/memory-dream/SKILL.md +8 -15
  93. package/built-in-skills/memory-import/SKILL.md +51 -0
  94. package/built-in-skills/office-artifacts/NOTICE.md +15 -0
  95. package/built-in-skills/office-artifacts/SKILL.md +20 -0
  96. package/built-in-skills/office-artifacts/references/RESOURCE-LIMITS.md +44 -0
  97. package/built-in-skills/office-artifacts/references/docx/GUIDE.md +196 -0
  98. package/built-in-skills/office-artifacts/references/docx/LICENSE +21 -0
  99. package/built-in-skills/office-artifacts/references/docx/NOTICE.md +21 -0
  100. package/built-in-skills/office-artifacts/references/docx/references/revisions-and-comments.md +88 -0
  101. package/built-in-skills/office-artifacts/references/docx/scripts/docx_comments.py +292 -0
  102. package/built-in-skills/office-artifacts/references/docx/scripts/docx_common.py +93 -0
  103. package/built-in-skills/office-artifacts/references/docx/scripts/docx_create.py +177 -0
  104. package/built-in-skills/office-artifacts/references/docx/scripts/docx_edit.py +250 -0
  105. package/built-in-skills/office-artifacts/references/docx/scripts/docx_read.py +169 -0
  106. package/built-in-skills/office-artifacts/references/docx/scripts/docx_revisions.py +149 -0
  107. package/built-in-skills/office-artifacts/references/docx/scripts/docx_template.py +70 -0
  108. package/built-in-skills/office-artifacts/references/docx/scripts/docx_validate.py +155 -0
  109. package/built-in-skills/office-artifacts/references/docx/tests/test_docx_skill.py +525 -0
  110. package/built-in-skills/office-artifacts/references/pdf/GUIDE.md +125 -0
  111. package/built-in-skills/office-artifacts/references/pdf/LICENSE +21 -0
  112. package/built-in-skills/office-artifacts/references/pdf/NOTICE.md +21 -0
  113. package/built-in-skills/office-artifacts/references/pdf/references/forms.md +99 -0
  114. package/built-in-skills/office-artifacts/references/pdf/references/nano-pdf-editing.md +40 -0
  115. package/built-in-skills/office-artifacts/references/pdf/references/ocr-extraction.md +165 -0
  116. package/built-in-skills/office-artifacts/references/pdf/scripts/_raster.py +87 -0
  117. package/built-in-skills/office-artifacts/references/pdf/scripts/extract_marker.py +95 -0
  118. package/built-in-skills/office-artifacts/references/pdf/scripts/extract_pymupdf.py +107 -0
  119. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_create.py +153 -0
  120. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_fill_form.py +97 -0
  121. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_form_layout.py +168 -0
  122. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_make_form.py +145 -0
  123. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_merge.py +50 -0
  124. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_meta.py +123 -0
  125. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_page_image.py +101 -0
  126. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_read.py +153 -0
  127. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_secure.py +71 -0
  128. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_split.py +86 -0
  129. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_stamp.py +145 -0
  130. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_watermark.py +51 -0
  131. package/built-in-skills/office-artifacts/references/pdf/tests/test_pdf_skill.py +414 -0
  132. package/built-in-skills/office-artifacts/references/powerpoint/GUIDE.md +220 -0
  133. package/built-in-skills/office-artifacts/references/powerpoint/LICENSE +21 -0
  134. package/built-in-skills/office-artifacts/references/powerpoint/NOTICE.md +21 -0
  135. package/built-in-skills/office-artifacts/references/powerpoint/scripts/pptx_create.py +214 -0
  136. package/built-in-skills/office-artifacts/references/powerpoint/scripts/pptx_edit.py +442 -0
  137. package/built-in-skills/office-artifacts/references/powerpoint/scripts/pptx_from_template.py +88 -0
  138. package/built-in-skills/office-artifacts/references/powerpoint/scripts/pptx_read.py +131 -0
  139. package/built-in-skills/office-artifacts/references/powerpoint/scripts/pptx_render.py +104 -0
  140. package/built-in-skills/office-artifacts/references/powerpoint/tests/test_powerpoint_skill.py +478 -0
  141. package/built-in-skills/office-artifacts/references/xlsx/GUIDE.md +196 -0
  142. package/built-in-skills/office-artifacts/references/xlsx/LICENSE +21 -0
  143. package/built-in-skills/office-artifacts/references/xlsx/NOTICE.md +21 -0
  144. package/built-in-skills/office-artifacts/references/xlsx/references/restructuring.md +74 -0
  145. package/built-in-skills/office-artifacts/references/xlsx/scripts/csv_to_xlsx.py +108 -0
  146. package/built-in-skills/office-artifacts/references/xlsx/scripts/xlsx_create.py +259 -0
  147. package/built-in-skills/office-artifacts/references/xlsx/scripts/xlsx_edit.py +269 -0
  148. package/built-in-skills/office-artifacts/references/xlsx/scripts/xlsx_read.py +160 -0
  149. package/built-in-skills/office-artifacts/references/xlsx/scripts/xlsx_recalc.py +111 -0
  150. package/built-in-skills/office-artifacts/references/xlsx/scripts/xlsx_restructure.py +418 -0
  151. package/built-in-skills/office-artifacts/references/xlsx/scripts/xlsx_to_csv.py +69 -0
  152. package/built-in-skills/office-artifacts/references/xlsx/tests/test_xlsx_skill.py +542 -0
  153. package/built-in-skills/office-artifacts/tests/test_resource_regressions.py +272 -0
  154. package/built-in-skills/persona-generator/SKILL.md +9 -9
  155. package/built-in-skills/pkf-svg/SKILL.md +5 -0
  156. package/built-in-skills/pkf-svg/references/architecture-diagram/GUIDE.md +148 -0
  157. package/built-in-skills/pkf-svg/references/architecture-diagram/LICENSE +21 -0
  158. package/built-in-skills/pkf-svg/references/architecture-diagram/LICENSE.hermes +21 -0
  159. package/built-in-skills/pkf-svg/references/architecture-diagram/PROVENANCE.md +7 -0
  160. package/built-in-skills/pkf-svg/references/architecture-diagram/templates/template.html +345 -0
  161. package/built-in-skills/pkf-writing/SKILL.md +36 -14
  162. package/built-in-skills/prismer-airtable/LICENSE +21 -0
  163. package/built-in-skills/prismer-airtable/NOTICE.md +11 -0
  164. package/built-in-skills/prismer-airtable/SKILL.md +248 -0
  165. package/built-in-skills/prismer-airtable/scripts/airtable_client.py +76 -0
  166. package/built-in-skills/prismer-apple-notes/LICENSE +21 -0
  167. package/built-in-skills/prismer-apple-notes/NOTICE.md +17 -0
  168. package/built-in-skills/prismer-apple-notes/SKILL.md +118 -0
  169. package/built-in-skills/prismer-apple-notes/scripts/readiness.py +47 -0
  170. package/built-in-skills/prismer-apple-reminders/LICENSE +21 -0
  171. package/built-in-skills/prismer-apple-reminders/NOTICE.md +17 -0
  172. package/built-in-skills/prismer-apple-reminders/SKILL.md +155 -0
  173. package/built-in-skills/prismer-apple-reminders/scripts/readiness.py +47 -0
  174. package/built-in-skills/prismer-ascii-video/LICENSE +21 -0
  175. package/built-in-skills/prismer-ascii-video/LICENSE.hermes +21 -0
  176. package/built-in-skills/prismer-ascii-video/PROVENANCE.md +7 -0
  177. package/built-in-skills/prismer-ascii-video/README.md +290 -0
  178. package/built-in-skills/prismer-ascii-video/SKILL.md +252 -0
  179. package/built-in-skills/prismer-ascii-video/provenance/category-DESCRIPTION.md +3 -0
  180. package/built-in-skills/prismer-ascii-video/references/architecture.md +807 -0
  181. package/built-in-skills/prismer-ascii-video/references/composition.md +900 -0
  182. package/built-in-skills/prismer-ascii-video/references/effects.md +1877 -0
  183. package/built-in-skills/prismer-ascii-video/references/inputs.md +693 -0
  184. package/built-in-skills/prismer-ascii-video/references/optimization.md +688 -0
  185. package/built-in-skills/prismer-ascii-video/references/scenes.md +1018 -0
  186. package/built-in-skills/prismer-ascii-video/references/shaders.md +1408 -0
  187. package/built-in-skills/prismer-ascii-video/references/troubleshooting.md +360 -0
  188. package/built-in-skills/prismer-baoyu-infographic/LICENSE +21 -0
  189. package/built-in-skills/prismer-baoyu-infographic/LICENSE.hermes +21 -0
  190. package/built-in-skills/prismer-baoyu-infographic/LICENSE.origin +21 -0
  191. package/built-in-skills/prismer-baoyu-infographic/PORT_NOTES.md +37 -0
  192. package/built-in-skills/prismer-baoyu-infographic/PROVENANCE.md +7 -0
  193. package/built-in-skills/prismer-baoyu-infographic/SKILL.md +240 -0
  194. package/built-in-skills/prismer-baoyu-infographic/references/analysis-framework.md +182 -0
  195. package/built-in-skills/prismer-baoyu-infographic/references/base-prompt.md +43 -0
  196. package/built-in-skills/prismer-baoyu-infographic/references/layouts/bento-grid.md +41 -0
  197. package/built-in-skills/prismer-baoyu-infographic/references/layouts/binary-comparison.md +48 -0
  198. package/built-in-skills/prismer-baoyu-infographic/references/layouts/bridge.md +41 -0
  199. package/built-in-skills/prismer-baoyu-infographic/references/layouts/circular-flow.md +41 -0
  200. package/built-in-skills/prismer-baoyu-infographic/references/layouts/comic-strip.md +41 -0
  201. package/built-in-skills/prismer-baoyu-infographic/references/layouts/comparison-matrix.md +41 -0
  202. package/built-in-skills/prismer-baoyu-infographic/references/layouts/dashboard.md +41 -0
  203. package/built-in-skills/prismer-baoyu-infographic/references/layouts/dense-modules.md +72 -0
  204. package/built-in-skills/prismer-baoyu-infographic/references/layouts/funnel.md +41 -0
  205. package/built-in-skills/prismer-baoyu-infographic/references/layouts/hierarchical-layers.md +48 -0
  206. package/built-in-skills/prismer-baoyu-infographic/references/layouts/hub-spoke.md +41 -0
  207. package/built-in-skills/prismer-baoyu-infographic/references/layouts/iceberg.md +41 -0
  208. package/built-in-skills/prismer-baoyu-infographic/references/layouts/isometric-map.md +41 -0
  209. package/built-in-skills/prismer-baoyu-infographic/references/layouts/jigsaw.md +41 -0
  210. package/built-in-skills/prismer-baoyu-infographic/references/layouts/linear-progression.md +48 -0
  211. package/built-in-skills/prismer-baoyu-infographic/references/layouts/periodic-table.md +41 -0
  212. package/built-in-skills/prismer-baoyu-infographic/references/layouts/story-mountain.md +41 -0
  213. package/built-in-skills/prismer-baoyu-infographic/references/layouts/structural-breakdown.md +48 -0
  214. package/built-in-skills/prismer-baoyu-infographic/references/layouts/tree-branching.md +41 -0
  215. package/built-in-skills/prismer-baoyu-infographic/references/layouts/venn-diagram.md +41 -0
  216. package/built-in-skills/prismer-baoyu-infographic/references/layouts/winding-roadmap.md +41 -0
  217. package/built-in-skills/prismer-baoyu-infographic/references/structured-content-template.md +244 -0
  218. package/built-in-skills/prismer-baoyu-infographic/references/styles/aged-academia.md +36 -0
  219. package/built-in-skills/prismer-baoyu-infographic/references/styles/bold-graphic.md +36 -0
  220. package/built-in-skills/prismer-baoyu-infographic/references/styles/chalkboard.md +61 -0
  221. package/built-in-skills/prismer-baoyu-infographic/references/styles/claymation.md +29 -0
  222. package/built-in-skills/prismer-baoyu-infographic/references/styles/corporate-memphis.md +29 -0
  223. package/built-in-skills/prismer-baoyu-infographic/references/styles/craft-handmade.md +44 -0
  224. package/built-in-skills/prismer-baoyu-infographic/references/styles/cyberpunk-neon.md +29 -0
  225. package/built-in-skills/prismer-baoyu-infographic/references/styles/hand-drawn-edu.md +63 -0
  226. package/built-in-skills/prismer-baoyu-infographic/references/styles/ikea-manual.md +29 -0
  227. package/built-in-skills/prismer-baoyu-infographic/references/styles/kawaii.md +29 -0
  228. package/built-in-skills/prismer-baoyu-infographic/references/styles/knolling.md +29 -0
  229. package/built-in-skills/prismer-baoyu-infographic/references/styles/lego-brick.md +29 -0
  230. package/built-in-skills/prismer-baoyu-infographic/references/styles/morandi-journal.md +60 -0
  231. package/built-in-skills/prismer-baoyu-infographic/references/styles/origami.md +29 -0
  232. package/built-in-skills/prismer-baoyu-infographic/references/styles/pixel-art.md +29 -0
  233. package/built-in-skills/prismer-baoyu-infographic/references/styles/pop-laboratory.md +48 -0
  234. package/built-in-skills/prismer-baoyu-infographic/references/styles/retro-pop-grid.md +47 -0
  235. package/built-in-skills/prismer-baoyu-infographic/references/styles/storybook-watercolor.md +29 -0
  236. package/built-in-skills/prismer-baoyu-infographic/references/styles/subway-map.md +29 -0
  237. package/built-in-skills/prismer-baoyu-infographic/references/styles/technical-schematic.md +36 -0
  238. package/built-in-skills/prismer-baoyu-infographic/references/styles/ui-wireframe.md +29 -0
  239. package/built-in-skills/prismer-blocked-page-recovery/LICENSE +21 -0
  240. package/built-in-skills/prismer-blocked-page-recovery/NOTICE.md +17 -0
  241. package/built-in-skills/prismer-blocked-page-recovery/SKILL.md +158 -0
  242. package/built-in-skills/prismer-blocked-page-recovery/scripts/recover_page.py +311 -0
  243. package/built-in-skills/prismer-box/LICENSE +21 -0
  244. package/built-in-skills/prismer-box/NOTICE.md +11 -0
  245. package/built-in-skills/prismer-box/SKILL.md +147 -0
  246. package/built-in-skills/prismer-box/references/bulk-operations.md +43 -0
  247. package/built-in-skills/prismer-box/references/cli-guide.md +133 -0
  248. package/built-in-skills/prismer-box/references/content-workflows.md +86 -0
  249. package/built-in-skills/prismer-box/references/hubs.md +77 -0
  250. package/built-in-skills/prismer-box/references/oauth-setup.md +92 -0
  251. package/built-in-skills/prismer-box/references/rest-api.md +37 -0
  252. package/built-in-skills/prismer-box/references/sdk-development.md +85 -0
  253. package/built-in-skills/prismer-box/references/search-and-ai.md +147 -0
  254. package/built-in-skills/prismer-box/references/troubleshooting.md +33 -0
  255. package/built-in-skills/prismer-box/references/webhooks-and-events.md +43 -0
  256. package/built-in-skills/prismer-codebase-inspection/LICENSE +21 -0
  257. package/built-in-skills/prismer-codebase-inspection/NOTICE.md +17 -0
  258. package/built-in-skills/prismer-codebase-inspection/SKILL.md +141 -0
  259. package/built-in-skills/prismer-computer-use/LICENSE +21 -0
  260. package/built-in-skills/prismer-computer-use/NOTICE.md +17 -0
  261. package/built-in-skills/prismer-computer-use/SKILL.md +372 -0
  262. package/built-in-skills/prismer-design-md/LICENSE +21 -0
  263. package/built-in-skills/prismer-design-md/LICENSE.hermes +21 -0
  264. package/built-in-skills/prismer-design-md/PROVENANCE.md +7 -0
  265. package/built-in-skills/prismer-design-md/SKILL.md +227 -0
  266. package/built-in-skills/prismer-design-md/templates/starter.md +99 -0
  267. package/built-in-skills/prismer-email-inbox-triage/LICENSE +21 -0
  268. package/built-in-skills/prismer-email-inbox-triage/NOTICE.md +11 -0
  269. package/built-in-skills/prismer-email-inbox-triage/SKILL.md +116 -0
  270. package/built-in-skills/prismer-findmy/LICENSE +21 -0
  271. package/built-in-skills/prismer-findmy/NOTICE.md +17 -0
  272. package/built-in-skills/prismer-findmy/SKILL.md +150 -0
  273. package/built-in-skills/prismer-findmy/scripts/readiness.py +47 -0
  274. package/built-in-skills/prismer-gif-search/LICENSE +21 -0
  275. package/built-in-skills/prismer-gif-search/LICENSE.hermes +21 -0
  276. package/built-in-skills/prismer-gif-search/PROVENANCE.md +7 -0
  277. package/built-in-skills/prismer-gif-search/SKILL.md +97 -0
  278. package/built-in-skills/prismer-gif-search/scripts/tenor.py +81 -0
  279. package/built-in-skills/prismer-github/LICENSE +21 -0
  280. package/built-in-skills/prismer-github/NOTICE.md +17 -0
  281. package/built-in-skills/prismer-github/SKILL.md +74 -0
  282. package/built-in-skills/prismer-github/references/auth.md +91 -0
  283. package/built-in-skills/prismer-github/references/ci-troubleshooting.md +193 -0
  284. package/built-in-skills/prismer-github/references/code-review.md +465 -0
  285. package/built-in-skills/prismer-github/references/conventional-commits.md +81 -0
  286. package/built-in-skills/prismer-github/references/github-api-cheatsheet.md +177 -0
  287. package/built-in-skills/prismer-github/references/issue-to-pr.md +74 -0
  288. package/built-in-skills/prismer-github/references/issues.md +336 -0
  289. package/built-in-skills/prismer-github/references/pr-workflow.md +346 -0
  290. package/built-in-skills/prismer-github/references/repo-management.md +484 -0
  291. package/built-in-skills/prismer-github/references/review-output-template.md +84 -0
  292. package/built-in-skills/prismer-github/scripts/ensure-gh.py +132 -0
  293. package/built-in-skills/prismer-github/scripts/gh-env.sh +25 -0
  294. package/built-in-skills/prismer-github/scripts/git-credential-token.py +68 -0
  295. package/built-in-skills/prismer-github/scripts/github-api.py +71 -0
  296. package/built-in-skills/prismer-github/scripts/github-context.py +28 -0
  297. package/built-in-skills/prismer-github/templates/bug-report.md +35 -0
  298. package/built-in-skills/prismer-github/templates/feature-request.md +31 -0
  299. package/built-in-skills/prismer-github/templates/pr-body-bugfix.md +35 -0
  300. package/built-in-skills/prismer-github/templates/pr-body-feature.md +33 -0
  301. package/built-in-skills/prismer-google-workspace/LICENSE +21 -0
  302. package/built-in-skills/prismer-google-workspace/NOTICE.md +11 -0
  303. package/built-in-skills/prismer-google-workspace/SKILL.md +369 -0
  304. package/built-in-skills/prismer-google-workspace/references/daily-brief.md +65 -0
  305. package/built-in-skills/prismer-google-workspace/references/gmail-search-syntax.md +63 -0
  306. package/built-in-skills/prismer-google-workspace/scripts/_hermes_home.py +17 -0
  307. package/built-in-skills/prismer-google-workspace/scripts/_private_state.py +39 -0
  308. package/built-in-skills/prismer-google-workspace/scripts/google_api.py +1339 -0
  309. package/built-in-skills/prismer-google-workspace/scripts/gws_bridge.py +121 -0
  310. package/built-in-skills/prismer-google-workspace/scripts/setup.py +563 -0
  311. package/built-in-skills/prismer-google-workspace/tests/test_productivity_regressions.py +214 -0
  312. package/built-in-skills/prismer-hermes-agent/LICENSE +21 -0
  313. package/built-in-skills/prismer-hermes-agent/NOTICE.md +17 -0
  314. package/built-in-skills/prismer-hermes-agent/SKILL.md +247 -0
  315. package/built-in-skills/prismer-hermes-agent/references/background-systems.md +108 -0
  316. package/built-in-skills/prismer-hermes-agent/references/cli-reference.md +158 -0
  317. package/built-in-skills/prismer-hermes-agent/references/configuration.md +96 -0
  318. package/built-in-skills/prismer-hermes-agent/references/contributor-guide.md +151 -0
  319. package/built-in-skills/prismer-hermes-agent/references/delegate-task-concurrency-diagnosis.md +47 -0
  320. package/built-in-skills/prismer-hermes-agent/references/desktop-plugins.md +215 -0
  321. package/built-in-skills/prismer-hermes-agent/references/native-mcp.md +351 -0
  322. package/built-in-skills/prismer-hermes-agent/references/petdex.md +82 -0
  323. package/built-in-skills/prismer-hermes-agent/references/portal-auth-for-third-party-apps.md +135 -0
  324. package/built-in-skills/prismer-hermes-agent/references/project-context-files.md +55 -0
  325. package/built-in-skills/prismer-hermes-agent/references/providers-and-models.md +81 -0
  326. package/built-in-skills/prismer-hermes-agent/references/security-privacy.md +73 -0
  327. package/built-in-skills/prismer-hermes-agent/references/slash-commands.md +119 -0
  328. package/built-in-skills/prismer-hermes-agent/references/themes.md +134 -0
  329. package/built-in-skills/prismer-hermes-agent/references/troubleshooting.md +87 -0
  330. package/built-in-skills/prismer-hermes-agent/references/tui-widgets.md +144 -0
  331. package/built-in-skills/prismer-hermes-agent/references/webhooks.md +219 -0
  332. package/built-in-skills/prismer-hermes-agent/references/windows-quirks.md +64 -0
  333. package/built-in-skills/prismer-hermes-agent/templates/clock.mjs +51 -0
  334. package/built-in-skills/prismer-hermes-agent/templates/plugin.js +97 -0
  335. package/built-in-skills/prismer-hermes-agent/templates/skin.yaml +49 -0
  336. package/built-in-skills/prismer-himalaya/LICENSE +21 -0
  337. package/built-in-skills/prismer-himalaya/NOTICE.md +11 -0
  338. package/built-in-skills/prismer-himalaya/SKILL.md +340 -0
  339. package/built-in-skills/prismer-himalaya/references/configuration.md +227 -0
  340. package/built-in-skills/prismer-himalaya/references/message-composition.md +206 -0
  341. package/built-in-skills/prismer-himalaya/scripts/compose_draft.py +48 -0
  342. package/built-in-skills/prismer-im-collab/SKILL.md +1 -1
  343. package/built-in-skills/prismer-imessage/LICENSE +21 -0
  344. package/built-in-skills/prismer-imessage/NOTICE.md +17 -0
  345. package/built-in-skills/prismer-imessage/SKILL.md +128 -0
  346. package/built-in-skills/prismer-imessage/scripts/readiness.py +47 -0
  347. package/built-in-skills/prismer-manim-video/LICENSE +21 -0
  348. package/built-in-skills/prismer-manim-video/LICENSE.hermes +21 -0
  349. package/built-in-skills/prismer-manim-video/PROVENANCE.md +7 -0
  350. package/built-in-skills/prismer-manim-video/README.md +23 -0
  351. package/built-in-skills/prismer-manim-video/SKILL.md +279 -0
  352. package/built-in-skills/prismer-manim-video/references/animation-design-thinking.md +161 -0
  353. package/built-in-skills/prismer-manim-video/references/animations.md +282 -0
  354. package/built-in-skills/prismer-manim-video/references/camera-and-3d.md +135 -0
  355. package/built-in-skills/prismer-manim-video/references/decorations.md +202 -0
  356. package/built-in-skills/prismer-manim-video/references/equations.md +216 -0
  357. package/built-in-skills/prismer-manim-video/references/graphs-and-data.md +163 -0
  358. package/built-in-skills/prismer-manim-video/references/mobjects.md +333 -0
  359. package/built-in-skills/prismer-manim-video/references/paper-explainer.md +255 -0
  360. package/built-in-skills/prismer-manim-video/references/production-quality.md +190 -0
  361. package/built-in-skills/prismer-manim-video/references/rendering.md +187 -0
  362. package/built-in-skills/prismer-manim-video/references/scene-planning.md +118 -0
  363. package/built-in-skills/prismer-manim-video/references/troubleshooting.md +135 -0
  364. package/built-in-skills/prismer-manim-video/references/updaters-and-trackers.md +260 -0
  365. package/built-in-skills/prismer-manim-video/references/visual-design.md +124 -0
  366. package/built-in-skills/prismer-manim-video/scripts/setup.sh +15 -0
  367. package/built-in-skills/prismer-maps/LICENSE +21 -0
  368. package/built-in-skills/prismer-maps/NOTICE.md +11 -0
  369. package/built-in-skills/prismer-maps/SKILL.md +240 -0
  370. package/built-in-skills/prismer-maps/scripts/maps_client.py +1324 -0
  371. package/built-in-skills/prismer-node-inspect-debugger/LICENSE +21 -0
  372. package/built-in-skills/prismer-node-inspect-debugger/NOTICE.md +17 -0
  373. package/built-in-skills/prismer-node-inspect-debugger/SKILL.md +347 -0
  374. package/built-in-skills/prismer-notion/LICENSE +21 -0
  375. package/built-in-skills/prismer-notion/NOTICE.md +11 -0
  376. package/built-in-skills/prismer-notion/SKILL.md +495 -0
  377. package/built-in-skills/prismer-notion/references/block-types.md +112 -0
  378. package/built-in-skills/prismer-obsidian/LICENSE +21 -0
  379. package/built-in-skills/prismer-obsidian/LICENSE.hermes +21 -0
  380. package/built-in-skills/prismer-obsidian/PROVENANCE.md +7 -0
  381. package/built-in-skills/prismer-obsidian/SKILL.md +80 -0
  382. package/built-in-skills/prismer-obsidian/provenance/category-DESCRIPTION.md +3 -0
  383. package/built-in-skills/prismer-obsidian/scripts/write_note.py +84 -0
  384. package/built-in-skills/prismer-p5js/LICENSE +21 -0
  385. package/built-in-skills/prismer-p5js/LICENSE.hermes +21 -0
  386. package/built-in-skills/prismer-p5js/PROVENANCE.md +7 -0
  387. package/built-in-skills/prismer-p5js/README.md +64 -0
  388. package/built-in-skills/prismer-p5js/SKILL.md +574 -0
  389. package/built-in-skills/prismer-p5js/references/animation.md +439 -0
  390. package/built-in-skills/prismer-p5js/references/color-systems.md +355 -0
  391. package/built-in-skills/prismer-p5js/references/core-api.md +410 -0
  392. package/built-in-skills/prismer-p5js/references/export-pipeline.md +534 -0
  393. package/built-in-skills/prismer-p5js/references/interaction.md +398 -0
  394. package/built-in-skills/prismer-p5js/references/shapes-and-geometry.md +300 -0
  395. package/built-in-skills/prismer-p5js/references/troubleshooting.md +532 -0
  396. package/built-in-skills/prismer-p5js/references/typography.md +302 -0
  397. package/built-in-skills/prismer-p5js/references/visual-effects.md +905 -0
  398. package/built-in-skills/prismer-p5js/references/webgl-and-3d.md +423 -0
  399. package/built-in-skills/prismer-p5js/scripts/export-frames.js +91 -0
  400. package/built-in-skills/prismer-p5js/scripts/render.sh +113 -0
  401. package/built-in-skills/prismer-p5js/scripts/serve.sh +25 -0
  402. package/built-in-skills/prismer-p5js/scripts/setup.sh +87 -0
  403. package/built-in-skills/prismer-p5js/templates/viewer.html +401 -0
  404. package/built-in-skills/prismer-popular-web-designs/LICENSE +21 -0
  405. package/built-in-skills/prismer-popular-web-designs/LICENSE.hermes +21 -0
  406. package/built-in-skills/prismer-popular-web-designs/LICENSE.origin +21 -0
  407. package/built-in-skills/prismer-popular-web-designs/PROVENANCE.md +7 -0
  408. package/built-in-skills/prismer-popular-web-designs/SKILL.md +218 -0
  409. package/built-in-skills/prismer-popular-web-designs/templates/airbnb.md +259 -0
  410. package/built-in-skills/prismer-popular-web-designs/templates/airtable.md +102 -0
  411. package/built-in-skills/prismer-popular-web-designs/templates/apple.md +326 -0
  412. package/built-in-skills/prismer-popular-web-designs/templates/bmw.md +193 -0
  413. package/built-in-skills/prismer-popular-web-designs/templates/cal.md +272 -0
  414. package/built-in-skills/prismer-popular-web-designs/templates/claude.md +325 -0
  415. package/built-in-skills/prismer-popular-web-designs/templates/clay.md +317 -0
  416. package/built-in-skills/prismer-popular-web-designs/templates/clickhouse.md +294 -0
  417. package/built-in-skills/prismer-popular-web-designs/templates/cohere.md +279 -0
  418. package/built-in-skills/prismer-popular-web-designs/templates/coinbase.md +142 -0
  419. package/built-in-skills/prismer-popular-web-designs/templates/composio.md +320 -0
  420. package/built-in-skills/prismer-popular-web-designs/templates/cursor.md +322 -0
  421. package/built-in-skills/prismer-popular-web-designs/templates/elevenlabs.md +278 -0
  422. package/built-in-skills/prismer-popular-web-designs/templates/expo.md +294 -0
  423. package/built-in-skills/prismer-popular-web-designs/templates/figma.md +233 -0
  424. package/built-in-skills/prismer-popular-web-designs/templates/framer.md +259 -0
  425. package/built-in-skills/prismer-popular-web-designs/templates/hashicorp.md +291 -0
  426. package/built-in-skills/prismer-popular-web-designs/templates/ibm.md +345 -0
  427. package/built-in-skills/prismer-popular-web-designs/templates/intercom.md +159 -0
  428. package/built-in-skills/prismer-popular-web-designs/templates/kraken.md +138 -0
  429. package/built-in-skills/prismer-popular-web-designs/templates/linear.app.md +380 -0
  430. package/built-in-skills/prismer-popular-web-designs/templates/lovable.md +311 -0
  431. package/built-in-skills/prismer-popular-web-designs/templates/minimax.md +270 -0
  432. package/built-in-skills/prismer-popular-web-designs/templates/mintlify.md +339 -0
  433. package/built-in-skills/prismer-popular-web-designs/templates/miro.md +121 -0
  434. package/built-in-skills/prismer-popular-web-designs/templates/mistral.ai.md +274 -0
  435. package/built-in-skills/prismer-popular-web-designs/templates/mongodb.md +279 -0
  436. package/built-in-skills/prismer-popular-web-designs/templates/notion.md +322 -0
  437. package/built-in-skills/prismer-popular-web-designs/templates/nvidia.md +306 -0
  438. package/built-in-skills/prismer-popular-web-designs/templates/ollama.md +280 -0
  439. package/built-in-skills/prismer-popular-web-designs/templates/opencode.ai.md +294 -0
  440. package/built-in-skills/prismer-popular-web-designs/templates/pinterest.md +243 -0
  441. package/built-in-skills/prismer-popular-web-designs/templates/posthog.md +269 -0
  442. package/built-in-skills/prismer-popular-web-designs/templates/raycast.md +281 -0
  443. package/built-in-skills/prismer-popular-web-designs/templates/replicate.md +274 -0
  444. package/built-in-skills/prismer-popular-web-designs/templates/resend.md +316 -0
  445. package/built-in-skills/prismer-popular-web-designs/templates/revolut.md +198 -0
  446. package/built-in-skills/prismer-popular-web-designs/templates/runwayml.md +257 -0
  447. package/built-in-skills/prismer-popular-web-designs/templates/sanity.md +370 -0
  448. package/built-in-skills/prismer-popular-web-designs/templates/sentry.md +275 -0
  449. package/built-in-skills/prismer-popular-web-designs/templates/spacex.md +207 -0
  450. package/built-in-skills/prismer-popular-web-designs/templates/spotify.md +259 -0
  451. package/built-in-skills/prismer-popular-web-designs/templates/stripe.md +335 -0
  452. package/built-in-skills/prismer-popular-web-designs/templates/supabase.md +268 -0
  453. package/built-in-skills/prismer-popular-web-designs/templates/superhuman.md +265 -0
  454. package/built-in-skills/prismer-popular-web-designs/templates/together.ai.md +276 -0
  455. package/built-in-skills/prismer-popular-web-designs/templates/uber.md +308 -0
  456. package/built-in-skills/prismer-popular-web-designs/templates/vercel.md +323 -0
  457. package/built-in-skills/prismer-popular-web-designs/templates/voltagent.md +336 -0
  458. package/built-in-skills/prismer-popular-web-designs/templates/warp.md +266 -0
  459. package/built-in-skills/prismer-popular-web-designs/templates/webflow.md +105 -0
  460. package/built-in-skills/prismer-popular-web-designs/templates/wise.md +186 -0
  461. package/built-in-skills/prismer-popular-web-designs/templates/x.ai.md +270 -0
  462. package/built-in-skills/prismer-popular-web-designs/templates/zapier.md +341 -0
  463. package/built-in-skills/prismer-product-price-monitor/LICENSE +21 -0
  464. package/built-in-skills/prismer-product-price-monitor/NOTICE.md +11 -0
  465. package/built-in-skills/prismer-product-price-monitor/SKILL.md +97 -0
  466. package/built-in-skills/prismer-product-price-monitor/scripts/watch_state.py +116 -0
  467. package/built-in-skills/prismer-python-debugpy/LICENSE +21 -0
  468. package/built-in-skills/prismer-python-debugpy/NOTICE.md +17 -0
  469. package/built-in-skills/prismer-python-debugpy/SKILL.md +377 -0
  470. package/built-in-skills/prismer-python-debugpy/scripts/dap_client.py +68 -0
  471. package/built-in-skills/prismer-songsee/LICENSE +21 -0
  472. package/built-in-skills/prismer-songsee/LICENSE.hermes +21 -0
  473. package/built-in-skills/prismer-songsee/PROVENANCE.md +7 -0
  474. package/built-in-skills/prismer-songsee/SKILL.md +91 -0
  475. package/built-in-skills/prismer-songwriting-and-ai-music/LICENSE +21 -0
  476. package/built-in-skills/prismer-songwriting-and-ai-music/LICENSE.hermes +21 -0
  477. package/built-in-skills/prismer-songwriting-and-ai-music/PROVENANCE.md +7 -0
  478. package/built-in-skills/prismer-songwriting-and-ai-music/SKILL.md +317 -0
  479. package/built-in-skills/prismer-spike/LICENSE +21 -0
  480. package/built-in-skills/prismer-spike/LICENSE.gsd +21 -0
  481. package/built-in-skills/prismer-spike/NOTICE.md +17 -0
  482. package/built-in-skills/prismer-spike/SKILL.md +212 -0
  483. package/built-in-skills/prismer-teams-meeting-pipeline/LICENSE +21 -0
  484. package/built-in-skills/prismer-teams-meeting-pipeline/NOTICE.md +11 -0
  485. package/built-in-skills/prismer-teams-meeting-pipeline/SKILL.md +156 -0
  486. package/built-in-skills/prismer-xurl/LICENSE +21 -0
  487. package/built-in-skills/prismer-xurl/LICENSE.hermes +21 -0
  488. package/built-in-skills/prismer-xurl/PROVENANCE.md +7 -0
  489. package/built-in-skills/prismer-xurl/SKILL.md +444 -0
  490. package/built-in-skills/prismer-xurl/provenance/category-DESCRIPTION.md +3 -0
  491. package/built-in-skills/prismer-youtube-content/LICENSE +21 -0
  492. package/built-in-skills/prismer-youtube-content/LICENSE.hermes +21 -0
  493. package/built-in-skills/prismer-youtube-content/PROVENANCE.md +7 -0
  494. package/built-in-skills/prismer-youtube-content/SKILL.md +86 -0
  495. package/built-in-skills/prismer-youtube-content/provenance/category-DESCRIPTION.md +3 -0
  496. package/built-in-skills/prismer-youtube-content/references/output-formats.md +56 -0
  497. package/built-in-skills/prismer-youtube-content/scripts/fetch_transcript.py +146 -0
  498. package/built-in-skills/research-arxiv/LICENSE +21 -0
  499. package/built-in-skills/research-arxiv/NOTICE.md +4 -0
  500. package/built-in-skills/research-arxiv/SKILL.md +263 -0
  501. package/built-in-skills/research-arxiv/scripts/search_arxiv.py +111 -0
  502. package/built-in-skills/role-builder/SKILL.md +7 -1
  503. package/built-in-skills/role-builder/scripts/author-role.mjs +23 -7
  504. package/built-in-skills/role-builder/scripts/ingest-role.mjs +15 -117
  505. package/built-in-skills/role-builder/scripts/instantiate-and-run.mjs +15 -1
  506. package/built-in-skills/role-builder/scripts/operation-harness.mjs +6 -4
  507. package/built-in-skills/skill-creator/LICENSE.prismer +21 -0
  508. package/built-in-skills/skill-creator/NOTICE.md +18 -0
  509. package/built-in-skills/skill-creator/SKILL.md +20 -1
  510. package/built-in-skills/skill-creator/eval-viewer/generate_review.py +20 -31
  511. package/built-in-skills/skill-creator/eval-viewer/viewer.html +35 -23
  512. package/built-in-skills/skill-creator/references/hermes-agent-skill-authoring/GUIDE.md +220 -0
  513. package/built-in-skills/skill-creator/references/hermes-agent-skill-authoring/LICENSE +21 -0
  514. package/built-in-skills/{skill-authoring/SKILL.md → skill-creator/references/skill-authoring/GUIDE.md} +1 -1
  515. package/built-in-skills/{skill-builder/SKILL.md → skill-creator/references/skill-builder/GUIDE.md} +8 -12
  516. package/built-in-skills/skill-creator/references/skill-builder/scripts/ingest.mjs +93 -0
  517. package/built-in-skills/skill-creator/scripts/aggregate_benchmark.py +3 -2
  518. package/built-in-skills/skill-creator/scripts/import-library.mjs +30 -7
  519. package/built-in-skills/skill-creator/scripts/improve_description.py +14 -16
  520. package/built-in-skills/skill-creator/scripts/package_skill.py +16 -9
  521. package/built-in-skills/skill-creator/scripts/quick_validate.py +22 -5
  522. package/built-in-skills/skill-creator/scripts/run_eval.py +63 -144
  523. package/built-in-skills/skill-creator/scripts/run_loop.py +24 -16
  524. package/built-in-skills/slack-gif-creator/core/gif_builder.py +13 -2
  525. package/built-in-skills/slack-gif-creator/core/validators.py +17 -7
  526. package/built-in-skills/tasks/SKILL.md +2 -2
  527. package/built-in-skills/tdd/SKILL.md +7 -0
  528. package/built-in-skills/tdd/references/test-driven-development/GUIDE.md +356 -0
  529. package/built-in-skills/tdd/references/test-driven-development/LICENSE +21 -0
  530. package/built-in-skills/tdd/references/test-driven-development/LICENSE.superpowers +21 -0
  531. package/built-in-skills/tdd/references/test-driven-development/NOTICE.md +37 -0
  532. package/built-in-skills/team/SKILL.md +1 -1
  533. package/built-in-skills/web-artifacts-builder/SKILL.md +3 -3
  534. package/built-in-skills/web-artifacts-builder/scripts/bundle-artifact.sh +9 -7
  535. package/built-in-skills/web-artifacts-builder/scripts/init-artifact.sh +28 -55
  536. package/built-in-skills/webapp-qa/LICENSE +21 -0
  537. package/built-in-skills/webapp-qa/NOTICE.md +37 -0
  538. package/built-in-skills/webapp-qa/SKILL.md +41 -0
  539. package/built-in-skills/webapp-qa/references/dogfood/GUIDE.md +161 -0
  540. package/built-in-skills/webapp-qa/references/issue-taxonomy.md +109 -0
  541. package/built-in-skills/webapp-qa/templates/dogfood-report-template.md +86 -0
  542. package/built-in-skills/webapp-testing/SKILL.md +9 -2
  543. package/built-in-skills/webapp-testing/examples/console_logging.py +10 -4
  544. package/built-in-skills/webapp-testing/examples/element_discovery.py +11 -4
  545. package/built-in-skills/webapp-testing/examples/static_html_automation.py +14 -9
  546. package/built-in-skills/webapp-testing/scripts/with_server.py +34 -10
  547. package/built-in-skills/weekly-review/LICENSE +21 -0
  548. package/built-in-skills/weekly-review/NOTICE.md +21 -0
  549. package/built-in-skills/weekly-review/SKILL.md +49 -0
  550. package/components/eaas-pi-components.manifest.json +37 -0
  551. package/dist/cli.cjs +7079 -3327
  552. package/dist/cli.js +6706 -2936
  553. package/dist/index.cjs +7930 -3822
  554. package/dist/index.d.cts +484 -5
  555. package/dist/index.d.ts +484 -5
  556. package/dist/index.js +7181 -3064
  557. package/package.json +7 -2
  558. package/plugins/memory/prismer/__init__.py +4 -0
  559. package/plugins/memory/prismer/tool-schemas.generated.json +8 -0
  560. package/built-in-skills/skill-builder/scripts/ingest.mjs +0 -265
  561. package/built-in-skills/web-artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  562. /package/built-in-skills/{document-generation/SKILL.md → office-artifacts/references/document-generation/GUIDE.md} +0 -0
  563. /package/built-in-skills/{skill-authoring/skill.json → skill-creator/references/skill-authoring/draft-contract.json} +0 -0
@@ -0,0 +1,255 @@
1
+ # Paper Explainer Workflow
2
+
3
+ How to turn a research paper into an animated explainer video.
4
+
5
+ ## Why animate a paper?
6
+
7
+ A research paper is optimized for precision and completeness. A video is optimized for understanding and retention. The translation is NOT "read the paper aloud with pictures" — it's "extract the core insight and make it feel obvious through visual storytelling."
8
+
9
+ The paper has one job: prove the claim is true. The video has a different job: make the viewer understand WHY the claim is true, and WHY it matters.
10
+
11
+ ## Who is watching?
12
+
13
+ Before anything, decide the audience:
14
+
15
+ | Audience | Prerequisites | Pacing | Depth |
16
+ |----------|--------------|--------|-------|
17
+ | General public | None | Slow, many analogies | Intuition only, skip proofs |
18
+ | Undergrad students | Basic math/CS | Medium, some formalism | Key equations, skip derivations |
19
+ | Grad students / researchers | Domain knowledge | Faster, more notation | Full equations, sketch proofs |
20
+
21
+ This determines everything: vocabulary, pacing, which sections to animate, how much math to show.
22
+
23
+ ## The 5-minute template
24
+
25
+ Most paper explainers fit this structure (scale times proportionally for longer videos):
26
+
27
+ | Section | Duration | Purpose |
28
+ |---------|----------|---------|
29
+ | **Hook** | 0:00-0:30 | Surprising result or provocative question |
30
+ | **Problem** | 0:30-1:30 | What was broken/missing before this paper |
31
+ | **Key insight** | 1:30-3:00 | The core idea, explained visually |
32
+ | **How it works** | 3:00-4:00 | Method/algorithm, simplified |
33
+ | **Evidence** | 4:00-4:30 | Key result that proves it works |
34
+ | **Implications** | 4:30-5:00 | Why it matters, what it enables |
35
+
36
+ ### What to skip
37
+
38
+ - Related work survey → one sentence: "Previous approaches did X, which had problem Y"
39
+ - Implementation details → skip unless they're the contribution
40
+ - Ablation studies → show one chart at most
41
+ - Proofs → show the key step, not the full proof
42
+ - Hyperparameter tuning → skip entirely
43
+
44
+ ### What to expand
45
+
46
+ - The core insight → this gets the most screen time
47
+ - Geometric/visual intuition → if the paper has math, show what it MEANS
48
+ - Before/after comparison → the most compelling evidence
49
+
50
+ ## Pre-code workflow
51
+
52
+ ### Gate 1: Narration script
53
+
54
+ Write the full narration before any code. Every sentence maps to a visual beat. If you can't write the narration, you don't understand the paper well enough to animate it.
55
+
56
+ ```markdown
57
+ ## Hook (30s)
58
+ "What if I told you that a model with 7 billion parameters can outperform
59
+ one with 70 billion — if you train it on the right data?"
60
+
61
+ ## Problem (60s)
62
+ "The standard approach is to scale up. More parameters, more compute.
63
+ [VISUAL: bar chart showing model sizes growing exponentially]
64
+ But Chinchilla showed us that most models are undertrained..."
65
+ ```
66
+
67
+ ### Gate 2: Scene list
68
+
69
+ After the narration, break it into scenes. Each scene is one Manim class.
70
+
71
+ ```markdown
72
+ Scene 1: Hook — surprising stat with animated counter
73
+ Scene 2: Problem — model size bar chart growing
74
+ Scene 3: Key insight — training data vs parameters, animated 2D plot
75
+ Scene 4: Method — pipeline diagram building left to right
76
+ Scene 5: Results — before/after comparison with animated bars
77
+ Scene 6: Closing — implications text
78
+ ```
79
+
80
+ ### Gate 3: Style constants
81
+
82
+ Before coding scenes, define the visual language:
83
+
84
+ ```python
85
+ # style.py — import in every scene file
86
+ BG = "#0D1117"
87
+ PRIMARY = "#58C4DD"
88
+ SECONDARY = "#83C167"
89
+ ACCENT = "#FFFF00"
90
+ HIGHLIGHT = "#FF6B6B"
91
+ MONO = "Menlo"
92
+
93
+ # Color meanings for THIS paper
94
+ MODEL_COLOR = PRIMARY # "the model"
95
+ DATA_COLOR = SECONDARY # "training data"
96
+ BASELINE_COLOR = HIGHLIGHT # "previous approach"
97
+ RESULT_COLOR = ACCENT # "our result"
98
+ ```
99
+
100
+ ## First-principles equation explanation
101
+
102
+ When the paper has a key equation, don't just show it — build it from intuition:
103
+
104
+ ### The "what would you do?" pattern
105
+
106
+ 1. Pose the problem in plain language
107
+ 2. Ask what the simplest solution would be
108
+ 3. Show why it doesn't work (animate the failure)
109
+ 4. Introduce the paper's solution as the fix
110
+ 5. THEN show the equation — it now feels earned
111
+
112
+ ```python
113
+ # Scene: Why we need attention (for a Transformer paper)
114
+ # Step 1: "How do we let each word look at every other word?"
115
+ # Step 2: Show naive approach (fully connected = O(n²) everything)
116
+ # Step 3: Show it breaks (information overload, no selectivity)
117
+ # Step 4: "What if each word could CHOOSE which words to attend to?"
118
+ # Step 5: Show attention equation — Q, K, V now mean something
119
+ ```
120
+
121
+ ### Equation reveal strategy
122
+
123
+ ```python
124
+ # Show equation dimmed first (full destination)
125
+ eq = MathTex(r"Attention(Q,K,V) = softmax\left(\frac{QK^T}{\sqrt{d_k}}\right)V")
126
+ eq.set_opacity(0.15)
127
+ self.play(FadeIn(eq))
128
+
129
+ # Highlight Q, K, V one at a time with color + label
130
+ for part, color, label_text in [
131
+ (r"Q", PRIMARY, "Query: what am I looking for?"),
132
+ (r"K", SECONDARY, "Key: what do I contain?"),
133
+ (r"V", ACCENT, "Value: what do I output?"),
134
+ ]:
135
+ eq.set_color_by_tex(part, color)
136
+ label = Text(label_text, font_size=18, color=color, font=MONO)
137
+ # position label, animate it, wait, then dim it
138
+ ```
139
+
140
+ ## Building architecture diagrams
141
+
142
+ ### The progressive build pattern
143
+
144
+ Don't show the full architecture at once. Build it:
145
+
146
+ 1. First component appears alone → explain
147
+ 2. Arrow grows → "this feeds into..."
148
+ 3. Second component appears → explain
149
+ 4. Repeat until complete
150
+
151
+ ```python
152
+ # Component factory
153
+ def make_box(label, color, width=2.0, height=0.8):
154
+ box = RoundedRectangle(corner_radius=0.1, width=width, height=height,
155
+ color=color, fill_opacity=0.1, stroke_width=1.5)
156
+ text = Text(label, font_size=18, font=MONO, color=color).move_to(box)
157
+ return Group(box, text)
158
+
159
+ encoder = make_box("Encoder", PRIMARY)
160
+ decoder = make_box("Decoder", SECONDARY).next_to(encoder, RIGHT, buff=1.5)
161
+ arrow = Arrow(encoder.get_right(), decoder.get_left(), color=DIM, stroke_width=1.5)
162
+
163
+ self.play(FadeIn(encoder))
164
+ self.wait(1) # explain encoder
165
+ self.play(GrowArrow(arrow))
166
+ self.play(FadeIn(decoder))
167
+ self.wait(1) # explain decoder
168
+ ```
169
+
170
+ ### Data flow animation
171
+
172
+ After building the diagram, show data moving through it:
173
+
174
+ ```python
175
+ # Dot traveling along the pipeline
176
+ data_dot = Dot(color=ACCENT, radius=0.1).move_to(encoder)
177
+ self.play(FadeIn(data_dot))
178
+ self.play(MoveAlongPath(data_dot, arrow), run_time=1)
179
+ self.play(data_dot.animate.move_to(decoder), run_time=0.5)
180
+ self.play(Flash(data_dot.get_center(), color=ACCENT), run_time=0.3)
181
+ ```
182
+
183
+ ## Animating results
184
+
185
+ ### Bar chart comparison (most common)
186
+
187
+ ```python
188
+ # Before/after bars
189
+ before_data = [45, 52, 38, 61]
190
+ after_data = [78, 85, 72, 91]
191
+ labels = ["Task A", "Task B", "Task C", "Task D"]
192
+
193
+ before_chart = BarChart(before_data, bar_names=labels,
194
+ y_range=[0, 100, 20], bar_colors=[HIGHLIGHT]*4).scale(0.6).shift(LEFT*3)
195
+ after_chart = BarChart(after_data, bar_names=labels,
196
+ y_range=[0, 100, 20], bar_colors=[SECONDARY]*4).scale(0.6).shift(RIGHT*3)
197
+
198
+ before_label = Text("Baseline", font_size=20, color=HIGHLIGHT, font=MONO)
199
+ after_label = Text("Ours", font_size=20, color=SECONDARY, font=MONO)
200
+
201
+ # Reveal baseline first, then ours (dramatic comparison)
202
+ self.play(Create(before_chart), FadeIn(before_label))
203
+ self.wait(1.5)
204
+ self.play(Create(after_chart), FadeIn(after_label))
205
+ self.wait(0.5)
206
+
207
+ # Highlight the improvement
208
+ improvement = Text("+32.5 points (mean 49 to 81.5)", font_size=24, color=ACCENT, font=MONO)
209
+ self.play(FadeIn(improvement))
210
+ ```
211
+
212
+ ### Training curve (for ML papers)
213
+
214
+ ```python
215
+ tracker = ValueTracker(0)
216
+ curve = always_redraw(lambda: axes.plot(
217
+ lambda x: 1 - 0.8 * np.exp(-x / 3),
218
+ x_range=[0, tracker.get_value()], color=PRIMARY
219
+ ))
220
+ epoch_label = always_redraw(lambda: Text(
221
+ f"Epoch {int(tracker.get_value())}", font_size=18, font=MONO
222
+ ).to_corner(UR))
223
+
224
+ self.add(curve, epoch_label)
225
+ self.play(tracker.animate.set_value(10), run_time=5, rate_func=linear)
226
+ ```
227
+
228
+ ## Domain-specific patterns
229
+
230
+ ### ML papers
231
+ - Show data flow through the model (animated pipeline)
232
+ - Training curves with `ValueTracker`
233
+ - Attention heatmaps as colored grids
234
+ - Embedding space as 2D scatter (PCA/t-SNE visualization)
235
+ - Loss landscape as 3D surface with gradient descent dot
236
+
237
+ ### Physics/math papers
238
+ - Use `LinearTransformationScene` for linear algebra
239
+ - Vector fields with `ArrowVectorField` / `StreamLines`
240
+ - Phase spaces with `NumberPlane` + trajectories
241
+ - Wave equations with time-parameterized plots
242
+
243
+ ### Systems/architecture papers
244
+ - Pipeline diagrams built progressively
245
+ - `ShowPassingFlash` for data flow along arrows
246
+ - `ZoomedScene` for zooming into components
247
+ - Before/after latency/throughput comparisons
248
+
249
+ ## Common mistakes
250
+
251
+ 1. **Trying to cover the whole paper.** A 5-minute video can explain ONE core insight well. Covering everything means explaining nothing.
252
+ 2. **Reading the abstract as narration.** Academic writing is designed for readers, not listeners. Rewrite in conversational language.
253
+ 3. **Showing notation without meaning.** Never show a symbol without first showing what it represents visually.
254
+ 4. **Skipping the motivation.** Jumping straight to "here's our method" without showing why the problem matters. The Problem section is what makes the viewer care.
255
+ 5. **Identical pacing throughout.** The hook and key insight need the most visual energy. The method section can be faster. Evidence should land with impact (pause after showing the big number).
@@ -0,0 +1,190 @@
1
+ # Production Quality Checklist
2
+
3
+ Standards and checks for ensuring animation output is publication-ready.
4
+
5
+ ## Pre-Code Checklist
6
+
7
+ Before writing any Manim code:
8
+
9
+ - [ ] Narration script written with visual beats marked
10
+ - [ ] Scene list with purpose, duration, and layout for each
11
+ - [ ] Color palette defined with meaning assignments (`PRIMARY` = main concept, etc.)
12
+ - [ ] `MONO = "Menlo"` set as the font constant
13
+ - [ ] Target resolution and aspect ratio decided
14
+
15
+ ## Text Quality
16
+
17
+ ### Overlap prevention
18
+
19
+ ```python
20
+ # RULE: buff >= 0.5 for edge text
21
+ label.to_edge(DOWN, buff=0.5) # GOOD
22
+ label.to_edge(DOWN, buff=0.3) # BAD — may clip
23
+
24
+ # RULE: FadeOut previous before adding new at same position
25
+ self.play(ReplacementTransform(note1, note2)) # GOOD
26
+ self.play(Write(note2)) # BAD — overlaps note1
27
+
28
+ # RULE: Reduce font size for dense scenes
29
+ # When > 4 text elements visible, use font_size=20 not 28
30
+ ```
31
+
32
+ ### Width enforcement
33
+
34
+ Long text strings overflow the frame:
35
+
36
+ ```python
37
+ # RULE: Set max width for any text that might be long
38
+ text = Text("This is a potentially long description", font_size=22, font=MONO)
39
+ if text.width > config.frame_width - 1.0:
40
+ text.set_width(config.frame_width - 1.0)
41
+ ```
42
+
43
+ ### Font consistency
44
+
45
+ ```python
46
+ # RULE: Define MONO once, use everywhere
47
+ MONO = "Menlo"
48
+
49
+ # WRONG: mixing fonts
50
+ Text("Title", font="Helvetica")
51
+ Text("Label", font="Arial")
52
+ Text("Code", font="Courier")
53
+
54
+ # RIGHT: one font
55
+ Text("Title", font=MONO, weight=BOLD, font_size=48)
56
+ Text("Label", font=MONO, font_size=20)
57
+ Text("Code", font=MONO, font_size=18)
58
+ ```
59
+
60
+ ## Spatial Layout
61
+
62
+ ### The coordinate budget
63
+
64
+ The visible frame is approximately 14.2 wide × 8.0 tall (default 16:9). With mandatory margins:
65
+
66
+ ```
67
+ Usable area: x ∈ [-6.5, 6.5], y ∈ [-3.5, 3.5]
68
+ Top title zone: y ∈ [2.5, 3.5]
69
+ Bottom note zone: y ∈ [-3.5, -2.5]
70
+ Main content: y ∈ [-2.5, 2.5], x ∈ [-6.0, 6.0]
71
+ ```
72
+
73
+ ### Fill the frame
74
+
75
+ Empty scenes look unfinished. If the main content is small, add context:
76
+ - A dimmed grid/axes behind the content
77
+ - A title/subtitle at the top
78
+ - A source citation at the bottom
79
+ - Decorative geometry at low opacity
80
+
81
+ ### Maximum simultaneous elements
82
+
83
+ **Hard limit: 6 actively visible elements.** Beyond that, the viewer can't track everything. If you need more:
84
+ - Dim old elements to opacity 0.3
85
+ - Remove elements that have served their purpose
86
+ - Split into two scenes
87
+
88
+ ## Animation Quality
89
+
90
+ ### Variety audit
91
+
92
+ Check that no two consecutive scenes use the exact same:
93
+ - Animation type (if Scene 3 uses Write for everything, Scene 4 should use FadeIn or Create)
94
+ - Color emphasis (rotate through palette colors)
95
+ - Layout (center, left-right, grid — alternate)
96
+ - Pacing (if Scene 2 was slow and deliberate, Scene 3 can be faster)
97
+
98
+ ### Tempo curve
99
+
100
+ A good video follows a tempo curve:
101
+
102
+ ```
103
+ Slow ──→ Medium ──→ FAST (climax) ──→ Slow (conclusion)
104
+
105
+ Scene 1: Slow (introduction, setup)
106
+ Scene 2: Medium (building understanding)
107
+ Scene 3: Medium-Fast (core content, lots of animation)
108
+ Scene 4: FAST (montage of applications/results)
109
+ Scene 5: Slow (conclusion, key takeaway)
110
+ ```
111
+
112
+ ### Transition quality
113
+
114
+ Between scenes:
115
+ - **Clean exit**: `self.play(FadeOut(Group(*self.mobjects)), run_time=0.5)`
116
+ - **Brief pause**: `self.wait(0.3)` after fadeout, before next scene's first animation
117
+ - **Never hard-cut**: always animate the transition
118
+
119
+ ## Color Quality
120
+
121
+ ### Dimming on dark backgrounds
122
+
123
+ Colors that look vibrant on white look muddy on dark backgrounds (#0D1117, #1C1C1C). Test your palette:
124
+
125
+ ```python
126
+ # Colors that work well on dark backgrounds:
127
+ # Bright and saturated: #58C4DD, #83C167, #FFFF00, #FF6B6B
128
+ # Colors that DON'T work: #666666 (invisible), #2244AA (too dark)
129
+
130
+ # RULE: Structural elements (axes, grids) at opacity 0.15
131
+ # Context elements at 0.3-0.4
132
+ # Primary elements at 1.0
133
+ ```
134
+
135
+ ### Color meaning consistency
136
+
137
+ Once a color is assigned a meaning, it keeps that meaning for the entire video:
138
+
139
+ ```python
140
+ # If PRIMARY (#58C4DD) means "the model" in Scene 1,
141
+ # it means "the model" in every scene.
142
+ # Never reuse PRIMARY for a different concept later.
143
+ ```
144
+
145
+ ## Data Visualization Quality
146
+
147
+ ### Minimum requirements for charts
148
+
149
+ - Axis labels on every axis
150
+ - Y-axis range starts at 0 (or has a clear break indicator)
151
+ - Bar/line colors match the legend
152
+ - Numbers on notable data points (at least the maximum and the comparison point)
153
+
154
+ ### Animated counters
155
+
156
+ When showing a number changing:
157
+ ```python
158
+ # GOOD: DecimalNumber with smooth animation
159
+ counter = DecimalNumber(0, font_size=48, num_decimal_places=0, font="Menlo")
160
+ self.play(counter.animate.set_value(1000), run_time=3, rate_func=rush_from)
161
+
162
+ # BAD: Text that jumps between values
163
+ ```
164
+
165
+ ## Pre-Render Checklist
166
+
167
+ Before running `manim -qh`:
168
+
169
+ - [ ] All scenes render without errors at `-ql`
170
+ - [ ] Preview stills at `-qm` for text-heavy scenes (check kerning)
171
+ - [ ] Background color set in every scene (`self.camera.background_color = BG`)
172
+ - [ ] `add_subcaption()` or `subcaption=` on every significant animation
173
+ - [ ] No text smaller than font_size=18
174
+ - [ ] No text using proportional fonts (use monospace)
175
+ - [ ] buff >= 0.5 on all `.to_edge()` calls
176
+ - [ ] Clean exit (FadeOut all) at end of every scene
177
+ - [ ] `self.wait()` after every reveal
178
+ - [ ] Color constants used (no hardcoded hex strings in scene code)
179
+ - [ ] All scenes use the same quality flag (don't mix `-ql` and `-qh`)
180
+
181
+ ## Post-Render Checklist
182
+
183
+ After stitching the final video:
184
+
185
+ - [ ] Watch the complete video at 1x speed — does it feel rushed anywhere?
186
+ - [ ] Is there a moment where two things animate simultaneously and it's confusing?
187
+ - [ ] Does every text label have enough time to be read?
188
+ - [ ] Are transitions between scenes smooth (no black frames, no jarring cuts)?
189
+ - [ ] Is the audio in sync with the visuals (if using voiceover)?
190
+ - [ ] Is the Gibbs-like "first impression" good? The first 5 seconds determine if someone keeps watching
@@ -0,0 +1,187 @@
1
+ # Rendering Reference
2
+
3
+ ## Prerequisites
4
+
5
+ ```bash
6
+ manim --version # Manim CE
7
+ pdflatex --version # LaTeX
8
+ ffmpeg -version # ffmpeg
9
+ ```
10
+
11
+ ## CLI Reference
12
+
13
+ ```bash
14
+ manim -ql script.py Scene1 Scene2 # draft (480p 15fps)
15
+ manim -qm script.py Scene1 # medium (720p 30fps)
16
+ manim -qh script.py Scene1 # production (1080p 60fps)
17
+ manim -ql --format=png -s script.py Scene1 # preview still (last frame)
18
+ manim -ql --format=gif script.py Scene1 # GIF output
19
+ ```
20
+
21
+ ## Quality Presets
22
+
23
+ | Flag | Resolution | FPS | Use case |
24
+ |------|-----------|-----|----------|
25
+ | `-ql` | 854x480 | 15 | Draft iteration (layout, timing) |
26
+ | `-qm` | 1280x720 | 30 | Preview (use for text-heavy scenes) |
27
+ | `-qh` | 1920x1080 | 60 | Production |
28
+
29
+ **Text rendering quality:** `-ql` (480p15) produces noticeably poor text kerning and readability. For scenes with significant text, preview stills at `-qm` to catch issues invisible at 480p. Use `-ql` only for testing layout and animation timing.
30
+
31
+ ## Output Structure
32
+
33
+ ```
34
+ media/videos/script/480p15/Scene1_Intro.mp4
35
+ media/images/script/Scene1_Intro.png (from -s flag)
36
+ ```
37
+
38
+ ## Stitching with ffmpeg
39
+
40
+ ```bash
41
+ cat > concat.txt << 'EOF'
42
+ file 'media/videos/script/480p15/Scene1_Intro.mp4'
43
+ file 'media/videos/script/480p15/Scene2_Core.mp4'
44
+ EOF
45
+ ffmpeg -y -f concat -safe 0 -i concat.txt -c copy final.mp4
46
+ ```
47
+
48
+ ## Add Voiceover
49
+
50
+ ```bash
51
+ # Mux narration
52
+ ffmpeg -y -i final.mp4 -i narration.mp3 -c:v copy -c:a aac -b:a 192k -shortest final_narrated.mp4
53
+
54
+ # Concat per-scene audio first
55
+ cat > audio_concat.txt << 'EOF'
56
+ file 'audio/scene1.mp3'
57
+ file 'audio/scene2.mp3'
58
+ EOF
59
+ ffmpeg -y -f concat -safe 0 -i audio_concat.txt -c copy full_narration.mp3
60
+ ```
61
+
62
+ ## Add Background Music
63
+
64
+ ```bash
65
+ ffmpeg -y -i final.mp4 -i music.mp3 \
66
+ -filter_complex "[1:a]volume=0.15[bg]" \
67
+ -map 0:v:0 -map '[bg]' -c:v copy -c:a aac -shortest final_with_music.mp4
68
+ ```
69
+
70
+ ## GIF Export
71
+
72
+ The command above adds music to a silent render. For an already narrated input, first verify its audio stream with ffprobe, then mix `[0:a][bg]amix=inputs=2:duration=first[mix]` and map `[mix]`. Do not reference a nonexistent input audio stream.
73
+
74
+ ```bash
75
+ ffmpeg -y -i scene.mp4 \
76
+ -vf "fps=15,scale=640:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" \
77
+ output.gif
78
+ ```
79
+
80
+ ## Aspect Ratios
81
+
82
+ ```bash
83
+ manim -ql --resolution 1080,1920 script.py Scene # 9:16 vertical
84
+ manim -ql --resolution 1080,1080 script.py Scene # 1:1 square
85
+ ```
86
+
87
+ ## Render Workflow
88
+
89
+ 1. Draft render all scenes at `-ql`
90
+ 2. Preview stills at key moments (`-s`)
91
+ 3. Fix and re-render only broken scenes
92
+ 4. Stitch with ffmpeg
93
+ 5. Review stitched output
94
+ 6. Production render at `-qh`
95
+ 7. Re-stitch + add audio
96
+
97
+ ## manim.cfg — Project Configuration
98
+
99
+ Create `manim.cfg` in the project directory for per-project defaults:
100
+
101
+ ```ini
102
+ [CLI]
103
+ quality = low_quality
104
+ preview = True
105
+ media_dir = ./media
106
+
107
+ [renderer]
108
+ background_color = #0D1117
109
+
110
+ [tex]
111
+ tex_template_file = custom_template.tex
112
+ ```
113
+
114
+ This eliminates repetitive CLI flags and `self.camera.background_color` in every scene.
115
+
116
+ ## Sections — Chapter Markers
117
+
118
+ Mark sections within a scene for organized output:
119
+
120
+ ```python
121
+ class LongVideo(Scene):
122
+ def construct(self):
123
+ self.next_section("Introduction")
124
+ # ... intro content ...
125
+
126
+ self.next_section("Main Concept")
127
+ # ... main content ...
128
+
129
+ self.next_section("Conclusion")
130
+ # ... closing ...
131
+ ```
132
+
133
+ Render individual sections: `manim --save_sections script.py LongVideo`
134
+ This outputs separate video files per section — useful for long videos where you want to re-render only one part.
135
+
136
+ ## manim-voiceover Plugin (Recommended for Narrated Videos)
137
+
138
+ The official `manim-voiceover` plugin integrates TTS directly into scene code, auto-syncing animation duration to voiceover length. This is significantly cleaner than the manual ffmpeg muxing approach above.
139
+
140
+ ### Installation
141
+
142
+ ```bash
143
+ pip install "manim-voiceover[elevenlabs]"
144
+ # Or for free/local TTS:
145
+ pip install "manim-voiceover[gtts]" # Google TTS (free, lower quality)
146
+ pip install "manim-voiceover[azure]" # Azure Cognitive Services
147
+ ```
148
+
149
+ ### Usage
150
+
151
+ ```python
152
+ from manim import *
153
+ from manim_voiceover import VoiceoverScene
154
+ from manim_voiceover.services.elevenlabs import ElevenLabsService
155
+
156
+ class NarratedScene(VoiceoverScene):
157
+ def construct(self):
158
+ self.set_speech_service(ElevenLabsService(
159
+ voice_name="Alice",
160
+ model_id="eleven_multilingual_v2"
161
+ ))
162
+
163
+ # Voiceover auto-controls scene duration
164
+ with self.voiceover(text="Here is a circle being drawn.") as tracker:
165
+ self.play(Create(Circle()), run_time=tracker.duration)
166
+
167
+ with self.voiceover(text="Now let's transform it into a square.") as tracker:
168
+ self.play(Transform(Circle(), Square()), run_time=tracker.duration)
169
+ ```
170
+
171
+ ### Key Features
172
+
173
+ - `tracker.duration` — total voiceover duration in seconds
174
+ - `tracker.time_until_bookmark("mark1")` — sync specific animations to specific words
175
+ - Auto-generates subtitle `.srt` files
176
+ - Caches audio locally — re-renders don't re-generate TTS
177
+ - Works with: ElevenLabs, Azure, Google TTS, pyttsx3 (offline), and custom services
178
+
179
+ ### Bookmarks for Precise Sync
180
+
181
+ ```python
182
+ with self.voiceover(text='This is a <bookmark mark="circle"/>circle.') as tracker:
183
+ self.wait_until_bookmark("circle")
184
+ self.play(Create(Circle()), run_time=tracker.time_until_bookmark("circle", limit=1))
185
+ ```
186
+
187
+ This is the recommended approach for any video with narration. The manual ffmpeg muxing workflow above is still useful for adding background music or post-production audio mixing.