cokit-cli 1.0.0 → 1.0.2

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 (599) hide show
  1. package/AGENTS.md +103 -0
  2. package/FAQ.md +5 -5
  3. package/QUICK-START.md +4 -4
  4. package/README.FLOW.md +237 -0
  5. package/README.md +153 -92
  6. package/agents/brainstormer.agent.md +71 -0
  7. package/agents/code-reviewer.agent.md +128 -0
  8. package/agents/database-admin.agent.md +91 -0
  9. package/agents/debugger.agent.md +128 -0
  10. package/agents/docs-manager.agent.md +121 -0
  11. package/agents/fullstack-developer.agent.md +96 -0
  12. package/agents/git-manager.agent.md +392 -0
  13. package/agents/mcp-manager.agent.md +93 -0
  14. package/agents/planner.agent.md +94 -0
  15. package/agents/project-manager.agent.md +124 -0
  16. package/agents/researcher.agent.md +32 -0
  17. package/agents/scout-external.agent.md +141 -0
  18. package/agents/scout.agent.md +107 -0
  19. package/agents/tester.agent.md +106 -0
  20. package/agents/ui-ux-designer.agent.md +225 -0
  21. package/collections/ck-core.collection.yml +30 -0
  22. package/collections/ck-development-rules.collection.yml +18 -0
  23. package/collections/ck-documentation.collection.yml +18 -0
  24. package/collections/ck-git-workflow.collection.yml +18 -0
  25. package/collections/ck-orchestration.collection.yml +22 -0
  26. package/collections/ck-ui-design.collection.yml +18 -0
  27. package/docs/README.md +85 -0
  28. package/docs/copilot-processing-flow.md +128 -0
  29. package/docs/migration-guide.md +12 -12
  30. package/instructions/ck-backend.instructions.md +48 -0
  31. package/instructions/ck-development.instructions.md +40 -0
  32. package/instructions/ck-frontend-design-pro.instructions.md +58 -0
  33. package/instructions/ck-frontend.instructions.md +44 -0
  34. package/instructions/ck-google-adk-python.instructions.md +242 -0
  35. package/instructions/ck-research.instructions.md +167 -0
  36. package/instructions/ck-testing.instructions.md +36 -0
  37. package/package.json +9 -2
  38. package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-01-restructure-folders.md +183 -0
  39. package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-02-convert-agents.md +206 -0
  40. package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-03-convert-commands-to-prompts.md +284 -0
  41. package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-04-convert-skills-to-instructions.md +349 -0
  42. package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-05-create-collections.md +320 -0
  43. package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-06-update-cli-build-scripts.md +450 -0
  44. package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-07-update-documentation.md +407 -0
  45. package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/plan.md +136 -0
  46. package/prompts/ck-ask.prompt.md +57 -0
  47. package/prompts/ck-bootstrap-auto-fast.prompt.md +108 -0
  48. package/prompts/ck-bootstrap-auto-parallel.prompt.md +66 -0
  49. package/prompts/ck-bootstrap-auto.prompt.md +114 -0
  50. package/prompts/ck-bootstrap.prompt.md +136 -0
  51. package/prompts/ck-brainstorm.prompt.md +68 -0
  52. package/prompts/ck-ck-help.prompt.md +114 -0
  53. package/prompts/ck-code-auto.prompt.md +171 -0
  54. package/prompts/ck-code-no-test.prompt.md +159 -0
  55. package/prompts/ck-code-parallel.prompt.md +56 -0
  56. package/prompts/ck-code.prompt.md +177 -0
  57. package/prompts/ck-coding-level.prompt.md +54 -0
  58. package/prompts/ck-cook-auto-fast.prompt.md +26 -0
  59. package/prompts/ck-cook-auto-parallel.prompt.md +49 -0
  60. package/prompts/ck-cook-auto.prompt.md +15 -0
  61. package/prompts/ck-cook.prompt.md +96 -0
  62. package/prompts/ck-debug.prompt.md +14 -0
  63. package/prompts/ck-design-3d.prompt.md +84 -0
  64. package/prompts/ck-design-describe.prompt.md +24 -0
  65. package/prompts/ck-design-fast.prompt.md +32 -0
  66. package/prompts/ck-design-good.prompt.md +36 -0
  67. package/prompts/ck-design-screenshot.prompt.md +35 -0
  68. package/prompts/ck-design-video.prompt.md +35 -0
  69. package/prompts/ck-docs-init.prompt.md +27 -0
  70. package/prompts/ck-docs-summarize.prompt.md +23 -0
  71. package/prompts/ck-docs-update.prompt.md +36 -0
  72. package/prompts/ck-fix-ci.prompt.md +18 -0
  73. package/prompts/ck-fix-fast.prompt.md +18 -0
  74. package/prompts/ck-fix-hard.prompt.md +36 -0
  75. package/prompts/ck-fix-logs.prompt.md +27 -0
  76. package/prompts/ck-fix-parallel.prompt.md +54 -0
  77. package/prompts/ck-fix-test.prompt.md +19 -0
  78. package/prompts/ck-fix-types.prompt.md +11 -0
  79. package/prompts/ck-fix-ui.prompt.md +49 -0
  80. package/prompts/ck-fix.prompt.md +44 -0
  81. package/prompts/ck-git-cm.prompt.md +8 -0
  82. package/prompts/ck-git-cp.prompt.md +7 -0
  83. package/prompts/ck-git-merge.prompt.md +41 -0
  84. package/prompts/ck-git-pr.prompt.md +49 -0
  85. package/prompts/ck-kanban.prompt.md +77 -0
  86. package/prompts/ck-plan-archive.prompt.md +58 -0
  87. package/prompts/ck-plan-ci.prompt.md +34 -0
  88. package/prompts/ck-plan-cro.prompt.md +66 -0
  89. package/prompts/ck-plan-fast.prompt.md +67 -0
  90. package/prompts/ck-plan-hard.prompt.md +89 -0
  91. package/prompts/ck-plan-parallel.prompt.md +126 -0
  92. package/prompts/ck-plan-two.prompt.md +43 -0
  93. package/prompts/ck-plan-validate.prompt.md +118 -0
  94. package/prompts/ck-plan.prompt.md +29 -1
  95. package/prompts/ck-preview.prompt.md +65 -0
  96. package/prompts/ck-review-codebase.prompt.md +44 -0
  97. package/prompts/ck-scout-ext.prompt.md +35 -0
  98. package/prompts/ck-scout.prompt.md +25 -0
  99. package/prompts/ck-skill-add.prompt.md +36 -0
  100. package/prompts/ck-skill-create.prompt.md +29 -0
  101. package/prompts/ck-skill-fix-logs.prompt.md +22 -0
  102. package/prompts/ck-skill-optimize-auto.prompt.md +25 -0
  103. package/prompts/ck-skill-optimize.prompt.md +34 -0
  104. package/prompts/ck-skill-plan.prompt.md +46 -0
  105. package/prompts/ck-test-ui.prompt.md +92 -0
  106. package/prompts/ck-test.prompt.md +10 -0
  107. package/prompts/ck-use-mcp.prompt.md +27 -0
  108. package/prompts/ck-watzup.prompt.md +11 -0
  109. package/prompts/ck-worktree.prompt.md +127 -0
  110. package/rules/README.agents.md +55 -0
  111. package/rules/README.collections.md +78 -0
  112. package/rules/README.copilot-instructions.md +66 -0
  113. package/rules/README.instructions.md +73 -0
  114. package/rules/README.md +39 -0
  115. package/rules/README.prompts.md +76 -0
  116. package/rules/README.skills.md +71 -0
  117. package/skills/ck-ai-artist/SKILL.md +73 -0
  118. package/skills/ck-ai-artist/references/advanced-techniques.md +184 -0
  119. package/skills/ck-ai-artist/references/domain-code.md +66 -0
  120. package/skills/ck-ai-artist/references/domain-data.md +72 -0
  121. package/skills/ck-ai-artist/references/domain-marketing.md +66 -0
  122. package/skills/ck-ai-artist/references/domain-patterns.md +33 -0
  123. package/skills/ck-ai-artist/references/domain-writing.md +68 -0
  124. package/skills/ck-ai-artist/references/image-prompting.md +141 -0
  125. package/skills/ck-ai-artist/references/llm-prompting.md +165 -0
  126. package/skills/ck-ai-artist/references/nano-banana.md +59 -0
  127. package/skills/ck-ai-artist/references/reasoning-techniques.md +201 -0
  128. package/skills/ck-backend-development/SKILL.md +93 -0
  129. package/skills/ck-backend-development/references/backend-api-design.md +495 -0
  130. package/skills/ck-backend-development/references/backend-architecture.md +454 -0
  131. package/skills/ck-backend-development/references/backend-authentication.md +338 -0
  132. package/skills/ck-backend-development/references/backend-code-quality.md +659 -0
  133. package/skills/ck-backend-development/references/backend-debugging.md +904 -0
  134. package/skills/ck-backend-development/references/backend-devops.md +494 -0
  135. package/skills/ck-backend-development/references/backend-mindset.md +387 -0
  136. package/skills/ck-backend-development/references/backend-performance.md +397 -0
  137. package/skills/ck-backend-development/references/backend-security.md +290 -0
  138. package/skills/ck-backend-development/references/backend-technologies.md +256 -0
  139. package/skills/ck-backend-development/references/backend-testing.md +429 -0
  140. package/skills/ck-better-auth/SKILL.md +202 -0
  141. package/skills/ck-better-auth/references/advanced-features.md +553 -0
  142. package/skills/ck-better-auth/references/database-integration.md +577 -0
  143. package/skills/ck-better-auth/references/email-password-auth.md +416 -0
  144. package/skills/ck-better-auth/references/oauth-providers.md +430 -0
  145. package/skills/ck-better-auth/scripts/.coverage +0 -0
  146. package/skills/ck-better-auth/scripts/better_auth_init.py +521 -0
  147. package/skills/ck-better-auth/scripts/requirements.txt +15 -0
  148. package/skills/ck-better-auth/scripts/tests/.coverage +0 -0
  149. package/skills/ck-better-auth/scripts/tests/test_better_auth_init.py +421 -0
  150. package/skills/ck-chrome-devtools/SKILL.md +470 -0
  151. package/skills/ck-chrome-devtools/references/cdp-domains.md +694 -0
  152. package/skills/ck-chrome-devtools/references/performance-guide.md +940 -0
  153. package/skills/ck-chrome-devtools/references/puppeteer-reference.md +953 -0
  154. package/skills/ck-chrome-devtools/scripts/README.md +272 -0
  155. package/skills/ck-chrome-devtools/scripts/__tests__/selector.test.js +210 -0
  156. package/skills/ck-chrome-devtools/scripts/aria-snapshot.js +362 -0
  157. package/skills/ck-chrome-devtools/scripts/click.js +83 -0
  158. package/skills/ck-chrome-devtools/scripts/console.js +79 -0
  159. package/skills/ck-chrome-devtools/scripts/evaluate.js +53 -0
  160. package/skills/ck-chrome-devtools/scripts/fill.js +76 -0
  161. package/skills/ck-chrome-devtools/scripts/inject-auth.js +229 -0
  162. package/skills/ck-chrome-devtools/scripts/install-deps.sh +181 -0
  163. package/skills/ck-chrome-devtools/scripts/install.sh +83 -0
  164. package/skills/ck-chrome-devtools/scripts/lib/browser.js +318 -0
  165. package/skills/ck-chrome-devtools/scripts/lib/selector.js +178 -0
  166. package/skills/ck-chrome-devtools/scripts/navigate.js +54 -0
  167. package/skills/ck-chrome-devtools/scripts/network.js +106 -0
  168. package/skills/ck-chrome-devtools/scripts/package-lock.json +1589 -0
  169. package/skills/ck-chrome-devtools/scripts/package.json +16 -0
  170. package/skills/ck-chrome-devtools/scripts/performance.js +149 -0
  171. package/skills/ck-chrome-devtools/scripts/screenshot.js +198 -0
  172. package/skills/ck-chrome-devtools/scripts/select-ref.js +131 -0
  173. package/skills/ck-chrome-devtools/scripts/snapshot.js +135 -0
  174. package/skills/ck-code-review/SKILL.md +143 -0
  175. package/skills/ck-code-review/references/code-review-reception.md +209 -0
  176. package/skills/ck-code-review/references/requesting-code-review.md +105 -0
  177. package/skills/ck-code-review/references/verification-before-completion.md +139 -0
  178. package/skills/ck-databases/SKILL.md +231 -0
  179. package/skills/ck-databases/references/mongodb-aggregation.md +447 -0
  180. package/skills/ck-databases/references/mongodb-atlas.md +465 -0
  181. package/skills/ck-databases/references/mongodb-crud.md +408 -0
  182. package/skills/ck-databases/references/mongodb-indexing.md +442 -0
  183. package/skills/ck-databases/references/postgresql-administration.md +594 -0
  184. package/skills/ck-databases/references/postgresql-performance.md +527 -0
  185. package/skills/ck-databases/references/postgresql-psql-cli.md +467 -0
  186. package/skills/ck-databases/references/postgresql-queries.md +475 -0
  187. package/skills/ck-databases/scripts/.coverage +0 -0
  188. package/skills/ck-databases/scripts/db_backup.py +502 -0
  189. package/skills/ck-databases/scripts/db_migrate.py +425 -0
  190. package/skills/ck-databases/scripts/db_performance_check.py +456 -0
  191. package/skills/ck-databases/scripts/requirements.txt +20 -0
  192. package/skills/ck-databases/scripts/tests/coverage-db.json +1 -0
  193. package/skills/ck-databases/scripts/tests/requirements.txt +4 -0
  194. package/skills/ck-databases/scripts/tests/test_db_backup.py +340 -0
  195. package/skills/ck-databases/scripts/tests/test_db_migrate.py +277 -0
  196. package/skills/ck-databases/scripts/tests/test_db_performance_check.py +370 -0
  197. package/skills/ck-debugging/SKILL.md +82 -0
  198. package/skills/ck-debugging/references/defense-in-depth.md +124 -0
  199. package/skills/ck-debugging/references/root-cause-tracing.md +122 -0
  200. package/skills/ck-debugging/references/systematic-debugging.md +102 -0
  201. package/skills/ck-debugging/references/verification.md +123 -0
  202. package/skills/ck-debugging/scripts/find-polluter.sh +63 -0
  203. package/skills/ck-debugging/scripts/find-polluter.test.md +102 -0
  204. package/skills/ck-devops/.env.example +76 -0
  205. package/skills/ck-devops/SKILL.md +283 -0
  206. package/skills/ck-devops/references/browser-rendering.md +305 -0
  207. package/skills/ck-devops/references/cloudflare-d1-kv.md +123 -0
  208. package/skills/ck-devops/references/cloudflare-platform.md +271 -0
  209. package/skills/ck-devops/references/cloudflare-r2-storage.md +280 -0
  210. package/skills/ck-devops/references/cloudflare-workers-advanced.md +312 -0
  211. package/skills/ck-devops/references/cloudflare-workers-apis.md +309 -0
  212. package/skills/ck-devops/references/cloudflare-workers-basics.md +418 -0
  213. package/skills/ck-devops/references/docker-basics.md +297 -0
  214. package/skills/ck-devops/references/docker-compose.md +292 -0
  215. package/skills/ck-devops/references/gcloud-platform.md +297 -0
  216. package/skills/ck-devops/references/gcloud-services.md +304 -0
  217. package/skills/ck-devops/scripts/cloudflare_deploy.py +269 -0
  218. package/skills/ck-devops/scripts/docker_optimize.py +331 -0
  219. package/skills/ck-devops/scripts/requirements.txt +20 -0
  220. package/skills/ck-devops/scripts/tests/requirements.txt +3 -0
  221. package/skills/ck-devops/scripts/tests/test_cloudflare_deploy.py +285 -0
  222. package/skills/ck-devops/scripts/tests/test_docker_optimize.py +436 -0
  223. package/skills/ck-docs-seeker/.env.example +15 -0
  224. package/skills/ck-docs-seeker/SKILL.md +96 -0
  225. package/skills/ck-docs-seeker/package.json +25 -0
  226. package/skills/ck-docs-seeker/references/advanced.md +79 -0
  227. package/skills/ck-docs-seeker/references/context7-patterns.md +68 -0
  228. package/skills/ck-docs-seeker/references/errors.md +68 -0
  229. package/skills/ck-docs-seeker/scripts/analyze-llms-txt.js +211 -0
  230. package/skills/ck-docs-seeker/scripts/detect-topic.js +172 -0
  231. package/skills/ck-docs-seeker/scripts/fetch-docs.js +213 -0
  232. package/skills/ck-docs-seeker/scripts/tests/run-tests.js +72 -0
  233. package/skills/ck-docs-seeker/scripts/tests/test-analyze-llms.js +119 -0
  234. package/skills/ck-docs-seeker/scripts/tests/test-detect-topic.js +112 -0
  235. package/skills/ck-docs-seeker/scripts/tests/test-fetch-docs.js +84 -0
  236. package/skills/ck-docs-seeker/scripts/utils/env-loader.js +94 -0
  237. package/skills/ck-docs-seeker/workflows/library-search.md +87 -0
  238. package/skills/ck-docs-seeker/workflows/repo-analysis.md +91 -0
  239. package/skills/ck-docs-seeker/workflows/topic-search.md +77 -0
  240. package/skills/ck-frontend-design/SKILL.md +79 -0
  241. package/skills/ck-frontend-design/references/analysis-best-practices.md +80 -0
  242. package/skills/ck-frontend-design/references/analysis-prompts.md +141 -0
  243. package/skills/ck-frontend-design/references/analysis-techniques.md +118 -0
  244. package/skills/ck-frontend-design/references/animejs.md +396 -0
  245. package/skills/ck-frontend-design/references/design-extraction-overview.md +71 -0
  246. package/skills/ck-frontend-design/references/extraction-best-practices.md +141 -0
  247. package/skills/ck-frontend-design/references/extraction-output-templates.md +162 -0
  248. package/skills/ck-frontend-design/references/extraction-prompts.md +127 -0
  249. package/skills/ck-frontend-design/references/technical-accessibility.md +119 -0
  250. package/skills/ck-frontend-design/references/technical-best-practices.md +97 -0
  251. package/skills/ck-frontend-design/references/technical-optimization.md +44 -0
  252. package/skills/ck-frontend-design/references/technical-overview.md +90 -0
  253. package/skills/ck-frontend-design/references/technical-workflows.md +150 -0
  254. package/skills/ck-frontend-design/references/visual-analysis-overview.md +95 -0
  255. package/skills/ck-frontend-development/SKILL.md +399 -0
  256. package/skills/ck-frontend-development/resources/common-patterns.md +331 -0
  257. package/skills/ck-frontend-development/resources/complete-examples.md +872 -0
  258. package/skills/ck-frontend-development/resources/component-patterns.md +502 -0
  259. package/skills/ck-frontend-development/resources/data-fetching.md +767 -0
  260. package/skills/ck-frontend-development/resources/file-organization.md +502 -0
  261. package/skills/ck-frontend-development/resources/loading-and-error-states.md +501 -0
  262. package/skills/ck-frontend-development/resources/performance.md +406 -0
  263. package/skills/ck-frontend-development/resources/routing-guide.md +364 -0
  264. package/skills/ck-frontend-development/resources/styling-guide.md +428 -0
  265. package/skills/ck-frontend-development/resources/typescript-standards.md +418 -0
  266. package/skills/ck-markdown-novel-viewer/SKILL.md +190 -0
  267. package/skills/ck-markdown-novel-viewer/assets/directory-browser.css +215 -0
  268. package/skills/ck-markdown-novel-viewer/assets/favicon.png +0 -0
  269. package/skills/ck-markdown-novel-viewer/assets/novel-theme.css +818 -0
  270. package/skills/ck-markdown-novel-viewer/assets/reader.js +262 -0
  271. package/skills/ck-markdown-novel-viewer/assets/template.html +80 -0
  272. package/skills/ck-markdown-novel-viewer/package.json +15 -0
  273. package/skills/ck-markdown-novel-viewer/scripts/lib/http-server.cjs +434 -0
  274. package/skills/ck-markdown-novel-viewer/scripts/lib/markdown-renderer.cjs +272 -0
  275. package/skills/ck-markdown-novel-viewer/scripts/lib/plan-navigator.cjs +509 -0
  276. package/skills/ck-markdown-novel-viewer/scripts/lib/port-finder.cjs +48 -0
  277. package/skills/ck-markdown-novel-viewer/scripts/lib/process-mgr.cjs +150 -0
  278. package/skills/ck-markdown-novel-viewer/scripts/server.cjs +411 -0
  279. package/skills/ck-markdown-novel-viewer/scripts/tests/server.test.cjs +283 -0
  280. package/skills/ck-markdown-novel-viewer/tests/dashboard-assets.test.cjs +340 -0
  281. package/skills/ck-markdown-novel-viewer/tests/dashboard-renderer.test.cjs +404 -0
  282. package/skills/ck-markdown-novel-viewer/tests/http-server.test.cjs +271 -0
  283. package/skills/ck-markdown-novel-viewer/tests/run-tests.cjs +51 -0
  284. package/skills/ck-markdown-novel-viewer/tests/test-framework.cjs +154 -0
  285. package/skills/ck-markdown-novel-viewer/tests/verify-xss.cjs +90 -0
  286. package/skills/ck-mcp-builder/LICENSE.txt +202 -0
  287. package/skills/ck-mcp-builder/SKILL.md +327 -0
  288. package/skills/ck-mcp-builder/reference/evaluation.md +602 -0
  289. package/skills/ck-mcp-builder/reference/mcp_best_practices.md +915 -0
  290. package/skills/ck-mcp-builder/reference/node_mcp_server.md +916 -0
  291. package/skills/ck-mcp-builder/reference/python_mcp_server.md +752 -0
  292. package/skills/ck-mcp-builder/scripts/connections.py +151 -0
  293. package/skills/ck-mcp-builder/scripts/evaluation.py +373 -0
  294. package/skills/ck-mcp-builder/scripts/example_evaluation.xml +22 -0
  295. package/skills/ck-mcp-builder/scripts/requirements.txt +2 -0
  296. package/skills/ck-mcp-management/README.md +219 -0
  297. package/skills/ck-mcp-management/SKILL.md +209 -0
  298. package/skills/ck-mcp-management/assets/tools.json +3146 -0
  299. package/skills/ck-mcp-management/references/configuration.md +114 -0
  300. package/skills/ck-mcp-management/references/gemini-cli-integration.md +215 -0
  301. package/skills/ck-mcp-management/references/mcp-protocol.md +116 -0
  302. package/skills/ck-mcp-management/scripts/.env.example +10 -0
  303. package/skills/ck-mcp-management/scripts/cli.ts +195 -0
  304. package/skills/ck-mcp-management/scripts/dist/analyze-tools.js +70 -0
  305. package/skills/ck-mcp-management/scripts/dist/cli.js +160 -0
  306. package/skills/ck-mcp-management/scripts/dist/mcp-client.js +183 -0
  307. package/skills/ck-mcp-management/scripts/mcp-client.ts +230 -0
  308. package/skills/ck-mcp-management/scripts/package.json +20 -0
  309. package/skills/ck-mcp-management/scripts/tsconfig.json +15 -0
  310. package/skills/ck-media-processing/SKILL.md +90 -0
  311. package/skills/ck-media-processing/references/common-workflows.md +132 -0
  312. package/skills/ck-media-processing/references/ffmpeg-encoding.md +358 -0
  313. package/skills/ck-media-processing/references/ffmpeg-filters.md +503 -0
  314. package/skills/ck-media-processing/references/ffmpeg-streaming.md +403 -0
  315. package/skills/ck-media-processing/references/format-compatibility.md +375 -0
  316. package/skills/ck-media-processing/references/imagemagick-batch.md +612 -0
  317. package/skills/ck-media-processing/references/imagemagick-editing.md +623 -0
  318. package/skills/ck-media-processing/references/rmbg-background-removal.md +66 -0
  319. package/skills/ck-media-processing/references/troubleshooting.md +109 -0
  320. package/skills/ck-media-processing/scripts/README.md +111 -0
  321. package/skills/ck-media-processing/scripts/batch-remove-background.sh +124 -0
  322. package/skills/ck-media-processing/scripts/batch_resize.py +342 -0
  323. package/skills/ck-media-processing/scripts/media_convert.py +311 -0
  324. package/skills/ck-media-processing/scripts/remove-background.sh +96 -0
  325. package/skills/ck-media-processing/scripts/remove-bg-node.js +158 -0
  326. package/skills/ck-media-processing/scripts/requirements.txt +24 -0
  327. package/skills/ck-media-processing/scripts/tests/.coverage +0 -0
  328. package/skills/ck-media-processing/scripts/tests/requirements.txt +2 -0
  329. package/skills/ck-media-processing/scripts/tests/test_batch_resize.py +372 -0
  330. package/skills/ck-media-processing/scripts/tests/test_media_convert.py +259 -0
  331. package/skills/ck-media-processing/scripts/tests/test_video_optimize.py +397 -0
  332. package/skills/ck-media-processing/scripts/video_optimize.py +414 -0
  333. package/skills/ck-mobile-development/SKILL.md +210 -0
  334. package/skills/ck-mobile-development/references/mobile-android.md +604 -0
  335. package/skills/ck-mobile-development/references/mobile-best-practices.md +545 -0
  336. package/skills/ck-mobile-development/references/mobile-debugging.md +1089 -0
  337. package/skills/ck-mobile-development/references/mobile-frameworks.md +465 -0
  338. package/skills/ck-mobile-development/references/mobile-ios.md +496 -0
  339. package/skills/ck-mobile-development/references/mobile-mindset.md +544 -0
  340. package/skills/ck-payment-integration/README.md +185 -0
  341. package/skills/ck-payment-integration/SKILL.md +116 -0
  342. package/skills/ck-payment-integration/references/polar/benefits.md +396 -0
  343. package/skills/ck-payment-integration/references/polar/best-practices.md +482 -0
  344. package/skills/ck-payment-integration/references/polar/checkouts.md +266 -0
  345. package/skills/ck-payment-integration/references/polar/overview.md +184 -0
  346. package/skills/ck-payment-integration/references/polar/products.md +244 -0
  347. package/skills/ck-payment-integration/references/polar/sdk.md +436 -0
  348. package/skills/ck-payment-integration/references/polar/subscriptions.md +340 -0
  349. package/skills/ck-payment-integration/references/polar/webhooks.md +405 -0
  350. package/skills/ck-payment-integration/references/sepay/api.md +140 -0
  351. package/skills/ck-payment-integration/references/sepay/best-practices.md +337 -0
  352. package/skills/ck-payment-integration/references/sepay/overview.md +138 -0
  353. package/skills/ck-payment-integration/references/sepay/qr-codes.md +228 -0
  354. package/skills/ck-payment-integration/references/sepay/sdk.md +213 -0
  355. package/skills/ck-payment-integration/references/sepay/webhooks.md +208 -0
  356. package/skills/ck-payment-integration/scripts/.env.example +20 -0
  357. package/skills/ck-payment-integration/scripts/checkout-helper.js +244 -0
  358. package/skills/ck-payment-integration/scripts/package.json +17 -0
  359. package/skills/ck-payment-integration/scripts/polar-webhook-verify.js +202 -0
  360. package/skills/ck-payment-integration/scripts/sepay-webhook-verify.js +193 -0
  361. package/skills/ck-payment-integration/scripts/test-scripts.js +237 -0
  362. package/skills/ck-planning/SKILL.md +112 -0
  363. package/skills/ck-planning/references/codebase-understanding.md +62 -0
  364. package/skills/ck-planning/references/output-standards.md +127 -0
  365. package/skills/ck-planning/references/plan-organization.md +150 -0
  366. package/skills/ck-planning/references/research-phase.md +49 -0
  367. package/skills/ck-planning/references/solution-design.md +63 -0
  368. package/skills/ck-problem-solving/SKILL.md +95 -0
  369. package/skills/ck-problem-solving/references/attribution.md +69 -0
  370. package/skills/ck-problem-solving/references/collision-zone-thinking.md +79 -0
  371. package/skills/ck-problem-solving/references/inversion-exercise.md +91 -0
  372. package/skills/ck-problem-solving/references/meta-pattern-recognition.md +87 -0
  373. package/skills/ck-problem-solving/references/scale-game.md +95 -0
  374. package/skills/ck-problem-solving/references/simplification-cascades.md +80 -0
  375. package/skills/ck-problem-solving/references/when-stuck.md +72 -0
  376. package/skills/ck-repomix/SKILL.md +247 -0
  377. package/skills/ck-repomix/references/configuration.md +211 -0
  378. package/skills/ck-repomix/references/usage-patterns.md +232 -0
  379. package/skills/ck-repomix/scripts/.coverage +0 -0
  380. package/skills/ck-repomix/scripts/README.md +179 -0
  381. package/skills/ck-repomix/scripts/repomix_batch.py +455 -0
  382. package/skills/ck-repomix/scripts/repos.example.json +15 -0
  383. package/skills/ck-repomix/scripts/requirements.txt +15 -0
  384. package/skills/ck-repomix/scripts/tests/test_repomix_batch.py +531 -0
  385. package/skills/ck-sequential-thinking/.env.example +8 -0
  386. package/skills/ck-sequential-thinking/README.md +183 -0
  387. package/skills/{sequential-thinking → ck-sequential-thinking}/SKILL.md +14 -2
  388. package/skills/ck-sequential-thinking/package.json +31 -0
  389. package/skills/ck-sequential-thinking/references/advanced-strategies.md +79 -0
  390. package/skills/{sequential-thinking → ck-sequential-thinking}/references/advanced-techniques.md +2 -14
  391. package/skills/{sequential-thinking → ck-sequential-thinking}/references/core-patterns.md +8 -0
  392. package/skills/ck-sequential-thinking/references/examples-api.md +88 -0
  393. package/skills/ck-sequential-thinking/references/examples-architecture.md +94 -0
  394. package/skills/ck-sequential-thinking/references/examples-debug.md +90 -0
  395. package/skills/ck-sequential-thinking/scripts/format-thought.js +159 -0
  396. package/skills/ck-sequential-thinking/scripts/process-thought.js +236 -0
  397. package/skills/ck-sequential-thinking/tests/format-thought.test.js +133 -0
  398. package/skills/ck-sequential-thinking/tests/process-thought.test.js +215 -0
  399. package/skills/ck-shopify/README.md +66 -0
  400. package/skills/ck-shopify/SKILL.md +319 -0
  401. package/skills/ck-shopify/references/app-development.md +470 -0
  402. package/skills/ck-shopify/references/extensions.md +493 -0
  403. package/skills/ck-shopify/references/themes.md +498 -0
  404. package/skills/ck-shopify/scripts/.coverage +0 -0
  405. package/skills/ck-shopify/scripts/requirements.txt +19 -0
  406. package/skills/ck-shopify/scripts/shopify_init.py +423 -0
  407. package/skills/ck-shopify/scripts/tests/.coverage +0 -0
  408. package/skills/ck-shopify/scripts/tests/test_shopify_init.py +385 -0
  409. package/skills/ck-skill-creator/LICENSE.txt +202 -0
  410. package/skills/ck-skill-creator/SKILL.md +265 -0
  411. package/skills/ck-skill-creator/scripts/init_skill.py +303 -0
  412. package/skills/ck-skill-creator/scripts/package_skill.py +110 -0
  413. package/skills/ck-skill-creator/scripts/quick_validate.py +65 -0
  414. package/skills/ck-threejs/SKILL.md +87 -0
  415. package/skills/ck-threejs/references/01-getting-started.md +177 -0
  416. package/skills/ck-threejs/references/02-loaders.md +169 -0
  417. package/skills/ck-threejs/references/03-textures.md +170 -0
  418. package/skills/ck-threejs/references/04-cameras.md +195 -0
  419. package/skills/ck-threejs/references/05-lights.md +183 -0
  420. package/skills/ck-threejs/references/06-animations.md +214 -0
  421. package/skills/ck-threejs/references/07-math.md +260 -0
  422. package/skills/ck-threejs/references/08-interaction.md +267 -0
  423. package/skills/ck-threejs/references/09-postprocessing.md +240 -0
  424. package/skills/ck-threejs/references/10-controls.md +259 -0
  425. package/skills/ck-threejs/references/11-materials-advanced.md +270 -0
  426. package/skills/ck-threejs/references/12-performance.md +269 -0
  427. package/skills/ck-threejs/references/13-node-materials.md +298 -0
  428. package/skills/ck-threejs/references/14-physics-vr.md +304 -0
  429. package/skills/ck-threejs/references/15-specialized-loaders.md +333 -0
  430. package/skills/ck-threejs/references/16-webgpu.md +302 -0
  431. package/skills/ck-ui-styling/LICENSE.txt +202 -0
  432. package/skills/ck-ui-styling/SKILL.md +319 -0
  433. package/skills/ck-ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  434. package/skills/ck-ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  435. package/skills/ck-ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  436. package/skills/ck-ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
  437. package/skills/ck-ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  438. package/skills/ck-ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
  439. package/skills/ck-ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
  440. package/skills/ck-ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  441. package/skills/ck-ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  442. package/skills/ck-ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  443. package/skills/ck-ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  444. package/skills/ck-ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  445. package/skills/ck-ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  446. package/skills/ck-ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  447. package/skills/ck-ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
  448. package/skills/ck-ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
  449. package/skills/ck-ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
  450. package/skills/ck-ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
  451. package/skills/ck-ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
  452. package/skills/ck-ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
  453. package/skills/ck-ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
  454. package/skills/ck-ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
  455. package/skills/ck-ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
  456. package/skills/ck-ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  457. package/skills/ck-ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  458. package/skills/ck-ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  459. package/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  460. package/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  461. package/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  462. package/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  463. package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  464. package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  465. package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  466. package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  467. package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  468. package/skills/ck-ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  469. package/skills/ck-ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  470. package/skills/ck-ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
  471. package/skills/ck-ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
  472. package/skills/ck-ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  473. package/skills/ck-ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  474. package/skills/ck-ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  475. package/skills/ck-ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
  476. package/skills/ck-ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
  477. package/skills/ck-ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
  478. package/skills/ck-ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  479. package/skills/ck-ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  480. package/skills/ck-ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
  481. package/skills/ck-ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  482. package/skills/ck-ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
  483. package/skills/ck-ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
  484. package/skills/ck-ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
  485. package/skills/ck-ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
  486. package/skills/ck-ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
  487. package/skills/ck-ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
  488. package/skills/ck-ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  489. package/skills/ck-ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  490. package/skills/ck-ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
  491. package/skills/ck-ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
  492. package/skills/ck-ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
  493. package/skills/ck-ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  494. package/skills/ck-ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
  495. package/skills/ck-ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
  496. package/skills/ck-ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  497. package/skills/ck-ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  498. package/skills/ck-ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
  499. package/skills/ck-ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  500. package/skills/ck-ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
  501. package/skills/ck-ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  502. package/skills/ck-ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  503. package/skills/ck-ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
  504. package/skills/ck-ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
  505. package/skills/ck-ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
  506. package/skills/ck-ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
  507. package/skills/ck-ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
  508. package/skills/ck-ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  509. package/skills/ck-ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
  510. package/skills/ck-ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
  511. package/skills/ck-ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
  512. package/skills/ck-ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
  513. package/skills/ck-ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  514. package/skills/ck-ui-styling/references/canvas-design-system.md +320 -0
  515. package/skills/ck-ui-styling/references/shadcn-accessibility.md +471 -0
  516. package/skills/ck-ui-styling/references/shadcn-components.md +424 -0
  517. package/skills/ck-ui-styling/references/shadcn-theming.md +373 -0
  518. package/skills/ck-ui-styling/references/tailwind-customization.md +483 -0
  519. package/skills/ck-ui-styling/references/tailwind-responsive.md +382 -0
  520. package/skills/ck-ui-styling/references/tailwind-utilities.md +455 -0
  521. package/skills/ck-ui-styling/scripts/.coverage +0 -0
  522. package/skills/ck-ui-styling/scripts/requirements.txt +17 -0
  523. package/skills/ck-ui-styling/scripts/shadcn_add.py +292 -0
  524. package/skills/ck-ui-styling/scripts/tailwind_config_gen.py +456 -0
  525. package/skills/ck-ui-styling/scripts/tests/coverage-ui.json +1 -0
  526. package/skills/ck-ui-styling/scripts/tests/requirements.txt +3 -0
  527. package/skills/ck-ui-styling/scripts/tests/test_shadcn_add.py +266 -0
  528. package/skills/ck-ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -0
  529. package/skills/ck-ui-ux-pro-max/SKILL.md +227 -0
  530. package/skills/ck-ui-ux-pro-max/data/charts.csv +26 -0
  531. package/skills/ck-ui-ux-pro-max/data/colors.csv +97 -0
  532. package/skills/ck-ui-ux-pro-max/data/landing.csv +31 -0
  533. package/skills/ck-ui-ux-pro-max/data/products.csv +97 -0
  534. package/skills/ck-ui-ux-pro-max/data/prompts.csv +24 -0
  535. package/skills/ck-ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  536. package/skills/ck-ui-ux-pro-max/data/stacks/html-tailwind.csv +51 -0
  537. package/skills/ck-ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  538. package/skills/ck-ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  539. package/skills/ck-ui-ux-pro-max/data/stacks/react.csv +54 -0
  540. package/skills/ck-ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  541. package/skills/ck-ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  542. package/skills/ck-ui-ux-pro-max/data/stacks/vue.csv +50 -0
  543. package/skills/ck-ui-ux-pro-max/data/styles.csv +59 -0
  544. package/skills/ck-ui-ux-pro-max/data/typography.csv +58 -0
  545. package/skills/ck-ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  546. package/skills/ck-ui-ux-pro-max/scripts/core.py +236 -0
  547. package/skills/ck-ui-ux-pro-max/scripts/search.py +76 -0
  548. package/skills/ck-web-frameworks/SKILL.md +322 -0
  549. package/skills/ck-web-frameworks/references/nextjs-app-router.md +465 -0
  550. package/skills/ck-web-frameworks/references/nextjs-data-fetching.md +459 -0
  551. package/skills/ck-web-frameworks/references/nextjs-optimization.md +511 -0
  552. package/skills/ck-web-frameworks/references/nextjs-server-components.md +495 -0
  553. package/skills/ck-web-frameworks/references/remix-icon-integration.md +603 -0
  554. package/skills/ck-web-frameworks/references/turborepo-caching.md +551 -0
  555. package/skills/ck-web-frameworks/references/turborepo-pipelines.md +517 -0
  556. package/skills/ck-web-frameworks/references/turborepo-setup.md +542 -0
  557. package/skills/ck-web-frameworks/scripts/.coverage +0 -0
  558. package/skills/ck-web-frameworks/scripts/__init__.py +0 -0
  559. package/skills/ck-web-frameworks/scripts/nextjs_init.py +547 -0
  560. package/skills/ck-web-frameworks/scripts/requirements.txt +16 -0
  561. package/skills/ck-web-frameworks/scripts/tests/coverage-web.json +1 -0
  562. package/skills/ck-web-frameworks/scripts/tests/requirements.txt +3 -0
  563. package/skills/ck-web-frameworks/scripts/tests/test_nextjs_init.py +319 -0
  564. package/skills/ck-web-frameworks/scripts/tests/test_turborepo_migrate.py +374 -0
  565. package/skills/ck-web-frameworks/scripts/turborepo_migrate.py +394 -0
  566. package/src/commands/init.js +62 -31
  567. package/src/utils/paths.js +35 -4
  568. package/skills/code-review/SKILL.md +0 -86
  569. package/skills/code-review/references/code-review-reception.md +0 -76
  570. package/skills/code-review/references/verification-before-completion.md +0 -86
  571. package/skills/debugging/SKILL.md +0 -70
  572. package/skills/debugging/references/root-cause-tracing.md +0 -65
  573. package/skills/debugging/references/systematic-debugging.md +0 -74
  574. package/skills/debugging/references/verification.md +0 -74
  575. package/skills/docs-seeker/SKILL.md +0 -91
  576. package/skills/planning/SKILL.md +0 -82
  577. package/skills/planning/references/plan-organization.md +0 -88
  578. package/skills/planning/references/research-phase.md +0 -56
  579. package/skills/planning/references/solution-design.md +0 -65
  580. package/templates/repo/prompts/code.prompt.md +0 -40
  581. package/templates/repo/prompts/docs.prompt.md +0 -29
  582. package/templates/repo/prompts/fix.prompt.md +0 -35
  583. package/templates/repo/prompts/plan.prompt.md +0 -41
  584. package/templates/repo/prompts/review.prompt.md +0 -38
  585. package/templates/repo/prompts/test.prompt.md +0 -29
  586. /package/skills/{docs-seeker → ck-docs-seeker}/references/search-patterns.md +0 -0
  587. /package/skills/{docs-seeker → ck-docs-seeker}/references/source-evaluation.md +0 -0
  588. /package/templates/repo/.github/instructions/{backend.instructions.md → ck-backend.instructions.md} +0 -0
  589. /package/templates/repo/.github/instructions/{development.instructions.md → ck-development.instructions.md} +0 -0
  590. /package/templates/repo/.github/instructions/{frontend.instructions.md → ck-frontend.instructions.md} +0 -0
  591. /package/templates/repo/.github/instructions/{testing.instructions.md → ck-testing.instructions.md} +0 -0
  592. /package/templates/repo/.github/prompts/{code.prompt.md → ck-code.prompt.md} +0 -0
  593. /package/templates/repo/.github/prompts/{docs.prompt.md → ck-docs.prompt.md} +0 -0
  594. /package/templates/repo/.github/prompts/{fix.prompt.md → ck-fix.prompt.md} +0 -0
  595. /package/templates/repo/.github/prompts/{plan.prompt.md → ck-plan.prompt.md} +0 -0
  596. /package/templates/repo/.github/prompts/{review.prompt.md → ck-review.prompt.md} +0 -0
  597. /package/templates/repo/.github/prompts/{test.prompt.md → ck-test.prompt.md} +0 -0
  598. /package/templates/repo/.github/skills/{code-review → ck-code-review}/SKILL.md +0 -0
  599. /package/templates/repo/.github/skills/{debugging → ck-debugging}/SKILL.md +0 -0
@@ -0,0 +1,231 @@
1
+ ---
2
+ name: 'ck-databases'
3
+ description: 'Work with MongoDB (document database, BSON documents, aggregation pipelines, Atlas cloud) and PostgreSQL (relational database, SQL queries, psql CLI, pgAdmin). Use when designing database schemas, writing queries and aggregations, optimizing indexes for performance, performing database migrations, configuring replication and sharding, implementing backup and restore strategies, managing database users and permissions, analyzing query performance, or administering production databases.'
4
+ ---
5
+
6
+ # Databases Skill
7
+
8
+ Unified guide for working with MongoDB (document-oriented) and PostgreSQL (relational) databases. Choose the right database for your use case and master both systems.
9
+
10
+ ## When to Use This Skill
11
+
12
+ Use when:
13
+ - Designing database schemas and data models
14
+ - Writing queries (SQL or MongoDB query language)
15
+ - Building aggregation pipelines or complex joins
16
+ - Optimizing indexes and query performance
17
+ - Implementing database migrations
18
+ - Setting up replication, sharding, or clustering
19
+ - Configuring backups and disaster recovery
20
+ - Managing database users and permissions
21
+ - Analyzing slow queries and performance issues
22
+ - Administering production database deployments
23
+
24
+ ## Database Selection Guide
25
+
26
+ ### Choose MongoDB When:
27
+ - Schema flexibility: frequent structure changes, heterogeneous data
28
+ - Document-centric: natural JSON/BSON data model
29
+ - Horizontal scaling: need to shard across multiple servers
30
+ - High write throughput: IoT, logging, real-time analytics
31
+ - Nested/hierarchical data: embedded documents preferred
32
+ - Rapid prototyping: schema evolution without migrations
33
+
34
+ **Best for:** Content management, catalogs, IoT time series, real-time analytics, mobile apps, user profiles
35
+
36
+ ### Choose PostgreSQL When:
37
+ - Strong consistency: ACID transactions critical
38
+ - Complex relationships: many-to-many joins, referential integrity
39
+ - SQL requirement: team expertise, reporting tools, BI systems
40
+ - Data integrity: strict schema validation, constraints
41
+ - Mature ecosystem: extensive tooling, extensions
42
+ - Complex queries: window functions, CTEs, analytical workloads
43
+
44
+ **Best for:** Financial systems, e-commerce transactions, ERP, CRM, data warehousing, analytics
45
+
46
+ ### Both Support:
47
+ - JSON/JSONB storage and querying
48
+ - Full-text search capabilities
49
+ - Geospatial queries and indexing
50
+ - Replication and high availability
51
+ - ACID transactions (MongoDB 4.0+)
52
+ - Strong security features
53
+
54
+ ## Quick Start
55
+
56
+ ### MongoDB Setup
57
+
58
+ ```bash
59
+ # Atlas (Cloud) - Recommended
60
+ # 1. Sign up at mongodb.com/atlas
61
+ # 2. Create M0 free cluster
62
+ # 3. Get connection string
63
+
64
+ # Connection
65
+ mongodb+srv://user:pass@cluster.mongodb.net/db
66
+
67
+ # Shell
68
+ mongosh "mongodb+srv://cluster.mongodb.net/mydb"
69
+
70
+ # Basic operations
71
+ db.users.insertOne({ name: "Alice", age: 30 })
72
+ db.users.find({ age: { $gte: 18 } })
73
+ db.users.updateOne({ name: "Alice" }, { $set: { age: 31 } })
74
+ db.users.deleteOne({ name: "Alice" })
75
+ ```
76
+
77
+ ### PostgreSQL Setup
78
+
79
+ ```bash
80
+ # Ubuntu/Debian
81
+ sudo apt-get install postgresql postgresql-contrib
82
+
83
+ # Start service
84
+ sudo systemctl start postgresql
85
+
86
+ # Connect
87
+ psql -U postgres -d mydb
88
+
89
+ # Basic operations
90
+ CREATE TABLE users (id SERIAL PRIMARY KEY, name TEXT, age INT);
91
+ INSERT INTO users (name, age) VALUES ('Alice', 30);
92
+ SELECT * FROM users WHERE age >= 18;
93
+ UPDATE users SET age = 31 WHERE name = 'Alice';
94
+ DELETE FROM users WHERE name = 'Alice';
95
+ ```
96
+
97
+ ## Common Operations
98
+
99
+ ### Create/Insert
100
+ ```javascript
101
+ // MongoDB
102
+ db.users.insertOne({ name: "Bob", email: "bob@example.com" })
103
+ db.users.insertMany([{ name: "Alice" }, { name: "Charlie" }])
104
+ ```
105
+
106
+ ```sql
107
+ -- PostgreSQL
108
+ INSERT INTO users (name, email) VALUES ('Bob', 'bob@example.com');
109
+ INSERT INTO users (name, email) VALUES ('Alice', NULL), ('Charlie', NULL);
110
+ ```
111
+
112
+ ### Read/Query
113
+ ```javascript
114
+ // MongoDB
115
+ db.users.find({ age: { $gte: 18 } })
116
+ db.users.findOne({ email: "bob@example.com" })
117
+ ```
118
+
119
+ ```sql
120
+ -- PostgreSQL
121
+ SELECT * FROM users WHERE age >= 18;
122
+ SELECT * FROM users WHERE email = 'bob@example.com' LIMIT 1;
123
+ ```
124
+
125
+ ### Update
126
+ ```javascript
127
+ // MongoDB
128
+ db.users.updateOne({ name: "Bob" }, { $set: { age: 25 } })
129
+ db.users.updateMany({ status: "pending" }, { $set: { status: "active" } })
130
+ ```
131
+
132
+ ```sql
133
+ -- PostgreSQL
134
+ UPDATE users SET age = 25 WHERE name = 'Bob';
135
+ UPDATE users SET status = 'active' WHERE status = 'pending';
136
+ ```
137
+
138
+ ### Delete
139
+ ```javascript
140
+ // MongoDB
141
+ db.users.deleteOne({ name: "Bob" })
142
+ db.users.deleteMany({ status: "deleted" })
143
+ ```
144
+
145
+ ```sql
146
+ -- PostgreSQL
147
+ DELETE FROM users WHERE name = 'Bob';
148
+ DELETE FROM users WHERE status = 'deleted';
149
+ ```
150
+
151
+ ### Indexing
152
+ ```javascript
153
+ // MongoDB
154
+ db.users.createIndex({ email: 1 })
155
+ db.users.createIndex({ status: 1, createdAt: -1 })
156
+ ```
157
+
158
+ ```sql
159
+ -- PostgreSQL
160
+ CREATE INDEX idx_users_email ON users(email);
161
+ CREATE INDEX idx_users_status_created ON users(status, created_at DESC);
162
+ ```
163
+
164
+ ## Reference Navigation
165
+
166
+ ### MongoDB References
167
+ - **[mongodb-crud.md](references/mongodb-crud.md)** - CRUD operations, query operators, atomic updates
168
+ - **[mongodb-aggregation.md](references/mongodb-aggregation.md)** - Aggregation pipeline, stages, operators, patterns
169
+ - **[mongodb-indexing.md](references/mongodb-indexing.md)** - Index types, compound indexes, performance optimization
170
+ - **[mongodb-atlas.md](references/mongodb-atlas.md)** - Atlas cloud setup, clusters, monitoring, search
171
+
172
+ ### PostgreSQL References
173
+ - **[postgresql-queries.md](references/postgresql-queries.md)** - SELECT, JOINs, subqueries, CTEs, window functions
174
+ - **[postgresql-psql-cli.md](references/postgresql-psql-cli.md)** - psql commands, meta-commands, scripting
175
+ - **[postgresql-performance.md](references/postgresql-performance.md)** - EXPLAIN, query optimization, vacuum, indexes
176
+ - **[postgresql-administration.md](references/postgresql-administration.md)** - User management, backups, replication, maintenance
177
+
178
+ ## Python Utilities
179
+
180
+ Database utility scripts in `scripts/`:
181
+ - **db_migrate.py** - Generate and apply migrations for both databases
182
+ - **db_backup.py** - Backup and restore MongoDB and PostgreSQL
183
+ - **db_performance_check.py** - Analyze slow queries and recommend indexes
184
+
185
+ ```bash
186
+ # Generate migration
187
+ python scripts/db_migrate.py --db mongodb --generate "add_user_index"
188
+
189
+ # Run backup
190
+ python scripts/db_backup.py --db postgres --output /backups/
191
+
192
+ # Check performance
193
+ python scripts/db_performance_check.py --db mongodb --threshold 100ms
194
+ ```
195
+
196
+ ## Key Differences Summary
197
+
198
+ | Feature | MongoDB | PostgreSQL |
199
+ |---------|---------|------------|
200
+ | Data Model | Document (JSON/BSON) | Relational (Tables/Rows) |
201
+ | Schema | Flexible, dynamic | Strict, predefined |
202
+ | Query Language | MongoDB Query Language | SQL |
203
+ | Joins | $lookup (limited) | Native, optimized |
204
+ | Transactions | Multi-document (4.0+) | Native ACID |
205
+ | Scaling | Horizontal (sharding) | Vertical (primary), Horizontal (extensions) |
206
+ | Indexes | Single, compound, text, geo, etc | B-tree, hash, GiST, GIN, etc |
207
+
208
+ ## Best Practices
209
+
210
+ **MongoDB:**
211
+ - Use embedded documents for 1-to-few relationships
212
+ - Reference documents for 1-to-many or many-to-many
213
+ - Index frequently queried fields
214
+ - Use aggregation pipeline for complex transformations
215
+ - Enable authentication and TLS in production
216
+ - Use Atlas for managed hosting
217
+
218
+ **PostgreSQL:**
219
+ - Normalize schema to 3NF, denormalize for performance
220
+ - Use foreign keys for referential integrity
221
+ - Index foreign keys and frequently filtered columns
222
+ - Use EXPLAIN ANALYZE to optimize queries
223
+ - Regular VACUUM and ANALYZE maintenance
224
+ - Connection pooling (pgBouncer) for web apps
225
+
226
+ ## Resources
227
+
228
+ - MongoDB: https://www.mongodb.com/docs/
229
+ - PostgreSQL: https://www.postgresql.org/docs/
230
+ - MongoDB University: https://learn.mongodb.com/
231
+ - PostgreSQL Tutorial: https://www.postgresqltutorial.com/
@@ -0,0 +1,447 @@
1
+ # MongoDB Aggregation Pipeline
2
+
3
+ Aggregation pipeline for complex data transformations, analytics, and multi-stage processing.
4
+
5
+ ## Pipeline Concept
6
+
7
+ Aggregation processes documents through multiple stages. Each stage transforms documents and passes results to next stage.
8
+
9
+ ```javascript
10
+ db.collection.aggregate([
11
+ { /* Stage 1 */ },
12
+ { /* Stage 2 */ },
13
+ { /* Stage 3 */ }
14
+ ])
15
+ ```
16
+
17
+ ## Core Pipeline Stages
18
+
19
+ ### $match (Filter Documents)
20
+ ```javascript
21
+ // Filter early in pipeline for efficiency
22
+ db.orders.aggregate([
23
+ { $match: { status: "completed", total: { $gte: 100 } } },
24
+ // Subsequent stages process only matched documents
25
+ ])
26
+
27
+ // Multiple conditions
28
+ db.orders.aggregate([
29
+ { $match: {
30
+ $and: [
31
+ { orderDate: { $gte: startDate } },
32
+ { status: { $in: ["completed", "shipped"] } }
33
+ ]
34
+ }}
35
+ ])
36
+ ```
37
+
38
+ ### $project (Reshape Documents)
39
+ ```javascript
40
+ // Select and reshape fields
41
+ db.orders.aggregate([
42
+ { $project: {
43
+ orderNumber: 1,
44
+ total: 1,
45
+ customerName: "$customer.name",
46
+ year: { $year: "$orderDate" },
47
+ _id: 0 // Exclude _id
48
+ }}
49
+ ])
50
+
51
+ // Computed fields
52
+ db.orders.aggregate([
53
+ { $project: {
54
+ total: 1,
55
+ tax: { $multiply: ["$total", 0.1] },
56
+ grandTotal: { $add: ["$total", { $multiply: ["$total", 0.1] }] }
57
+ }}
58
+ ])
59
+ ```
60
+
61
+ ### $group (Aggregate Data)
62
+ ```javascript
63
+ // Group and count
64
+ db.orders.aggregate([
65
+ { $group: {
66
+ _id: "$status",
67
+ count: { $sum: 1 }
68
+ }}
69
+ ])
70
+
71
+ // Multiple aggregations
72
+ db.orders.aggregate([
73
+ { $group: {
74
+ _id: "$customerId",
75
+ totalSpent: { $sum: "$total" },
76
+ orderCount: { $sum: 1 },
77
+ avgOrderValue: { $avg: "$total" },
78
+ maxOrder: { $max: "$total" },
79
+ minOrder: { $min: "$total" }
80
+ }}
81
+ ])
82
+
83
+ // Group by multiple fields
84
+ db.sales.aggregate([
85
+ { $group: {
86
+ _id: {
87
+ year: { $year: "$date" },
88
+ month: { $month: "$date" },
89
+ product: "$productId"
90
+ },
91
+ revenue: { $sum: "$amount" }
92
+ }}
93
+ ])
94
+ ```
95
+
96
+ ### $sort (Order Results)
97
+ ```javascript
98
+ // Sort by field
99
+ db.orders.aggregate([
100
+ { $sort: { total: -1 } } // -1: descending, 1: ascending
101
+ ])
102
+
103
+ // Sort by multiple fields
104
+ db.orders.aggregate([
105
+ { $sort: { status: 1, orderDate: -1 } }
106
+ ])
107
+ ```
108
+
109
+ ### $limit / $skip (Pagination)
110
+ ```javascript
111
+ // Limit results
112
+ db.orders.aggregate([
113
+ { $sort: { orderDate: -1 } },
114
+ { $limit: 10 }
115
+ ])
116
+
117
+ // Pagination
118
+ const page = 2;
119
+ const pageSize = 20;
120
+ db.orders.aggregate([
121
+ { $sort: { orderDate: -1 } },
122
+ { $skip: (page - 1) * pageSize },
123
+ { $limit: pageSize }
124
+ ])
125
+ ```
126
+
127
+ ### $lookup (Join Collections)
128
+ ```javascript
129
+ // Simple join
130
+ db.orders.aggregate([
131
+ { $lookup: {
132
+ from: "customers",
133
+ localField: "customerId",
134
+ foreignField: "_id",
135
+ as: "customer"
136
+ }},
137
+ { $unwind: "$customer" } // Convert array to object
138
+ ])
139
+
140
+ // Pipeline join (more powerful)
141
+ db.orders.aggregate([
142
+ { $lookup: {
143
+ from: "products",
144
+ let: { items: "$items" },
145
+ pipeline: [
146
+ { $match: { $expr: { $in: ["$_id", "$$items.productId"] } } },
147
+ { $project: { name: 1, price: 1 } }
148
+ ],
149
+ as: "productDetails"
150
+ }}
151
+ ])
152
+ ```
153
+
154
+ ### $unwind (Deconstruct Arrays)
155
+ ```javascript
156
+ // Unwind array field
157
+ db.orders.aggregate([
158
+ { $unwind: "$items" }
159
+ ])
160
+
161
+ // Preserve null/empty arrays
162
+ db.orders.aggregate([
163
+ { $unwind: {
164
+ path: "$items",
165
+ preserveNullAndEmptyArrays: true
166
+ }}
167
+ ])
168
+
169
+ // Include array index
170
+ db.orders.aggregate([
171
+ { $unwind: {
172
+ path: "$items",
173
+ includeArrayIndex: "itemIndex"
174
+ }}
175
+ ])
176
+ ```
177
+
178
+ ### $addFields (Add New Fields)
179
+ ```javascript
180
+ // Add computed fields
181
+ db.orders.aggregate([
182
+ { $addFields: {
183
+ totalWithTax: { $multiply: ["$total", 1.1] },
184
+ year: { $year: "$orderDate" }
185
+ }}
186
+ ])
187
+ ```
188
+
189
+ ### $replaceRoot (Replace Document Root)
190
+ ```javascript
191
+ // Promote subdocument to root
192
+ db.orders.aggregate([
193
+ { $replaceRoot: { newRoot: "$customer" } }
194
+ ])
195
+
196
+ // Merge fields
197
+ db.orders.aggregate([
198
+ { $replaceRoot: {
199
+ newRoot: { $mergeObjects: ["$customer", { orderId: "$_id" }] }
200
+ }}
201
+ ])
202
+ ```
203
+
204
+ ## Aggregation Operators
205
+
206
+ ### Arithmetic Operators
207
+ ```javascript
208
+ // Basic math
209
+ db.products.aggregate([
210
+ { $project: {
211
+ name: 1,
212
+ profit: { $subtract: ["$price", "$cost"] },
213
+ margin: { $multiply: [
214
+ { $divide: [
215
+ { $subtract: ["$price", "$cost"] },
216
+ "$price"
217
+ ]},
218
+ 100
219
+ ]}
220
+ }}
221
+ ])
222
+
223
+ // Other operators: $add, $multiply, $divide, $mod, $abs, $ceil, $floor, $round
224
+ ```
225
+
226
+ ### String Operators
227
+ ```javascript
228
+ // String manipulation
229
+ db.users.aggregate([
230
+ { $project: {
231
+ fullName: { $concat: ["$firstName", " ", "$lastName"] },
232
+ email: { $toLower: "$email" },
233
+ initials: { $concat: [
234
+ { $substr: ["$firstName", 0, 1] },
235
+ { $substr: ["$lastName", 0, 1] }
236
+ ]}
237
+ }}
238
+ ])
239
+
240
+ // Other: $toUpper, $trim, $split, $substr, $regexMatch
241
+ ```
242
+
243
+ ### Date Operators
244
+ ```javascript
245
+ // Date extraction
246
+ db.events.aggregate([
247
+ { $project: {
248
+ event: 1,
249
+ year: { $year: "$timestamp" },
250
+ month: { $month: "$timestamp" },
251
+ day: { $dayOfMonth: "$timestamp" },
252
+ hour: { $hour: "$timestamp" },
253
+ dayOfWeek: { $dayOfWeek: "$timestamp" }
254
+ }}
255
+ ])
256
+
257
+ // Date math
258
+ db.events.aggregate([
259
+ { $project: {
260
+ event: 1,
261
+ expiresAt: { $add: ["$createdAt", 1000 * 60 * 60 * 24 * 30] }, // +30 days
262
+ ageInDays: { $divide: [
263
+ { $subtract: [new Date(), "$createdAt"] },
264
+ 1000 * 60 * 60 * 24
265
+ ]}
266
+ }}
267
+ ])
268
+ ```
269
+
270
+ ### Array Operators
271
+ ```javascript
272
+ // Array operations
273
+ db.posts.aggregate([
274
+ { $project: {
275
+ title: 1,
276
+ tagCount: { $size: "$tags" },
277
+ firstTag: { $arrayElemAt: ["$tags", 0] },
278
+ lastTag: { $arrayElemAt: ["$tags", -1] },
279
+ hasMongoDBTag: { $in: ["mongodb", "$tags"] }
280
+ }}
281
+ ])
282
+
283
+ // Array filtering
284
+ db.posts.aggregate([
285
+ { $project: {
286
+ title: 1,
287
+ activeTags: {
288
+ $filter: {
289
+ input: "$tags",
290
+ as: "tag",
291
+ cond: { $ne: ["$$tag.status", "deprecated"] }
292
+ }
293
+ }
294
+ }}
295
+ ])
296
+ ```
297
+
298
+ ### Conditional Operators
299
+ ```javascript
300
+ // $cond (ternary)
301
+ db.products.aggregate([
302
+ { $project: {
303
+ name: 1,
304
+ status: {
305
+ $cond: {
306
+ if: { $gte: ["$stock", 10] },
307
+ then: "In Stock",
308
+ else: "Low Stock"
309
+ }
310
+ }
311
+ }}
312
+ ])
313
+
314
+ // $switch (multiple conditions)
315
+ db.orders.aggregate([
316
+ { $project: {
317
+ status: 1,
318
+ priority: {
319
+ $switch: {
320
+ branches: [
321
+ { case: { $gte: ["$total", 1000] }, then: "High" },
322
+ { case: { $gte: ["$total", 100] }, then: "Medium" }
323
+ ],
324
+ default: "Low"
325
+ }
326
+ }
327
+ }}
328
+ ])
329
+ ```
330
+
331
+ ## Advanced Patterns
332
+
333
+ ### Time-Based Aggregation
334
+ ```javascript
335
+ // Daily sales
336
+ db.orders.aggregate([
337
+ { $match: { orderDate: { $gte: startDate } } },
338
+ { $group: {
339
+ _id: {
340
+ year: { $year: "$orderDate" },
341
+ month: { $month: "$orderDate" },
342
+ day: { $dayOfMonth: "$orderDate" }
343
+ },
344
+ revenue: { $sum: "$total" },
345
+ orderCount: { $sum: 1 }
346
+ }},
347
+ { $sort: { "_id.year": 1, "_id.month": 1, "_id.day": 1 } }
348
+ ])
349
+ ```
350
+
351
+ ### Faceted Search
352
+ ```javascript
353
+ // Multiple aggregations in one query
354
+ db.products.aggregate([
355
+ { $match: { category: "electronics" } },
356
+ { $facet: {
357
+ priceRanges: [
358
+ { $bucket: {
359
+ groupBy: "$price",
360
+ boundaries: [0, 100, 500, 1000, 5000],
361
+ default: "5000+",
362
+ output: { count: { $sum: 1 } }
363
+ }}
364
+ ],
365
+ topBrands: [
366
+ { $group: { _id: "$brand", count: { $sum: 1 } } },
367
+ { $sort: { count: -1 } },
368
+ { $limit: 5 }
369
+ ],
370
+ avgPrice: [
371
+ { $group: { _id: null, avg: { $avg: "$price" } } }
372
+ ]
373
+ }}
374
+ ])
375
+ ```
376
+
377
+ ### Window Functions
378
+ ```javascript
379
+ // Running totals and moving averages
380
+ db.sales.aggregate([
381
+ { $setWindowFields: {
382
+ partitionBy: "$region",
383
+ sortBy: { date: 1 },
384
+ output: {
385
+ runningTotal: {
386
+ $sum: "$amount",
387
+ window: { documents: ["unbounded", "current"] }
388
+ },
389
+ movingAvg: {
390
+ $avg: "$amount",
391
+ window: { documents: [-7, 0] } // Last 7 days
392
+ }
393
+ }
394
+ }}
395
+ ])
396
+ ```
397
+
398
+ ### Text Search with Aggregation
399
+ ```javascript
400
+ // Full-text search (requires text index)
401
+ db.articles.aggregate([
402
+ { $match: { $text: { $search: "mongodb database" } } },
403
+ { $addFields: { score: { $meta: "textScore" } } },
404
+ { $sort: { score: -1 } },
405
+ { $limit: 10 }
406
+ ])
407
+ ```
408
+
409
+ ### Geospatial Aggregation
410
+ ```javascript
411
+ // Find nearby locations
412
+ db.places.aggregate([
413
+ { $geoNear: {
414
+ near: { type: "Point", coordinates: [lon, lat] },
415
+ distanceField: "distance",
416
+ maxDistance: 5000,
417
+ spherical: true
418
+ }},
419
+ { $limit: 10 }
420
+ ])
421
+ ```
422
+
423
+ ## Performance Tips
424
+
425
+ 1. **$match early** - Filter documents before other stages
426
+ 2. **$project early** - Reduce document size
427
+ 3. **Index usage** - $match and $sort can use indexes (only at start)
428
+ 4. **$limit after $sort** - Reduce memory usage
429
+ 5. **Avoid $lookup** - Prefer embedded documents when possible
430
+ 6. **Use $facet sparingly** - Can be memory intensive
431
+ 7. **allowDiskUse** - Enable for large datasets
432
+ ```javascript
433
+ db.collection.aggregate(pipeline, { allowDiskUse: true })
434
+ ```
435
+
436
+ ## Best Practices
437
+
438
+ 1. **Order stages efficiently** - $match → $project → $group → $sort → $limit
439
+ 2. **Use $expr carefully** - Can prevent index usage
440
+ 3. **Monitor memory** - Default limit: 100MB per stage
441
+ 4. **Test with explain** - Analyze pipeline performance
442
+ ```javascript
443
+ db.collection.explain("executionStats").aggregate(pipeline)
444
+ ```
445
+ 5. **Break complex pipelines** - Use $out/$merge for intermediate results
446
+ 6. **Use $sample** - For random document selection
447
+ 7. **Leverage $addFields** - Cleaner than $project for adding fields