@macpaw/cctk 1.0.0-beta.1

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 (415) hide show
  1. package/License +21 -0
  2. package/README.md +142 -0
  3. package/bin/index.js +5 -0
  4. package/dist/index.js +1 -0
  5. package/package.json +65 -0
  6. package/templates/claude/agents/brainstormer.md +113 -0
  7. package/templates/claude/agents/code-reviewer.md +157 -0
  8. package/templates/claude/agents/copywriter.md +110 -0
  9. package/templates/claude/agents/database-admin.md +92 -0
  10. package/templates/claude/agents/debugger.md +137 -0
  11. package/templates/claude/agents/docs-manager.md +208 -0
  12. package/templates/claude/agents/fullstack-developer.md +95 -0
  13. package/templates/claude/agents/git-manager.md +394 -0
  14. package/templates/claude/agents/journal-writer.md +113 -0
  15. package/templates/claude/agents/mcp-manager.md +89 -0
  16. package/templates/claude/agents/planner.md +108 -0
  17. package/templates/claude/agents/project-manager.md +125 -0
  18. package/templates/claude/agents/registry.json +304 -0
  19. package/templates/claude/agents/researcher.md +37 -0
  20. package/templates/claude/agents/scout-external.md +140 -0
  21. package/templates/claude/agents/scout.md +106 -0
  22. package/templates/claude/agents/tester.md +105 -0
  23. package/templates/claude/agents/ui-ux-designer.md +208 -0
  24. package/templates/claude/commands/ask.md +56 -0
  25. package/templates/claude/commands/bootstrap/auto/fast.md +106 -0
  26. package/templates/claude/commands/bootstrap/auto/parallel.md +64 -0
  27. package/templates/claude/commands/bootstrap/auto.md +110 -0
  28. package/templates/claude/commands/bootstrap.md +130 -0
  29. package/templates/claude/commands/brainstorm.md +75 -0
  30. package/templates/claude/commands/code/auto.md +198 -0
  31. package/templates/claude/commands/code/no-test.md +172 -0
  32. package/templates/claude/commands/code/parallel.md +100 -0
  33. package/templates/claude/commands/code.md +197 -0
  34. package/templates/claude/commands/coding-level.md +37 -0
  35. package/templates/claude/commands/content/cro.md +41 -0
  36. package/templates/claude/commands/content/enhance.md +12 -0
  37. package/templates/claude/commands/content/fast.md +11 -0
  38. package/templates/claude/commands/content/good.md +14 -0
  39. package/templates/claude/commands/cook/auto/fast.md +26 -0
  40. package/templates/claude/commands/cook/auto/parallel.md +49 -0
  41. package/templates/claude/commands/cook/auto.md +15 -0
  42. package/templates/claude/commands/cook.md +101 -0
  43. package/templates/claude/commands/debug.md +13 -0
  44. package/templates/claude/commands/docs/init.md +37 -0
  45. package/templates/claude/commands/docs/summarize.md +22 -0
  46. package/templates/claude/commands/docs/update.md +78 -0
  47. package/templates/claude/commands/fix/ci.md +17 -0
  48. package/templates/claude/commands/fix/fast.md +18 -0
  49. package/templates/claude/commands/fix/hard.md +35 -0
  50. package/templates/claude/commands/fix/logs.md +26 -0
  51. package/templates/claude/commands/fix/parallel.md +54 -0
  52. package/templates/claude/commands/fix/test.md +20 -0
  53. package/templates/claude/commands/fix/types.md +9 -0
  54. package/templates/claude/commands/fix/ui.md +33 -0
  55. package/templates/claude/commands/fix.md +43 -0
  56. package/templates/claude/commands/git/cm.md +5 -0
  57. package/templates/claude/commands/git/cp.md +4 -0
  58. package/templates/claude/commands/git/merge.md +40 -0
  59. package/templates/claude/commands/git/pr.md +50 -0
  60. package/templates/claude/commands/journal.md +7 -0
  61. package/templates/claude/commands/kanban.md +99 -0
  62. package/templates/claude/commands/plan/archive.md +57 -0
  63. package/templates/claude/commands/plan/ci.md +33 -0
  64. package/templates/claude/commands/plan/cro.md +67 -0
  65. package/templates/claude/commands/plan/fast.md +66 -0
  66. package/templates/claude/commands/plan/hard.md +92 -0
  67. package/templates/claude/commands/plan/parallel.md +129 -0
  68. package/templates/claude/commands/plan/two.md +45 -0
  69. package/templates/claude/commands/plan/validate.md +117 -0
  70. package/templates/claude/commands/plan.md +30 -0
  71. package/templates/claude/commands/preview.md +87 -0
  72. package/templates/claude/commands/registry.json +313 -0
  73. package/templates/claude/commands/review/codebase/parallel.md +122 -0
  74. package/templates/claude/commands/review/codebase.md +47 -0
  75. package/templates/claude/commands/scout/ext.md +35 -0
  76. package/templates/claude/commands/scout.md +28 -0
  77. package/templates/claude/commands/skill/add.md +36 -0
  78. package/templates/claude/commands/skill/create.md +29 -0
  79. package/templates/claude/commands/skill/fix-logs.md +22 -0
  80. package/templates/claude/commands/skill/optimize/auto.md +25 -0
  81. package/templates/claude/commands/skill/optimize.md +34 -0
  82. package/templates/claude/commands/skill/plan.md +45 -0
  83. package/templates/claude/commands/test/ui.md +91 -0
  84. package/templates/claude/commands/test.md +8 -0
  85. package/templates/claude/commands/use-mcp.md +34 -0
  86. package/templates/claude/commands/watzup.md +8 -0
  87. package/templates/claude/commands/worktree.md +126 -0
  88. package/templates/claude/hooks/dev-rules-reminder.cjs +258 -0
  89. package/templates/claude/hooks/docs/README.md +42 -0
  90. package/templates/claude/hooks/lib/cctk-config-utils.cjs +751 -0
  91. package/templates/claude/hooks/lib/cctk-paths.cjs +106 -0
  92. package/templates/claude/hooks/lib/context-tracker.cjs +346 -0
  93. package/templates/claude/hooks/privacy-block.cjs +289 -0
  94. package/templates/claude/hooks/registry.json +77 -0
  95. package/templates/claude/hooks/scout-block/broad-pattern-detector.cjs +293 -0
  96. package/templates/claude/hooks/scout-block/error-formatter.cjs +156 -0
  97. package/templates/claude/hooks/scout-block/path-extractor.cjs +359 -0
  98. package/templates/claude/hooks/scout-block/pattern-matcher.cjs +184 -0
  99. package/templates/claude/hooks/scout-block/vendor/ignore.js +626 -0
  100. package/templates/claude/hooks/scout-block.cjs +167 -0
  101. package/templates/claude/hooks/session-end.cjs +35 -0
  102. package/templates/claude/hooks/session-init.cjs +214 -0
  103. package/templates/claude/hooks/subagent-init.cjs +161 -0
  104. package/templates/claude/hooks/write-compact-marker.cjs +153 -0
  105. package/templates/claude/output-styles/coding-level-1.md +148 -0
  106. package/templates/claude/output-styles/coding-level-2.md +159 -0
  107. package/templates/claude/output-styles/coding-level-3.md +91 -0
  108. package/templates/claude/scripts/README.md +33 -0
  109. package/templates/claude/scripts/generate-catalogs.cjs +318 -0
  110. package/templates/claude/scripts/registry.json +48 -0
  111. package/templates/claude/scripts/set-active-plan.cjs +45 -0
  112. package/templates/claude/scripts/validate-docs.cjs +447 -0
  113. package/templates/claude/scripts/worktree.cjs +658 -0
  114. package/templates/claude/skills/README.md +112 -0
  115. package/templates/claude/skills/ai-artist/SKILL.md +75 -0
  116. package/templates/claude/skills/ai-artist/references/advanced-techniques.md +184 -0
  117. package/templates/claude/skills/ai-artist/references/domain-code.md +66 -0
  118. package/templates/claude/skills/ai-artist/references/domain-data.md +72 -0
  119. package/templates/claude/skills/ai-artist/references/domain-marketing.md +66 -0
  120. package/templates/claude/skills/ai-artist/references/domain-patterns.md +33 -0
  121. package/templates/claude/skills/ai-artist/references/domain-writing.md +68 -0
  122. package/templates/claude/skills/ai-artist/references/image-prompting.md +141 -0
  123. package/templates/claude/skills/ai-artist/references/llm-prompting.md +165 -0
  124. package/templates/claude/skills/ai-artist/references/nano-banana.md +59 -0
  125. package/templates/claude/skills/ai-artist/references/reasoning-techniques.md +201 -0
  126. package/templates/claude/skills/backend-development/SKILL.md +95 -0
  127. package/templates/claude/skills/backend-development/references/backend-api-design.md +495 -0
  128. package/templates/claude/skills/backend-development/references/backend-architecture.md +454 -0
  129. package/templates/claude/skills/backend-development/references/backend-authentication.md +338 -0
  130. package/templates/claude/skills/backend-development/references/backend-code-quality.md +659 -0
  131. package/templates/claude/skills/backend-development/references/backend-debugging.md +904 -0
  132. package/templates/claude/skills/backend-development/references/backend-devops.md +494 -0
  133. package/templates/claude/skills/backend-development/references/backend-mindset.md +387 -0
  134. package/templates/claude/skills/backend-development/references/backend-performance.md +397 -0
  135. package/templates/claude/skills/backend-development/references/backend-security.md +290 -0
  136. package/templates/claude/skills/backend-development/references/backend-technologies.md +256 -0
  137. package/templates/claude/skills/backend-development/references/backend-testing.md +429 -0
  138. package/templates/claude/skills/better-auth/SKILL.md +204 -0
  139. package/templates/claude/skills/better-auth/references/advanced-features.md +553 -0
  140. package/templates/claude/skills/better-auth/references/database-integration.md +577 -0
  141. package/templates/claude/skills/better-auth/references/email-password-auth.md +416 -0
  142. package/templates/claude/skills/better-auth/references/oauth-providers.md +430 -0
  143. package/templates/claude/skills/better-auth/scripts/better_auth_init.py +521 -0
  144. package/templates/claude/skills/chrome-devtools/SKILL.md +473 -0
  145. package/templates/claude/skills/chrome-devtools/references/cdp-domains.md +694 -0
  146. package/templates/claude/skills/chrome-devtools/references/performance-guide.md +940 -0
  147. package/templates/claude/skills/chrome-devtools/references/puppeteer-reference.md +953 -0
  148. package/templates/claude/skills/chrome-devtools/scripts/README.md +288 -0
  149. package/templates/claude/skills/chrome-devtools/scripts/aria-snapshot.js +368 -0
  150. package/templates/claude/skills/chrome-devtools/scripts/click.js +92 -0
  151. package/templates/claude/skills/chrome-devtools/scripts/console.js +85 -0
  152. package/templates/claude/skills/chrome-devtools/scripts/evaluate.js +59 -0
  153. package/templates/claude/skills/chrome-devtools/scripts/fill.js +84 -0
  154. package/templates/claude/skills/chrome-devtools/scripts/inject-auth.js +247 -0
  155. package/templates/claude/skills/chrome-devtools/scripts/install-deps.sh +11 -0
  156. package/templates/claude/skills/chrome-devtools/scripts/install.sh +36 -0
  157. package/templates/claude/skills/chrome-devtools/scripts/lib/browser.js +335 -0
  158. package/templates/claude/skills/chrome-devtools/scripts/lib/selector.js +183 -0
  159. package/templates/claude/skills/chrome-devtools/scripts/navigate.js +60 -0
  160. package/templates/claude/skills/chrome-devtools/scripts/network.js +113 -0
  161. package/templates/claude/skills/chrome-devtools/scripts/package.json +16 -0
  162. package/templates/claude/skills/chrome-devtools/scripts/performance.js +159 -0
  163. package/templates/claude/skills/chrome-devtools/scripts/screenshot.js +212 -0
  164. package/templates/claude/skills/chrome-devtools/scripts/select-ref.js +151 -0
  165. package/templates/claude/skills/chrome-devtools/scripts/snapshot.js +143 -0
  166. package/templates/claude/skills/chrome-devtools/scripts/ws-debug.js +47 -0
  167. package/templates/claude/skills/chrome-devtools/scripts/ws-full-debug.js +115 -0
  168. package/templates/claude/skills/claude-code/references/advanced-features.md +399 -0
  169. package/templates/claude/skills/claude-code/references/agent-skills.md +399 -0
  170. package/templates/claude/skills/claude-code/references/api-reference.md +498 -0
  171. package/templates/claude/skills/claude-code/references/best-practices.md +447 -0
  172. package/templates/claude/skills/claude-code/references/cicd-integration.md +428 -0
  173. package/templates/claude/skills/claude-code/references/common-workflows.md +107 -0
  174. package/templates/claude/skills/claude-code/references/configuration.md +480 -0
  175. package/templates/claude/skills/claude-code/references/enterprise-features.md +472 -0
  176. package/templates/claude/skills/claude-code/references/getting-started.md +244 -0
  177. package/templates/claude/skills/claude-code/references/hooks-and-plugins.md +444 -0
  178. package/templates/claude/skills/claude-code/references/hooks-comprehensive.md +622 -0
  179. package/templates/claude/skills/claude-code/references/ide-integration.md +316 -0
  180. package/templates/claude/skills/claude-code/references/mcp-integration.md +386 -0
  181. package/templates/claude/skills/claude-code/references/slash-commands.md +460 -0
  182. package/templates/claude/skills/claude-code/references/troubleshooting.md +455 -0
  183. package/templates/claude/skills/claude-code/skill.md +60 -0
  184. package/templates/claude/skills/code-review/SKILL.md +143 -0
  185. package/templates/claude/skills/code-review/references/code-review-reception.md +209 -0
  186. package/templates/claude/skills/code-review/references/requesting-code-review.md +105 -0
  187. package/templates/claude/skills/code-review/references/verification-before-completion.md +139 -0
  188. package/templates/claude/skills/context-engineering/SKILL.md +86 -0
  189. package/templates/claude/skills/context-engineering/references/context-compression.md +84 -0
  190. package/templates/claude/skills/context-engineering/references/context-degradation.md +93 -0
  191. package/templates/claude/skills/context-engineering/references/context-fundamentals.md +75 -0
  192. package/templates/claude/skills/context-engineering/references/context-optimization.md +82 -0
  193. package/templates/claude/skills/context-engineering/references/evaluation.md +89 -0
  194. package/templates/claude/skills/context-engineering/references/memory-systems.md +88 -0
  195. package/templates/claude/skills/context-engineering/references/multi-agent-patterns.md +90 -0
  196. package/templates/claude/skills/context-engineering/references/project-development.md +97 -0
  197. package/templates/claude/skills/context-engineering/references/tool-design.md +86 -0
  198. package/templates/claude/skills/context-engineering/scripts/compression_evaluator.py +329 -0
  199. package/templates/claude/skills/context-engineering/scripts/context_analyzer.py +294 -0
  200. package/templates/claude/skills/databases/SKILL.md +232 -0
  201. package/templates/claude/skills/databases/references/mongodb-aggregation.md +447 -0
  202. package/templates/claude/skills/databases/references/mongodb-atlas.md +465 -0
  203. package/templates/claude/skills/databases/references/mongodb-crud.md +408 -0
  204. package/templates/claude/skills/databases/references/mongodb-indexing.md +442 -0
  205. package/templates/claude/skills/databases/references/postgresql-administration.md +594 -0
  206. package/templates/claude/skills/databases/references/postgresql-performance.md +527 -0
  207. package/templates/claude/skills/databases/references/postgresql-psql-cli.md +467 -0
  208. package/templates/claude/skills/databases/references/postgresql-queries.md +475 -0
  209. package/templates/claude/skills/databases/scripts/db_backup.py +502 -0
  210. package/templates/claude/skills/databases/scripts/db_migrate.py +414 -0
  211. package/templates/claude/skills/databases/scripts/db_performance_check.py +445 -0
  212. package/templates/claude/skills/debugging/SKILL.md +84 -0
  213. package/templates/claude/skills/debugging/references/defense-in-depth.md +124 -0
  214. package/templates/claude/skills/debugging/references/root-cause-tracing.md +122 -0
  215. package/templates/claude/skills/debugging/references/systematic-debugging.md +102 -0
  216. package/templates/claude/skills/debugging/references/verification.md +123 -0
  217. package/templates/claude/skills/debugging/scripts/find-polluter.sh +63 -0
  218. package/templates/claude/skills/debugging/scripts/find-polluter.test.md +102 -0
  219. package/templates/claude/skills/devops/SKILL.md +293 -0
  220. package/templates/claude/skills/devops/references/browser-rendering.md +305 -0
  221. package/templates/claude/skills/devops/references/cloudflare-d1-kv.md +123 -0
  222. package/templates/claude/skills/devops/references/cloudflare-platform.md +271 -0
  223. package/templates/claude/skills/devops/references/cloudflare-r2-storage.md +280 -0
  224. package/templates/claude/skills/devops/references/cloudflare-workers-advanced.md +312 -0
  225. package/templates/claude/skills/devops/references/cloudflare-workers-apis.md +309 -0
  226. package/templates/claude/skills/devops/references/cloudflare-workers-basics.md +418 -0
  227. package/templates/claude/skills/devops/references/docker-basics.md +297 -0
  228. package/templates/claude/skills/devops/references/docker-compose.md +292 -0
  229. package/templates/claude/skills/devops/references/gcloud-platform.md +307 -0
  230. package/templates/claude/skills/devops/references/gcloud-services.md +304 -0
  231. package/templates/claude/skills/devops/scripts/cloudflare_deploy.py +269 -0
  232. package/templates/claude/skills/devops/scripts/docker_optimize.py +320 -0
  233. package/templates/claude/skills/docs-seeker/SKILL.md +95 -0
  234. package/templates/claude/skills/docs-seeker/package.json +24 -0
  235. package/templates/claude/skills/docs-seeker/references/advanced.md +78 -0
  236. package/templates/claude/skills/docs-seeker/references/context7-patterns.md +68 -0
  237. package/templates/claude/skills/docs-seeker/references/errors.md +68 -0
  238. package/templates/claude/skills/docs-seeker/scripts/analyze-llms-txt.js +245 -0
  239. package/templates/claude/skills/docs-seeker/scripts/detect-topic.js +172 -0
  240. package/templates/claude/skills/docs-seeker/scripts/fetch-docs.js +212 -0
  241. package/templates/claude/skills/docs-seeker/workflows/library-search.md +87 -0
  242. package/templates/claude/skills/docs-seeker/workflows/repo-analysis.md +91 -0
  243. package/templates/claude/skills/docs-seeker/workflows/topic-search.md +77 -0
  244. package/templates/claude/skills/frontend-design/SKILL.md +85 -0
  245. package/templates/claude/skills/frontend-design/references/analysis-best-practices.md +80 -0
  246. package/templates/claude/skills/frontend-design/references/analysis-prompts.md +141 -0
  247. package/templates/claude/skills/frontend-design/references/analysis-techniques.md +118 -0
  248. package/templates/claude/skills/frontend-design/references/animejs.md +396 -0
  249. package/templates/claude/skills/frontend-design/references/design-extraction-overview.md +71 -0
  250. package/templates/claude/skills/frontend-design/references/extraction-best-practices.md +141 -0
  251. package/templates/claude/skills/frontend-design/references/extraction-output-templates.md +162 -0
  252. package/templates/claude/skills/frontend-design/references/extraction-prompts.md +127 -0
  253. package/templates/claude/skills/frontend-design/references/technical-accessibility.md +119 -0
  254. package/templates/claude/skills/frontend-design/references/technical-best-practices.md +97 -0
  255. package/templates/claude/skills/frontend-design/references/technical-optimization.md +44 -0
  256. package/templates/claude/skills/frontend-design/references/technical-overview.md +90 -0
  257. package/templates/claude/skills/frontend-design/references/technical-workflows.md +150 -0
  258. package/templates/claude/skills/frontend-design/references/visual-analysis-overview.md +95 -0
  259. package/templates/claude/skills/frontend-development/SKILL.md +399 -0
  260. package/templates/claude/skills/frontend-development/resources/common-patterns.md +331 -0
  261. package/templates/claude/skills/frontend-development/resources/complete-examples.md +872 -0
  262. package/templates/claude/skills/frontend-development/resources/component-patterns.md +502 -0
  263. package/templates/claude/skills/frontend-development/resources/data-fetching.md +767 -0
  264. package/templates/claude/skills/frontend-development/resources/file-organization.md +502 -0
  265. package/templates/claude/skills/frontend-development/resources/loading-and-error-states.md +501 -0
  266. package/templates/claude/skills/frontend-development/resources/performance.md +406 -0
  267. package/templates/claude/skills/frontend-development/resources/routing-guide.md +364 -0
  268. package/templates/claude/skills/frontend-development/resources/styling-guide.md +428 -0
  269. package/templates/claude/skills/frontend-development/resources/typescript-standards.md +418 -0
  270. package/templates/claude/skills/markdown-novel-viewer/SKILL.md +272 -0
  271. package/templates/claude/skills/markdown-novel-viewer/assets/directory-browser.css +215 -0
  272. package/templates/claude/skills/markdown-novel-viewer/assets/favicon.png +0 -0
  273. package/templates/claude/skills/markdown-novel-viewer/assets/novel-theme.css +872 -0
  274. package/templates/claude/skills/markdown-novel-viewer/assets/reader.js +378 -0
  275. package/templates/claude/skills/markdown-novel-viewer/assets/template.html +85 -0
  276. package/templates/claude/skills/markdown-novel-viewer/package.json +15 -0
  277. package/templates/claude/skills/markdown-novel-viewer/scripts/lib/http-server.cjs +434 -0
  278. package/templates/claude/skills/markdown-novel-viewer/scripts/lib/markdown-renderer.cjs +335 -0
  279. package/templates/claude/skills/markdown-novel-viewer/scripts/lib/plan-navigator.cjs +509 -0
  280. package/templates/claude/skills/markdown-novel-viewer/scripts/lib/port-finder.cjs +49 -0
  281. package/templates/claude/skills/markdown-novel-viewer/scripts/lib/process-mgr.cjs +150 -0
  282. package/templates/claude/skills/markdown-novel-viewer/scripts/server.cjs +398 -0
  283. package/templates/claude/skills/mcp-builder/SKILL.md +328 -0
  284. package/templates/claude/skills/mcp-builder/reference/evaluation.md +602 -0
  285. package/templates/claude/skills/mcp-builder/reference/mcp_best_practices.md +915 -0
  286. package/templates/claude/skills/mcp-builder/reference/node_mcp_server.md +916 -0
  287. package/templates/claude/skills/mcp-builder/reference/python_mcp_server.md +752 -0
  288. package/templates/claude/skills/mcp-builder/scripts/connections.py +151 -0
  289. package/templates/claude/skills/mcp-builder/scripts/evaluation.py +381 -0
  290. package/templates/claude/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  291. package/templates/claude/skills/mcp-builder/scripts/requirements.txt +2 -0
  292. package/templates/claude/skills/mcp-management/README.md +219 -0
  293. package/templates/claude/skills/mcp-management/SKILL.md +209 -0
  294. package/templates/claude/skills/mcp-management/assets/tools.json +3146 -0
  295. package/templates/claude/skills/mcp-management/references/configuration.md +114 -0
  296. package/templates/claude/skills/mcp-management/references/gemini-cli-integration.md +209 -0
  297. package/templates/claude/skills/mcp-management/references/mcp-protocol.md +116 -0
  298. package/templates/claude/skills/mcp-management/scripts/.env.example +10 -0
  299. package/templates/claude/skills/mcp-management/scripts/cli.ts +202 -0
  300. package/templates/claude/skills/mcp-management/scripts/mcp-client.ts +247 -0
  301. package/templates/claude/skills/mcp-management/scripts/package.json +20 -0
  302. package/templates/claude/skills/mcp-management/scripts/tsconfig.json +15 -0
  303. package/templates/claude/skills/media-processing/SKILL.md +91 -0
  304. package/templates/claude/skills/media-processing/references/common-workflows.md +132 -0
  305. package/templates/claude/skills/media-processing/references/ffmpeg-encoding.md +358 -0
  306. package/templates/claude/skills/media-processing/references/ffmpeg-filters.md +503 -0
  307. package/templates/claude/skills/media-processing/references/ffmpeg-streaming.md +395 -0
  308. package/templates/claude/skills/media-processing/references/format-compatibility.md +375 -0
  309. package/templates/claude/skills/media-processing/references/imagemagick-batch.md +612 -0
  310. package/templates/claude/skills/media-processing/references/imagemagick-editing.md +623 -0
  311. package/templates/claude/skills/media-processing/references/rmbg-background-removal.md +66 -0
  312. package/templates/claude/skills/media-processing/references/troubleshooting.md +109 -0
  313. package/templates/claude/skills/media-processing/scripts/README.md +102 -0
  314. package/templates/claude/skills/media-processing/scripts/batch-remove-background.sh +124 -0
  315. package/templates/claude/skills/media-processing/scripts/batch_resize.py +342 -0
  316. package/templates/claude/skills/media-processing/scripts/media_convert.py +311 -0
  317. package/templates/claude/skills/media-processing/scripts/remove-background.sh +96 -0
  318. package/templates/claude/skills/media-processing/scripts/remove-bg-node.js +181 -0
  319. package/templates/claude/skills/mermaidjs-v11/SKILL.md +115 -0
  320. package/templates/claude/skills/mermaidjs-v11/references/cli-usage.md +228 -0
  321. package/templates/claude/skills/mermaidjs-v11/references/configuration.md +232 -0
  322. package/templates/claude/skills/mermaidjs-v11/references/diagram-types.md +315 -0
  323. package/templates/claude/skills/mermaidjs-v11/references/examples.md +344 -0
  324. package/templates/claude/skills/mermaidjs-v11/references/integration.md +310 -0
  325. package/templates/claude/skills/planning/SKILL.md +115 -0
  326. package/templates/claude/skills/planning/references/codebase-understanding.md +62 -0
  327. package/templates/claude/skills/planning/references/output-standards.md +127 -0
  328. package/templates/claude/skills/planning/references/plan-organization.md +150 -0
  329. package/templates/claude/skills/planning/references/research-phase.md +49 -0
  330. package/templates/claude/skills/planning/references/solution-design.md +63 -0
  331. package/templates/claude/skills/plans-kanban/SKILL.md +157 -0
  332. package/templates/claude/skills/plans-kanban/assets/dashboard-template.html +119 -0
  333. package/templates/claude/skills/plans-kanban/assets/dashboard.css +1594 -0
  334. package/templates/claude/skills/plans-kanban/assets/dashboard.js +659 -0
  335. package/templates/claude/skills/plans-kanban/assets/favicon.png +0 -0
  336. package/templates/claude/skills/plans-kanban/package.json +13 -0
  337. package/templates/claude/skills/plans-kanban/scripts/lib/dashboard-renderer.cjs +941 -0
  338. package/templates/claude/skills/plans-kanban/scripts/lib/http-server.cjs +310 -0
  339. package/templates/claude/skills/plans-kanban/scripts/lib/plan-metadata-extractor.cjs +489 -0
  340. package/templates/claude/skills/plans-kanban/scripts/lib/plan-parser.cjs +194 -0
  341. package/templates/claude/skills/plans-kanban/scripts/lib/plan-scanner.cjs +277 -0
  342. package/templates/claude/skills/plans-kanban/scripts/lib/port-finder.cjs +49 -0
  343. package/templates/claude/skills/plans-kanban/scripts/lib/process-mgr.cjs +128 -0
  344. package/templates/claude/skills/plans-kanban/scripts/server.cjs +249 -0
  345. package/templates/claude/skills/problem-solving/SKILL.md +96 -0
  346. package/templates/claude/skills/problem-solving/references/attribution.md +69 -0
  347. package/templates/claude/skills/problem-solving/references/collision-zone-thinking.md +79 -0
  348. package/templates/claude/skills/problem-solving/references/inversion-exercise.md +91 -0
  349. package/templates/claude/skills/problem-solving/references/meta-pattern-recognition.md +87 -0
  350. package/templates/claude/skills/problem-solving/references/scale-game.md +95 -0
  351. package/templates/claude/skills/problem-solving/references/simplification-cascades.md +80 -0
  352. package/templates/claude/skills/problem-solving/references/when-stuck.md +72 -0
  353. package/templates/claude/skills/registry.json +258 -0
  354. package/templates/claude/skills/repomix/SKILL.md +247 -0
  355. package/templates/claude/skills/repomix/references/configuration.md +211 -0
  356. package/templates/claude/skills/repomix/references/usage-patterns.md +232 -0
  357. package/templates/claude/skills/repomix/scripts/README.md +179 -0
  358. package/templates/claude/skills/repomix/scripts/repomix_batch.py +455 -0
  359. package/templates/claude/skills/repomix/scripts/repos.example.json +15 -0
  360. package/templates/claude/skills/research/SKILL.md +168 -0
  361. package/templates/claude/skills/sequential-thinking/.env.example +8 -0
  362. package/templates/claude/skills/sequential-thinking/README.md +183 -0
  363. package/templates/claude/skills/sequential-thinking/SKILL.md +94 -0
  364. package/templates/claude/skills/sequential-thinking/package.json +31 -0
  365. package/templates/claude/skills/sequential-thinking/references/advanced-strategies.md +79 -0
  366. package/templates/claude/skills/sequential-thinking/references/advanced-techniques.md +76 -0
  367. package/templates/claude/skills/sequential-thinking/references/core-patterns.md +95 -0
  368. package/templates/claude/skills/sequential-thinking/references/examples-api.md +88 -0
  369. package/templates/claude/skills/sequential-thinking/references/examples-architecture.md +94 -0
  370. package/templates/claude/skills/sequential-thinking/references/examples-debug.md +90 -0
  371. package/templates/claude/skills/sequential-thinking/scripts/format-thought.js +182 -0
  372. package/templates/claude/skills/sequential-thinking/scripts/process-thought.js +252 -0
  373. package/templates/claude/skills/skill-creator/LICENSE.txt +202 -0
  374. package/templates/claude/skills/skill-creator/SKILL.md +266 -0
  375. package/templates/claude/skills/skill-creator/references/agent-skills-spec.md +51 -0
  376. package/templates/claude/skills/skill-creator/scripts/encoding_utils.py +21 -0
  377. package/templates/claude/skills/skill-creator/scripts/init_skill.py +304 -0
  378. package/templates/claude/skills/skill-creator/scripts/package_skill.py +110 -0
  379. package/templates/claude/skills/skill-creator/scripts/quick_validate.py +66 -0
  380. package/templates/claude/skills/template-skill/SKILL.md +6 -0
  381. package/templates/claude/skills/vitest/SKILL.md +595 -0
  382. package/templates/claude/skills/vitest/references/async-patterns.md +82 -0
  383. package/templates/claude/skills/vitest/references/mock-patterns.md +78 -0
  384. package/templates/claude/skills/vitest/references/monorepo-setup.md +185 -0
  385. package/templates/claude/skills/vitest/references/turborepo-setup.md +332 -0
  386. package/templates/claude/skills/web-frameworks/SKILL.md +324 -0
  387. package/templates/claude/skills/web-frameworks/references/nextjs-app-router.md +465 -0
  388. package/templates/claude/skills/web-frameworks/references/nextjs-data-fetching.md +459 -0
  389. package/templates/claude/skills/web-frameworks/references/nextjs-optimization.md +511 -0
  390. package/templates/claude/skills/web-frameworks/references/nextjs-server-components.md +495 -0
  391. package/templates/claude/skills/web-frameworks/references/remix-icon-integration.md +603 -0
  392. package/templates/claude/skills/web-frameworks/references/turborepo-caching.md +551 -0
  393. package/templates/claude/skills/web-frameworks/references/turborepo-pipelines.md +517 -0
  394. package/templates/claude/skills/web-frameworks/references/turborepo-setup.md +542 -0
  395. package/templates/claude/skills/web-frameworks/scripts/nextjs_init.py +547 -0
  396. package/templates/claude/skills/web-frameworks/scripts/turborepo_migrate.py +394 -0
  397. package/templates/claude/workflows/development-rules.md +40 -0
  398. package/templates/claude/workflows/documentation-management.md +121 -0
  399. package/templates/claude/workflows/orchestration-protocol.md +16 -0
  400. package/templates/claude/workflows/primary-workflow.md +45 -0
  401. package/templates/claude/workflows/registry.json +37 -0
  402. package/templates/common/.cct.json +41 -0
  403. package/templates/common/.cctkignore +22 -0
  404. package/templates/common/.env.example +39 -0
  405. package/templates/common/.mcp.json.example +16 -0
  406. package/templates/common/metadata.json +15 -0
  407. package/templates/common/settings.json +79 -0
  408. package/templates/common/statusline.cjs +271 -0
  409. package/templates/config/.repomixignore +22 -0
  410. package/templates/config/AGENTS.md +55 -0
  411. package/templates/config/CLAUDE.md +87 -0
  412. package/templates/plans/bug-fix-template.md +69 -0
  413. package/templates/plans/feature-implementation-template.md +84 -0
  414. package/templates/plans/refactor-template.md +82 -0
  415. package/templates/plans/template-usage-guide.md +58 -0
@@ -0,0 +1,247 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * MCP Client - Core client for interacting with MCP servers
4
+ */
5
+
6
+ import { readFile } from 'node:fs/promises';
7
+ import { resolve } from 'node:path';
8
+ import { Client } from '@modelcontextprotocol/sdk/client/index.js';
9
+ import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
10
+
11
+ interface MCPConfig {
12
+ mcpServers: Record<
13
+ string,
14
+ {
15
+ command: string;
16
+ args: string[];
17
+ env?: Record<string, string>;
18
+ }
19
+ >;
20
+ }
21
+
22
+ interface ToolInfo {
23
+ serverName: string;
24
+ name: string;
25
+ description: string;
26
+ inputSchema: any;
27
+ outputSchema?: any;
28
+ }
29
+
30
+ interface PromptInfo {
31
+ serverName: string;
32
+ name: string;
33
+ description: string;
34
+ arguments?: any[];
35
+ }
36
+
37
+ interface ResourceInfo {
38
+ serverName: string;
39
+ uri: string;
40
+ name: string;
41
+ description?: string;
42
+ mimeType?: string;
43
+ }
44
+
45
+ export class MCPClientManager {
46
+ private config: MCPConfig | null = null;
47
+ private clients = new Map<string, Client>();
48
+ private transports = new Map<string, StdioClientTransport>();
49
+
50
+ async loadConfig(configPath = '.claude/.mcp.json'): Promise<MCPConfig> {
51
+ const fullPath = resolve(process.cwd(), configPath);
52
+ const content = await readFile(fullPath, 'utf-8');
53
+ const config = JSON.parse(content) as MCPConfig;
54
+
55
+ this.config = config;
56
+
57
+ return config;
58
+ }
59
+
60
+ async connectToServer(serverName: string): Promise<Client> {
61
+ if (!this.config?.mcpServers[serverName]) {
62
+ throw new Error(`Server ${serverName} not found in config`);
63
+ }
64
+
65
+ const serverConfig = this.config.mcpServers[serverName];
66
+ const transport = new StdioClientTransport({
67
+ command: serverConfig.command,
68
+ args: serverConfig.args,
69
+ env: serverConfig.env,
70
+ });
71
+
72
+ const client = new Client(
73
+ {
74
+ name: `mcp-manager-${serverName}`,
75
+ version: '1.0.0',
76
+ },
77
+ { capabilities: {} },
78
+ );
79
+
80
+ await client.connect(transport);
81
+ this.clients.set(serverName, client);
82
+ this.transports.set(serverName, transport); // Track transport!
83
+
84
+ return client;
85
+ }
86
+
87
+ async connectAll(): Promise<void> {
88
+ if (!this.config) {
89
+ throw new Error('Config not loaded. Call loadConfig() first.');
90
+ }
91
+
92
+ const serverNames = Object.keys(this.config.mcpServers);
93
+
94
+ console.log(`Connecting to ${serverNames.length} servers sequentially...`);
95
+
96
+ for (const serverName of serverNames) {
97
+ try {
98
+ await this.connectToServer(serverName);
99
+ console.log(`✓ ${serverName} connected`);
100
+ } catch (error) {
101
+ console.error(`✗ ${serverName} failed:`, error);
102
+ // Continue with other servers
103
+ }
104
+ }
105
+ }
106
+
107
+ async getAllTools(): Promise<ToolInfo[]> {
108
+ const allTools: ToolInfo[] = [];
109
+
110
+ for (const [serverName, client] of this.clients.entries()) {
111
+ try {
112
+ const response = await client.listTools({}, { timeout: 300_000 });
113
+
114
+ for (const tool of response.tools) {
115
+ allTools.push({
116
+ serverName,
117
+ name: tool.name,
118
+ description: tool.description || '',
119
+ inputSchema: tool.inputSchema,
120
+ outputSchema: (tool as any).outputSchema,
121
+ });
122
+ }
123
+ } catch (error: any) {
124
+ if (error?.code === -32_601) {
125
+ console.warn(`${serverName} does not support listTools`);
126
+ } else {
127
+ console.error(`Error from ${serverName}:`, error);
128
+ }
129
+ // Continue with other servers!
130
+ }
131
+ }
132
+
133
+ return allTools;
134
+ }
135
+
136
+ async getAllPrompts(): Promise<PromptInfo[]> {
137
+ const allPrompts: PromptInfo[] = [];
138
+
139
+ for (const [serverName, client] of this.clients.entries()) {
140
+ try {
141
+ const response = await client.listPrompts({}, { timeout: 300_000 });
142
+
143
+ for (const prompt of response.prompts) {
144
+ allPrompts.push({
145
+ serverName,
146
+ name: prompt.name,
147
+ description: prompt.description || '',
148
+ arguments: prompt.arguments,
149
+ });
150
+ }
151
+ } catch (error: any) {
152
+ if (error?.code === -32_601) {
153
+ console.warn(`${serverName} does not support listPrompts`);
154
+ } else {
155
+ console.error(`Error from ${serverName}:`, error);
156
+ }
157
+ // Continue with other servers!
158
+ }
159
+ }
160
+
161
+ return allPrompts;
162
+ }
163
+
164
+ async getAllResources(): Promise<ResourceInfo[]> {
165
+ const allResources: ResourceInfo[] = [];
166
+
167
+ for (const [serverName, client] of this.clients.entries()) {
168
+ try {
169
+ const response = await client.listResources({}, { timeout: 300_000 });
170
+
171
+ for (const resource of response.resources) {
172
+ allResources.push({
173
+ serverName,
174
+ uri: resource.uri,
175
+ name: resource.name,
176
+ description: resource.description,
177
+ mimeType: resource.mimeType,
178
+ });
179
+ }
180
+ } catch (error: any) {
181
+ if (error?.code === -32_601) {
182
+ console.warn(`${serverName} does not support listResources`);
183
+ } else {
184
+ console.error(`Error from ${serverName}:`, error);
185
+ }
186
+ // Continue with other servers!
187
+ }
188
+ }
189
+
190
+ return allResources;
191
+ }
192
+
193
+ async callTool(serverName: string, toolName: string, args: any): Promise<any> {
194
+ const client = this.clients.get(serverName);
195
+
196
+ if (!client) throw new Error(`Not connected to server: ${serverName}`);
197
+
198
+ return await client.callTool({ name: toolName, arguments: args }, undefined, { timeout: 300_000 });
199
+ }
200
+
201
+ async getPrompt(serverName: string, promptName: string, args?: any): Promise<any> {
202
+ const client = this.clients.get(serverName);
203
+
204
+ if (!client) throw new Error(`Not connected to server: ${serverName}`);
205
+
206
+ return await client.getPrompt({ name: promptName, arguments: args }, { timeout: 300_000 });
207
+ }
208
+
209
+ async readResource(serverName: string, uri: string): Promise<any> {
210
+ const client = this.clients.get(serverName);
211
+
212
+ if (!client) throw new Error(`Not connected to server: ${serverName}`);
213
+
214
+ return await client.readResource({ uri }, { timeout: 300_000 });
215
+ }
216
+
217
+ async cleanup(): Promise<void> {
218
+ // Close clients with timeout
219
+ const cleanupPromises: Array<Promise<void>> = [];
220
+
221
+ for (const [serverName, client] of this.clients.entries()) {
222
+ cleanupPromises.push(
223
+ (async () => {
224
+ try {
225
+ await client.close();
226
+ } catch (error) {
227
+ console.warn(`Warning closing ${serverName}:`, error);
228
+ }
229
+ })(),
230
+ );
231
+ }
232
+
233
+ await Promise.race([Promise.all(cleanupPromises), new Promise<void>((resolve) => setTimeout(resolve, 5000))]);
234
+
235
+ // CRITICAL: Close transports to kill subprocesses
236
+ for (const [serverName, transport] of this.transports.entries()) {
237
+ try {
238
+ await transport.close();
239
+ } catch (error) {
240
+ console.warn(`Warning closing ${serverName} transport:`, error);
241
+ }
242
+ }
243
+
244
+ this.clients.clear();
245
+ this.transports.clear();
246
+ }
247
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "mcp-management-scripts",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "description": "MCP client scripts for managing MCP servers",
6
+ "scripts": {
7
+ "build": "tsc",
8
+ "test": "node --loader ts-node/esm test.ts"
9
+ },
10
+ "dependencies": {
11
+ "@modelcontextprotocol/sdk": "^1.25.1"
12
+ },
13
+ "devDependencies": {
14
+ "@types/node": "^20.0.0",
15
+ "nodemon": "^3.1.11",
16
+ "ts-node": "^10.9.2",
17
+ "tsx": "^4.20.6",
18
+ "typescript": "^5.9.3"
19
+ }
20
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "NodeNext",
5
+ "moduleResolution": "NodeNext",
6
+ "esModuleInterop": true,
7
+ "strict": true,
8
+ "skipLibCheck": true,
9
+ "outDir": "./dist",
10
+ "rootDir": "./",
11
+ "resolveJsonModule": true
12
+ },
13
+ "include": ["*.ts"],
14
+ "exclude": ["node_modules", "dist"]
15
+ }
@@ -0,0 +1,91 @@
1
+ ---
2
+ name: media-processing
3
+ description: Process multimedia files with FFmpeg (video/audio encoding, conversion, streaming, filtering, hardware acceleration), ImageMagick (image manipulation, format conversion, batch processing, effects, composition), and RMBG (AI-powered background removal). Use when converting media formats, encoding videos with specific codecs (H.264, H.265, VP9), resizing/cropping images, removing backgrounds from 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, ImageMagick, and RMBG CLI tools.
10
+
11
+ ## Tool Selection
12
+
13
+ | Task | Tool | Reason |
14
+ |------|------|--------|
15
+ | Video encoding/conversion | FFmpeg | Native codec support, streaming |
16
+ | Audio extraction/conversion | FFmpeg | Direct stream manipulation |
17
+ | Image resize/effects | ImageMagick | Optimized for still images |
18
+ | Background removal | RMBG | AI-powered, local processing |
19
+ | Batch images | ImageMagick | mogrify for in-place edits |
20
+ | Video thumbnails | FFmpeg | Frame extraction built-in |
21
+ | GIF creation | FFmpeg/ImageMagick | FFmpeg for video, ImageMagick for images |
22
+
23
+ ## Installation
24
+
25
+ ```bash
26
+ # macOS
27
+ brew install ffmpeg imagemagick
28
+ npm install -g rmbg-cli
29
+
30
+ # Ubuntu/Debian
31
+ sudo apt-get install ffmpeg imagemagick
32
+ npm install -g rmbg-cli
33
+
34
+ # Verify
35
+ ffmpeg -version && magick -version && rmbg --version
36
+ ```
37
+
38
+ ## Essential Commands
39
+
40
+ ```bash
41
+ # Video: Convert/re-encode
42
+ ffmpeg -i input.mkv -c copy output.mp4
43
+ ffmpeg -i input.avi -c:v libx264 -crf 22 -c:a aac output.mp4
44
+
45
+ # Video: Extract audio
46
+ ffmpeg -i video.mp4 -vn -c:a copy audio.m4a
47
+
48
+ # Image: Convert/resize
49
+ magick input.png output.jpg
50
+ magick input.jpg -resize 800x600 output.jpg
51
+
52
+ # Image: Batch resize
53
+ mogrify -resize 800x -quality 85 *.jpg
54
+
55
+ # Background removal
56
+ rmbg input.jpg # Basic (modnet)
57
+ rmbg input.jpg -m briaai -o output.png # High quality
58
+ rmbg input.jpg -m u2netp -o output.png # Fast
59
+ ```
60
+
61
+ ## Key Parameters
62
+
63
+ **FFmpeg:**
64
+ - `-c:v libx264` - H.264 codec
65
+ - `-crf 22` - Quality (0-51, lower=better)
66
+ - `-preset slow` - Speed/compression balance
67
+ - `-c:a aac` - Audio codec
68
+
69
+ **ImageMagick:**
70
+ - `800x600` - Fit within (maintains aspect)
71
+ - `800x600^` - Fill (may crop)
72
+ - `-quality 85` - JPEG quality
73
+ - `-strip` - Remove metadata
74
+
75
+ **RMBG:**
76
+ - `-m briaai` - High quality model
77
+ - `-m u2netp` - Fast model
78
+ - `-r 4096` - Max resolution
79
+
80
+ ## References
81
+
82
+ Detailed guides in `references/`:
83
+ - `ffmpeg-encoding.md` - Codecs, quality, hardware acceleration
84
+ - `ffmpeg-streaming.md` - HLS/DASH, live streaming
85
+ - `ffmpeg-filters.md` - Filters, complex filtergraphs
86
+ - `imagemagick-editing.md` - Effects, transformations
87
+ - `imagemagick-batch.md` - Batch processing, parallel ops
88
+ - `rmbg-background-removal.md` - AI models, CLI usage
89
+ - `common-workflows.md` - Video optimization, responsive images, GIF creation
90
+ - `troubleshooting.md` - Error fixes, performance tips
91
+ - `format-compatibility.md` - Format support, codec recommendations
@@ -0,0 +1,132 @@
1
+ # Common Media Processing Workflows
2
+
3
+ ## Video Optimization
4
+
5
+ ### Optimize for Web
6
+ ```bash
7
+ # H.264 with good compression
8
+ ffmpeg -i input.mp4 \
9
+ -c:v libx264 -preset slow -crf 23 \
10
+ -c:a aac -b:a 128k \
11
+ -movflags +faststart \
12
+ output.mp4
13
+ ```
14
+
15
+ ### Multi-Pass Encoding
16
+ ```bash
17
+ # Pass 1 (analysis)
18
+ ffmpeg -y -i input.mkv -c:v libx264 -b:v 2600k -pass 1 -an -f null /dev/null
19
+
20
+ # Pass 2 (encoding)
21
+ ffmpeg -i input.mkv -c:v libx264 -b:v 2600k -pass 2 -c:a aac output.mp4
22
+ ```
23
+
24
+ ### Hardware-Accelerated Encoding
25
+ ```bash
26
+ # NVIDIA NVENC
27
+ ffmpeg -hwaccel cuda -i input.mp4 -c:v h264_nvenc -preset fast -crf 22 output.mp4
28
+
29
+ # Intel QuickSync
30
+ ffmpeg -hwaccel qsv -c:v h264_qsv -i input.mp4 -c:v h264_qsv output.mp4
31
+ ```
32
+
33
+ ### Extract Video Segment
34
+ ```bash
35
+ # From 1:30 to 3:00 (re-encode for precision)
36
+ ffmpeg -i input.mp4 -ss 00:01:30 -to 00:03:00 \
37
+ -c:v libx264 -c:a aac output.mp4
38
+ ```
39
+
40
+ ## Image Workflows
41
+
42
+ ### Create Responsive Images
43
+ ```bash
44
+ # Generate multiple sizes
45
+ for size in 320 640 1024 1920; do
46
+ magick input.jpg -resize ${size}x -quality 85 "output-${size}w.jpg"
47
+ done
48
+ ```
49
+
50
+ ### Batch Image Optimization
51
+ ```bash
52
+ # Convert PNG to optimized JPEG
53
+ mogrify -path ./optimized -format jpg -quality 85 -strip *.png
54
+ ```
55
+
56
+ ### Complex Image Pipeline
57
+ ```bash
58
+ # Resize, crop, border, adjust
59
+ magick input.jpg \
60
+ -resize 1000x1000^ \
61
+ -gravity center \
62
+ -crop 1000x1000+0+0 +repage \
63
+ -bordercolor black -border 5x5 \
64
+ -brightness-contrast 5x10 \
65
+ -quality 90 \
66
+ output.jpg
67
+ ```
68
+
69
+ ## GIF Creation
70
+
71
+ ### Video to GIF
72
+ ```bash
73
+ # High quality GIF with palette
74
+ ffmpeg -i input.mp4 -vf "fps=15,scale=640:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" output.gif
75
+ ```
76
+
77
+ ### Animated GIF from Images
78
+ ```bash
79
+ # Create with delay
80
+ magick -delay 100 -loop 0 frame*.png animated.gif
81
+
82
+ # Optimize size
83
+ magick animated.gif -fuzz 5% -layers Optimize optimized.gif
84
+ ```
85
+
86
+ ## Background Removal Workflows
87
+
88
+ ### Batch Background Removal
89
+ ```bash
90
+ # Process all images in directory
91
+ for img in *.jpg; do
92
+ rmbg "$img" -m modnet -o "${img%.jpg}-no-bg.png"
93
+ done
94
+ ```
95
+
96
+ ### Product Photography
97
+ ```bash
98
+ # 1. Remove background
99
+ rmbg product.jpg -m u2net-cloth -o product-no-bg.png
100
+
101
+ # 2. Resize to multiple sizes
102
+ magick product-no-bg.png -resize 800x800 product-800.png
103
+ magick product-no-bg.png -resize 400x400 product-400.png
104
+
105
+ # 3. Add white background if needed
106
+ magick product-no-bg.png -background white -flatten product-white-bg.jpg
107
+ ```
108
+
109
+ ## Media Analysis
110
+
111
+ ### Inspect Video Properties
112
+ ```bash
113
+ # Detailed JSON output
114
+ ffprobe -v quiet -print_format json -show_format -show_streams input.mp4
115
+
116
+ # Get resolution
117
+ ffprobe -v error -select_streams v:0 \
118
+ -show_entries stream=width,height \
119
+ -of csv=s=x:p=0 input.mp4
120
+ ```
121
+
122
+ ### Image Information
123
+ ```bash
124
+ # Basic info
125
+ identify image.jpg
126
+
127
+ # Detailed format
128
+ identify -verbose image.jpg
129
+
130
+ # Custom format
131
+ identify -format "%f: %wx%h %b\n" image.jpg
132
+ ```