claude-autopm 2.8.2 → 2.8.4

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 (391) hide show
  1. package/README.md +399 -637
  2. package/install/install.js +15 -5
  3. package/package.json +2 -1
  4. package/packages/plugin-ai/LICENSE +21 -0
  5. package/packages/plugin-ai/README.md +316 -0
  6. package/packages/plugin-ai/agents/anthropic-claude-expert.md +579 -0
  7. package/packages/plugin-ai/agents/azure-openai-expert.md +1411 -0
  8. package/packages/plugin-ai/agents/gemini-api-expert.md +880 -0
  9. package/packages/plugin-ai/agents/google-a2a-expert.md +1445 -0
  10. package/packages/plugin-ai/agents/huggingface-expert.md +2131 -0
  11. package/packages/plugin-ai/agents/langchain-expert.md +1427 -0
  12. package/packages/plugin-ai/agents/langgraph-workflow-expert.md +520 -0
  13. package/packages/plugin-ai/agents/openai-python-expert.md +1087 -0
  14. package/packages/plugin-ai/commands/a2a-setup.md +886 -0
  15. package/packages/plugin-ai/commands/ai-model-deployment.md +481 -0
  16. package/packages/plugin-ai/commands/anthropic-optimize.md +793 -0
  17. package/packages/plugin-ai/commands/huggingface-deploy.md +789 -0
  18. package/packages/plugin-ai/commands/langchain-optimize.md +807 -0
  19. package/packages/plugin-ai/commands/llm-optimize.md +348 -0
  20. package/packages/plugin-ai/commands/openai-optimize.md +863 -0
  21. package/packages/plugin-ai/commands/rag-optimize.md +841 -0
  22. package/packages/plugin-ai/commands/rag-setup-scaffold.md +382 -0
  23. package/packages/plugin-ai/package.json +66 -0
  24. package/packages/plugin-ai/plugin.json +519 -0
  25. package/packages/plugin-ai/rules/ai-model-standards.md +449 -0
  26. package/packages/plugin-ai/rules/prompt-engineering-standards.md +509 -0
  27. package/packages/plugin-ai/scripts/examples/huggingface-inference-example.py +145 -0
  28. package/packages/plugin-ai/scripts/examples/langchain-rag-example.py +366 -0
  29. package/packages/plugin-ai/scripts/examples/mlflow-tracking-example.py +224 -0
  30. package/packages/plugin-ai/scripts/examples/openai-chat-example.py +425 -0
  31. package/packages/plugin-cloud/README.md +268 -0
  32. package/packages/plugin-cloud/agents/README.md +55 -0
  33. package/packages/plugin-cloud/agents/aws-cloud-architect.md +521 -0
  34. package/packages/plugin-cloud/agents/azure-cloud-architect.md +436 -0
  35. package/packages/plugin-cloud/agents/gcp-cloud-architect.md +385 -0
  36. package/packages/plugin-cloud/agents/gcp-cloud-functions-engineer.md +306 -0
  37. package/packages/plugin-cloud/agents/gemini-api-expert.md +880 -0
  38. package/packages/plugin-cloud/agents/kubernetes-orchestrator.md +566 -0
  39. package/packages/plugin-cloud/agents/openai-python-expert.md +1087 -0
  40. package/packages/plugin-cloud/agents/terraform-infrastructure-expert.md +454 -0
  41. package/packages/plugin-cloud/commands/cloud-cost-optimize.md +243 -0
  42. package/packages/plugin-cloud/commands/cloud-validate.md +196 -0
  43. package/packages/plugin-cloud/commands/infra-deploy.md +38 -0
  44. package/packages/plugin-cloud/commands/k8s-deploy.md +37 -0
  45. package/packages/plugin-cloud/commands/ssh-security.md +65 -0
  46. package/packages/plugin-cloud/commands/traefik-setup.md +65 -0
  47. package/packages/plugin-cloud/hooks/pre-cloud-deploy.js +456 -0
  48. package/packages/plugin-cloud/package.json +64 -0
  49. package/packages/plugin-cloud/plugin.json +338 -0
  50. package/packages/plugin-cloud/rules/cloud-security-compliance.md +313 -0
  51. package/packages/plugin-cloud/rules/infrastructure-pipeline.md +128 -0
  52. package/packages/plugin-cloud/scripts/examples/aws-validate.sh +30 -0
  53. package/packages/plugin-cloud/scripts/examples/azure-setup.sh +33 -0
  54. package/packages/plugin-cloud/scripts/examples/gcp-setup.sh +39 -0
  55. package/packages/plugin-cloud/scripts/examples/k8s-validate.sh +40 -0
  56. package/packages/plugin-cloud/scripts/examples/terraform-init.sh +26 -0
  57. package/packages/plugin-core/README.md +274 -0
  58. package/packages/plugin-core/agents/core/agent-manager.md +296 -0
  59. package/packages/plugin-core/agents/core/code-analyzer.md +131 -0
  60. package/packages/plugin-core/agents/core/file-analyzer.md +162 -0
  61. package/packages/plugin-core/agents/core/test-runner.md +200 -0
  62. package/packages/plugin-core/commands/code-rabbit.md +128 -0
  63. package/packages/plugin-core/commands/prompt.md +9 -0
  64. package/packages/plugin-core/commands/re-init.md +9 -0
  65. package/packages/plugin-core/hooks/context7-reminder.md +29 -0
  66. package/packages/plugin-core/hooks/enforce-agents.js +125 -0
  67. package/packages/plugin-core/hooks/enforce-agents.sh +35 -0
  68. package/packages/plugin-core/hooks/pre-agent-context7.js +224 -0
  69. package/packages/plugin-core/hooks/pre-command-context7.js +229 -0
  70. package/packages/plugin-core/hooks/strict-enforce-agents.sh +39 -0
  71. package/packages/plugin-core/hooks/test-hook.sh +21 -0
  72. package/packages/plugin-core/hooks/unified-context7-enforcement.sh +38 -0
  73. package/packages/plugin-core/package.json +45 -0
  74. package/packages/plugin-core/plugin.json +387 -0
  75. package/packages/plugin-core/rules/agent-coordination.md +549 -0
  76. package/packages/plugin-core/rules/agent-mandatory.md +170 -0
  77. package/packages/plugin-core/rules/ai-integration-patterns.md +219 -0
  78. package/packages/plugin-core/rules/command-pipelines.md +208 -0
  79. package/packages/plugin-core/rules/context-optimization.md +176 -0
  80. package/packages/plugin-core/rules/context7-enforcement.md +327 -0
  81. package/packages/plugin-core/rules/datetime.md +122 -0
  82. package/packages/plugin-core/rules/definition-of-done.md +272 -0
  83. package/packages/plugin-core/rules/development-environments.md +19 -0
  84. package/packages/plugin-core/rules/development-workflow.md +198 -0
  85. package/packages/plugin-core/rules/framework-path-rules.md +180 -0
  86. package/packages/plugin-core/rules/frontmatter-operations.md +64 -0
  87. package/packages/plugin-core/rules/git-strategy.md +237 -0
  88. package/packages/plugin-core/rules/golden-rules.md +181 -0
  89. package/packages/plugin-core/rules/naming-conventions.md +111 -0
  90. package/packages/plugin-core/rules/no-pr-workflow.md +183 -0
  91. package/packages/plugin-core/rules/performance-guidelines.md +403 -0
  92. package/packages/plugin-core/rules/pipeline-mandatory.md +109 -0
  93. package/packages/plugin-core/rules/security-checklist.md +318 -0
  94. package/packages/plugin-core/rules/standard-patterns.md +197 -0
  95. package/packages/plugin-core/rules/strip-frontmatter.md +85 -0
  96. package/packages/plugin-core/rules/tdd.enforcement.md +103 -0
  97. package/packages/plugin-core/rules/use-ast-grep.md +113 -0
  98. package/packages/plugin-core/scripts/lib/datetime-utils.sh +254 -0
  99. package/packages/plugin-core/scripts/lib/frontmatter-utils.sh +294 -0
  100. package/packages/plugin-core/scripts/lib/github-utils.sh +221 -0
  101. package/packages/plugin-core/scripts/lib/logging-utils.sh +199 -0
  102. package/packages/plugin-core/scripts/lib/validation-utils.sh +339 -0
  103. package/packages/plugin-core/scripts/mcp/add.sh +7 -0
  104. package/packages/plugin-core/scripts/mcp/disable.sh +12 -0
  105. package/packages/plugin-core/scripts/mcp/enable.sh +12 -0
  106. package/packages/plugin-core/scripts/mcp/list.sh +7 -0
  107. package/packages/plugin-core/scripts/mcp/sync.sh +8 -0
  108. package/packages/plugin-data/README.md +315 -0
  109. package/packages/plugin-data/agents/airflow-orchestration-expert.md +158 -0
  110. package/packages/plugin-data/agents/kedro-pipeline-expert.md +304 -0
  111. package/packages/plugin-data/agents/langgraph-workflow-expert.md +530 -0
  112. package/packages/plugin-data/commands/airflow-dag-scaffold.md +413 -0
  113. package/packages/plugin-data/commands/kafka-pipeline-scaffold.md +503 -0
  114. package/packages/plugin-data/package.json +66 -0
  115. package/packages/plugin-data/plugin.json +294 -0
  116. package/packages/plugin-data/rules/data-quality-standards.md +373 -0
  117. package/packages/plugin-data/rules/etl-pipeline-standards.md +255 -0
  118. package/packages/plugin-data/scripts/examples/airflow-dag-example.py +245 -0
  119. package/packages/plugin-data/scripts/examples/dbt-transform-example.sql +238 -0
  120. package/packages/plugin-data/scripts/examples/kafka-streaming-example.py +257 -0
  121. package/packages/plugin-data/scripts/examples/pandas-etl-example.py +332 -0
  122. package/packages/plugin-databases/README.md +330 -0
  123. package/packages/plugin-databases/agents/README.md +50 -0
  124. package/packages/plugin-databases/agents/bigquery-expert.md +401 -0
  125. package/packages/plugin-databases/agents/cosmosdb-expert.md +375 -0
  126. package/packages/plugin-databases/agents/mongodb-expert.md +407 -0
  127. package/packages/plugin-databases/agents/postgresql-expert.md +329 -0
  128. package/packages/plugin-databases/agents/redis-expert.md +74 -0
  129. package/packages/plugin-databases/commands/db-optimize.md +612 -0
  130. package/packages/plugin-databases/package.json +60 -0
  131. package/packages/plugin-databases/plugin.json +237 -0
  132. package/packages/plugin-databases/rules/database-management-strategy.md +146 -0
  133. package/packages/plugin-databases/rules/database-pipeline.md +316 -0
  134. package/packages/plugin-databases/scripts/examples/bigquery-cost-analyze.sh +160 -0
  135. package/packages/plugin-databases/scripts/examples/cosmosdb-ru-optimize.sh +163 -0
  136. package/packages/plugin-databases/scripts/examples/mongodb-shard-check.sh +120 -0
  137. package/packages/plugin-databases/scripts/examples/postgres-index-analyze.sh +95 -0
  138. package/packages/plugin-databases/scripts/examples/redis-cache-stats.sh +121 -0
  139. package/packages/plugin-devops/README.md +367 -0
  140. package/packages/plugin-devops/agents/README.md +52 -0
  141. package/packages/plugin-devops/agents/azure-devops-specialist.md +308 -0
  142. package/packages/plugin-devops/agents/docker-containerization-expert.md +298 -0
  143. package/packages/plugin-devops/agents/github-operations-specialist.md +335 -0
  144. package/packages/plugin-devops/agents/mcp-context-manager.md +319 -0
  145. package/packages/plugin-devops/agents/observability-engineer.md +574 -0
  146. package/packages/plugin-devops/agents/ssh-operations-expert.md +1093 -0
  147. package/packages/plugin-devops/agents/traefik-proxy-expert.md +444 -0
  148. package/packages/plugin-devops/commands/ci-pipeline-create.md +581 -0
  149. package/packages/plugin-devops/commands/docker-optimize.md +493 -0
  150. package/packages/plugin-devops/commands/workflow-create.md +42 -0
  151. package/packages/plugin-devops/hooks/pre-docker-build.js +472 -0
  152. package/packages/plugin-devops/package.json +61 -0
  153. package/packages/plugin-devops/plugin.json +302 -0
  154. package/packages/plugin-devops/rules/ci-cd-kubernetes-strategy.md +25 -0
  155. package/packages/plugin-devops/rules/devops-troubleshooting-playbook.md +450 -0
  156. package/packages/plugin-devops/rules/docker-first-development.md +404 -0
  157. package/packages/plugin-devops/rules/github-operations.md +92 -0
  158. package/packages/plugin-devops/scripts/examples/docker-build-multistage.sh +43 -0
  159. package/packages/plugin-devops/scripts/examples/docker-compose-validate.sh +74 -0
  160. package/packages/plugin-devops/scripts/examples/github-workflow-validate.sh +48 -0
  161. package/packages/plugin-devops/scripts/examples/prometheus-health-check.sh +58 -0
  162. package/packages/plugin-devops/scripts/examples/ssh-key-setup.sh +74 -0
  163. package/packages/plugin-frameworks/README.md +309 -0
  164. package/packages/plugin-frameworks/agents/README.md +64 -0
  165. package/packages/plugin-frameworks/agents/e2e-test-engineer.md +579 -0
  166. package/packages/plugin-frameworks/agents/nats-messaging-expert.md +254 -0
  167. package/packages/plugin-frameworks/agents/react-frontend-engineer.md +393 -0
  168. package/packages/plugin-frameworks/agents/react-ui-expert.md +226 -0
  169. package/packages/plugin-frameworks/agents/tailwindcss-expert.md +1021 -0
  170. package/packages/plugin-frameworks/agents/ux-design-expert.md +244 -0
  171. package/packages/plugin-frameworks/commands/app-scaffold.md +50 -0
  172. package/packages/plugin-frameworks/commands/nextjs-optimize.md +692 -0
  173. package/packages/plugin-frameworks/commands/react-optimize.md +583 -0
  174. package/packages/plugin-frameworks/commands/tailwind-system.md +64 -0
  175. package/packages/plugin-frameworks/package.json +59 -0
  176. package/packages/plugin-frameworks/plugin.json +224 -0
  177. package/packages/plugin-frameworks/rules/performance-guidelines.md +403 -0
  178. package/packages/plugin-frameworks/rules/ui-development-standards.md +281 -0
  179. package/packages/plugin-frameworks/rules/ui-framework-rules.md +151 -0
  180. package/packages/plugin-frameworks/scripts/examples/react-component-perf.sh +34 -0
  181. package/packages/plugin-frameworks/scripts/examples/tailwind-optimize.sh +44 -0
  182. package/packages/plugin-frameworks/scripts/examples/vue-composition-check.sh +41 -0
  183. package/packages/plugin-languages/README.md +333 -0
  184. package/packages/plugin-languages/agents/README.md +50 -0
  185. package/packages/plugin-languages/agents/bash-scripting-expert.md +541 -0
  186. package/packages/plugin-languages/agents/javascript-frontend-engineer.md +197 -0
  187. package/packages/plugin-languages/agents/nodejs-backend-engineer.md +226 -0
  188. package/packages/plugin-languages/agents/python-backend-engineer.md +214 -0
  189. package/packages/plugin-languages/agents/python-backend-expert.md +289 -0
  190. package/packages/plugin-languages/commands/javascript-optimize.md +636 -0
  191. package/packages/plugin-languages/commands/nodejs-api-scaffold.md +341 -0
  192. package/packages/plugin-languages/commands/nodejs-optimize.md +689 -0
  193. package/packages/plugin-languages/commands/python-api-scaffold.md +261 -0
  194. package/packages/plugin-languages/commands/python-optimize.md +593 -0
  195. package/packages/plugin-languages/package.json +65 -0
  196. package/packages/plugin-languages/plugin.json +265 -0
  197. package/packages/plugin-languages/rules/code-quality-standards.md +496 -0
  198. package/packages/plugin-languages/rules/testing-standards.md +768 -0
  199. package/packages/plugin-languages/scripts/examples/bash-production-script.sh +520 -0
  200. package/packages/plugin-languages/scripts/examples/javascript-es6-patterns.js +291 -0
  201. package/packages/plugin-languages/scripts/examples/nodejs-async-iteration.js +360 -0
  202. package/packages/plugin-languages/scripts/examples/python-async-patterns.py +289 -0
  203. package/packages/plugin-languages/scripts/examples/typescript-patterns.ts +432 -0
  204. package/packages/plugin-ml/README.md +430 -0
  205. package/packages/plugin-ml/agents/automl-expert.md +326 -0
  206. package/packages/plugin-ml/agents/computer-vision-expert.md +550 -0
  207. package/packages/plugin-ml/agents/gradient-boosting-expert.md +455 -0
  208. package/packages/plugin-ml/agents/neural-network-architect.md +1228 -0
  209. package/packages/plugin-ml/agents/nlp-transformer-expert.md +584 -0
  210. package/packages/plugin-ml/agents/pytorch-expert.md +412 -0
  211. package/packages/plugin-ml/agents/reinforcement-learning-expert.md +2088 -0
  212. package/packages/plugin-ml/agents/scikit-learn-expert.md +228 -0
  213. package/packages/plugin-ml/agents/tensorflow-keras-expert.md +509 -0
  214. package/packages/plugin-ml/agents/time-series-expert.md +303 -0
  215. package/packages/plugin-ml/commands/ml-automl.md +572 -0
  216. package/packages/plugin-ml/commands/ml-train-optimize.md +657 -0
  217. package/packages/plugin-ml/package.json +52 -0
  218. package/packages/plugin-ml/plugin.json +338 -0
  219. package/packages/plugin-pm/README.md +368 -0
  220. package/packages/plugin-pm/claudeautopm-plugin-pm-2.0.0.tgz +0 -0
  221. package/packages/plugin-pm/commands/azure/COMMANDS.md +107 -0
  222. package/packages/plugin-pm/commands/azure/COMMAND_MAPPING.md +252 -0
  223. package/packages/plugin-pm/commands/azure/INTEGRATION_FIX.md +103 -0
  224. package/packages/plugin-pm/commands/azure/README.md +246 -0
  225. package/packages/plugin-pm/commands/azure/active-work.md +198 -0
  226. package/packages/plugin-pm/commands/azure/aliases.md +143 -0
  227. package/packages/plugin-pm/commands/azure/blocked-items.md +287 -0
  228. package/packages/plugin-pm/commands/azure/clean.md +93 -0
  229. package/packages/plugin-pm/commands/azure/docs-query.md +48 -0
  230. package/packages/plugin-pm/commands/azure/feature-decompose.md +380 -0
  231. package/packages/plugin-pm/commands/azure/feature-list.md +61 -0
  232. package/packages/plugin-pm/commands/azure/feature-new.md +115 -0
  233. package/packages/plugin-pm/commands/azure/feature-show.md +205 -0
  234. package/packages/plugin-pm/commands/azure/feature-start.md +130 -0
  235. package/packages/plugin-pm/commands/azure/fix-integration-example.md +93 -0
  236. package/packages/plugin-pm/commands/azure/help.md +150 -0
  237. package/packages/plugin-pm/commands/azure/import-us.md +269 -0
  238. package/packages/plugin-pm/commands/azure/init.md +211 -0
  239. package/packages/plugin-pm/commands/azure/next-task.md +262 -0
  240. package/packages/plugin-pm/commands/azure/search.md +160 -0
  241. package/packages/plugin-pm/commands/azure/sprint-status.md +235 -0
  242. package/packages/plugin-pm/commands/azure/standup.md +260 -0
  243. package/packages/plugin-pm/commands/azure/sync-all.md +99 -0
  244. package/packages/plugin-pm/commands/azure/task-analyze.md +186 -0
  245. package/packages/plugin-pm/commands/azure/task-close.md +329 -0
  246. package/packages/plugin-pm/commands/azure/task-edit.md +145 -0
  247. package/packages/plugin-pm/commands/azure/task-list.md +263 -0
  248. package/packages/plugin-pm/commands/azure/task-new.md +84 -0
  249. package/packages/plugin-pm/commands/azure/task-reopen.md +79 -0
  250. package/packages/plugin-pm/commands/azure/task-show.md +126 -0
  251. package/packages/plugin-pm/commands/azure/task-start.md +301 -0
  252. package/packages/plugin-pm/commands/azure/task-status.md +65 -0
  253. package/packages/plugin-pm/commands/azure/task-sync.md +67 -0
  254. package/packages/plugin-pm/commands/azure/us-edit.md +164 -0
  255. package/packages/plugin-pm/commands/azure/us-list.md +202 -0
  256. package/packages/plugin-pm/commands/azure/us-new.md +265 -0
  257. package/packages/plugin-pm/commands/azure/us-parse.md +253 -0
  258. package/packages/plugin-pm/commands/azure/us-show.md +188 -0
  259. package/packages/plugin-pm/commands/azure/us-status.md +320 -0
  260. package/packages/plugin-pm/commands/azure/validate.md +86 -0
  261. package/packages/plugin-pm/commands/azure/work-item-sync.md +47 -0
  262. package/packages/plugin-pm/commands/blocked.md +28 -0
  263. package/packages/plugin-pm/commands/clean.md +119 -0
  264. package/packages/plugin-pm/commands/context-create.md +136 -0
  265. package/packages/plugin-pm/commands/context-prime.md +170 -0
  266. package/packages/plugin-pm/commands/context-update.md +292 -0
  267. package/packages/plugin-pm/commands/context.md +28 -0
  268. package/packages/plugin-pm/commands/epic-close.md +86 -0
  269. package/packages/plugin-pm/commands/epic-decompose.md +370 -0
  270. package/packages/plugin-pm/commands/epic-edit.md +83 -0
  271. package/packages/plugin-pm/commands/epic-list.md +30 -0
  272. package/packages/plugin-pm/commands/epic-merge.md +222 -0
  273. package/packages/plugin-pm/commands/epic-oneshot.md +119 -0
  274. package/packages/plugin-pm/commands/epic-refresh.md +119 -0
  275. package/packages/plugin-pm/commands/epic-show.md +28 -0
  276. package/packages/plugin-pm/commands/epic-split.md +120 -0
  277. package/packages/plugin-pm/commands/epic-start.md +195 -0
  278. package/packages/plugin-pm/commands/epic-status.md +28 -0
  279. package/packages/plugin-pm/commands/epic-sync-modular.md +338 -0
  280. package/packages/plugin-pm/commands/epic-sync-original.md +473 -0
  281. package/packages/plugin-pm/commands/epic-sync.md +486 -0
  282. package/packages/plugin-pm/commands/github/workflow-create.md +42 -0
  283. package/packages/plugin-pm/commands/help.md +28 -0
  284. package/packages/plugin-pm/commands/import.md +115 -0
  285. package/packages/plugin-pm/commands/in-progress.md +28 -0
  286. package/packages/plugin-pm/commands/init.md +28 -0
  287. package/packages/plugin-pm/commands/issue-analyze.md +202 -0
  288. package/packages/plugin-pm/commands/issue-close.md +119 -0
  289. package/packages/plugin-pm/commands/issue-edit.md +93 -0
  290. package/packages/plugin-pm/commands/issue-reopen.md +87 -0
  291. package/packages/plugin-pm/commands/issue-show.md +41 -0
  292. package/packages/plugin-pm/commands/issue-start.md +234 -0
  293. package/packages/plugin-pm/commands/issue-status.md +95 -0
  294. package/packages/plugin-pm/commands/issue-sync.md +411 -0
  295. package/packages/plugin-pm/commands/next.md +28 -0
  296. package/packages/plugin-pm/commands/prd-edit.md +82 -0
  297. package/packages/plugin-pm/commands/prd-list.md +28 -0
  298. package/packages/plugin-pm/commands/prd-new.md +55 -0
  299. package/packages/plugin-pm/commands/prd-parse.md +42 -0
  300. package/packages/plugin-pm/commands/prd-status.md +28 -0
  301. package/packages/plugin-pm/commands/search.md +28 -0
  302. package/packages/plugin-pm/commands/standup.md +28 -0
  303. package/packages/plugin-pm/commands/status.md +28 -0
  304. package/packages/plugin-pm/commands/sync.md +99 -0
  305. package/packages/plugin-pm/commands/test-reference-update.md +151 -0
  306. package/packages/plugin-pm/commands/validate.md +28 -0
  307. package/packages/plugin-pm/commands/what-next.md +28 -0
  308. package/packages/plugin-pm/package.json +57 -0
  309. package/packages/plugin-pm/plugin.json +503 -0
  310. package/packages/plugin-pm/scripts/pm/analytics.js +425 -0
  311. package/packages/plugin-pm/scripts/pm/blocked.js +164 -0
  312. package/packages/plugin-pm/scripts/pm/blocked.sh +78 -0
  313. package/packages/plugin-pm/scripts/pm/clean.js +464 -0
  314. package/packages/plugin-pm/scripts/pm/context-create.js +216 -0
  315. package/packages/plugin-pm/scripts/pm/context-prime.js +335 -0
  316. package/packages/plugin-pm/scripts/pm/context-update.js +344 -0
  317. package/packages/plugin-pm/scripts/pm/context.js +338 -0
  318. package/packages/plugin-pm/scripts/pm/epic-close.js +347 -0
  319. package/packages/plugin-pm/scripts/pm/epic-edit.js +382 -0
  320. package/packages/plugin-pm/scripts/pm/epic-list.js +273 -0
  321. package/packages/plugin-pm/scripts/pm/epic-list.sh +109 -0
  322. package/packages/plugin-pm/scripts/pm/epic-show.js +291 -0
  323. package/packages/plugin-pm/scripts/pm/epic-show.sh +105 -0
  324. package/packages/plugin-pm/scripts/pm/epic-split.js +522 -0
  325. package/packages/plugin-pm/scripts/pm/epic-start/epic-start.js +183 -0
  326. package/packages/plugin-pm/scripts/pm/epic-start/epic-start.sh +94 -0
  327. package/packages/plugin-pm/scripts/pm/epic-status.js +291 -0
  328. package/packages/plugin-pm/scripts/pm/epic-status.sh +104 -0
  329. package/packages/plugin-pm/scripts/pm/epic-sync/README.md +208 -0
  330. package/packages/plugin-pm/scripts/pm/epic-sync/create-epic-issue.sh +77 -0
  331. package/packages/plugin-pm/scripts/pm/epic-sync/create-task-issues.sh +86 -0
  332. package/packages/plugin-pm/scripts/pm/epic-sync/update-epic-file.sh +79 -0
  333. package/packages/plugin-pm/scripts/pm/epic-sync/update-references.sh +89 -0
  334. package/packages/plugin-pm/scripts/pm/epic-sync.sh +137 -0
  335. package/packages/plugin-pm/scripts/pm/help.js +92 -0
  336. package/packages/plugin-pm/scripts/pm/help.sh +90 -0
  337. package/packages/plugin-pm/scripts/pm/in-progress.js +178 -0
  338. package/packages/plugin-pm/scripts/pm/in-progress.sh +93 -0
  339. package/packages/plugin-pm/scripts/pm/init.js +321 -0
  340. package/packages/plugin-pm/scripts/pm/init.sh +178 -0
  341. package/packages/plugin-pm/scripts/pm/issue-close.js +232 -0
  342. package/packages/plugin-pm/scripts/pm/issue-edit.js +310 -0
  343. package/packages/plugin-pm/scripts/pm/issue-show.js +272 -0
  344. package/packages/plugin-pm/scripts/pm/issue-start.js +181 -0
  345. package/packages/plugin-pm/scripts/pm/issue-sync/format-comment.sh +468 -0
  346. package/packages/plugin-pm/scripts/pm/issue-sync/gather-updates.sh +460 -0
  347. package/packages/plugin-pm/scripts/pm/issue-sync/post-comment.sh +330 -0
  348. package/packages/plugin-pm/scripts/pm/issue-sync/preflight-validation.sh +348 -0
  349. package/packages/plugin-pm/scripts/pm/issue-sync/update-frontmatter.sh +387 -0
  350. package/packages/plugin-pm/scripts/pm/lib/README.md +85 -0
  351. package/packages/plugin-pm/scripts/pm/lib/epic-discovery.js +119 -0
  352. package/packages/plugin-pm/scripts/pm/lib/logger.js +78 -0
  353. package/packages/plugin-pm/scripts/pm/next.js +189 -0
  354. package/packages/plugin-pm/scripts/pm/next.sh +72 -0
  355. package/packages/plugin-pm/scripts/pm/optimize.js +407 -0
  356. package/packages/plugin-pm/scripts/pm/pr-create.js +337 -0
  357. package/packages/plugin-pm/scripts/pm/pr-list.js +257 -0
  358. package/packages/plugin-pm/scripts/pm/prd-list.js +242 -0
  359. package/packages/plugin-pm/scripts/pm/prd-list.sh +103 -0
  360. package/packages/plugin-pm/scripts/pm/prd-new.js +684 -0
  361. package/packages/plugin-pm/scripts/pm/prd-parse.js +547 -0
  362. package/packages/plugin-pm/scripts/pm/prd-status.js +152 -0
  363. package/packages/plugin-pm/scripts/pm/prd-status.sh +63 -0
  364. package/packages/plugin-pm/scripts/pm/release.js +460 -0
  365. package/packages/plugin-pm/scripts/pm/search.js +192 -0
  366. package/packages/plugin-pm/scripts/pm/search.sh +89 -0
  367. package/packages/plugin-pm/scripts/pm/standup.js +362 -0
  368. package/packages/plugin-pm/scripts/pm/standup.sh +95 -0
  369. package/packages/plugin-pm/scripts/pm/status.js +148 -0
  370. package/packages/plugin-pm/scripts/pm/status.sh +59 -0
  371. package/packages/plugin-pm/scripts/pm/sync-batch.js +337 -0
  372. package/packages/plugin-pm/scripts/pm/sync.js +343 -0
  373. package/packages/plugin-pm/scripts/pm/template-list.js +141 -0
  374. package/packages/plugin-pm/scripts/pm/template-new.js +366 -0
  375. package/packages/plugin-pm/scripts/pm/validate.js +274 -0
  376. package/packages/plugin-pm/scripts/pm/validate.sh +106 -0
  377. package/packages/plugin-pm/scripts/pm/what-next.js +660 -0
  378. package/packages/plugin-testing/README.md +401 -0
  379. package/packages/plugin-testing/agents/frontend-testing-engineer.md +768 -0
  380. package/packages/plugin-testing/commands/jest-optimize.md +800 -0
  381. package/packages/plugin-testing/commands/playwright-optimize.md +887 -0
  382. package/packages/plugin-testing/commands/test-coverage.md +512 -0
  383. package/packages/plugin-testing/commands/test-performance.md +1041 -0
  384. package/packages/plugin-testing/commands/test-setup.md +414 -0
  385. package/packages/plugin-testing/package.json +40 -0
  386. package/packages/plugin-testing/plugin.json +197 -0
  387. package/packages/plugin-testing/rules/test-coverage-requirements.md +581 -0
  388. package/packages/plugin-testing/rules/testing-standards.md +529 -0
  389. package/packages/plugin-testing/scripts/examples/react-testing-example.test.jsx +460 -0
  390. package/packages/plugin-testing/scripts/examples/vitest-config-example.js +352 -0
  391. package/packages/plugin-testing/scripts/examples/vue-testing-example.test.js +586 -0
@@ -0,0 +1,550 @@
1
+ ---
2
+ name: computer-vision-expert
3
+ description: Use this agent for computer vision tasks using OpenCV, PIL/Pillow, and deep learning integration. Expert in image preprocessing, object detection (YOLO, Faster R-CNN), segmentation, feature extraction, face recognition, and video analysis. Specializes in production CV pipelines and real-time processing.
4
+ tools: Bash, Glob, Grep, LS, Read, WebFetch, TodoWrite, WebSearch, Edit, Write, MultiEdit, Task, Agent
5
+ model: inherit
6
+ color: blue
7
+ ---
8
+
9
+ You are a computer vision specialist focused on building production-ready image and video processing pipelines using OpenCV, deep learning models, and Context7-verified best practices.
10
+
11
+ ## Documentation Queries
12
+
13
+ **MANDATORY**: Query Context7 for computer vision patterns:
14
+
15
+ - `/opencv/opencv` - OpenCV preprocessing, DNN module, object detection (6,338 snippets, trust 7.3)
16
+ - `/ultralytics/ultralytics` - YOLO v8+ for object detection and segmentation
17
+ - `/facebookresearch/detectron2` - Mask R-CNN, Faster R-CNN, instance segmentation
18
+ - `/pillow/pillow` - Image I/O, transformations, PIL operations
19
+
20
+ ## Core Patterns
21
+
22
+ ### 1. Image Preprocessing with OpenCV
23
+
24
+ **Standard Preprocessing Pipeline:**
25
+ ```python
26
+ import cv2
27
+ import numpy as np
28
+
29
+ # Read image
30
+ img = cv2.imread('image.jpg')
31
+
32
+ # Resize with aspect ratio preservation
33
+ def resize_with_aspect_ratio(img, target_size=640):
34
+ h, w = img.shape[:2]
35
+ scale = target_size / max(h, w)
36
+ new_w, new_h = int(w * scale), int(h * scale)
37
+ return cv2.resize(img, (new_w, new_h), interpolation=cv2.INTER_LINEAR)
38
+
39
+ img_resized = resize_with_aspect_ratio(img, 640)
40
+
41
+ # Normalize for deep learning (ImageNet mean/std)
42
+ img_float = img.astype(np.float32)
43
+ mean = np.array([0.485, 0.456, 0.406]) * 255.0
44
+ std = np.array([0.229, 0.224, 0.225])
45
+
46
+ img_normalized = (img_float - mean) / (std * 255.0)
47
+
48
+ # Convert BGR to RGB (OpenCV uses BGR by default)
49
+ img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
50
+
51
+ # Create blob for DNN inference
52
+ blob = cv2.dnn.blobFromImage(
53
+ image=img,
54
+ scalefactor=1.0 / 255.0,
55
+ size=(640, 640),
56
+ mean=(0.485 * 255, 0.456 * 255, 0.406 * 255),
57
+ swapRB=True, # BGR -> RGB
58
+ crop=False
59
+ )
60
+ ```
61
+
62
+ **✅ Key Points:**
63
+ - Always preserve aspect ratio when resizing
64
+ - Use `cv2.INTER_LINEAR` for upscaling, `cv2.INTER_AREA` for downscaling
65
+ - OpenCV uses BGR by default - convert to RGB for most DL models
66
+ - Normalize with model-specific mean/std (ImageNet is common)
67
+
68
+ ---
69
+
70
+ ### 2. Object Detection with OpenCV DNN
71
+
72
+ **YOLO Detection with OpenCV:**
73
+ ```python
74
+ import cv2
75
+ import numpy as np
76
+
77
+ # Load YOLO model (ONNX format recommended)
78
+ net = cv2.dnn.readNetFromONNX('yolov8n.onnx')
79
+
80
+ # Use GPU if available
81
+ net.setPreferableBackend(cv2.dnn.DNN_BACKEND_CUDA)
82
+ net.setPreferableTarget(cv2.dnn.DNN_TARGET_CUDA)
83
+
84
+ # Prepare input
85
+ img = cv2.imread('image.jpg')
86
+ blob = cv2.dnn.blobFromImage(
87
+ img,
88
+ 1.0 / 255.0,
89
+ (640, 640),
90
+ swapRB=True,
91
+ crop=False
92
+ )
93
+
94
+ # Inference
95
+ net.setInput(blob)
96
+ outputs = net.forward()
97
+
98
+ # Post-process detections
99
+ def postprocess_yolo(outputs, img, conf_threshold=0.5, nms_threshold=0.4):
100
+ """Process YOLO outputs into bounding boxes."""
101
+ h, w = img.shape[:2]
102
+ boxes = []
103
+ confidences = []
104
+ class_ids = []
105
+
106
+ # outputs shape: [1, 84, 8400] for YOLOv8
107
+ predictions = outputs[0].T # Transpose to [8400, 84]
108
+
109
+ for pred in predictions:
110
+ scores = pred[4:] # Class scores
111
+ class_id = np.argmax(scores)
112
+ confidence = scores[class_id]
113
+
114
+ if confidence > conf_threshold:
115
+ # YOLO format: [cx, cy, w, h]
116
+ cx, cy, bw, bh = pred[:4]
117
+
118
+ # Convert to [x1, y1, x2, y2]
119
+ x1 = int((cx - bw / 2) * w)
120
+ y1 = int((cy - bh / 2) * h)
121
+ x2 = int((cx + bw / 2) * w)
122
+ y2 = int((cy + bh / 2) * h)
123
+
124
+ boxes.append([x1, y1, x2 - x1, y2 - y1])
125
+ confidences.append(float(confidence))
126
+ class_ids.append(class_id)
127
+
128
+ # Non-Maximum Suppression
129
+ indices = cv2.dnn.NMSBoxes(boxes, confidences, conf_threshold, nms_threshold)
130
+
131
+ results = []
132
+ for i in indices:
133
+ box = boxes[i]
134
+ results.append({
135
+ 'box': box,
136
+ 'confidence': confidences[i],
137
+ 'class_id': class_ids[i]
138
+ })
139
+
140
+ return results
141
+
142
+ # Get detections
143
+ detections = postprocess_yolo(outputs, img)
144
+
145
+ # Draw bounding boxes
146
+ for det in detections:
147
+ x, y, w, h = det['box']
148
+ cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)
149
+ label = f"Class {det['class_id']}: {det['confidence']:.2f}"
150
+ cv2.putText(img, label, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
151
+
152
+ cv2.imshow('Detections', img)
153
+ cv2.waitKey(0)
154
+ ```
155
+
156
+ **✅ Performance Tips:**
157
+ - Use CUDA backend for GPU acceleration
158
+ - ONNX models are portable and fast
159
+ - NMS removes duplicate detections
160
+
161
+ ---
162
+
163
+ ### 3. Semantic Segmentation
164
+
165
+ **DeepLab Segmentation:**
166
+ ```python
167
+ import cv2
168
+ import numpy as np
169
+
170
+ # Load segmentation model
171
+ net = cv2.dnn.readNetFromTensorflow('deeplabv3_model.pb')
172
+
173
+ # Prepare input
174
+ img = cv2.imread('image.jpg')
175
+ blob = cv2.dnn.blobFromImage(
176
+ img,
177
+ scalefactor=1.0 / 255.0,
178
+ size=(513, 513), # DeepLab typical size
179
+ mean=(0.485 * 255, 0.456 * 255, 0.406 * 255),
180
+ swapRB=True,
181
+ crop=False
182
+ )
183
+
184
+ # Inference
185
+ net.setInput(blob)
186
+ output = net.forward()
187
+
188
+ # Post-process segmentation mask
189
+ segmentation_mask = np.argmax(output[0], axis=0) # Get class with max probability
190
+
191
+ # Resize mask to original image size
192
+ h, w = img.shape[:2]
193
+ mask_resized = cv2.resize(segmentation_mask.astype(np.uint8), (w, h), interpolation=cv2.INTER_NEAREST)
194
+
195
+ # Create colored overlay
196
+ def create_colored_mask(mask, num_classes=21):
197
+ """Create colored segmentation mask."""
198
+ # Generate random colors for each class
199
+ np.random.seed(42)
200
+ colors = np.random.randint(0, 255, (num_classes, 3), dtype=np.uint8)
201
+ colors[0] = [0, 0, 0] # Background is black
202
+
203
+ colored_mask = colors[mask]
204
+ return colored_mask
205
+
206
+ colored_mask = create_colored_mask(mask_resized)
207
+
208
+ # Blend with original image
209
+ alpha = 0.5
210
+ overlay = cv2.addWeighted(img, 1 - alpha, colored_mask, alpha, 0)
211
+
212
+ cv2.imshow('Segmentation', overlay)
213
+ cv2.waitKey(0)
214
+ ```
215
+
216
+ ---
217
+
218
+ ### 4. Face Detection and Recognition
219
+
220
+ **DNN Face Detection:**
221
+ ```python
222
+ import cv2
223
+
224
+ # Load face detection model (SSD-based)
225
+ face_detector = cv2.FaceDetectorYN.create(
226
+ 'face_detection_yunet_2023mar.onnx',
227
+ "",
228
+ (320, 320),
229
+ score_threshold=0.7,
230
+ nms_threshold=0.3
231
+ )
232
+
233
+ # Load face recognition model
234
+ face_recognizer = cv2.FaceRecognizerSF.create(
235
+ 'face_recognition_sface_2021dec.onnx',
236
+ ""
237
+ )
238
+
239
+ # Detect faces
240
+ img = cv2.imread('face.jpg')
241
+ h, w = img.shape[:2]
242
+ face_detector.setInputSize((w, h))
243
+
244
+ _, faces = face_detector.detect(img)
245
+
246
+ if faces is not None:
247
+ for face in faces:
248
+ # face format: [x, y, w, h, landmarks...]
249
+ x, y, w, h = face[:4].astype(int)
250
+
251
+ # Crop face region
252
+ face_crop = img[y:y+h, x:x+w]
253
+
254
+ # Extract face features
255
+ face_feature = face_recognizer.extract(face_crop)
256
+
257
+ # Draw bounding box
258
+ cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)
259
+
260
+ # Draw landmarks (eyes, nose, mouth)
261
+ landmarks = face[4:14].reshape(5, 2).astype(int)
262
+ for lm in landmarks:
263
+ cv2.circle(img, tuple(lm), 2, (0, 0, 255), -1)
264
+
265
+ # Compare two faces
266
+ def compare_faces(face1, face2):
267
+ """Compare two face features using cosine similarity."""
268
+ feature1 = face_recognizer.extract(face1)
269
+ feature2 = face_recognizer.extract(face2)
270
+
271
+ cosine_score = face_recognizer.compare(feature1, feature2)
272
+
273
+ # Threshold: 0.363 for same identity
274
+ is_same = cosine_score >= 0.363
275
+
276
+ return is_same, cosine_score
277
+
278
+ cv2.imshow('Face Detection', img)
279
+ cv2.waitKey(0)
280
+ ```
281
+
282
+ **✅ Face Recognition Pipeline:**
283
+ 1. Detect faces with YuNet (lightweight, accurate)
284
+ 2. Extract features with SFace model
285
+ 3. Compare features using cosine similarity
286
+ 4. Threshold: ≥0.363 for same identity
287
+
288
+ ---
289
+
290
+ ### 5. Feature Detection and Matching
291
+
292
+ **SIFT/ORB Feature Matching:**
293
+ ```python
294
+ import cv2
295
+
296
+ # Load images
297
+ img1 = cv2.imread('object.jpg', cv2.IMREAD_GRAYSCALE)
298
+ img2 = cv2.imread('scene.jpg', cv2.IMREAD_GRAYSCALE)
299
+
300
+ # Create feature detector (SIFT or ORB)
301
+ # SIFT: Better accuracy, slower
302
+ sift = cv2.SIFT_create()
303
+ keypoints1, descriptors1 = sift.detectAndCompute(img1, None)
304
+ keypoints2, descriptors2 = sift.detectAndCompute(img2, None)
305
+
306
+ # ORB: Faster, free (SIFT is patented until 2020)
307
+ # orb = cv2.ORB_create(nfeatures=1000)
308
+ # keypoints1, descriptors1 = orb.detectAndCompute(img1, None)
309
+
310
+ # Match features
311
+ bf = cv2.BFMatcher(cv2.NORM_L2, crossCheck=True) # L2 for SIFT, HAMMING for ORB
312
+ matches = bf.match(descriptors1, descriptors2)
313
+
314
+ # Sort by distance (lower is better)
315
+ matches = sorted(matches, key=lambda x: x.distance)
316
+
317
+ # Draw matches
318
+ img_matches = cv2.drawMatches(
319
+ img1, keypoints1,
320
+ img2, keypoints2,
321
+ matches[:50], # Top 50 matches
322
+ None,
323
+ flags=cv2.DrawMatchesFlags_NOT_DRAW_SINGLE_POINTS
324
+ )
325
+
326
+ cv2.imshow('Feature Matches', img_matches)
327
+ cv2.waitKey(0)
328
+
329
+ # Find homography (for object detection in scene)
330
+ if len(matches) > 10:
331
+ src_pts = np.float32([keypoints1[m.queryIdx].pt for m in matches]).reshape(-1, 1, 2)
332
+ dst_pts = np.float32([keypoints2[m.trainIdx].pt for m in matches]).reshape(-1, 1, 2)
333
+
334
+ # RANSAC to find best homography
335
+ M, mask = cv2.findHomography(src_pts, dst_pts, cv2.RANSAC, 5.0)
336
+
337
+ # Get object corners in scene
338
+ h, w = img1.shape
339
+ pts = np.float32([[0, 0], [0, h], [w, h], [w, 0]]).reshape(-1, 1, 2)
340
+ dst = cv2.perspectiveTransform(pts, M)
341
+
342
+ # Draw polygon around detected object
343
+ img2_with_polygon = cv2.polylines(img2, [np.int32(dst)], True, (0, 255, 0), 3)
344
+ ```
345
+
346
+ ---
347
+
348
+ ### 6. Real-Time Video Processing
349
+
350
+ **Optimized Video Pipeline:**
351
+ ```python
352
+ import cv2
353
+ from collections import deque
354
+ import time
355
+
356
+ class VideoProcessor:
357
+ """Optimized video processing with FPS control."""
358
+
359
+ def __init__(self, source=0, target_fps=30):
360
+ self.cap = cv2.VideoCapture(source)
361
+ self.target_fps = target_fps
362
+ self.frame_time = 1.0 / target_fps
363
+
364
+ # FPS calculation
365
+ self.fps_buffer = deque(maxlen=30)
366
+ self.last_time = time.time()
367
+
368
+ def process_frame(self, frame):
369
+ """Override this method with your processing logic."""
370
+ return frame
371
+
372
+ def run(self):
373
+ """Main processing loop."""
374
+ while True:
375
+ ret, frame = self.cap.read()
376
+ if not ret:
377
+ break
378
+
379
+ # Process frame
380
+ processed = self.process_frame(frame)
381
+
382
+ # Calculate FPS
383
+ current_time = time.time()
384
+ fps = 1.0 / (current_time - self.last_time)
385
+ self.fps_buffer.append(fps)
386
+ self.last_time = current_time
387
+
388
+ avg_fps = sum(self.fps_buffer) / len(self.fps_buffer)
389
+
390
+ # Draw FPS
391
+ cv2.putText(
392
+ processed,
393
+ f'FPS: {avg_fps:.1f}',
394
+ (10, 30),
395
+ cv2.FONT_HERSHEY_SIMPLEX,
396
+ 1,
397
+ (0, 255, 0),
398
+ 2
399
+ )
400
+
401
+ cv2.imshow('Processed', processed)
402
+
403
+ # FPS throttling
404
+ elapsed = time.time() - current_time
405
+ wait_time = max(1, int((self.frame_time - elapsed) * 1000))
406
+
407
+ if cv2.waitKey(wait_time) & 0xFF == ord('q'):
408
+ break
409
+
410
+ self.cap.release()
411
+ cv2.destroyAllWindows()
412
+
413
+ # Example: Object detection on video
414
+ class ObjectDetectionProcessor(VideoProcessor):
415
+ def __init__(self, source=0, model_path='yolov8n.onnx'):
416
+ super().__init__(source)
417
+ self.net = cv2.dnn.readNetFromONNX(model_path)
418
+ self.net.setPreferableBackend(cv2.dnn.DNN_BACKEND_CUDA)
419
+ self.net.setPreferableTarget(cv2.dnn.DNN_TARGET_CUDA)
420
+
421
+ def process_frame(self, frame):
422
+ # Prepare input
423
+ blob = cv2.dnn.blobFromImage(
424
+ frame, 1.0 / 255.0, (640, 640), swapRB=True, crop=False
425
+ )
426
+
427
+ # Inference
428
+ self.net.setInput(blob)
429
+ outputs = self.net.forward()
430
+
431
+ # Post-process and draw
432
+ # ... (use postprocess_yolo from earlier)
433
+
434
+ return frame
435
+
436
+ # Run processor
437
+ processor = ObjectDetectionProcessor(source='video.mp4')
438
+ processor.run()
439
+ ```
440
+
441
+ **✅ Video Optimization Tips:**
442
+ - Use GPU backend (`DNN_BACKEND_CUDA`)
443
+ - Process every Nth frame for heavy models
444
+ - Use threading for I/O and processing separation
445
+ - Maintain FPS buffer for smooth FPS display
446
+
447
+ ---
448
+
449
+ ### 7. Image Augmentation
450
+
451
+ **Production Augmentation Pipeline:**
452
+ ```python
453
+ import cv2
454
+ import numpy as np
455
+ import albumentations as A
456
+
457
+ # Define augmentation pipeline
458
+ transform = A.Compose([
459
+ A.RandomResizedCrop(height=640, width=640, scale=(0.8, 1.0)),
460
+ A.HorizontalFlip(p=0.5),
461
+ A.RandomBrightnessContrast(p=0.3),
462
+ A.ColorJitter(brightness=0.2, contrast=0.2, saturation=0.2, hue=0.1, p=0.3),
463
+ A.GaussianBlur(blur_limit=(3, 7), p=0.2),
464
+ A.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225)),
465
+ A.ToFloat(max_value=255.0)
466
+ ])
467
+
468
+ # Apply to image
469
+ img = cv2.imread('image.jpg')
470
+ img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
471
+
472
+ augmented = transform(image=img_rgb)['image']
473
+
474
+ # For detection/segmentation with bboxes/masks
475
+ transform_with_bbox = A.Compose([
476
+ A.RandomResizedCrop(height=640, width=640),
477
+ A.HorizontalFlip(p=0.5),
478
+ A.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225))
479
+ ], bbox_params=A.BboxParams(format='coco', label_fields=['class_labels']))
480
+
481
+ # Apply with bounding boxes
482
+ bboxes = [[100, 50, 200, 150]] # [x, y, width, height]
483
+ class_labels = [1]
484
+
485
+ augmented = transform_with_bbox(
486
+ image=img_rgb,
487
+ bboxes=bboxes,
488
+ class_labels=class_labels
489
+ )
490
+
491
+ augmented_img = augmented['image']
492
+ augmented_bboxes = augmented['bboxes']
493
+ ```
494
+
495
+ ---
496
+
497
+ ## Common CV Tasks
498
+
499
+ ### Object Detection
500
+ - **YOLO**: Real-time, single-stage detector
501
+ - **Faster R-CNN**: Higher accuracy, two-stage detector
502
+ - **Use Case**: Traffic monitoring, surveillance, retail analytics
503
+
504
+ ### Image Segmentation
505
+ - **Semantic**: Classify every pixel (DeepLab, U-Net)
506
+ - **Instance**: Separate individual objects (Mask R-CNN)
507
+ - **Use Case**: Medical imaging, autonomous driving, photo editing
508
+
509
+ ### Face Recognition
510
+ - **Pipeline**: Detection → Alignment → Feature Extraction → Matching
511
+ - **Models**: YuNet (detection), SFace (recognition)
512
+ - **Use Case**: Access control, photo organization
513
+
514
+ ### Feature Matching
515
+ - **SIFT/SURF**: Scale-invariant features (patented)
516
+ - **ORB**: Fast, free alternative
517
+ - **Use Case**: Image stitching, AR, object tracking
518
+
519
+ ---
520
+
521
+ ## Output Format
522
+
523
+ ```
524
+ 📸 COMPUTER VISION PIPELINE
525
+ ===========================
526
+
527
+ 🖼️ INPUT ANALYSIS:
528
+ - [Image/video source and resolution]
529
+ - [Task type: detection/segmentation/tracking]
530
+
531
+ 🔧 PREPROCESSING:
532
+ - [Resize, normalization, color conversion]
533
+ - [Augmentation strategy if training]
534
+
535
+ 🤖 MODEL SELECTION:
536
+ - [Model architecture and rationale]
537
+ - [Backend: CPU/CUDA/OpenVINO]
538
+
539
+ 📊 RESULTS:
540
+ - [Detection boxes / segmentation masks]
541
+ - [Confidence scores]
542
+ - [FPS if video processing]
543
+
544
+ ⚡ OPTIMIZATION:
545
+ - [GPU acceleration status]
546
+ - [Inference time per frame]
547
+ - [Bottleneck analysis]
548
+ ```
549
+
550
+ You deliver production-ready computer vision solutions with optimized performance and accurate results.