claude-autopm 2.8.2 → 2.8.3

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 (390) hide show
  1. package/README.md +399 -637
  2. package/package.json +2 -1
  3. package/packages/plugin-ai/LICENSE +21 -0
  4. package/packages/plugin-ai/README.md +316 -0
  5. package/packages/plugin-ai/agents/anthropic-claude-expert.md +579 -0
  6. package/packages/plugin-ai/agents/azure-openai-expert.md +1411 -0
  7. package/packages/plugin-ai/agents/gemini-api-expert.md +880 -0
  8. package/packages/plugin-ai/agents/google-a2a-expert.md +1445 -0
  9. package/packages/plugin-ai/agents/huggingface-expert.md +2131 -0
  10. package/packages/plugin-ai/agents/langchain-expert.md +1427 -0
  11. package/packages/plugin-ai/agents/langgraph-workflow-expert.md +520 -0
  12. package/packages/plugin-ai/agents/openai-python-expert.md +1087 -0
  13. package/packages/plugin-ai/commands/a2a-setup.md +886 -0
  14. package/packages/plugin-ai/commands/ai-model-deployment.md +481 -0
  15. package/packages/plugin-ai/commands/anthropic-optimize.md +793 -0
  16. package/packages/plugin-ai/commands/huggingface-deploy.md +789 -0
  17. package/packages/plugin-ai/commands/langchain-optimize.md +807 -0
  18. package/packages/plugin-ai/commands/llm-optimize.md +348 -0
  19. package/packages/plugin-ai/commands/openai-optimize.md +863 -0
  20. package/packages/plugin-ai/commands/rag-optimize.md +841 -0
  21. package/packages/plugin-ai/commands/rag-setup-scaffold.md +382 -0
  22. package/packages/plugin-ai/package.json +66 -0
  23. package/packages/plugin-ai/plugin.json +519 -0
  24. package/packages/plugin-ai/rules/ai-model-standards.md +449 -0
  25. package/packages/plugin-ai/rules/prompt-engineering-standards.md +509 -0
  26. package/packages/plugin-ai/scripts/examples/huggingface-inference-example.py +145 -0
  27. package/packages/plugin-ai/scripts/examples/langchain-rag-example.py +366 -0
  28. package/packages/plugin-ai/scripts/examples/mlflow-tracking-example.py +224 -0
  29. package/packages/plugin-ai/scripts/examples/openai-chat-example.py +425 -0
  30. package/packages/plugin-cloud/README.md +268 -0
  31. package/packages/plugin-cloud/agents/README.md +55 -0
  32. package/packages/plugin-cloud/agents/aws-cloud-architect.md +521 -0
  33. package/packages/plugin-cloud/agents/azure-cloud-architect.md +436 -0
  34. package/packages/plugin-cloud/agents/gcp-cloud-architect.md +385 -0
  35. package/packages/plugin-cloud/agents/gcp-cloud-functions-engineer.md +306 -0
  36. package/packages/plugin-cloud/agents/gemini-api-expert.md +880 -0
  37. package/packages/plugin-cloud/agents/kubernetes-orchestrator.md +566 -0
  38. package/packages/plugin-cloud/agents/openai-python-expert.md +1087 -0
  39. package/packages/plugin-cloud/agents/terraform-infrastructure-expert.md +454 -0
  40. package/packages/plugin-cloud/commands/cloud-cost-optimize.md +243 -0
  41. package/packages/plugin-cloud/commands/cloud-validate.md +196 -0
  42. package/packages/plugin-cloud/commands/infra-deploy.md +38 -0
  43. package/packages/plugin-cloud/commands/k8s-deploy.md +37 -0
  44. package/packages/plugin-cloud/commands/ssh-security.md +65 -0
  45. package/packages/plugin-cloud/commands/traefik-setup.md +65 -0
  46. package/packages/plugin-cloud/hooks/pre-cloud-deploy.js +456 -0
  47. package/packages/plugin-cloud/package.json +64 -0
  48. package/packages/plugin-cloud/plugin.json +338 -0
  49. package/packages/plugin-cloud/rules/cloud-security-compliance.md +313 -0
  50. package/packages/plugin-cloud/rules/infrastructure-pipeline.md +128 -0
  51. package/packages/plugin-cloud/scripts/examples/aws-validate.sh +30 -0
  52. package/packages/plugin-cloud/scripts/examples/azure-setup.sh +33 -0
  53. package/packages/plugin-cloud/scripts/examples/gcp-setup.sh +39 -0
  54. package/packages/plugin-cloud/scripts/examples/k8s-validate.sh +40 -0
  55. package/packages/plugin-cloud/scripts/examples/terraform-init.sh +26 -0
  56. package/packages/plugin-core/README.md +274 -0
  57. package/packages/plugin-core/agents/core/agent-manager.md +296 -0
  58. package/packages/plugin-core/agents/core/code-analyzer.md +131 -0
  59. package/packages/plugin-core/agents/core/file-analyzer.md +162 -0
  60. package/packages/plugin-core/agents/core/test-runner.md +200 -0
  61. package/packages/plugin-core/commands/code-rabbit.md +128 -0
  62. package/packages/plugin-core/commands/prompt.md +9 -0
  63. package/packages/plugin-core/commands/re-init.md +9 -0
  64. package/packages/plugin-core/hooks/context7-reminder.md +29 -0
  65. package/packages/plugin-core/hooks/enforce-agents.js +125 -0
  66. package/packages/plugin-core/hooks/enforce-agents.sh +35 -0
  67. package/packages/plugin-core/hooks/pre-agent-context7.js +224 -0
  68. package/packages/plugin-core/hooks/pre-command-context7.js +229 -0
  69. package/packages/plugin-core/hooks/strict-enforce-agents.sh +39 -0
  70. package/packages/plugin-core/hooks/test-hook.sh +21 -0
  71. package/packages/plugin-core/hooks/unified-context7-enforcement.sh +38 -0
  72. package/packages/plugin-core/package.json +45 -0
  73. package/packages/plugin-core/plugin.json +387 -0
  74. package/packages/plugin-core/rules/agent-coordination.md +549 -0
  75. package/packages/plugin-core/rules/agent-mandatory.md +170 -0
  76. package/packages/plugin-core/rules/ai-integration-patterns.md +219 -0
  77. package/packages/plugin-core/rules/command-pipelines.md +208 -0
  78. package/packages/plugin-core/rules/context-optimization.md +176 -0
  79. package/packages/plugin-core/rules/context7-enforcement.md +327 -0
  80. package/packages/plugin-core/rules/datetime.md +122 -0
  81. package/packages/plugin-core/rules/definition-of-done.md +272 -0
  82. package/packages/plugin-core/rules/development-environments.md +19 -0
  83. package/packages/plugin-core/rules/development-workflow.md +198 -0
  84. package/packages/plugin-core/rules/framework-path-rules.md +180 -0
  85. package/packages/plugin-core/rules/frontmatter-operations.md +64 -0
  86. package/packages/plugin-core/rules/git-strategy.md +237 -0
  87. package/packages/plugin-core/rules/golden-rules.md +181 -0
  88. package/packages/plugin-core/rules/naming-conventions.md +111 -0
  89. package/packages/plugin-core/rules/no-pr-workflow.md +183 -0
  90. package/packages/plugin-core/rules/performance-guidelines.md +403 -0
  91. package/packages/plugin-core/rules/pipeline-mandatory.md +109 -0
  92. package/packages/plugin-core/rules/security-checklist.md +318 -0
  93. package/packages/plugin-core/rules/standard-patterns.md +197 -0
  94. package/packages/plugin-core/rules/strip-frontmatter.md +85 -0
  95. package/packages/plugin-core/rules/tdd.enforcement.md +103 -0
  96. package/packages/plugin-core/rules/use-ast-grep.md +113 -0
  97. package/packages/plugin-core/scripts/lib/datetime-utils.sh +254 -0
  98. package/packages/plugin-core/scripts/lib/frontmatter-utils.sh +294 -0
  99. package/packages/plugin-core/scripts/lib/github-utils.sh +221 -0
  100. package/packages/plugin-core/scripts/lib/logging-utils.sh +199 -0
  101. package/packages/plugin-core/scripts/lib/validation-utils.sh +339 -0
  102. package/packages/plugin-core/scripts/mcp/add.sh +7 -0
  103. package/packages/plugin-core/scripts/mcp/disable.sh +12 -0
  104. package/packages/plugin-core/scripts/mcp/enable.sh +12 -0
  105. package/packages/plugin-core/scripts/mcp/list.sh +7 -0
  106. package/packages/plugin-core/scripts/mcp/sync.sh +8 -0
  107. package/packages/plugin-data/README.md +315 -0
  108. package/packages/plugin-data/agents/airflow-orchestration-expert.md +158 -0
  109. package/packages/plugin-data/agents/kedro-pipeline-expert.md +304 -0
  110. package/packages/plugin-data/agents/langgraph-workflow-expert.md +530 -0
  111. package/packages/plugin-data/commands/airflow-dag-scaffold.md +413 -0
  112. package/packages/plugin-data/commands/kafka-pipeline-scaffold.md +503 -0
  113. package/packages/plugin-data/package.json +66 -0
  114. package/packages/plugin-data/plugin.json +294 -0
  115. package/packages/plugin-data/rules/data-quality-standards.md +373 -0
  116. package/packages/plugin-data/rules/etl-pipeline-standards.md +255 -0
  117. package/packages/plugin-data/scripts/examples/airflow-dag-example.py +245 -0
  118. package/packages/plugin-data/scripts/examples/dbt-transform-example.sql +238 -0
  119. package/packages/plugin-data/scripts/examples/kafka-streaming-example.py +257 -0
  120. package/packages/plugin-data/scripts/examples/pandas-etl-example.py +332 -0
  121. package/packages/plugin-databases/README.md +330 -0
  122. package/packages/plugin-databases/agents/README.md +50 -0
  123. package/packages/plugin-databases/agents/bigquery-expert.md +401 -0
  124. package/packages/plugin-databases/agents/cosmosdb-expert.md +375 -0
  125. package/packages/plugin-databases/agents/mongodb-expert.md +407 -0
  126. package/packages/plugin-databases/agents/postgresql-expert.md +329 -0
  127. package/packages/plugin-databases/agents/redis-expert.md +74 -0
  128. package/packages/plugin-databases/commands/db-optimize.md +612 -0
  129. package/packages/plugin-databases/package.json +60 -0
  130. package/packages/plugin-databases/plugin.json +237 -0
  131. package/packages/plugin-databases/rules/database-management-strategy.md +146 -0
  132. package/packages/plugin-databases/rules/database-pipeline.md +316 -0
  133. package/packages/plugin-databases/scripts/examples/bigquery-cost-analyze.sh +160 -0
  134. package/packages/plugin-databases/scripts/examples/cosmosdb-ru-optimize.sh +163 -0
  135. package/packages/plugin-databases/scripts/examples/mongodb-shard-check.sh +120 -0
  136. package/packages/plugin-databases/scripts/examples/postgres-index-analyze.sh +95 -0
  137. package/packages/plugin-databases/scripts/examples/redis-cache-stats.sh +121 -0
  138. package/packages/plugin-devops/README.md +367 -0
  139. package/packages/plugin-devops/agents/README.md +52 -0
  140. package/packages/plugin-devops/agents/azure-devops-specialist.md +308 -0
  141. package/packages/plugin-devops/agents/docker-containerization-expert.md +298 -0
  142. package/packages/plugin-devops/agents/github-operations-specialist.md +335 -0
  143. package/packages/plugin-devops/agents/mcp-context-manager.md +319 -0
  144. package/packages/plugin-devops/agents/observability-engineer.md +574 -0
  145. package/packages/plugin-devops/agents/ssh-operations-expert.md +1093 -0
  146. package/packages/plugin-devops/agents/traefik-proxy-expert.md +444 -0
  147. package/packages/plugin-devops/commands/ci-pipeline-create.md +581 -0
  148. package/packages/plugin-devops/commands/docker-optimize.md +493 -0
  149. package/packages/plugin-devops/commands/workflow-create.md +42 -0
  150. package/packages/plugin-devops/hooks/pre-docker-build.js +472 -0
  151. package/packages/plugin-devops/package.json +61 -0
  152. package/packages/plugin-devops/plugin.json +302 -0
  153. package/packages/plugin-devops/rules/ci-cd-kubernetes-strategy.md +25 -0
  154. package/packages/plugin-devops/rules/devops-troubleshooting-playbook.md +450 -0
  155. package/packages/plugin-devops/rules/docker-first-development.md +404 -0
  156. package/packages/plugin-devops/rules/github-operations.md +92 -0
  157. package/packages/plugin-devops/scripts/examples/docker-build-multistage.sh +43 -0
  158. package/packages/plugin-devops/scripts/examples/docker-compose-validate.sh +74 -0
  159. package/packages/plugin-devops/scripts/examples/github-workflow-validate.sh +48 -0
  160. package/packages/plugin-devops/scripts/examples/prometheus-health-check.sh +58 -0
  161. package/packages/plugin-devops/scripts/examples/ssh-key-setup.sh +74 -0
  162. package/packages/plugin-frameworks/README.md +309 -0
  163. package/packages/plugin-frameworks/agents/README.md +64 -0
  164. package/packages/plugin-frameworks/agents/e2e-test-engineer.md +579 -0
  165. package/packages/plugin-frameworks/agents/nats-messaging-expert.md +254 -0
  166. package/packages/plugin-frameworks/agents/react-frontend-engineer.md +393 -0
  167. package/packages/plugin-frameworks/agents/react-ui-expert.md +226 -0
  168. package/packages/plugin-frameworks/agents/tailwindcss-expert.md +1021 -0
  169. package/packages/plugin-frameworks/agents/ux-design-expert.md +244 -0
  170. package/packages/plugin-frameworks/commands/app-scaffold.md +50 -0
  171. package/packages/plugin-frameworks/commands/nextjs-optimize.md +692 -0
  172. package/packages/plugin-frameworks/commands/react-optimize.md +583 -0
  173. package/packages/plugin-frameworks/commands/tailwind-system.md +64 -0
  174. package/packages/plugin-frameworks/package.json +59 -0
  175. package/packages/plugin-frameworks/plugin.json +224 -0
  176. package/packages/plugin-frameworks/rules/performance-guidelines.md +403 -0
  177. package/packages/plugin-frameworks/rules/ui-development-standards.md +281 -0
  178. package/packages/plugin-frameworks/rules/ui-framework-rules.md +151 -0
  179. package/packages/plugin-frameworks/scripts/examples/react-component-perf.sh +34 -0
  180. package/packages/plugin-frameworks/scripts/examples/tailwind-optimize.sh +44 -0
  181. package/packages/plugin-frameworks/scripts/examples/vue-composition-check.sh +41 -0
  182. package/packages/plugin-languages/README.md +333 -0
  183. package/packages/plugin-languages/agents/README.md +50 -0
  184. package/packages/plugin-languages/agents/bash-scripting-expert.md +541 -0
  185. package/packages/plugin-languages/agents/javascript-frontend-engineer.md +197 -0
  186. package/packages/plugin-languages/agents/nodejs-backend-engineer.md +226 -0
  187. package/packages/plugin-languages/agents/python-backend-engineer.md +214 -0
  188. package/packages/plugin-languages/agents/python-backend-expert.md +289 -0
  189. package/packages/plugin-languages/commands/javascript-optimize.md +636 -0
  190. package/packages/plugin-languages/commands/nodejs-api-scaffold.md +341 -0
  191. package/packages/plugin-languages/commands/nodejs-optimize.md +689 -0
  192. package/packages/plugin-languages/commands/python-api-scaffold.md +261 -0
  193. package/packages/plugin-languages/commands/python-optimize.md +593 -0
  194. package/packages/plugin-languages/package.json +65 -0
  195. package/packages/plugin-languages/plugin.json +265 -0
  196. package/packages/plugin-languages/rules/code-quality-standards.md +496 -0
  197. package/packages/plugin-languages/rules/testing-standards.md +768 -0
  198. package/packages/plugin-languages/scripts/examples/bash-production-script.sh +520 -0
  199. package/packages/plugin-languages/scripts/examples/javascript-es6-patterns.js +291 -0
  200. package/packages/plugin-languages/scripts/examples/nodejs-async-iteration.js +360 -0
  201. package/packages/plugin-languages/scripts/examples/python-async-patterns.py +289 -0
  202. package/packages/plugin-languages/scripts/examples/typescript-patterns.ts +432 -0
  203. package/packages/plugin-ml/README.md +430 -0
  204. package/packages/plugin-ml/agents/automl-expert.md +326 -0
  205. package/packages/plugin-ml/agents/computer-vision-expert.md +550 -0
  206. package/packages/plugin-ml/agents/gradient-boosting-expert.md +455 -0
  207. package/packages/plugin-ml/agents/neural-network-architect.md +1228 -0
  208. package/packages/plugin-ml/agents/nlp-transformer-expert.md +584 -0
  209. package/packages/plugin-ml/agents/pytorch-expert.md +412 -0
  210. package/packages/plugin-ml/agents/reinforcement-learning-expert.md +2088 -0
  211. package/packages/plugin-ml/agents/scikit-learn-expert.md +228 -0
  212. package/packages/plugin-ml/agents/tensorflow-keras-expert.md +509 -0
  213. package/packages/plugin-ml/agents/time-series-expert.md +303 -0
  214. package/packages/plugin-ml/commands/ml-automl.md +572 -0
  215. package/packages/plugin-ml/commands/ml-train-optimize.md +657 -0
  216. package/packages/plugin-ml/package.json +52 -0
  217. package/packages/plugin-ml/plugin.json +338 -0
  218. package/packages/plugin-pm/README.md +368 -0
  219. package/packages/plugin-pm/claudeautopm-plugin-pm-2.0.0.tgz +0 -0
  220. package/packages/plugin-pm/commands/azure/COMMANDS.md +107 -0
  221. package/packages/plugin-pm/commands/azure/COMMAND_MAPPING.md +252 -0
  222. package/packages/plugin-pm/commands/azure/INTEGRATION_FIX.md +103 -0
  223. package/packages/plugin-pm/commands/azure/README.md +246 -0
  224. package/packages/plugin-pm/commands/azure/active-work.md +198 -0
  225. package/packages/plugin-pm/commands/azure/aliases.md +143 -0
  226. package/packages/plugin-pm/commands/azure/blocked-items.md +287 -0
  227. package/packages/plugin-pm/commands/azure/clean.md +93 -0
  228. package/packages/plugin-pm/commands/azure/docs-query.md +48 -0
  229. package/packages/plugin-pm/commands/azure/feature-decompose.md +380 -0
  230. package/packages/plugin-pm/commands/azure/feature-list.md +61 -0
  231. package/packages/plugin-pm/commands/azure/feature-new.md +115 -0
  232. package/packages/plugin-pm/commands/azure/feature-show.md +205 -0
  233. package/packages/plugin-pm/commands/azure/feature-start.md +130 -0
  234. package/packages/plugin-pm/commands/azure/fix-integration-example.md +93 -0
  235. package/packages/plugin-pm/commands/azure/help.md +150 -0
  236. package/packages/plugin-pm/commands/azure/import-us.md +269 -0
  237. package/packages/plugin-pm/commands/azure/init.md +211 -0
  238. package/packages/plugin-pm/commands/azure/next-task.md +262 -0
  239. package/packages/plugin-pm/commands/azure/search.md +160 -0
  240. package/packages/plugin-pm/commands/azure/sprint-status.md +235 -0
  241. package/packages/plugin-pm/commands/azure/standup.md +260 -0
  242. package/packages/plugin-pm/commands/azure/sync-all.md +99 -0
  243. package/packages/plugin-pm/commands/azure/task-analyze.md +186 -0
  244. package/packages/plugin-pm/commands/azure/task-close.md +329 -0
  245. package/packages/plugin-pm/commands/azure/task-edit.md +145 -0
  246. package/packages/plugin-pm/commands/azure/task-list.md +263 -0
  247. package/packages/plugin-pm/commands/azure/task-new.md +84 -0
  248. package/packages/plugin-pm/commands/azure/task-reopen.md +79 -0
  249. package/packages/plugin-pm/commands/azure/task-show.md +126 -0
  250. package/packages/plugin-pm/commands/azure/task-start.md +301 -0
  251. package/packages/plugin-pm/commands/azure/task-status.md +65 -0
  252. package/packages/plugin-pm/commands/azure/task-sync.md +67 -0
  253. package/packages/plugin-pm/commands/azure/us-edit.md +164 -0
  254. package/packages/plugin-pm/commands/azure/us-list.md +202 -0
  255. package/packages/plugin-pm/commands/azure/us-new.md +265 -0
  256. package/packages/plugin-pm/commands/azure/us-parse.md +253 -0
  257. package/packages/plugin-pm/commands/azure/us-show.md +188 -0
  258. package/packages/plugin-pm/commands/azure/us-status.md +320 -0
  259. package/packages/plugin-pm/commands/azure/validate.md +86 -0
  260. package/packages/plugin-pm/commands/azure/work-item-sync.md +47 -0
  261. package/packages/plugin-pm/commands/blocked.md +28 -0
  262. package/packages/plugin-pm/commands/clean.md +119 -0
  263. package/packages/plugin-pm/commands/context-create.md +136 -0
  264. package/packages/plugin-pm/commands/context-prime.md +170 -0
  265. package/packages/plugin-pm/commands/context-update.md +292 -0
  266. package/packages/plugin-pm/commands/context.md +28 -0
  267. package/packages/plugin-pm/commands/epic-close.md +86 -0
  268. package/packages/plugin-pm/commands/epic-decompose.md +370 -0
  269. package/packages/plugin-pm/commands/epic-edit.md +83 -0
  270. package/packages/plugin-pm/commands/epic-list.md +30 -0
  271. package/packages/plugin-pm/commands/epic-merge.md +222 -0
  272. package/packages/plugin-pm/commands/epic-oneshot.md +119 -0
  273. package/packages/plugin-pm/commands/epic-refresh.md +119 -0
  274. package/packages/plugin-pm/commands/epic-show.md +28 -0
  275. package/packages/plugin-pm/commands/epic-split.md +120 -0
  276. package/packages/plugin-pm/commands/epic-start.md +195 -0
  277. package/packages/plugin-pm/commands/epic-status.md +28 -0
  278. package/packages/plugin-pm/commands/epic-sync-modular.md +338 -0
  279. package/packages/plugin-pm/commands/epic-sync-original.md +473 -0
  280. package/packages/plugin-pm/commands/epic-sync.md +486 -0
  281. package/packages/plugin-pm/commands/github/workflow-create.md +42 -0
  282. package/packages/plugin-pm/commands/help.md +28 -0
  283. package/packages/plugin-pm/commands/import.md +115 -0
  284. package/packages/plugin-pm/commands/in-progress.md +28 -0
  285. package/packages/plugin-pm/commands/init.md +28 -0
  286. package/packages/plugin-pm/commands/issue-analyze.md +202 -0
  287. package/packages/plugin-pm/commands/issue-close.md +119 -0
  288. package/packages/plugin-pm/commands/issue-edit.md +93 -0
  289. package/packages/plugin-pm/commands/issue-reopen.md +87 -0
  290. package/packages/plugin-pm/commands/issue-show.md +41 -0
  291. package/packages/plugin-pm/commands/issue-start.md +234 -0
  292. package/packages/plugin-pm/commands/issue-status.md +95 -0
  293. package/packages/plugin-pm/commands/issue-sync.md +411 -0
  294. package/packages/plugin-pm/commands/next.md +28 -0
  295. package/packages/plugin-pm/commands/prd-edit.md +82 -0
  296. package/packages/plugin-pm/commands/prd-list.md +28 -0
  297. package/packages/plugin-pm/commands/prd-new.md +55 -0
  298. package/packages/plugin-pm/commands/prd-parse.md +42 -0
  299. package/packages/plugin-pm/commands/prd-status.md +28 -0
  300. package/packages/plugin-pm/commands/search.md +28 -0
  301. package/packages/plugin-pm/commands/standup.md +28 -0
  302. package/packages/plugin-pm/commands/status.md +28 -0
  303. package/packages/plugin-pm/commands/sync.md +99 -0
  304. package/packages/plugin-pm/commands/test-reference-update.md +151 -0
  305. package/packages/plugin-pm/commands/validate.md +28 -0
  306. package/packages/plugin-pm/commands/what-next.md +28 -0
  307. package/packages/plugin-pm/package.json +57 -0
  308. package/packages/plugin-pm/plugin.json +503 -0
  309. package/packages/plugin-pm/scripts/pm/analytics.js +425 -0
  310. package/packages/plugin-pm/scripts/pm/blocked.js +164 -0
  311. package/packages/plugin-pm/scripts/pm/blocked.sh +78 -0
  312. package/packages/plugin-pm/scripts/pm/clean.js +464 -0
  313. package/packages/plugin-pm/scripts/pm/context-create.js +216 -0
  314. package/packages/plugin-pm/scripts/pm/context-prime.js +335 -0
  315. package/packages/plugin-pm/scripts/pm/context-update.js +344 -0
  316. package/packages/plugin-pm/scripts/pm/context.js +338 -0
  317. package/packages/plugin-pm/scripts/pm/epic-close.js +347 -0
  318. package/packages/plugin-pm/scripts/pm/epic-edit.js +382 -0
  319. package/packages/plugin-pm/scripts/pm/epic-list.js +273 -0
  320. package/packages/plugin-pm/scripts/pm/epic-list.sh +109 -0
  321. package/packages/plugin-pm/scripts/pm/epic-show.js +291 -0
  322. package/packages/plugin-pm/scripts/pm/epic-show.sh +105 -0
  323. package/packages/plugin-pm/scripts/pm/epic-split.js +522 -0
  324. package/packages/plugin-pm/scripts/pm/epic-start/epic-start.js +183 -0
  325. package/packages/plugin-pm/scripts/pm/epic-start/epic-start.sh +94 -0
  326. package/packages/plugin-pm/scripts/pm/epic-status.js +291 -0
  327. package/packages/plugin-pm/scripts/pm/epic-status.sh +104 -0
  328. package/packages/plugin-pm/scripts/pm/epic-sync/README.md +208 -0
  329. package/packages/plugin-pm/scripts/pm/epic-sync/create-epic-issue.sh +77 -0
  330. package/packages/plugin-pm/scripts/pm/epic-sync/create-task-issues.sh +86 -0
  331. package/packages/plugin-pm/scripts/pm/epic-sync/update-epic-file.sh +79 -0
  332. package/packages/plugin-pm/scripts/pm/epic-sync/update-references.sh +89 -0
  333. package/packages/plugin-pm/scripts/pm/epic-sync.sh +137 -0
  334. package/packages/plugin-pm/scripts/pm/help.js +92 -0
  335. package/packages/plugin-pm/scripts/pm/help.sh +90 -0
  336. package/packages/plugin-pm/scripts/pm/in-progress.js +178 -0
  337. package/packages/plugin-pm/scripts/pm/in-progress.sh +93 -0
  338. package/packages/plugin-pm/scripts/pm/init.js +321 -0
  339. package/packages/plugin-pm/scripts/pm/init.sh +178 -0
  340. package/packages/plugin-pm/scripts/pm/issue-close.js +232 -0
  341. package/packages/plugin-pm/scripts/pm/issue-edit.js +310 -0
  342. package/packages/plugin-pm/scripts/pm/issue-show.js +272 -0
  343. package/packages/plugin-pm/scripts/pm/issue-start.js +181 -0
  344. package/packages/plugin-pm/scripts/pm/issue-sync/format-comment.sh +468 -0
  345. package/packages/plugin-pm/scripts/pm/issue-sync/gather-updates.sh +460 -0
  346. package/packages/plugin-pm/scripts/pm/issue-sync/post-comment.sh +330 -0
  347. package/packages/plugin-pm/scripts/pm/issue-sync/preflight-validation.sh +348 -0
  348. package/packages/plugin-pm/scripts/pm/issue-sync/update-frontmatter.sh +387 -0
  349. package/packages/plugin-pm/scripts/pm/lib/README.md +85 -0
  350. package/packages/plugin-pm/scripts/pm/lib/epic-discovery.js +119 -0
  351. package/packages/plugin-pm/scripts/pm/lib/logger.js +78 -0
  352. package/packages/plugin-pm/scripts/pm/next.js +189 -0
  353. package/packages/plugin-pm/scripts/pm/next.sh +72 -0
  354. package/packages/plugin-pm/scripts/pm/optimize.js +407 -0
  355. package/packages/plugin-pm/scripts/pm/pr-create.js +337 -0
  356. package/packages/plugin-pm/scripts/pm/pr-list.js +257 -0
  357. package/packages/plugin-pm/scripts/pm/prd-list.js +242 -0
  358. package/packages/plugin-pm/scripts/pm/prd-list.sh +103 -0
  359. package/packages/plugin-pm/scripts/pm/prd-new.js +684 -0
  360. package/packages/plugin-pm/scripts/pm/prd-parse.js +547 -0
  361. package/packages/plugin-pm/scripts/pm/prd-status.js +152 -0
  362. package/packages/plugin-pm/scripts/pm/prd-status.sh +63 -0
  363. package/packages/plugin-pm/scripts/pm/release.js +460 -0
  364. package/packages/plugin-pm/scripts/pm/search.js +192 -0
  365. package/packages/plugin-pm/scripts/pm/search.sh +89 -0
  366. package/packages/plugin-pm/scripts/pm/standup.js +362 -0
  367. package/packages/plugin-pm/scripts/pm/standup.sh +95 -0
  368. package/packages/plugin-pm/scripts/pm/status.js +148 -0
  369. package/packages/plugin-pm/scripts/pm/status.sh +59 -0
  370. package/packages/plugin-pm/scripts/pm/sync-batch.js +337 -0
  371. package/packages/plugin-pm/scripts/pm/sync.js +343 -0
  372. package/packages/plugin-pm/scripts/pm/template-list.js +141 -0
  373. package/packages/plugin-pm/scripts/pm/template-new.js +366 -0
  374. package/packages/plugin-pm/scripts/pm/validate.js +274 -0
  375. package/packages/plugin-pm/scripts/pm/validate.sh +106 -0
  376. package/packages/plugin-pm/scripts/pm/what-next.js +660 -0
  377. package/packages/plugin-testing/README.md +401 -0
  378. package/packages/plugin-testing/agents/frontend-testing-engineer.md +768 -0
  379. package/packages/plugin-testing/commands/jest-optimize.md +800 -0
  380. package/packages/plugin-testing/commands/playwright-optimize.md +887 -0
  381. package/packages/plugin-testing/commands/test-coverage.md +512 -0
  382. package/packages/plugin-testing/commands/test-performance.md +1041 -0
  383. package/packages/plugin-testing/commands/test-setup.md +414 -0
  384. package/packages/plugin-testing/package.json +40 -0
  385. package/packages/plugin-testing/plugin.json +197 -0
  386. package/packages/plugin-testing/rules/test-coverage-requirements.md +581 -0
  387. package/packages/plugin-testing/rules/testing-standards.md +529 -0
  388. package/packages/plugin-testing/scripts/examples/react-testing-example.test.jsx +460 -0
  389. package/packages/plugin-testing/scripts/examples/vitest-config-example.js +352 -0
  390. package/packages/plugin-testing/scripts/examples/vue-testing-example.test.js +586 -0
@@ -0,0 +1,294 @@
1
+ {
2
+ "name": "@claudeautopm/plugin-data",
3
+ "version": "2.0.0",
4
+ "schemaVersion": "2.0",
5
+ "displayName": "Data Engineering & ML",
6
+ "description": "Data engineering, ETL pipelines, and ML workflow specialists with Airflow, Kedro, LangGraph, Kafka, dbt, and pandas",
7
+ "category": "data",
8
+ "metadata": {
9
+ "category": "Data Engineering & ML",
10
+ "author": "ClaudeAutoPM Team",
11
+ "license": "MIT",
12
+ "homepage": "https://github.com/rafeekpro/ClaudeAutoPM",
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git+https://github.com/rafeekpro/ClaudeAutoPM.git",
16
+ "directory": "packages/plugin-data"
17
+ },
18
+ "size": "~25 KB (gzipped)",
19
+ "required": false,
20
+ "tags": [
21
+ "data-engineering",
22
+ "ml",
23
+ "etl",
24
+ "airflow",
25
+ "kedro",
26
+ "langgraph",
27
+ "kafka",
28
+ "dbt",
29
+ "pandas"
30
+ ]
31
+ },
32
+ "agents": [
33
+ {
34
+ "name": "airflow-orchestration-expert",
35
+ "file": "agents/airflow-orchestration-expert.md",
36
+ "category": "data",
37
+ "description": "Apache Airflow workflow orchestration with DAG development, task dependencies, TaskFlow API, operators, sensors, and executors. Expert in data pipelines and ETL/ELT processes.",
38
+ "version": "2.0.0",
39
+ "tags": [
40
+ "airflow",
41
+ "orchestration",
42
+ "dag",
43
+ "etl",
44
+ "data-pipeline"
45
+ ],
46
+ "mcp": [],
47
+ "context7": [
48
+ "/apache/airflow"
49
+ ]
50
+ },
51
+ {
52
+ "name": "kedro-pipeline-expert",
53
+ "file": "agents/kedro-pipeline-expert.md",
54
+ "category": "data",
55
+ "description": "Kedro data pipeline development with project structure, data catalog, pipeline orchestration, nodes, and configuration. Expert in reproducible data science workflows and MLOps.",
56
+ "version": "2.0.0",
57
+ "tags": [
58
+ "kedro",
59
+ "pipeline",
60
+ "data-science",
61
+ "mlops",
62
+ "reproducible"
63
+ ],
64
+ "mcp": [],
65
+ "context7": [
66
+ "/kedro-org/kedro",
67
+ "/kedro-org/kedro-plugins"
68
+ ]
69
+ },
70
+ {
71
+ "name": "langgraph-workflow-expert",
72
+ "file": "agents/langgraph-workflow-expert.md",
73
+ "category": "data",
74
+ "description": "LangGraph workflow orchestration with state machines, conditional routing, multi-agent collaboration, and graph-based AI workflows. Expert in stateful applications and complex decision trees.",
75
+ "version": "2.0.0",
76
+ "tags": [
77
+ "langgraph",
78
+ "workflow",
79
+ "state-machine",
80
+ "ai",
81
+ "multi-agent"
82
+ ],
83
+ "mcp": [],
84
+ "context7": [
85
+ "/langchain-ai/langgraph",
86
+ "/websites/langchain-ai_github_io_langgraph"
87
+ ]
88
+ }
89
+ ],
90
+ "commands": [
91
+ {
92
+ "name": "airflow-dag-scaffold",
93
+ "file": "commands/airflow-dag-scaffold.md",
94
+ "category": "data",
95
+ "priority": "medium",
96
+ "description": "Generate production-ready Apache Airflow DAG with Context7-verified patterns: TaskFlow API, task dependencies, sensors, error handling, and testing",
97
+ "tags": [
98
+ "airflow",
99
+ "dag",
100
+ "scaffold",
101
+ "etl",
102
+ "taskflow"
103
+ ],
104
+ "mcpTools": [
105
+ "context7"
106
+ ]
107
+ },
108
+ {
109
+ "name": "kafka-pipeline-scaffold",
110
+ "file": "commands/kafka-pipeline-scaffold.md",
111
+ "category": "data",
112
+ "priority": "medium",
113
+ "description": "Generate production-ready Kafka streaming pipeline with Context7-verified patterns: producers, consumers, streams, error handling, and exactly-once semantics",
114
+ "tags": [
115
+ "kafka",
116
+ "streaming",
117
+ "pipeline",
118
+ "scaffold",
119
+ "event-driven"
120
+ ],
121
+ "mcpTools": [
122
+ "context7"
123
+ ]
124
+ }
125
+ ],
126
+ "rules": [
127
+ {
128
+ "name": "data-quality-standards",
129
+ "file": "rules/data-quality-standards.md",
130
+ "priority": "high",
131
+ "description": "Comprehensive data quality standards with Context7-verified best practices: validation, completeness, consistency, accuracy, timeliness for Airflow, Kedro, pandas, dbt",
132
+ "tags": [
133
+ "data-quality",
134
+ "validation",
135
+ "standards",
136
+ "testing",
137
+ "metrics"
138
+ ],
139
+ "appliesTo": [
140
+ "commands",
141
+ "agents"
142
+ ],
143
+ "enforcesOn": [
144
+ "airflow-orchestration-expert",
145
+ "kedro-pipeline-expert",
146
+ "langgraph-workflow-expert"
147
+ ]
148
+ },
149
+ {
150
+ "name": "etl-pipeline-standards",
151
+ "file": "rules/etl-pipeline-standards.md",
152
+ "priority": "high",
153
+ "description": "ETL/ELT pipeline best practices with Context7-verified patterns: idempotency, incremental processing, error handling, data lineage, monitoring for all frameworks",
154
+ "tags": [
155
+ "etl",
156
+ "pipeline",
157
+ "standards",
158
+ "best-practices",
159
+ "idempotency"
160
+ ],
161
+ "appliesTo": [
162
+ "commands",
163
+ "agents"
164
+ ],
165
+ "enforcesOn": [
166
+ "airflow-orchestration-expert",
167
+ "kedro-pipeline-expert"
168
+ ]
169
+ }
170
+ ],
171
+ "scripts": [
172
+ {
173
+ "name": "airflow-dag-example",
174
+ "file": "scripts/examples/airflow-dag-example.py",
175
+ "description": "Airflow DAG example demonstrating Context7 patterns: TaskFlow API, task dependencies, sensors, parallel extraction, error handling",
176
+ "type": "example",
177
+ "executable": true,
178
+ "category": "data",
179
+ "tags": [
180
+ "airflow",
181
+ "dag",
182
+ "example",
183
+ "taskflow",
184
+ "context7"
185
+ ]
186
+ },
187
+ {
188
+ "name": "kafka-streaming-example",
189
+ "file": "scripts/examples/kafka-streaming-example.py",
190
+ "description": "Kafka producer/consumer example demonstrating Context7 patterns: reliable configuration, callbacks, manual commits, graceful shutdown",
191
+ "type": "example",
192
+ "executable": true,
193
+ "category": "data",
194
+ "tags": [
195
+ "kafka",
196
+ "streaming",
197
+ "example",
198
+ "producer",
199
+ "consumer",
200
+ "context7"
201
+ ]
202
+ },
203
+ {
204
+ "name": "dbt-transform-example",
205
+ "file": "scripts/examples/dbt-transform-example.sql",
206
+ "description": "dbt transformation example demonstrating Context7 patterns: Jinja macros, ref/source, materializations, tests, documentation",
207
+ "type": "example",
208
+ "executable": true,
209
+ "category": "data",
210
+ "tags": [
211
+ "dbt",
212
+ "transformation",
213
+ "example",
214
+ "jinja",
215
+ "context7"
216
+ ]
217
+ },
218
+ {
219
+ "name": "pandas-etl-example",
220
+ "file": "scripts/examples/pandas-etl-example.py",
221
+ "description": "pandas ETL example demonstrating Context7 patterns: vectorized operations, GroupBy aggregations, efficient merging, data validation, quality metrics",
222
+ "type": "example",
223
+ "executable": true,
224
+ "category": "data",
225
+ "tags": [
226
+ "pandas",
227
+ "etl",
228
+ "example",
229
+ "validation",
230
+ "context7"
231
+ ]
232
+ }
233
+ ],
234
+ "features": {
235
+ "airflow_orchestration": {
236
+ "enabled": true,
237
+ "description": "Apache Airflow workflow orchestration with DAGs and TaskFlow API"
238
+ },
239
+ "kedro_pipelines": {
240
+ "enabled": true,
241
+ "description": "Kedro reproducible data science pipelines and MLOps"
242
+ },
243
+ "langgraph_workflows": {
244
+ "enabled": true,
245
+ "description": "LangGraph stateful AI workflows and multi-agent systems"
246
+ },
247
+ "kafka_streaming": {
248
+ "enabled": true,
249
+ "description": "Apache Kafka event streaming and real-time data pipelines"
250
+ },
251
+ "dbt_transformations": {
252
+ "enabled": true,
253
+ "description": "dbt data transformations with Jinja and SQL"
254
+ },
255
+ "pandas_etl": {
256
+ "enabled": true,
257
+ "description": "pandas data manipulation and ETL processing"
258
+ },
259
+ "data_quality": {
260
+ "enabled": true,
261
+ "description": "Comprehensive data quality validation and monitoring"
262
+ },
263
+ "etl_standards": {
264
+ "enabled": true,
265
+ "description": "ETL/ELT pipeline best practices and standards"
266
+ }
267
+ },
268
+ "dependencies": [],
269
+ "peerPlugins": [
270
+ "@claudeautopm/plugin-core"
271
+ ],
272
+ "mcpServers": {
273
+ "recommended": [
274
+ "context7"
275
+ ],
276
+ "optional": []
277
+ },
278
+ "keywords": [
279
+ "claudeautopm",
280
+ "plugin",
281
+ "data-engineering",
282
+ "ml",
283
+ "machine-learning",
284
+ "etl",
285
+ "analytics",
286
+ "airflow",
287
+ "kedro",
288
+ "langgraph",
289
+ "kafka",
290
+ "dbt",
291
+ "pandas"
292
+ ],
293
+ "compatibleWith": ">=3.0.0"
294
+ }
@@ -0,0 +1,373 @@
1
+ # Data Quality Standards
2
+
3
+ **Priority:** HIGH
4
+ **Applies To:** commands, agents
5
+ **Enforces On:** airflow-orchestration-expert, kedro-pipeline-expert, langgraph-workflow-expert
6
+
7
+ Comprehensive data quality standards with Context7-verified best practices for data engineering pipelines.
8
+
9
+ ## Context7 Documentation Requirements
10
+
11
+ **MANDATORY**: Before implementing data quality checks, query Context7 for framework-specific best practices.
12
+
13
+ **Required Queries:**
14
+ - Airflow: Data validation operators and sensors
15
+ - Kedro: Data catalog validation and testing
16
+ - pandas: Data quality checks and assertions
17
+ - dbt: Test definitions and data contracts
18
+
19
+ ## Core Data Quality Principles
20
+
21
+ ### 1. Data Validation at Every Stage
22
+
23
+ **Rule:** Validate data at extract, transform, and load stages.
24
+
25
+ **Context7 Pattern (Airflow):**
26
+ ```python
27
+ from airflow.decorators import task
28
+
29
+ @task
30
+ def validate_extracted_data(data: Dict) -> Dict:
31
+ """Validate data after extraction."""
32
+ assert data is not None, "Data is None"
33
+ assert "records" in data, "Missing records field"
34
+ assert len(data["records"]) > 0, "No records extracted"
35
+ assert data["count"] == len(data["records"]), "Count mismatch"
36
+
37
+ return data
38
+ ```
39
+
40
+ **Context7 Pattern (pandas):**
41
+ ```python
42
+ def validate_dataframe(df: pd.DataFrame) -> None:
43
+ """
44
+ Comprehensive DataFrame validation.
45
+
46
+ Context7 Pattern: Multi-level validation checks
47
+ """
48
+ # Schema validation
49
+ required_columns = ["id", "timestamp", "value"]
50
+ assert all(col in df.columns for col in required_columns), \
51
+ f"Missing required columns"
52
+
53
+ # Null check
54
+ null_counts = df[required_columns].isnull().sum()
55
+ assert null_counts.sum() == 0, \
56
+ f"Null values found: {null_counts[null_counts > 0].to_dict()}"
57
+
58
+ # Type validation
59
+ assert pd.api.types.is_numeric_dtype(df["value"]), \
60
+ "value column must be numeric"
61
+
62
+ # Range validation
63
+ assert (df["value"] >= 0).all(), \
64
+ "value column contains negative values"
65
+
66
+ # Uniqueness check
67
+ assert df["id"].is_unique, \
68
+ f"Duplicate IDs found: {df[df['id'].duplicated()]['id'].tolist()}"
69
+ ```
70
+
71
+ ### 2. Data Completeness
72
+
73
+ **Rule:** Ensure all required fields are present and non-null.
74
+
75
+ ```python
76
+ def check_completeness(df: pd.DataFrame, required_fields: List[str]) -> Dict:
77
+ """
78
+ Check data completeness.
79
+
80
+ Returns:
81
+ Dict with completeness metrics
82
+ """
83
+ metrics = {}
84
+
85
+ for field in required_fields:
86
+ null_count = df[field].isnull().sum()
87
+ total_count = len(df)
88
+ completeness = (total_count - null_count) / total_count * 100
89
+
90
+ metrics[field] = {
91
+ "completeness_pct": completeness,
92
+ "null_count": null_count,
93
+ "total_count": total_count,
94
+ }
95
+
96
+ # Alert if below threshold
97
+ if completeness < 95:
98
+ logger.warning(
99
+ f"Field {field} completeness is {completeness:.2f}% (< 95%)"
100
+ )
101
+
102
+ return metrics
103
+ ```
104
+
105
+ ### 3. Data Consistency
106
+
107
+ **Rule:** Validate data consistency across related fields and datasets.
108
+
109
+ ```python
110
+ def check_consistency(df: pd.DataFrame) -> None:
111
+ """Check cross-field consistency."""
112
+ # Date range consistency
113
+ assert (df["end_date"] >= df["start_date"]).all(), \
114
+ "end_date must be >= start_date"
115
+
116
+ # Sum consistency
117
+ assert np.isclose(df["total"], df["subtotal"] + df["tax"], atol=0.01).all(), \
118
+ "total != subtotal + tax"
119
+
120
+ # Status consistency
121
+ valid_statuses = ["pending", "active", "completed", "cancelled"]
122
+ invalid_statuses = ~df["status"].isin(valid_statuses)
123
+ assert not invalid_statuses.any(), \
124
+ f"Invalid statuses: {df[invalid_statuses]['status'].unique()}"
125
+ ```
126
+
127
+ ### 4. Data Accuracy
128
+
129
+ **Rule:** Validate data values against known constraints and business rules.
130
+
131
+ ```python
132
+ def check_accuracy(df: pd.DataFrame) -> None:
133
+ """Validate data accuracy."""
134
+ # Numeric ranges
135
+ assert (df["age"] >= 0).all() and (df["age"] <= 150).all(), \
136
+ "age must be between 0 and 150"
137
+
138
+ # Email format
139
+ email_pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
140
+ invalid_emails = ~df["email"].str.match(email_pattern)
141
+ assert not invalid_emails.any(), \
142
+ f"Invalid emails found: {len(df[invalid_emails])}"
143
+
144
+ # Currency precision
145
+ assert (df["amount"].apply(lambda x: len(str(x).split(".")[-1])) <= 2).all(), \
146
+ "Currency values must have max 2 decimal places"
147
+ ```
148
+
149
+ ### 5. Data Timeliness
150
+
151
+ **Rule:** Validate data freshness and processing delays.
152
+
153
+ ```python
154
+ from datetime import datetime, timedelta
155
+
156
+ def check_timeliness(df: pd.DataFrame, max_delay_hours: int = 24) -> None:
157
+ """Check data timeliness."""
158
+ now = datetime.utcnow()
159
+ df["timestamp"] = pd.to_datetime(df["timestamp"])
160
+
161
+ # Check for stale data
162
+ max_timestamp = df["timestamp"].max()
163
+ delay = (now - max_timestamp).total_seconds() / 3600
164
+
165
+ assert delay <= max_delay_hours, \
166
+ f"Data is stale: {delay:.2f} hours old (max: {max_delay_hours})"
167
+
168
+ # Check for future timestamps
169
+ future_records = df[df["timestamp"] > now]
170
+ assert len(future_records) == 0, \
171
+ f"Found {len(future_records)} records with future timestamps"
172
+ ```
173
+
174
+ ## Framework-Specific Standards
175
+
176
+ ### Airflow Data Quality
177
+
178
+ ```python
179
+ @task
180
+ def run_data_quality_checks(data: Dict) -> Dict:
181
+ """
182
+ Comprehensive data quality checks for Airflow pipelines.
183
+
184
+ Context7 Pattern: Task-based validation
185
+ """
186
+ checks = {
187
+ "completeness": check_completeness(data),
188
+ "consistency": check_consistency(data),
189
+ "accuracy": check_accuracy(data),
190
+ "timeliness": check_timeliness(data),
191
+ }
192
+
193
+ # Log results
194
+ for check_name, result in checks.items():
195
+ if result.get("passed", True):
196
+ logger.info(f"✓ {check_name} check passed")
197
+ else:
198
+ logger.error(f"✗ {check_name} check failed: {result['error']}")
199
+ raise ValueError(f"Data quality check failed: {check_name}")
200
+
201
+ return data
202
+ ```
203
+
204
+ ### Kedro Data Validation
205
+
206
+ ```python
207
+ # In nodes.py
208
+ def validate_model_input(data: pd.DataFrame) -> pd.DataFrame:
209
+ """
210
+ Validate model input data.
211
+
212
+ Context7 Pattern: Kedro node with validation
213
+ """
214
+ # Schema validation
215
+ expected_columns = ["feature1", "feature2", "feature3", "target"]
216
+ assert all(col in data.columns for col in expected_columns)
217
+
218
+ # Statistical validation
219
+ for col in ["feature1", "feature2", "feature3"]:
220
+ # Check for outliers (3 sigma rule)
221
+ mean = data[col].mean()
222
+ std = data[col].std()
223
+ outliers = data[(data[col] < mean - 3*std) | (data[col] > mean + 3*std)]
224
+
225
+ if len(outliers) > len(data) * 0.01: # More than 1% outliers
226
+ logger.warning(f"{col}: {len(outliers)} outliers detected")
227
+
228
+ return data
229
+ ```
230
+
231
+ ### dbt Data Testing
232
+
233
+ ```sql
234
+ -- models/schema.yml
235
+ version: 2
236
+
237
+ models:
238
+ - name: fct_orders
239
+ description: "Orders fact table"
240
+ columns:
241
+ - name: order_id
242
+ description: "Primary key"
243
+ tests:
244
+ - unique
245
+ - not_null
246
+
247
+ - name: customer_id
248
+ description: "Foreign key to customers"
249
+ tests:
250
+ - not_null
251
+ - relationships:
252
+ to: ref('dim_customers')
253
+ field: customer_id
254
+
255
+ - name: order_total
256
+ description: "Order total amount"
257
+ tests:
258
+ - not_null
259
+ - dbt_utils.accepted_range:
260
+ min_value: 0
261
+ inclusive: true
262
+
263
+ - name: order_date
264
+ description: "Order timestamp"
265
+ tests:
266
+ - not_null
267
+ - dbt_utils.expression_is_true:
268
+ expression: "order_date <= current_date"
269
+ ```
270
+
271
+ ## Data Quality Metrics
272
+
273
+ ### 1. Completeness Metrics
274
+
275
+ ```python
276
+ def calculate_completeness(df: pd.DataFrame) -> Dict:
277
+ """Calculate completeness metrics."""
278
+ total_cells = df.size
279
+ null_cells = df.isnull().sum().sum()
280
+ completeness = (total_cells - null_cells) / total_cells * 100
281
+
282
+ return {
283
+ "overall_completeness_pct": completeness,
284
+ "total_cells": total_cells,
285
+ "null_cells": null_cells,
286
+ "column_completeness": (
287
+ (1 - df.isnull().sum() / len(df)) * 100
288
+ ).to_dict()
289
+ }
290
+ ```
291
+
292
+ ### 2. Validity Metrics
293
+
294
+ ```python
295
+ def calculate_validity(df: pd.DataFrame, rules: Dict) -> Dict:
296
+ """
297
+ Calculate validity metrics based on rules.
298
+
299
+ Args:
300
+ df: DataFrame to validate
301
+ rules: Dict of validation rules per column
302
+
303
+ Returns:
304
+ Dict with validity metrics
305
+ """
306
+ validity_metrics = {}
307
+
308
+ for column, rule in rules.items():
309
+ if rule["type"] == "range":
310
+ valid = df[column].between(rule["min"], rule["max"])
311
+ elif rule["type"] == "regex":
312
+ valid = df[column].str.match(rule["pattern"])
313
+ elif rule["type"] == "categorical":
314
+ valid = df[column].isin(rule["allowed_values"])
315
+
316
+ validity_pct = (valid.sum() / len(df)) * 100
317
+ validity_metrics[column] = {
318
+ "validity_pct": validity_pct,
319
+ "invalid_count": (~valid).sum(),
320
+ }
321
+
322
+ return validity_metrics
323
+ ```
324
+
325
+ ## Enforcement Guidelines
326
+
327
+ ### 1. Pre-Processing Validation
328
+
329
+ - Validate data immediately after extraction
330
+ - Check schema, types, and required fields
331
+ - Log validation results
332
+
333
+ ### 2. In-Process Validation
334
+
335
+ - Validate transformations preserve data quality
336
+ - Check aggregation results
337
+ - Verify join operations don't create duplicates
338
+
339
+ ### 3. Post-Processing Validation
340
+
341
+ - Validate final output before loading
342
+ - Check row counts match expectations
343
+ - Verify data completeness
344
+
345
+ ### 4. Monitoring and Alerting
346
+
347
+ ```python
348
+ def alert_on_quality_issues(metrics: Dict, thresholds: Dict) -> None:
349
+ """Alert on data quality issues."""
350
+ for metric, value in metrics.items():
351
+ threshold = thresholds.get(metric)
352
+ if threshold and value < threshold:
353
+ # Send alert (email, Slack, PagerDuty, etc.)
354
+ send_alert(
355
+ severity="high",
356
+ message=f"Data quality alert: {metric} = {value} (threshold: {threshold})",
357
+ metrics=metrics,
358
+ )
359
+ ```
360
+
361
+ ## Testing Requirements
362
+
363
+ - Write unit tests for validation functions
364
+ - Test edge cases (empty data, all nulls, outliers)
365
+ - Include data quality tests in CI/CD pipeline
366
+ - Monitor data quality metrics in production
367
+
368
+ ## Related Resources
369
+
370
+ - Command: `airflow-dag-scaffold.md` - DAG with validation
371
+ - Command: `kafka-pipeline-scaffold.md` - Stream validation
372
+ - Rule: `etl-pipeline-standards.md` - Pipeline best practices
373
+ - Script: `pandas-etl-example.py` - Validation examples