claudeguide-engineer 1.14.8

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 (685) hide show
  1. package/.claude/.env.example +32 -0
  2. package/.claude/.mcp.json.example +23 -0
  3. package/.claude/agents/brainstormer.md +101 -0
  4. package/.claude/agents/code-reviewer.md +152 -0
  5. package/.claude/agents/copywriter.md +110 -0
  6. package/.claude/agents/database-admin.md +90 -0
  7. package/.claude/agents/debugger.md +134 -0
  8. package/.claude/agents/docs-manager.md +118 -0
  9. package/.claude/agents/git-manager.md +199 -0
  10. package/.claude/agents/journal-writer.md +113 -0
  11. package/.claude/agents/mcp-manager.md +93 -0
  12. package/.claude/agents/planner.md +35 -0
  13. package/.claude/agents/project-manager.md +117 -0
  14. package/.claude/agents/researcher.md +34 -0
  15. package/.claude/agents/scout-external.md +131 -0
  16. package/.claude/agents/scout.md +105 -0
  17. package/.claude/agents/tester.md +102 -0
  18. package/.claude/agents/ui-ux-designer.md +219 -0
  19. package/.claude/commands/ask.md +56 -0
  20. package/.claude/commands/bootstrap/auto/fast.md +111 -0
  21. package/.claude/commands/bootstrap/auto.md +115 -0
  22. package/.claude/commands/bootstrap.md +137 -0
  23. package/.claude/commands/brainstorm.md +69 -0
  24. package/.claude/commands/code.md +93 -0
  25. package/.claude/commands/content/cro.md +43 -0
  26. package/.claude/commands/content/enhance.md +14 -0
  27. package/.claude/commands/content/fast.md +13 -0
  28. package/.claude/commands/content/good.md +16 -0
  29. package/.claude/commands/cook/auto/fast.md +26 -0
  30. package/.claude/commands/cook/auto.md +15 -0
  31. package/.claude/commands/cook.md +105 -0
  32. package/.claude/commands/debug.md +13 -0
  33. package/.claude/commands/design/3d.md +74 -0
  34. package/.claude/commands/design/describe.md +21 -0
  35. package/.claude/commands/design/fast.md +22 -0
  36. package/.claude/commands/design/good.md +26 -0
  37. package/.claude/commands/design/screenshot.md +32 -0
  38. package/.claude/commands/design/video.md +32 -0
  39. package/.claude/commands/docs/init.md +15 -0
  40. package/.claude/commands/docs/summarize.md +22 -0
  41. package/.claude/commands/docs/update.md +23 -0
  42. package/.claude/commands/fix/ci.md +20 -0
  43. package/.claude/commands/fix/fast.md +19 -0
  44. package/.claude/commands/fix/hard.md +43 -0
  45. package/.claude/commands/fix/logs.md +20 -0
  46. package/.claude/commands/fix/test.md +20 -0
  47. package/.claude/commands/fix/types.md +9 -0
  48. package/.claude/commands/fix/ui.md +35 -0
  49. package/.claude/commands/fix.md +12 -0
  50. package/.claude/commands/git/cm.md +5 -0
  51. package/.claude/commands/git/cp.md +4 -0
  52. package/.claude/commands/git/pr.md +15 -0
  53. package/.claude/commands/integrate/polar.md +28 -0
  54. package/.claude/commands/integrate/sepay.md +28 -0
  55. package/.claude/commands/journal.md +5 -0
  56. package/.claude/commands/plan/ci.md +18 -0
  57. package/.claude/commands/plan/cro.md +56 -0
  58. package/.claude/commands/plan/fast.md +46 -0
  59. package/.claude/commands/plan/hard.md +57 -0
  60. package/.claude/commands/plan/two.md +30 -0
  61. package/.claude/commands/plan.md +23 -0
  62. package/.claude/commands/review/codebase.md +49 -0
  63. package/.claude/commands/scout/ext.md +35 -0
  64. package/.claude/commands/scout.md +28 -0
  65. package/.claude/commands/skill/add.md +29 -0
  66. package/.claude/commands/skill/create.md +22 -0
  67. package/.claude/commands/skill/fix-logs.md +21 -0
  68. package/.claude/commands/skill/optimize.md +28 -0
  69. package/.claude/commands/test.md +8 -0
  70. package/.claude/commands/use-mcp.md +34 -0
  71. package/.claude/commands/watzup.md +8 -0
  72. package/.claude/hooks/.env.example +15 -0
  73. package/.claude/hooks/README.md +339 -0
  74. package/.claude/hooks/discord-hook-setup.md +440 -0
  75. package/.claude/hooks/discord_notify.sh +221 -0
  76. package/.claude/hooks/modularization-hook.js +108 -0
  77. package/.claude/hooks/scout-block.js +89 -0
  78. package/.claude/hooks/scout-block.ps1 +65 -0
  79. package/.claude/hooks/scout-block.sh +51 -0
  80. package/.claude/hooks/send-discord.sh +75 -0
  81. package/.claude/hooks/telegram-hook-setup.md +843 -0
  82. package/.claude/hooks/telegram_notify.sh +158 -0
  83. package/.claude/metadata.json +15 -0
  84. package/.claude/settings.json +32 -0
  85. package/.claude/skills/.env.example +32 -0
  86. package/.claude/skills/INSTALLATION.md +280 -0
  87. package/.claude/skills/README.md +111 -0
  88. package/.claude/skills/THIRD_PARTY_NOTICES.md +405 -0
  89. package/.claude/skills/aesthetic/SKILL.md +121 -0
  90. package/.claude/skills/aesthetic/assets/design-guideline-template.md +163 -0
  91. package/.claude/skills/aesthetic/assets/design-story-template.md +135 -0
  92. package/.claude/skills/aesthetic/references/design-principles.md +62 -0
  93. package/.claude/skills/aesthetic/references/design-resources.md +75 -0
  94. package/.claude/skills/aesthetic/references/micro-interactions.md +53 -0
  95. package/.claude/skills/aesthetic/references/storytelling-design.md +50 -0
  96. package/.claude/skills/agent_skills_spec.md +55 -0
  97. package/.claude/skills/ai-multimodal/.env.example +97 -0
  98. package/.claude/skills/ai-multimodal/SKILL.md +353 -0
  99. package/.claude/skills/ai-multimodal/references/audio-processing.md +373 -0
  100. package/.claude/skills/ai-multimodal/references/image-generation.md +558 -0
  101. package/.claude/skills/ai-multimodal/references/video-analysis.md +498 -0
  102. package/.claude/skills/ai-multimodal/references/vision-understanding.md +479 -0
  103. package/.claude/skills/ai-multimodal/scripts/.coverage +0 -0
  104. package/.claude/skills/ai-multimodal/scripts/document_converter.py +395 -0
  105. package/.claude/skills/ai-multimodal/scripts/gemini_batch_process.py +480 -0
  106. package/.claude/skills/ai-multimodal/scripts/media_optimizer.py +506 -0
  107. package/.claude/skills/ai-multimodal/scripts/requirements.txt +26 -0
  108. package/.claude/skills/ai-multimodal/scripts/tests/.coverage +0 -0
  109. package/.claude/skills/ai-multimodal/scripts/tests/requirements.txt +20 -0
  110. package/.claude/skills/ai-multimodal/scripts/tests/test_document_converter.py +74 -0
  111. package/.claude/skills/ai-multimodal/scripts/tests/test_failures.log +258 -0
  112. package/.claude/skills/ai-multimodal/scripts/tests/test_gemini_batch_process.py +362 -0
  113. package/.claude/skills/ai-multimodal/scripts/tests/test_media_optimizer.py +373 -0
  114. package/.claude/skills/backend-development/SKILL.md +95 -0
  115. package/.claude/skills/backend-development/references/backend-api-design.md +495 -0
  116. package/.claude/skills/backend-development/references/backend-architecture.md +454 -0
  117. package/.claude/skills/backend-development/references/backend-authentication.md +338 -0
  118. package/.claude/skills/backend-development/references/backend-code-quality.md +659 -0
  119. package/.claude/skills/backend-development/references/backend-debugging.md +904 -0
  120. package/.claude/skills/backend-development/references/backend-devops.md +494 -0
  121. package/.claude/skills/backend-development/references/backend-mindset.md +387 -0
  122. package/.claude/skills/backend-development/references/backend-performance.md +397 -0
  123. package/.claude/skills/backend-development/references/backend-security.md +290 -0
  124. package/.claude/skills/backend-development/references/backend-technologies.md +256 -0
  125. package/.claude/skills/backend-development/references/backend-testing.md +429 -0
  126. package/.claude/skills/better-auth/SKILL.md +204 -0
  127. package/.claude/skills/better-auth/references/advanced-features.md +553 -0
  128. package/.claude/skills/better-auth/references/database-integration.md +577 -0
  129. package/.claude/skills/better-auth/references/email-password-auth.md +416 -0
  130. package/.claude/skills/better-auth/references/oauth-providers.md +430 -0
  131. package/.claude/skills/better-auth/scripts/.coverage +0 -0
  132. package/.claude/skills/better-auth/scripts/better_auth_init.py +521 -0
  133. package/.claude/skills/better-auth/scripts/requirements.txt +15 -0
  134. package/.claude/skills/better-auth/scripts/tests/.coverage +0 -0
  135. package/.claude/skills/better-auth/scripts/tests/test_better_auth_init.py +421 -0
  136. package/.claude/skills/chrome-devtools/SKILL.md +360 -0
  137. package/.claude/skills/chrome-devtools/references/cdp-domains.md +694 -0
  138. package/.claude/skills/chrome-devtools/references/performance-guide.md +940 -0
  139. package/.claude/skills/chrome-devtools/references/puppeteer-reference.md +953 -0
  140. package/.claude/skills/chrome-devtools/scripts/README.md +213 -0
  141. package/.claude/skills/chrome-devtools/scripts/__tests__/selector.test.js +210 -0
  142. package/.claude/skills/chrome-devtools/scripts/click.js +79 -0
  143. package/.claude/skills/chrome-devtools/scripts/console.js +75 -0
  144. package/.claude/skills/chrome-devtools/scripts/evaluate.js +49 -0
  145. package/.claude/skills/chrome-devtools/scripts/fill.js +72 -0
  146. package/.claude/skills/chrome-devtools/scripts/install-deps.sh +181 -0
  147. package/.claude/skills/chrome-devtools/scripts/install.sh +83 -0
  148. package/.claude/skills/chrome-devtools/scripts/lib/browser.js +122 -0
  149. package/.claude/skills/chrome-devtools/scripts/lib/selector.js +178 -0
  150. package/.claude/skills/chrome-devtools/scripts/navigate.js +46 -0
  151. package/.claude/skills/chrome-devtools/scripts/network.js +102 -0
  152. package/.claude/skills/chrome-devtools/scripts/package.json +15 -0
  153. package/.claude/skills/chrome-devtools/scripts/performance.js +145 -0
  154. package/.claude/skills/chrome-devtools/scripts/screenshot.js +180 -0
  155. package/.claude/skills/chrome-devtools/scripts/snapshot.js +131 -0
  156. package/.claude/skills/claude-code/references/advanced-features.md +399 -0
  157. package/.claude/skills/claude-code/references/agent-skills.md +399 -0
  158. package/.claude/skills/claude-code/references/api-reference.md +498 -0
  159. package/.claude/skills/claude-code/references/best-practices.md +447 -0
  160. package/.claude/skills/claude-code/references/cicd-integration.md +428 -0
  161. package/.claude/skills/claude-code/references/configuration.md +480 -0
  162. package/.claude/skills/claude-code/references/enterprise-features.md +472 -0
  163. package/.claude/skills/claude-code/references/getting-started.md +252 -0
  164. package/.claude/skills/claude-code/references/hooks-and-plugins.md +441 -0
  165. package/.claude/skills/claude-code/references/ide-integration.md +316 -0
  166. package/.claude/skills/claude-code/references/mcp-integration.md +386 -0
  167. package/.claude/skills/claude-code/references/slash-commands.md +489 -0
  168. package/.claude/skills/claude-code/references/troubleshooting.md +456 -0
  169. package/.claude/skills/claude-code/skill.md +188 -0
  170. package/.claude/skills/code-review/SKILL.md +143 -0
  171. package/.claude/skills/code-review/references/code-review-reception.md +209 -0
  172. package/.claude/skills/code-review/references/requesting-code-review.md +105 -0
  173. package/.claude/skills/code-review/references/verification-before-completion.md +139 -0
  174. package/.claude/skills/common/README.md +120 -0
  175. package/.claude/skills/common/api_key_helper.py +300 -0
  176. package/.claude/skills/databases/SKILL.md +232 -0
  177. package/.claude/skills/databases/references/mongodb-aggregation.md +447 -0
  178. package/.claude/skills/databases/references/mongodb-atlas.md +465 -0
  179. package/.claude/skills/databases/references/mongodb-crud.md +408 -0
  180. package/.claude/skills/databases/references/mongodb-indexing.md +442 -0
  181. package/.claude/skills/databases/references/postgresql-administration.md +594 -0
  182. package/.claude/skills/databases/references/postgresql-performance.md +527 -0
  183. package/.claude/skills/databases/references/postgresql-psql-cli.md +467 -0
  184. package/.claude/skills/databases/references/postgresql-queries.md +475 -0
  185. package/.claude/skills/databases/scripts/.coverage +0 -0
  186. package/.claude/skills/databases/scripts/db_backup.py +502 -0
  187. package/.claude/skills/databases/scripts/db_migrate.py +414 -0
  188. package/.claude/skills/databases/scripts/db_performance_check.py +444 -0
  189. package/.claude/skills/databases/scripts/requirements.txt +20 -0
  190. package/.claude/skills/databases/scripts/tests/coverage-db.json +1 -0
  191. package/.claude/skills/databases/scripts/tests/requirements.txt +4 -0
  192. package/.claude/skills/databases/scripts/tests/test_db_backup.py +340 -0
  193. package/.claude/skills/databases/scripts/tests/test_db_migrate.py +277 -0
  194. package/.claude/skills/databases/scripts/tests/test_db_performance_check.py +370 -0
  195. package/.claude/skills/debugging/SKILL.md +84 -0
  196. package/.claude/skills/debugging/references/defense-in-depth.md +124 -0
  197. package/.claude/skills/debugging/references/root-cause-tracing.md +122 -0
  198. package/.claude/skills/debugging/references/systematic-debugging.md +102 -0
  199. package/.claude/skills/debugging/references/verification.md +123 -0
  200. package/.claude/skills/debugging/scripts/find-polluter.sh +63 -0
  201. package/.claude/skills/debugging/scripts/find-polluter.test.md +102 -0
  202. package/.claude/skills/devops/.env.example +76 -0
  203. package/.claude/skills/devops/SKILL.md +285 -0
  204. package/.claude/skills/devops/references/browser-rendering.md +305 -0
  205. package/.claude/skills/devops/references/cloudflare-d1-kv.md +123 -0
  206. package/.claude/skills/devops/references/cloudflare-platform.md +271 -0
  207. package/.claude/skills/devops/references/cloudflare-r2-storage.md +280 -0
  208. package/.claude/skills/devops/references/cloudflare-workers-advanced.md +312 -0
  209. package/.claude/skills/devops/references/cloudflare-workers-apis.md +309 -0
  210. package/.claude/skills/devops/references/cloudflare-workers-basics.md +418 -0
  211. package/.claude/skills/devops/references/docker-basics.md +297 -0
  212. package/.claude/skills/devops/references/docker-compose.md +292 -0
  213. package/.claude/skills/devops/references/gcloud-platform.md +297 -0
  214. package/.claude/skills/devops/references/gcloud-services.md +304 -0
  215. package/.claude/skills/devops/scripts/cloudflare_deploy.py +269 -0
  216. package/.claude/skills/devops/scripts/docker_optimize.py +320 -0
  217. package/.claude/skills/devops/scripts/requirements.txt +20 -0
  218. package/.claude/skills/devops/scripts/tests/requirements.txt +3 -0
  219. package/.claude/skills/devops/scripts/tests/test_cloudflare_deploy.py +285 -0
  220. package/.claude/skills/devops/scripts/tests/test_docker_optimize.py +436 -0
  221. package/.claude/skills/docs-seeker/.env.example +15 -0
  222. package/.claude/skills/docs-seeker/SKILL.md +97 -0
  223. package/.claude/skills/docs-seeker/package.json +25 -0
  224. package/.claude/skills/docs-seeker/references/advanced.md +79 -0
  225. package/.claude/skills/docs-seeker/references/context7-patterns.md +68 -0
  226. package/.claude/skills/docs-seeker/references/errors.md +68 -0
  227. package/.claude/skills/docs-seeker/scripts/analyze-llms-txt.js +211 -0
  228. package/.claude/skills/docs-seeker/scripts/detect-topic.js +172 -0
  229. package/.claude/skills/docs-seeker/scripts/fetch-docs.js +213 -0
  230. package/.claude/skills/docs-seeker/scripts/tests/run-tests.js +72 -0
  231. package/.claude/skills/docs-seeker/scripts/tests/test-analyze-llms.js +119 -0
  232. package/.claude/skills/docs-seeker/scripts/tests/test-detect-topic.js +112 -0
  233. package/.claude/skills/docs-seeker/scripts/tests/test-fetch-docs.js +84 -0
  234. package/.claude/skills/docs-seeker/scripts/utils/env-loader.js +94 -0
  235. package/.claude/skills/docs-seeker/workflows/library-search.md +87 -0
  236. package/.claude/skills/docs-seeker/workflows/repo-analysis.md +91 -0
  237. package/.claude/skills/docs-seeker/workflows/topic-search.md +77 -0
  238. package/.claude/skills/document-skills/docx/LICENSE.txt +30 -0
  239. package/.claude/skills/document-skills/docx/SKILL.md +197 -0
  240. package/.claude/skills/document-skills/docx/docx-js.md +350 -0
  241. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  242. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  243. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  244. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  245. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  246. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  247. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  248. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  249. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  250. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  251. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  252. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  253. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  254. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  255. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  256. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  257. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  258. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  259. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  260. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  261. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  262. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  263. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  264. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  265. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  266. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  267. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  268. package/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  269. package/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  270. package/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  271. package/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  272. package/.claude/skills/document-skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
  273. package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  274. package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  275. package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  276. package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  277. package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  278. package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  279. package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  280. package/.claude/skills/document-skills/docx/ooxml/scripts/pack.py +159 -0
  281. package/.claude/skills/document-skills/docx/ooxml/scripts/unpack.py +29 -0
  282. package/.claude/skills/document-skills/docx/ooxml/scripts/validate.py +69 -0
  283. package/.claude/skills/document-skills/docx/ooxml/scripts/validation/__init__.py +15 -0
  284. package/.claude/skills/document-skills/docx/ooxml/scripts/validation/base.py +951 -0
  285. package/.claude/skills/document-skills/docx/ooxml/scripts/validation/docx.py +274 -0
  286. package/.claude/skills/document-skills/docx/ooxml/scripts/validation/pptx.py +315 -0
  287. package/.claude/skills/document-skills/docx/ooxml/scripts/validation/redlining.py +279 -0
  288. package/.claude/skills/document-skills/docx/ooxml.md +610 -0
  289. package/.claude/skills/document-skills/docx/scripts/__init__.py +1 -0
  290. package/.claude/skills/document-skills/docx/scripts/document.py +1276 -0
  291. package/.claude/skills/document-skills/docx/scripts/templates/comments.xml +3 -0
  292. package/.claude/skills/document-skills/docx/scripts/templates/commentsExtended.xml +3 -0
  293. package/.claude/skills/document-skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  294. package/.claude/skills/document-skills/docx/scripts/templates/commentsIds.xml +3 -0
  295. package/.claude/skills/document-skills/docx/scripts/templates/people.xml +3 -0
  296. package/.claude/skills/document-skills/docx/scripts/utilities.py +374 -0
  297. package/.claude/skills/document-skills/pdf/LICENSE.txt +30 -0
  298. package/.claude/skills/document-skills/pdf/SKILL.md +294 -0
  299. package/.claude/skills/document-skills/pdf/forms.md +205 -0
  300. package/.claude/skills/document-skills/pdf/reference.md +612 -0
  301. package/.claude/skills/document-skills/pdf/scripts/check_bounding_boxes.py +70 -0
  302. package/.claude/skills/document-skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
  303. package/.claude/skills/document-skills/pdf/scripts/check_fillable_fields.py +12 -0
  304. package/.claude/skills/document-skills/pdf/scripts/convert_pdf_to_images.py +35 -0
  305. package/.claude/skills/document-skills/pdf/scripts/create_validation_image.py +41 -0
  306. package/.claude/skills/document-skills/pdf/scripts/extract_form_field_info.py +152 -0
  307. package/.claude/skills/document-skills/pdf/scripts/fill_fillable_fields.py +114 -0
  308. package/.claude/skills/document-skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
  309. package/.claude/skills/document-skills/pptx/LICENSE.txt +30 -0
  310. package/.claude/skills/document-skills/pptx/SKILL.md +484 -0
  311. package/.claude/skills/document-skills/pptx/html2pptx.md +625 -0
  312. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  313. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  314. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  315. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  316. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  317. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  318. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  319. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  320. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  321. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  322. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  323. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  324. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  325. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  326. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  327. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  328. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  329. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  330. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  331. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  332. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  333. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  334. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  335. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  336. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  337. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  338. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  339. package/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  340. package/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  341. package/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  342. package/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  343. package/.claude/skills/document-skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
  344. package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  345. package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  346. package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  347. package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  348. package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  349. package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  350. package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  351. package/.claude/skills/document-skills/pptx/ooxml/scripts/pack.py +159 -0
  352. package/.claude/skills/document-skills/pptx/ooxml/scripts/unpack.py +29 -0
  353. package/.claude/skills/document-skills/pptx/ooxml/scripts/validate.py +69 -0
  354. package/.claude/skills/document-skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
  355. package/.claude/skills/document-skills/pptx/ooxml/scripts/validation/base.py +951 -0
  356. package/.claude/skills/document-skills/pptx/ooxml/scripts/validation/docx.py +274 -0
  357. package/.claude/skills/document-skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
  358. package/.claude/skills/document-skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
  359. package/.claude/skills/document-skills/pptx/ooxml.md +427 -0
  360. package/.claude/skills/document-skills/pptx/scripts/html2pptx.js +979 -0
  361. package/.claude/skills/document-skills/pptx/scripts/inventory.py +1020 -0
  362. package/.claude/skills/document-skills/pptx/scripts/rearrange.py +231 -0
  363. package/.claude/skills/document-skills/pptx/scripts/replace.py +385 -0
  364. package/.claude/skills/document-skills/pptx/scripts/thumbnail.py +450 -0
  365. package/.claude/skills/document-skills/xlsx/LICENSE.txt +30 -0
  366. package/.claude/skills/document-skills/xlsx/SKILL.md +289 -0
  367. package/.claude/skills/document-skills/xlsx/recalc.py +178 -0
  368. package/.claude/skills/frontend-design/SKILL.md +42 -0
  369. package/.claude/skills/frontend-design/references/animejs.md +396 -0
  370. package/.claude/skills/frontend-development/SKILL.md +399 -0
  371. package/.claude/skills/frontend-development/resources/common-patterns.md +331 -0
  372. package/.claude/skills/frontend-development/resources/complete-examples.md +872 -0
  373. package/.claude/skills/frontend-development/resources/component-patterns.md +502 -0
  374. package/.claude/skills/frontend-development/resources/data-fetching.md +767 -0
  375. package/.claude/skills/frontend-development/resources/file-organization.md +502 -0
  376. package/.claude/skills/frontend-development/resources/loading-and-error-states.md +501 -0
  377. package/.claude/skills/frontend-development/resources/performance.md +406 -0
  378. package/.claude/skills/frontend-development/resources/routing-guide.md +364 -0
  379. package/.claude/skills/frontend-development/resources/styling-guide.md +428 -0
  380. package/.claude/skills/frontend-development/resources/typescript-standards.md +418 -0
  381. package/.claude/skills/google-adk-python/SKILL.md +237 -0
  382. package/.claude/skills/mcp-builder/LICENSE.txt +202 -0
  383. package/.claude/skills/mcp-builder/SKILL.md +328 -0
  384. package/.claude/skills/mcp-builder/reference/evaluation.md +602 -0
  385. package/.claude/skills/mcp-builder/reference/mcp_best_practices.md +915 -0
  386. package/.claude/skills/mcp-builder/reference/node_mcp_server.md +916 -0
  387. package/.claude/skills/mcp-builder/reference/python_mcp_server.md +752 -0
  388. package/.claude/skills/mcp-builder/scripts/connections.py +151 -0
  389. package/.claude/skills/mcp-builder/scripts/evaluation.py +373 -0
  390. package/.claude/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  391. package/.claude/skills/mcp-builder/scripts/requirements.txt +2 -0
  392. package/.claude/skills/mcp-management/README.md +219 -0
  393. package/.claude/skills/mcp-management/SKILL.md +209 -0
  394. package/.claude/skills/mcp-management/assets/tools.json +3146 -0
  395. package/.claude/skills/mcp-management/references/configuration.md +114 -0
  396. package/.claude/skills/mcp-management/references/gemini-cli-integration.md +215 -0
  397. package/.claude/skills/mcp-management/references/mcp-protocol.md +116 -0
  398. package/.claude/skills/mcp-management/scripts/.env.example +10 -0
  399. package/.claude/skills/mcp-management/scripts/cli.ts +195 -0
  400. package/.claude/skills/mcp-management/scripts/dist/analyze-tools.js +70 -0
  401. package/.claude/skills/mcp-management/scripts/dist/cli.js +127 -0
  402. package/.claude/skills/mcp-management/scripts/dist/mcp-client.js +115 -0
  403. package/.claude/skills/mcp-management/scripts/mcp-client.ts +230 -0
  404. package/.claude/skills/mcp-management/scripts/package.json +20 -0
  405. package/.claude/skills/mcp-management/scripts/tsconfig.json +15 -0
  406. package/.claude/skills/media-processing/SKILL.md +358 -0
  407. package/.claude/skills/media-processing/references/ffmpeg-encoding.md +358 -0
  408. package/.claude/skills/media-processing/references/ffmpeg-filters.md +503 -0
  409. package/.claude/skills/media-processing/references/ffmpeg-streaming.md +403 -0
  410. package/.claude/skills/media-processing/references/format-compatibility.md +375 -0
  411. package/.claude/skills/media-processing/references/imagemagick-batch.md +612 -0
  412. package/.claude/skills/media-processing/references/imagemagick-editing.md +623 -0
  413. package/.claude/skills/media-processing/scripts/batch_resize.py +342 -0
  414. package/.claude/skills/media-processing/scripts/media_convert.py +311 -0
  415. package/.claude/skills/media-processing/scripts/requirements.txt +24 -0
  416. package/.claude/skills/media-processing/scripts/tests/.coverage +0 -0
  417. package/.claude/skills/media-processing/scripts/tests/requirements.txt +2 -0
  418. package/.claude/skills/media-processing/scripts/tests/test_batch_resize.py +372 -0
  419. package/.claude/skills/media-processing/scripts/tests/test_media_convert.py +259 -0
  420. package/.claude/skills/media-processing/scripts/tests/test_video_optimize.py +397 -0
  421. package/.claude/skills/media-processing/scripts/video_optimize.py +414 -0
  422. package/.claude/skills/mobile-development/SKILL.md +212 -0
  423. package/.claude/skills/mobile-development/references/mobile-android.md +604 -0
  424. package/.claude/skills/mobile-development/references/mobile-best-practices.md +545 -0
  425. package/.claude/skills/mobile-development/references/mobile-debugging.md +1089 -0
  426. package/.claude/skills/mobile-development/references/mobile-frameworks.md +465 -0
  427. package/.claude/skills/mobile-development/references/mobile-ios.md +496 -0
  428. package/.claude/skills/mobile-development/references/mobile-mindset.md +544 -0
  429. package/.claude/skills/payment-integration/README.md +185 -0
  430. package/.claude/skills/payment-integration/SKILL.md +118 -0
  431. package/.claude/skills/payment-integration/references/polar/benefits.md +396 -0
  432. package/.claude/skills/payment-integration/references/polar/best-practices.md +482 -0
  433. package/.claude/skills/payment-integration/references/polar/checkouts.md +266 -0
  434. package/.claude/skills/payment-integration/references/polar/overview.md +184 -0
  435. package/.claude/skills/payment-integration/references/polar/products.md +244 -0
  436. package/.claude/skills/payment-integration/references/polar/sdk.md +436 -0
  437. package/.claude/skills/payment-integration/references/polar/subscriptions.md +340 -0
  438. package/.claude/skills/payment-integration/references/polar/webhooks.md +405 -0
  439. package/.claude/skills/payment-integration/references/sepay/api.md +140 -0
  440. package/.claude/skills/payment-integration/references/sepay/best-practices.md +337 -0
  441. package/.claude/skills/payment-integration/references/sepay/overview.md +138 -0
  442. package/.claude/skills/payment-integration/references/sepay/qr-codes.md +228 -0
  443. package/.claude/skills/payment-integration/references/sepay/sdk.md +213 -0
  444. package/.claude/skills/payment-integration/references/sepay/webhooks.md +208 -0
  445. package/.claude/skills/payment-integration/scripts/.env.example +20 -0
  446. package/.claude/skills/payment-integration/scripts/checkout-helper.js +244 -0
  447. package/.claude/skills/payment-integration/scripts/package.json +17 -0
  448. package/.claude/skills/payment-integration/scripts/polar-webhook-verify.js +202 -0
  449. package/.claude/skills/payment-integration/scripts/sepay-webhook-verify.js +193 -0
  450. package/.claude/skills/payment-integration/scripts/test-scripts.js +237 -0
  451. package/.claude/skills/payment-integration.tar.gz +0 -0
  452. package/.claude/skills/planning/SKILL.md +88 -0
  453. package/.claude/skills/planning/references/codebase-understanding.md +62 -0
  454. package/.claude/skills/planning/references/output-standards.md +87 -0
  455. package/.claude/skills/planning/references/plan-organization.md +100 -0
  456. package/.claude/skills/planning/references/research-phase.md +49 -0
  457. package/.claude/skills/planning/references/solution-design.md +63 -0
  458. package/.claude/skills/problem-solving/SKILL.md +96 -0
  459. package/.claude/skills/problem-solving/references/attribution.md +69 -0
  460. package/.claude/skills/problem-solving/references/collision-zone-thinking.md +79 -0
  461. package/.claude/skills/problem-solving/references/inversion-exercise.md +91 -0
  462. package/.claude/skills/problem-solving/references/meta-pattern-recognition.md +87 -0
  463. package/.claude/skills/problem-solving/references/scale-game.md +95 -0
  464. package/.claude/skills/problem-solving/references/simplification-cascades.md +80 -0
  465. package/.claude/skills/problem-solving/references/when-stuck.md +72 -0
  466. package/.claude/skills/repomix/SKILL.md +247 -0
  467. package/.claude/skills/repomix/references/configuration.md +211 -0
  468. package/.claude/skills/repomix/references/usage-patterns.md +232 -0
  469. package/.claude/skills/repomix/scripts/.coverage +0 -0
  470. package/.claude/skills/repomix/scripts/README.md +179 -0
  471. package/.claude/skills/repomix/scripts/repomix_batch.py +455 -0
  472. package/.claude/skills/repomix/scripts/repos.example.json +15 -0
  473. package/.claude/skills/repomix/scripts/requirements.txt +15 -0
  474. package/.claude/skills/repomix/scripts/tests/test_repomix_batch.py +531 -0
  475. package/.claude/skills/research/SKILL.md +168 -0
  476. package/.claude/skills/sequential-thinking/.env.example +8 -0
  477. package/.claude/skills/sequential-thinking/README.md +183 -0
  478. package/.claude/skills/sequential-thinking/SKILL.md +94 -0
  479. package/.claude/skills/sequential-thinking/package.json +31 -0
  480. package/.claude/skills/sequential-thinking/references/advanced-strategies.md +79 -0
  481. package/.claude/skills/sequential-thinking/references/advanced-techniques.md +76 -0
  482. package/.claude/skills/sequential-thinking/references/core-patterns.md +95 -0
  483. package/.claude/skills/sequential-thinking/references/examples-api.md +88 -0
  484. package/.claude/skills/sequential-thinking/references/examples-architecture.md +94 -0
  485. package/.claude/skills/sequential-thinking/references/examples-debug.md +90 -0
  486. package/.claude/skills/sequential-thinking/scripts/format-thought.js +159 -0
  487. package/.claude/skills/sequential-thinking/scripts/process-thought.js +236 -0
  488. package/.claude/skills/sequential-thinking/tests/format-thought.test.js +133 -0
  489. package/.claude/skills/sequential-thinking/tests/process-thought.test.js +215 -0
  490. package/.claude/skills/shopify/README.md +66 -0
  491. package/.claude/skills/shopify/SKILL.md +319 -0
  492. package/.claude/skills/shopify/references/app-development.md +470 -0
  493. package/.claude/skills/shopify/references/extensions.md +493 -0
  494. package/.claude/skills/shopify/references/themes.md +498 -0
  495. package/.claude/skills/shopify/scripts/.coverage +0 -0
  496. package/.claude/skills/shopify/scripts/requirements.txt +19 -0
  497. package/.claude/skills/shopify/scripts/shopify_init.py +423 -0
  498. package/.claude/skills/shopify/scripts/tests/.coverage +0 -0
  499. package/.claude/skills/shopify/scripts/tests/test_shopify_init.py +385 -0
  500. package/.claude/skills/skill-creator/LICENSE.txt +202 -0
  501. package/.claude/skills/skill-creator/SKILL.md +255 -0
  502. package/.claude/skills/skill-creator/scripts/init_skill.py +303 -0
  503. package/.claude/skills/skill-creator/scripts/package_skill.py +110 -0
  504. package/.claude/skills/skill-creator/scripts/quick_validate.py +65 -0
  505. package/.claude/skills/template-skill/SKILL.md +6 -0
  506. package/.claude/skills/threejs/SKILL.md +89 -0
  507. package/.claude/skills/threejs/references/01-getting-started.md +177 -0
  508. package/.claude/skills/threejs/references/02-loaders.md +169 -0
  509. package/.claude/skills/threejs/references/03-textures.md +170 -0
  510. package/.claude/skills/threejs/references/04-cameras.md +195 -0
  511. package/.claude/skills/threejs/references/05-lights.md +183 -0
  512. package/.claude/skills/threejs/references/06-animations.md +214 -0
  513. package/.claude/skills/threejs/references/07-math.md +260 -0
  514. package/.claude/skills/threejs/references/08-interaction.md +267 -0
  515. package/.claude/skills/threejs/references/09-postprocessing.md +240 -0
  516. package/.claude/skills/threejs/references/10-controls.md +259 -0
  517. package/.claude/skills/threejs/references/11-materials-advanced.md +270 -0
  518. package/.claude/skills/threejs/references/12-performance.md +269 -0
  519. package/.claude/skills/threejs/references/13-node-materials.md +298 -0
  520. package/.claude/skills/threejs/references/14-physics-vr.md +304 -0
  521. package/.claude/skills/threejs/references/15-specialized-loaders.md +333 -0
  522. package/.claude/skills/threejs/references/16-webgpu.md +302 -0
  523. package/.claude/skills/ui-styling/LICENSE.txt +202 -0
  524. package/.claude/skills/ui-styling/SKILL.md +321 -0
  525. package/.claude/skills/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  526. package/.claude/skills/ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  527. package/.claude/skills/ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  528. package/.claude/skills/ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
  529. package/.claude/skills/ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  530. package/.claude/skills/ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
  531. package/.claude/skills/ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
  532. package/.claude/skills/ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  533. package/.claude/skills/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  534. package/.claude/skills/ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  535. package/.claude/skills/ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  536. package/.claude/skills/ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  537. package/.claude/skills/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  538. package/.claude/skills/ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  539. package/.claude/skills/ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
  540. package/.claude/skills/ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
  541. package/.claude/skills/ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
  542. package/.claude/skills/ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
  543. package/.claude/skills/ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
  544. package/.claude/skills/ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
  545. package/.claude/skills/ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
  546. package/.claude/skills/ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
  547. package/.claude/skills/ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
  548. package/.claude/skills/ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  549. package/.claude/skills/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  550. package/.claude/skills/ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  551. package/.claude/skills/ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  552. package/.claude/skills/ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  553. package/.claude/skills/ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  554. package/.claude/skills/ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  555. package/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  556. package/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  557. package/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  558. package/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  559. package/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  560. package/.claude/skills/ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  561. package/.claude/skills/ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  562. package/.claude/skills/ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
  563. package/.claude/skills/ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
  564. package/.claude/skills/ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  565. package/.claude/skills/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  566. package/.claude/skills/ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  567. package/.claude/skills/ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
  568. package/.claude/skills/ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
  569. package/.claude/skills/ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
  570. package/.claude/skills/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  571. package/.claude/skills/ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  572. package/.claude/skills/ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
  573. package/.claude/skills/ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  574. package/.claude/skills/ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
  575. package/.claude/skills/ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
  576. package/.claude/skills/ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
  577. package/.claude/skills/ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
  578. package/.claude/skills/ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
  579. package/.claude/skills/ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
  580. package/.claude/skills/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  581. package/.claude/skills/ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  582. package/.claude/skills/ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
  583. package/.claude/skills/ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
  584. package/.claude/skills/ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
  585. package/.claude/skills/ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  586. package/.claude/skills/ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
  587. package/.claude/skills/ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
  588. package/.claude/skills/ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  589. package/.claude/skills/ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  590. package/.claude/skills/ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
  591. package/.claude/skills/ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  592. package/.claude/skills/ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
  593. package/.claude/skills/ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  594. package/.claude/skills/ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  595. package/.claude/skills/ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
  596. package/.claude/skills/ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
  597. package/.claude/skills/ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
  598. package/.claude/skills/ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
  599. package/.claude/skills/ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
  600. package/.claude/skills/ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  601. package/.claude/skills/ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
  602. package/.claude/skills/ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
  603. package/.claude/skills/ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
  604. package/.claude/skills/ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
  605. package/.claude/skills/ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  606. package/.claude/skills/ui-styling/references/canvas-design-system.md +320 -0
  607. package/.claude/skills/ui-styling/references/shadcn-accessibility.md +471 -0
  608. package/.claude/skills/ui-styling/references/shadcn-components.md +424 -0
  609. package/.claude/skills/ui-styling/references/shadcn-theming.md +373 -0
  610. package/.claude/skills/ui-styling/references/tailwind-customization.md +483 -0
  611. package/.claude/skills/ui-styling/references/tailwind-responsive.md +382 -0
  612. package/.claude/skills/ui-styling/references/tailwind-utilities.md +455 -0
  613. package/.claude/skills/ui-styling/scripts/.coverage +0 -0
  614. package/.claude/skills/ui-styling/scripts/requirements.txt +17 -0
  615. package/.claude/skills/ui-styling/scripts/shadcn_add.py +292 -0
  616. package/.claude/skills/ui-styling/scripts/tailwind_config_gen.py +456 -0
  617. package/.claude/skills/ui-styling/scripts/tests/coverage-ui.json +1 -0
  618. package/.claude/skills/ui-styling/scripts/tests/requirements.txt +3 -0
  619. package/.claude/skills/ui-styling/scripts/tests/test_shadcn_add.py +266 -0
  620. package/.claude/skills/ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -0
  621. package/.claude/skills/web-frameworks/SKILL.md +324 -0
  622. package/.claude/skills/web-frameworks/references/nextjs-app-router.md +465 -0
  623. package/.claude/skills/web-frameworks/references/nextjs-data-fetching.md +459 -0
  624. package/.claude/skills/web-frameworks/references/nextjs-optimization.md +511 -0
  625. package/.claude/skills/web-frameworks/references/nextjs-server-components.md +495 -0
  626. package/.claude/skills/web-frameworks/references/remix-icon-integration.md +603 -0
  627. package/.claude/skills/web-frameworks/references/turborepo-caching.md +551 -0
  628. package/.claude/skills/web-frameworks/references/turborepo-pipelines.md +517 -0
  629. package/.claude/skills/web-frameworks/references/turborepo-setup.md +542 -0
  630. package/.claude/skills/web-frameworks/scripts/.coverage +0 -0
  631. package/.claude/skills/web-frameworks/scripts/__init__.py +0 -0
  632. package/.claude/skills/web-frameworks/scripts/nextjs_init.py +547 -0
  633. package/.claude/skills/web-frameworks/scripts/requirements.txt +16 -0
  634. package/.claude/skills/web-frameworks/scripts/tests/coverage-web.json +1 -0
  635. package/.claude/skills/web-frameworks/scripts/tests/requirements.txt +3 -0
  636. package/.claude/skills/web-frameworks/scripts/tests/test_nextjs_init.py +319 -0
  637. package/.claude/skills/web-frameworks/scripts/tests/test_turborepo_migrate.py +374 -0
  638. package/.claude/skills/web-frameworks/scripts/turborepo_migrate.py +394 -0
  639. package/.claude/statusline.js +263 -0
  640. package/.claude/statusline.ps1 +312 -0
  641. package/.claude/statusline.sh +141 -0
  642. package/.claude/workflows/development-rules.md +42 -0
  643. package/.claude/workflows/documentation-management.md +28 -0
  644. package/.claude/workflows/orchestration-protocol.md +16 -0
  645. package/.claude/workflows/primary-workflow.md +45 -0
  646. package/.opencode/agent/code-reviewer.md +141 -0
  647. package/.opencode/agent/debugger.md +75 -0
  648. package/.opencode/agent/docs-manager.md +120 -0
  649. package/.opencode/agent/git-manager.md +60 -0
  650. package/.opencode/agent/planner-researcher.md +101 -0
  651. package/.opencode/agent/planner.md +88 -0
  652. package/.opencode/agent/project-manager.md +113 -0
  653. package/.opencode/agent/researcher.md +174 -0
  654. package/.opencode/agent/solution-brainstormer.md +90 -0
  655. package/.opencode/agent/system-architecture.md +193 -0
  656. package/.opencode/agent/tester.md +96 -0
  657. package/.opencode/agent/ui-ux-designer.md +233 -0
  658. package/.opencode/agent/ui-ux-developer.md +98 -0
  659. package/.opencode/command/cook.md +7 -0
  660. package/.opencode/command/debug.md +10 -0
  661. package/.opencode/command/design/3d.md +65 -0
  662. package/.opencode/command/design/fast.md +18 -0
  663. package/.opencode/command/design/good.md +21 -0
  664. package/.opencode/command/design/screenshot.md +22 -0
  665. package/.opencode/command/design/video.md +22 -0
  666. package/.opencode/command/docs/init.md +11 -0
  667. package/.opencode/command/docs/summarize.md +10 -0
  668. package/.opencode/command/docs/update.md +18 -0
  669. package/.opencode/command/fix/ci.md +8 -0
  670. package/.opencode/command/fix/fast.md +11 -0
  671. package/.opencode/command/fix/hard.md +15 -0
  672. package/.opencode/command/fix/logs.md +16 -0
  673. package/.opencode/command/fix/test.md +18 -0
  674. package/.opencode/command/fix/types.md +10 -0
  675. package/.opencode/command/git/cm.md +5 -0
  676. package/.opencode/command/git/cp.md +4 -0
  677. package/.opencode/command/plan/ci.md +12 -0
  678. package/.opencode/command/plan/two.md +13 -0
  679. package/.opencode/command/plan.md +10 -0
  680. package/.opencode/command/test.md +7 -0
  681. package/.opencode/command/watzup.md +8 -0
  682. package/CLAUDE.md +39 -0
  683. package/LICENSE +21 -0
  684. package/README.md +639 -0
  685. package/package.json +61 -0
@@ -0,0 +1,358 @@
1
+ ---
2
+ name: media-processing
3
+ description: Process multimedia files with FFmpeg (video/audio encoding, conversion, streaming, filtering, hardware acceleration) and ImageMagick (image manipulation, format conversion, batch processing, effects, composition). Use when converting media formats, encoding videos with specific codecs (H.264, H.265, VP9), resizing/cropping images, extracting audio from video, applying filters and effects, optimizing file sizes, creating streaming manifests (HLS/DASH), generating thumbnails, batch processing images, creating composite images, or implementing media processing pipelines. Supports 100+ formats, hardware acceleration (NVENC, QSV), and complex filtergraphs.
4
+ license: MIT
5
+ ---
6
+
7
+ # Media Processing Skill
8
+
9
+ Process video, audio, and images using FFmpeg and ImageMagick command-line tools for conversion, optimization, streaming, and manipulation tasks.
10
+
11
+ ## When to Use This Skill
12
+
13
+ Use when:
14
+ - Converting media formats (video, audio, images)
15
+ - Encoding video with codecs (H.264, H.265, VP9, AV1)
16
+ - Processing images (resize, crop, effects, watermarks)
17
+ - Extracting audio from video
18
+ - Creating streaming manifests (HLS/DASH)
19
+ - Generating thumbnails and previews
20
+ - Batch processing media files
21
+ - Optimizing file sizes and quality
22
+ - Applying filters and effects
23
+ - Creating composite images or videos
24
+
25
+ ## Tool Selection Guide
26
+
27
+ ### FFmpeg: Video/Audio Processing
28
+ Use FFmpeg for:
29
+ - Video encoding, conversion, transcoding
30
+ - Audio extraction, conversion, mixing
31
+ - Live streaming (RTMP, HLS, DASH)
32
+ - Video filters (scale, crop, rotate, overlay)
33
+ - Hardware-accelerated encoding
34
+ - Media file inspection (ffprobe)
35
+ - Frame extraction, concatenation
36
+ - Codec selection and optimization
37
+
38
+ ### ImageMagick: Image Processing
39
+ Use ImageMagick for:
40
+ - Image format conversion (PNG, JPEG, WebP, GIF)
41
+ - Resizing, cropping, transformations
42
+ - Batch image processing (mogrify)
43
+ - Visual effects (blur, sharpen, sepia)
44
+ - Text overlays and watermarks
45
+ - Image composition and montages
46
+ - Color adjustments, filters
47
+ - Thumbnail generation
48
+
49
+ ### Decision Matrix
50
+
51
+ | Task | Tool | Why |
52
+ |------|------|-----|
53
+ | Video encoding | FFmpeg | Native video codec support |
54
+ | Audio extraction | FFmpeg | Direct stream manipulation |
55
+ | Image resize | ImageMagick | Optimized for still images |
56
+ | Batch images | ImageMagick | mogrify for in-place edits |
57
+ | Video thumbnails | FFmpeg | Frame extraction built-in |
58
+ | GIF creation | FFmpeg or ImageMagick | FFmpeg for video source, ImageMagick for images |
59
+ | Streaming | FFmpeg | Live streaming protocols |
60
+ | Image effects | ImageMagick | Rich filter library |
61
+
62
+ ## Installation
63
+
64
+ ### macOS
65
+ ```bash
66
+ brew install ffmpeg imagemagick
67
+ ```
68
+
69
+ ### Ubuntu/Debian
70
+ ```bash
71
+ sudo apt-get install ffmpeg imagemagick
72
+ ```
73
+
74
+ ### Windows
75
+ ```bash
76
+ # Using winget
77
+ winget install ffmpeg
78
+ winget install ImageMagick.ImageMagick
79
+
80
+ # Or download binaries
81
+ # FFmpeg: https://ffmpeg.org/download.html
82
+ # ImageMagick: https://imagemagick.org/script/download.php
83
+ ```
84
+
85
+ ### Verify Installation
86
+ ```bash
87
+ ffmpeg -version
88
+ ffprobe -version
89
+ magick -version
90
+ # or
91
+ convert -version
92
+ ```
93
+
94
+ ## Quick Start Examples
95
+
96
+ ### Video Conversion
97
+ ```bash
98
+ # Convert format (copy streams, fast)
99
+ ffmpeg -i input.mkv -c copy output.mp4
100
+
101
+ # Re-encode with H.264
102
+ ffmpeg -i input.avi -c:v libx264 -crf 22 -c:a aac output.mp4
103
+
104
+ # Resize video to 720p
105
+ ffmpeg -i input.mp4 -vf scale=-1:720 -c:a copy output.mp4
106
+ ```
107
+
108
+ ### Audio Extraction
109
+ ```bash
110
+ # Extract audio (no re-encoding)
111
+ ffmpeg -i video.mp4 -vn -c:a copy audio.m4a
112
+
113
+ # Convert to MP3
114
+ ffmpeg -i video.mp4 -vn -q:a 0 audio.mp3
115
+ ```
116
+
117
+ ### Image Processing
118
+ ```bash
119
+ # Convert format
120
+ magick input.png output.jpg
121
+
122
+ # Resize maintaining aspect ratio
123
+ magick input.jpg -resize 800x600 output.jpg
124
+
125
+ # Create square thumbnail
126
+ magick input.jpg -resize 200x200^ -gravity center -extent 200x200 thumb.jpg
127
+ ```
128
+
129
+ ### Batch Image Resize
130
+ ```bash
131
+ # Resize all JPEGs to 800px width
132
+ mogrify -resize 800x -quality 85 *.jpg
133
+
134
+ # Output to separate directory
135
+ mogrify -path ./output -resize 800x600 *.jpg
136
+ ```
137
+
138
+ ### Video Thumbnail
139
+ ```bash
140
+ # Extract frame at 5 seconds
141
+ ffmpeg -ss 00:00:05 -i video.mp4 -vframes 1 -vf scale=320:-1 thumb.jpg
142
+ ```
143
+
144
+ ### HLS Streaming
145
+ ```bash
146
+ # Generate HLS playlist
147
+ ffmpeg -i input.mp4 \
148
+ -c:v libx264 -preset fast -crf 22 -g 48 \
149
+ -c:a aac -b:a 128k \
150
+ -f hls -hls_time 6 -hls_playlist_type vod \
151
+ playlist.m3u8
152
+ ```
153
+
154
+ ### Image Watermark
155
+ ```bash
156
+ # Add watermark to corner
157
+ magick input.jpg watermark.png -gravity southeast \
158
+ -geometry +10+10 -composite output.jpg
159
+ ```
160
+
161
+ ## Common Workflows
162
+
163
+ ### Optimize Video for Web
164
+ ```bash
165
+ # H.264 with good compression
166
+ ffmpeg -i input.mp4 \
167
+ -c:v libx264 -preset slow -crf 23 \
168
+ -c:a aac -b:a 128k \
169
+ -movflags +faststart \
170
+ output.mp4
171
+ ```
172
+
173
+ ### Create Responsive Images
174
+ ```bash
175
+ # Generate multiple sizes
176
+ for size in 320 640 1024 1920; do
177
+ magick input.jpg -resize ${size}x -quality 85 "output-${size}w.jpg"
178
+ done
179
+ ```
180
+
181
+ ### Extract Video Segment
182
+ ```bash
183
+ # From 1:30 to 3:00 (re-encode for precision)
184
+ ffmpeg -i input.mp4 -ss 00:01:30 -to 00:03:00 \
185
+ -c:v libx264 -c:a aac output.mp4
186
+ ```
187
+
188
+ ### Batch Image Optimization
189
+ ```bash
190
+ # Convert PNG to optimized JPEG
191
+ mogrify -path ./optimized -format jpg -quality 85 -strip *.png
192
+ ```
193
+
194
+ ### Video GIF Creation
195
+ ```bash
196
+ # High quality GIF with palette
197
+ ffmpeg -i input.mp4 -vf "fps=15,scale=640:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" output.gif
198
+ ```
199
+
200
+ ### Image Blur Effect
201
+ ```bash
202
+ # Gaussian blur
203
+ magick input.jpg -gaussian-blur 0x8 output.jpg
204
+ ```
205
+
206
+ ## Advanced Techniques
207
+
208
+ ### Multi-Pass Video Encoding
209
+ ```bash
210
+ # Pass 1 (analysis)
211
+ ffmpeg -y -i input.mkv -c:v libx264 -b:v 2600k -pass 1 -an -f null /dev/null
212
+
213
+ # Pass 2 (encoding)
214
+ ffmpeg -i input.mkv -c:v libx264 -b:v 2600k -pass 2 -c:a aac output.mp4
215
+ ```
216
+
217
+ ### Hardware-Accelerated Encoding
218
+ ```bash
219
+ # NVIDIA NVENC
220
+ ffmpeg -hwaccel cuda -i input.mp4 -c:v h264_nvenc -preset fast -crf 22 output.mp4
221
+
222
+ # Intel QuickSync
223
+ ffmpeg -hwaccel qsv -c:v h264_qsv -i input.mp4 -c:v h264_qsv output.mp4
224
+ ```
225
+
226
+ ### Complex Image Pipeline
227
+ ```bash
228
+ # Resize, crop, border, adjust
229
+ magick input.jpg \
230
+ -resize 1000x1000^ \
231
+ -gravity center \
232
+ -crop 1000x1000+0+0 +repage \
233
+ -bordercolor black -border 5x5 \
234
+ -brightness-contrast 5x10 \
235
+ -quality 90 \
236
+ output.jpg
237
+ ```
238
+
239
+ ### Video Filter Chains
240
+ ```bash
241
+ # Scale, denoise, watermark
242
+ ffmpeg -i video.mp4 -i logo.png \
243
+ -filter_complex "[0:v]scale=1280:720,hqdn3d[v];[v][1:v]overlay=10:10" \
244
+ -c:a copy output.mp4
245
+ ```
246
+
247
+ ### Animated GIF from Images
248
+ ```bash
249
+ # Create with delay
250
+ magick -delay 100 -loop 0 frame*.png animated.gif
251
+
252
+ # Optimize size
253
+ magick animated.gif -fuzz 5% -layers Optimize optimized.gif
254
+ ```
255
+
256
+ ## Media Analysis
257
+
258
+ ### Inspect Video Properties
259
+ ```bash
260
+ # Detailed JSON output
261
+ ffprobe -v quiet -print_format json -show_format -show_streams input.mp4
262
+
263
+ # Get resolution
264
+ ffprobe -v error -select_streams v:0 \
265
+ -show_entries stream=width,height \
266
+ -of csv=s=x:p=0 input.mp4
267
+ ```
268
+
269
+ ### Image Information
270
+ ```bash
271
+ # Basic info
272
+ identify image.jpg
273
+
274
+ # Detailed format
275
+ identify -verbose image.jpg
276
+
277
+ # Custom format
278
+ identify -format "%f: %wx%h %b\n" image.jpg
279
+ ```
280
+
281
+ ## Performance Tips
282
+
283
+ 1. **Use CRF for quality control** - Better than bitrate for video
284
+ 2. **Copy streams when possible** - Avoid re-encoding with `-c copy`
285
+ 3. **Hardware acceleration** - GPU encoding 5-10x faster
286
+ 4. **Appropriate presets** - Balance speed vs compression
287
+ 5. **Batch with mogrify** - In-place image processing
288
+ 6. **Strip metadata** - Reduce file size with `-strip`
289
+ 7. **Progressive JPEG** - Better web loading with `-interlace Plane`
290
+ 8. **Limit memory** - Prevent crashes on large batches
291
+ 9. **Test on samples** - Verify settings before batch
292
+ 10. **Parallel processing** - Use GNU Parallel for multiple files
293
+
294
+ ## Reference Documentation
295
+
296
+ Detailed guides in `references/`:
297
+
298
+ - **ffmpeg-encoding.md** - Video/audio codecs, quality optimization, hardware acceleration
299
+ - **ffmpeg-streaming.md** - HLS/DASH, live streaming, adaptive bitrate
300
+ - **ffmpeg-filters.md** - Video/audio filters, complex filtergraphs
301
+ - **imagemagick-editing.md** - Format conversion, effects, transformations
302
+ - **imagemagick-batch.md** - Batch processing, mogrify, parallel operations
303
+ - **format-compatibility.md** - Format support, codec recommendations
304
+
305
+ ## Common Parameters
306
+
307
+ ### FFmpeg Video
308
+ - `-c:v` - Video codec (libx264, libx265, libvpx-vp9)
309
+ - `-crf` - Quality (0-51, lower=better, 23=default)
310
+ - `-preset` - Speed/compression (ultrafast to veryslow)
311
+ - `-b:v` - Video bitrate (e.g., 2M, 2500k)
312
+ - `-vf` - Video filters
313
+
314
+ ### FFmpeg Audio
315
+ - `-c:a` - Audio codec (aac, mp3, opus)
316
+ - `-b:a` - Audio bitrate (e.g., 128k, 192k)
317
+ - `-ar` - Sample rate (44100, 48000)
318
+
319
+ ### ImageMagick Geometry
320
+ - `800x600` - Fit within (maintains aspect)
321
+ - `800x600!` - Force exact size
322
+ - `800x600^` - Fill (may crop)
323
+ - `800x` - Width only
324
+ - `x600` - Height only
325
+ - `50%` - Scale percentage
326
+
327
+ ## Troubleshooting
328
+
329
+ **FFmpeg "Unknown encoder"**
330
+ ```bash
331
+ # Check available encoders
332
+ ffmpeg -encoders | grep h264
333
+
334
+ # Install codec libraries
335
+ sudo apt-get install libx264-dev libx265-dev
336
+ ```
337
+
338
+ **ImageMagick "not authorized"**
339
+ ```bash
340
+ # Edit policy file
341
+ sudo nano /etc/ImageMagick-7/policy.xml
342
+ # Change <policy domain="coder" rights="none" pattern="PDF" />
343
+ # to <policy domain="coder" rights="read|write" pattern="PDF" />
344
+ ```
345
+
346
+ **Memory errors**
347
+ ```bash
348
+ # Limit memory usage
349
+ ffmpeg -threads 4 input.mp4 output.mp4
350
+ magick -limit memory 2GB -limit map 4GB input.jpg output.jpg
351
+ ```
352
+
353
+ ## Resources
354
+
355
+ - FFmpeg: https://ffmpeg.org/documentation.html
356
+ - FFmpeg Wiki: https://trac.ffmpeg.org/
357
+ - ImageMagick: https://imagemagick.org/
358
+ - ImageMagick Usage: https://imagemagick.org/Usage/
@@ -0,0 +1,358 @@
1
+ # FFmpeg Video & Audio Encoding
2
+
3
+ Complete guide to codec selection, quality optimization, and hardware acceleration.
4
+
5
+ ## Video Codecs
6
+
7
+ ### H.264 (libx264)
8
+ Most widely supported codec, excellent compression/quality balance.
9
+
10
+ **Best for:** Universal compatibility, streaming, web video
11
+
12
+ **Quality range:** CRF 17-28 (lower = better)
13
+
14
+ ```bash
15
+ # High quality
16
+ ffmpeg -i input.mkv -c:v libx264 -preset slow -crf 18 -c:a copy output.mp4
17
+
18
+ # Standard quality (recommended)
19
+ ffmpeg -i input.mkv -c:v libx264 -preset medium -crf 23 -c:a copy output.mp4
20
+
21
+ # Fast encoding
22
+ ffmpeg -i input.mkv -c:v libx264 -preset fast -crf 23 -c:a copy output.mp4
23
+ ```
24
+
25
+ ### H.265/HEVC (libx265)
26
+ 25-50% better compression than H.264, slower encoding.
27
+
28
+ **Best for:** 4K video, file size reduction, archival
29
+
30
+ ```bash
31
+ # High quality 4K
32
+ ffmpeg -i input.mkv -c:v libx265 -preset medium -crf 24 -c:a copy output.mp4
33
+
34
+ # Balanced quality
35
+ ffmpeg -i input.mkv -c:v libx265 -preset fast -crf 26 -c:a copy output.mp4
36
+ ```
37
+
38
+ ### VP9 (libvpx-vp9)
39
+ Royalty-free, WebM format, good for YouTube and open-source projects.
40
+
41
+ **Best for:** YouTube, Chrome/Firefox, open platforms
42
+
43
+ ```bash
44
+ # Quality-based (recommended)
45
+ ffmpeg -i input.mkv -c:v libvpx-vp9 -crf 30 -b:v 0 -c:a libopus output.webm
46
+
47
+ # Two-pass for better quality
48
+ ffmpeg -i input.mkv -c:v libvpx-vp9 -b:v 2M -pass 1 -an -f null /dev/null
49
+ ffmpeg -i input.mkv -c:v libvpx-vp9 -b:v 2M -pass 2 -c:a libopus output.webm
50
+ ```
51
+
52
+ ### AV1 (libaom-av1, libsvtav1)
53
+ Next-generation codec, best compression, very slow encoding.
54
+
55
+ **Best for:** Future-proofing, maximum compression, low bandwidth
56
+
57
+ ```bash
58
+ # Using libaom (slow, highest quality)
59
+ ffmpeg -i input.mkv -c:v libaom-av1 -crf 30 -b:v 0 -strict experimental output.mp4
60
+
61
+ # Using SVT-AV1 (faster)
62
+ ffmpeg -i input.mkv -c:v libsvtav1 -crf 30 -preset 5 output.mp4
63
+ ```
64
+
65
+ ## Audio Codecs
66
+
67
+ ### AAC (Industry Standard)
68
+ Best quality for streaming, universal support.
69
+
70
+ ```bash
71
+ # High quality
72
+ ffmpeg -i input.mp4 -c:a aac -b:a 192k output.mp4
73
+
74
+ # Standard quality
75
+ ffmpeg -i input.mp4 -c:a aac -b:a 128k output.mp4
76
+
77
+ # Low bitrate
78
+ ffmpeg -i input.mp4 -c:a aac -b:a 96k output.mp4
79
+ ```
80
+
81
+ ### MP3 (libmp3lame)
82
+ Universal compatibility, good quality.
83
+
84
+ ```bash
85
+ # Variable bitrate (best quality)
86
+ ffmpeg -i input.wav -c:a libmp3lame -q:a 0 output.mp3
87
+
88
+ # Constant bitrate
89
+ ffmpeg -i input.wav -c:a libmp3lame -b:a 192k output.mp3
90
+ ```
91
+
92
+ ### Opus (libopus)
93
+ Best quality at low bitrates, ideal for voice and streaming.
94
+
95
+ ```bash
96
+ # Voice (mono)
97
+ ffmpeg -i input.mp4 -c:a libopus -b:a 32k -ac 1 output.webm
98
+
99
+ # Music (stereo)
100
+ ffmpeg -i input.mp4 -c:a libopus -b:a 128k output.webm
101
+ ```
102
+
103
+ ### FLAC (Lossless)
104
+ No quality loss, archival quality, larger files.
105
+
106
+ ```bash
107
+ # Lossless audio
108
+ ffmpeg -i input.wav -c:a flac output.flac
109
+
110
+ # Extract audio losslessly
111
+ ffmpeg -i video.mp4 -c:a flac audio.flac
112
+ ```
113
+
114
+ ## Quality Optimization
115
+
116
+ ### CRF (Constant Rate Factor)
117
+ Best for quality-focused encoding. Single-pass, adjusts bitrate for complexity.
118
+
119
+ **CRF Scale:**
120
+ - 0 = Lossless (huge files)
121
+ - 17-18 = Visually lossless
122
+ - 20-23 = High quality (recommended)
123
+ - 24-28 = Medium quality
124
+ - 30+ = Low quality
125
+ - 51 = Worst quality
126
+
127
+ ```bash
128
+ # Visually lossless
129
+ ffmpeg -i input.mp4 -c:v libx264 -crf 18 -preset slow output.mp4
130
+
131
+ # High quality (recommended)
132
+ ffmpeg -i input.mp4 -c:v libx264 -crf 22 -preset medium output.mp4
133
+
134
+ # Balanced quality/size
135
+ ffmpeg -i input.mp4 -c:v libx264 -crf 25 -preset fast output.mp4
136
+ ```
137
+
138
+ ### Bitrate-Based Encoding
139
+ Target specific file size or quality. Two-pass recommended.
140
+
141
+ ```bash
142
+ # Calculate target bitrate
143
+ # bitrate = (target_size_MB * 8192) / duration_seconds - audio_bitrate
144
+
145
+ # Two-pass encoding (2600k video, 128k audio)
146
+ ffmpeg -y -i input.mkv -c:v libx264 -b:v 2600k -pass 1 -an -f null /dev/null
147
+ ffmpeg -i input.mkv -c:v libx264 -b:v 2600k -pass 2 -c:a aac -b:a 128k output.mp4
148
+ ```
149
+
150
+ ### Presets (Speed vs Compression)
151
+ Trade-off between encoding speed and file size.
152
+
153
+ **Available presets:**
154
+ - `ultrafast` - Fastest, largest files
155
+ - `superfast`
156
+ - `veryfast`
157
+ - `faster`
158
+ - `fast`
159
+ - `medium` - Default balance
160
+ - `slow` - Better compression
161
+ - `slower`
162
+ - `veryslow` - Best compression
163
+ - `placebo` - Not recommended (minimal gains)
164
+
165
+ ```bash
166
+ # Fast encoding (real-time)
167
+ ffmpeg -i input.mp4 -c:v libx264 -preset ultrafast -crf 23 output.mp4
168
+
169
+ # Balanced
170
+ ffmpeg -i input.mp4 -c:v libx264 -preset medium -crf 22 output.mp4
171
+
172
+ # Best compression (slow)
173
+ ffmpeg -i input.mp4 -c:v libx264 -preset veryslow -crf 20 output.mp4
174
+ ```
175
+
176
+ ## Hardware Acceleration
177
+
178
+ ### NVIDIA NVENC
179
+ 5-10x faster encoding, slightly larger files than software encoding.
180
+
181
+ **Requirements:** NVIDIA GPU (GTX 10xx or newer)
182
+
183
+ ```bash
184
+ # H.264 with NVENC
185
+ ffmpeg -hwaccel cuda -i input.mp4 -c:v h264_nvenc -preset fast -crf 22 output.mp4
186
+
187
+ # H.265 with NVENC
188
+ ffmpeg -hwaccel cuda -i input.mp4 -c:v hevc_nvenc -preset slow -crf 24 output.mp4
189
+
190
+ # Quality levels (instead of CRF)
191
+ ffmpeg -hwaccel cuda -i input.mp4 -c:v h264_nvenc -preset slow -rc vbr -cq 22 output.mp4
192
+ ```
193
+
194
+ **NVENC Presets:**
195
+ - `default` - Balanced
196
+ - `slow` - Better quality
197
+ - `medium`
198
+ - `fast`
199
+ - `hp` - High performance
200
+ - `hq` - High quality
201
+ - `bd` - Bluray disk
202
+ - `ll` - Low latency
203
+ - `llhq` - Low latency high quality
204
+ - `llhp` - Low latency high performance
205
+
206
+ ### Intel QuickSync (QSV)
207
+ Fast hardware encoding on Intel CPUs with integrated graphics.
208
+
209
+ **Requirements:** Intel CPU with Quick Sync Video support
210
+
211
+ ```bash
212
+ # H.264 with QSV
213
+ ffmpeg -hwaccel qsv -c:v h264_qsv -i input.mp4 \
214
+ -c:v h264_qsv -preset fast -global_quality 22 output.mp4
215
+
216
+ # H.265 with QSV
217
+ ffmpeg -hwaccel qsv -c:v hevc_qsv -i input.mp4 \
218
+ -c:v hevc_qsv -preset medium -global_quality 24 output.mp4
219
+
220
+ # Quality levels
221
+ ffmpeg -hwaccel qsv -i input.mp4 -c:v h264_qsv -global_quality 20 output.mp4
222
+ ```
223
+
224
+ ### AMD VCE/VCN
225
+ Hardware encoding on AMD GPUs.
226
+
227
+ **Requirements:** AMD GPU with VCE/VCN support
228
+
229
+ ```bash
230
+ # H.264 with AMF
231
+ ffmpeg -hwaccel auto -i input.mp4 \
232
+ -c:v h264_amf -quality balanced -rc cqp -qp 22 output.mp4
233
+
234
+ # H.265 with AMF
235
+ ffmpeg -hwaccel auto -i input.mp4 \
236
+ -c:v hevc_amf -quality quality -rc cqp -qp 24 output.mp4
237
+ ```
238
+
239
+ ### Apple VideoToolbox (macOS)
240
+ Hardware encoding on macOS devices.
241
+
242
+ ```bash
243
+ # H.264 with VideoToolbox
244
+ ffmpeg -i input.mp4 -c:v h264_videotoolbox -b:v 2M output.mp4
245
+
246
+ # H.265 with VideoToolbox
247
+ ffmpeg -i input.mp4 -c:v hevc_videotoolbox -b:v 1.5M output.mp4
248
+ ```
249
+
250
+ ## Performance Tuning
251
+
252
+ ### Multi-Threading
253
+ FFmpeg automatically uses multiple cores. Override if needed:
254
+
255
+ ```bash
256
+ # Limit threads
257
+ ffmpeg -threads 4 -i input.mp4 -c:v libx264 output.mp4
258
+
259
+ # Auto (default)
260
+ ffmpeg -threads 0 -i input.mp4 -c:v libx264 output.mp4
261
+ ```
262
+
263
+ ### Tune Options
264
+ Optimize encoder for specific content types:
265
+
266
+ ```bash
267
+ # Film content
268
+ ffmpeg -i input.mp4 -c:v libx264 -tune film -crf 22 output.mp4
269
+
270
+ # Animation
271
+ ffmpeg -i input.mp4 -c:v libx264 -tune animation -crf 22 output.mp4
272
+
273
+ # Grain (film with noise)
274
+ ffmpeg -i input.mp4 -c:v libx264 -tune grain -crf 22 output.mp4
275
+
276
+ # Low latency streaming
277
+ ffmpeg -i input.mp4 -c:v libx264 -tune zerolatency -crf 22 output.mp4
278
+
279
+ # Screen content (sharp edges)
280
+ ffmpeg -i input.mp4 -c:v libx264 -tune stillimage -crf 22 output.mp4
281
+ ```
282
+
283
+ ## Codec Selection Guide
284
+
285
+ ### Use Cases
286
+
287
+ | Use Case | Codec | Settings |
288
+ |----------|-------|----------|
289
+ | Web video | H.264 | CRF 23, preset medium |
290
+ | 4K streaming | H.265 | CRF 24, preset fast |
291
+ | YouTube upload | VP9 or H.264 | CRF 23 |
292
+ | Archive | H.265 or H.264 | CRF 18, preset slow |
293
+ | Low bandwidth | AV1 or H.265 | CRF 30 |
294
+ | Fast encoding | H.264 NVENC | preset fast |
295
+ | Maximum compatibility | H.264 | profile main, level 4.0 |
296
+
297
+ ### Platform Compatibility
298
+
299
+ | Platform | Recommended | Supported |
300
+ |----------|------------|-----------|
301
+ | Web browsers | H.264 | H.264, VP9, AV1 |
302
+ | Mobile devices | H.264 | H.264, H.265 |
303
+ | Smart TVs | H.264 | H.264, H.265 |
304
+ | YouTube | VP9, H.264 | All |
305
+ | Social media | H.264 | H.264 |
306
+
307
+ ## Best Practices
308
+
309
+ 1. **Use CRF for most tasks** - Better than bitrate for variable content
310
+ 2. **Start with CRF 23** - Good balance, adjust based on results
311
+ 3. **Use slow preset** - For archival and final delivery
312
+ 4. **Use fast preset** - For previews and testing
313
+ 5. **Hardware acceleration** - When speed is critical
314
+ 6. **Two-pass encoding** - When file size is fixed
315
+ 7. **Match source frame rate** - Don't increase FPS
316
+ 8. **Don't upscale resolution** - Keep original or downscale
317
+ 9. **Test on short clips** - Verify settings before full encode
318
+ 10. **Keep source files** - Original quality for re-encoding
319
+
320
+ ## Troubleshooting
321
+
322
+ ### Poor Quality Output
323
+ ```bash
324
+ # Lower CRF value
325
+ ffmpeg -i input.mp4 -c:v libx264 -crf 18 -preset slow output.mp4
326
+
327
+ # Use slower preset
328
+ ffmpeg -i input.mp4 -c:v libx264 -crf 22 -preset veryslow output.mp4
329
+
330
+ # Increase bitrate (two-pass)
331
+ ffmpeg -y -i input.mp4 -c:v libx264 -b:v 5M -pass 1 -an -f null /dev/null
332
+ ffmpeg -i input.mp4 -c:v libx264 -b:v 5M -pass 2 -c:a aac output.mp4
333
+ ```
334
+
335
+ ### Slow Encoding
336
+ ```bash
337
+ # Use faster preset
338
+ ffmpeg -i input.mp4 -c:v libx264 -preset ultrafast output.mp4
339
+
340
+ # Use hardware acceleration
341
+ ffmpeg -hwaccel cuda -i input.mp4 -c:v h264_nvenc output.mp4
342
+
343
+ # Reduce resolution
344
+ ffmpeg -i input.mp4 -vf scale=1280:-1 -c:v libx264 output.mp4
345
+ ```
346
+
347
+ ### Large File Size
348
+ ```bash
349
+ # Increase CRF
350
+ ffmpeg -i input.mp4 -c:v libx264 -crf 26 output.mp4
351
+
352
+ # Use better codec
353
+ ffmpeg -i input.mp4 -c:v libx265 -crf 26 output.mp4
354
+
355
+ # Two-pass with target bitrate
356
+ ffmpeg -y -i input.mp4 -c:v libx264 -b:v 1M -pass 1 -an -f null /dev/null
357
+ ffmpeg -i input.mp4 -c:v libx264 -b:v 1M -pass 2 -c:a aac output.mp4
358
+ ```