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,793 @@
1
+ ---
2
+ allowed-tools: Bash, Read, Write, LS
3
+ ---
4
+
5
+ # anthropic:optimize
6
+
7
+ Optimize Anthropic Claude API usage with Context7-verified prompt caching, model selection, streaming, and cost reduction strategies.
8
+
9
+ ## Description
10
+
11
+ Comprehensive Claude API optimization following official Anthropic best practices:
12
+ - Prompt caching for 70-90% cost reduction
13
+ - Optimal model selection (Opus, Sonnet, Haiku)
14
+ - Streaming responses for better UX
15
+ - Extended thinking for complex reasoning
16
+ - Batch processing strategies
17
+ - Token usage optimization
18
+ - Rate limiting and retry logic
19
+
20
+ ## Required Documentation Access
21
+
22
+ **MANDATORY:** Before optimization, query Context7 for Anthropic best practices:
23
+
24
+ **Documentation Queries:**
25
+ - `mcp://context7/anthropic/anthropic-sdk-python` - Python SDK patterns and best practices
26
+ - `mcp://context7/anthropic/prompt-caching` - Prompt caching for 70-90% cost reduction
27
+ - `mcp://context7/anthropic/streaming` - Streaming response optimization
28
+ - `mcp://context7/anthropic/extended-thinking` - Extended thinking mode for reasoning
29
+ - `mcp://context7/anthropic/model-selection` - Choosing Opus, Sonnet, or Haiku
30
+ - `mcp://context7/anthropic/batching` - Batch processing strategies
31
+
32
+ **Why This is Required:**
33
+ - Ensures optimization follows official Anthropic documentation
34
+ - Applies proven prompt caching patterns for massive cost reduction
35
+ - Validates model selection strategies
36
+ - Prevents API quota exhaustion
37
+ - Optimizes token usage and costs
38
+ - Implements proper streaming for better UX
39
+
40
+ ## Usage
41
+
42
+ ```bash
43
+ /anthropic:optimize [options]
44
+ ```
45
+
46
+ ## Options
47
+
48
+ - `--scope <caching|model|streaming|thinking|all>` - Optimization scope (default: all)
49
+ - `--analyze-only` - Analyze without applying changes
50
+ - `--output <file>` - Write optimization report
51
+ - `--model <opus|sonnet|haiku>` - Target model for optimization
52
+
53
+ ## Examples
54
+
55
+ ### Full Anthropic Optimization
56
+ ```bash
57
+ /anthropic:optimize
58
+ ```
59
+
60
+ ### Prompt Caching Only
61
+ ```bash
62
+ /anthropic:optimize --scope caching
63
+ ```
64
+
65
+ ### Model Selection Optimization
66
+ ```bash
67
+ /anthropic:optimize --scope model
68
+ ```
69
+
70
+ ### Analyze Current Usage
71
+ ```bash
72
+ /anthropic:optimize --analyze-only --output anthropic-report.md
73
+ ```
74
+
75
+ ## Optimization Categories
76
+
77
+ ### 1. Prompt Caching (Context7-Verified)
78
+
79
+ **Pattern from Context7 (/anthropic/anthropic-sdk-python):**
80
+
81
+ #### Basic Prompt Caching
82
+ ```python
83
+ import anthropic
84
+
85
+ client = anthropic.Anthropic()
86
+
87
+ # Cache static context for reuse
88
+ response = client.messages.create(
89
+ model="claude-3-5-sonnet-20241022",
90
+ max_tokens=1024,
91
+ system=[
92
+ {
93
+ "type": "text",
94
+ "text": "You are an AI assistant tasked with analyzing literary works."
95
+ },
96
+ {
97
+ "type": "text",
98
+ "text": "Here is the full text of Pride and Prejudice:\n<book>" + book_text + "</book>",
99
+ "cache_control": {"type": "ephemeral"}
100
+ }
101
+ ],
102
+ messages=[{
103
+ "role": "user",
104
+ "content": "Analyze the relationship between Mr. Darcy and Elizabeth"
105
+ }]
106
+ )
107
+
108
+ print(response.usage)
109
+ # Usage(input_tokens=150, cache_creation_tokens=50000, cache_read_tokens=0, output_tokens=300)
110
+
111
+ # Second request reuses cache
112
+ response2 = client.messages.create(
113
+ model="claude-3-5-sonnet-20241022",
114
+ max_tokens=1024,
115
+ system=[
116
+ {
117
+ "type": "text",
118
+ "text": "You are an AI assistant tasked with analyzing literary works."
119
+ },
120
+ {
121
+ "type": "text",
122
+ "text": "Here is the full text of Pride and Prejudice:\n<book>" + book_text + "</book>",
123
+ "cache_control": {"type": "ephemeral"}
124
+ }
125
+ ],
126
+ messages=[{
127
+ "role": "user",
128
+ "content": "What are the major themes in this book?"
129
+ }]
130
+ )
131
+
132
+ print(response2.usage)
133
+ # Usage(input_tokens=150, cache_creation_tokens=0, cache_read_tokens=50000, output_tokens=250)
134
+ ```
135
+
136
+ **Cost Impact:**
137
+ - Input tokens: $3 per MTok (Sonnet 3.5)
138
+ - Cache writes: $3.75 per MTok (25% markup)
139
+ - Cache reads: $0.30 per MTok (90% discount)
140
+
141
+ **Example Calculation:**
142
+ - First request: 150 input + 50,000 cache write = $0.00045 + $0.1875 = $0.18795
143
+ - Second request: 150 input + 50,000 cache read = $0.00045 + $0.015 = $0.01545
144
+ - Savings per cached request: 92% reduction
145
+
146
+ **Performance Impact:**
147
+ - Cache lifetime: 5 minutes of inactivity
148
+ - Minimum cacheable tokens: 1024 tokens
149
+ - Maximum cache size: 4 cache breakpoints per request
150
+ - 90% cost reduction for cache reads
151
+
152
+ #### Multi-Turn Conversation Caching
153
+ ```python
154
+ # Agentic tool use with caching
155
+ tools = [
156
+ {
157
+ "name": "get_weather",
158
+ "description": "Get current weather in a location",
159
+ "input_schema": {
160
+ "type": "object",
161
+ "properties": {
162
+ "location": {"type": "string"}
163
+ }
164
+ }
165
+ },
166
+ # ... 20+ more tools
167
+ ]
168
+
169
+ message_list = [
170
+ {"role": "user", "content": "What's the weather in San Francisco?"}
171
+ ]
172
+
173
+ response = client.messages.create(
174
+ model="claude-3-5-sonnet-20241022",
175
+ max_tokens=1024,
176
+ tools=tools,
177
+ messages=message_list,
178
+ system=[
179
+ {
180
+ "type": "text",
181
+ "text": "You are a helpful assistant with access to weather and other tools.",
182
+ "cache_control": {"type": "ephemeral"}
183
+ }
184
+ ]
185
+ )
186
+
187
+ # Tools and system prompt are cached
188
+ # Subsequent tool calls reuse cache → 90% cheaper
189
+ ```
190
+
191
+ **Benefits:**
192
+ - Agentic workflows: Cache tool definitions across turns
193
+ - Long documents: Cache book/docs once, query many times
194
+ - Detailed instructions: Cache complex system prompts
195
+ - Code repositories: Cache codebase context
196
+
197
+ **Best Practices:**
198
+ - Place cache_control at END of content to cache
199
+ - Cache blocks ≥1024 tokens for cost effectiveness
200
+ - Structure prompts with static content first
201
+ - Use for repetitive queries against same context
202
+
203
+ ### 2. Model Selection (Context7-Verified)
204
+
205
+ **Pattern from Context7 (/anthropic/anthropic-sdk-python):**
206
+
207
+ #### Intelligent Model Routing
208
+ ```python
209
+ # Model characteristics (as of 2025)
210
+ MODELS = {
211
+ "claude-opus-4-20250514": {
212
+ "cost_input": 15.00, # per MTok
213
+ "cost_output": 75.00, # per MTok
214
+ "intelligence": "highest",
215
+ "speed": "slowest",
216
+ "use_cases": ["complex reasoning", "advanced coding", "nuanced analysis"]
217
+ },
218
+ "claude-3-5-sonnet-20241022": {
219
+ "cost_input": 3.00,
220
+ "cost_output": 15.00,
221
+ "intelligence": "high",
222
+ "speed": "fast",
223
+ "use_cases": ["general tasks", "code generation", "balanced performance"]
224
+ },
225
+ "claude-3-5-haiku-20241022": {
226
+ "cost_input": 0.80,
227
+ "cost_output": 4.00,
228
+ "intelligence": "good",
229
+ "speed": "fastest",
230
+ "use_cases": ["simple tasks", "classification", "high-volume processing"]
231
+ }
232
+ }
233
+
234
+ def select_model(task_complexity: str, volume: str) -> str:
235
+ """Route to optimal model based on task requirements."""
236
+
237
+ if task_complexity == "high" and volume == "low":
238
+ return "claude-opus-4-20250514" # Best quality
239
+
240
+ elif task_complexity == "medium" or volume == "medium":
241
+ return "claude-3-5-sonnet-20241022" # Balanced
242
+
243
+ elif task_complexity == "low" or volume == "high":
244
+ return "claude-3-5-haiku-20241022" # Fast and cheap
245
+
246
+ # Default to Sonnet for unknown cases
247
+ return "claude-3-5-sonnet-20241022"
248
+
249
+ # Example usage
250
+ task = {
251
+ "complexity": "low", # Simple classification
252
+ "volume": "high", # 10,000 requests/day
253
+ "type": "sentiment_analysis"
254
+ }
255
+
256
+ model = select_model(task["complexity"], task["volume"])
257
+ # Returns: claude-3-5-haiku-20241022
258
+
259
+ response = client.messages.create(
260
+ model=model,
261
+ max_tokens=50,
262
+ messages=[{
263
+ "role": "user",
264
+ "content": "Classify sentiment: 'I love this product!'"
265
+ }]
266
+ )
267
+ ```
268
+
269
+ **Cost Comparison:**
270
+ - Opus: 10,000 requests × 100 input × 50 output = $1.50 + $3.75 = $52.50/day
271
+ - Sonnet: Same = $0.30 + $0.75 = $10.50/day
272
+ - Haiku: Same = $0.08 + $0.20 = $2.80/day
273
+
274
+ **Recommendation:** Use Haiku for 80% of simple tasks → 94% cost reduction vs Opus
275
+
276
+ ### 3. Streaming Optimization (Context7-Verified)
277
+
278
+ **Pattern from Context7 (/anthropic/anthropic-sdk-python):**
279
+
280
+ #### Text Streaming
281
+ ```python
282
+ from anthropic import Anthropic
283
+
284
+ client = Anthropic()
285
+
286
+ # Stream response for better UX
287
+ with client.messages.stream(
288
+ model="claude-3-5-sonnet-20241022",
289
+ max_tokens=1024,
290
+ messages=[{
291
+ "role": "user",
292
+ "content": "Write a long essay about artificial intelligence"
293
+ }]
294
+ ) as stream:
295
+ for text in stream.text_stream:
296
+ print(text, end="", flush=True)
297
+
298
+ # Access final message and usage
299
+ message = stream.get_final_message()
300
+ print(f"\n\nTokens used: {message.usage.input_tokens} in, {message.usage.output_tokens} out")
301
+ ```
302
+
303
+ **Benefits:**
304
+ - Time to first token: ~500ms vs 5s for full response
305
+ - Progressive rendering for better UX
306
+ - Lower perceived latency
307
+ - Real-time feedback to users
308
+
309
+ #### Streaming with Event Handlers
310
+ ```python
311
+ from anthropic import Anthropic
312
+ from anthropic.types import MessageStreamEvent
313
+
314
+ client = Anthropic()
315
+
316
+ # Custom event handlers
317
+ with client.messages.stream(
318
+ model="claude-3-5-sonnet-20241022",
319
+ max_tokens=1024,
320
+ messages=[{
321
+ "role": "user",
322
+ "content": "Explain quantum computing"
323
+ }]
324
+ ) as stream:
325
+ for event in stream:
326
+ if event.type == "content_block_start":
327
+ print(f"\n[Block {event.index} started]")
328
+
329
+ elif event.type == "content_block_delta":
330
+ print(event.delta.text, end="", flush=True)
331
+
332
+ elif event.type == "message_stop":
333
+ print("\n[Message complete]")
334
+
335
+ # Async streaming
336
+ import asyncio
337
+
338
+ async def async_stream():
339
+ async with client.messages.stream(
340
+ model="claude-3-5-sonnet-20241022",
341
+ max_tokens=1024,
342
+ messages=[{
343
+ "role": "user",
344
+ "content": "Write a story"
345
+ }]
346
+ ) as stream:
347
+ async for text in stream.text_stream:
348
+ print(text, end="", flush=True)
349
+
350
+ asyncio.run(async_stream())
351
+ ```
352
+
353
+ **Performance Impact:**
354
+ - Non-streaming: Full response in 5s, nothing shown until complete
355
+ - Streaming: First token in 500ms, progressive display (10x better perceived latency)
356
+
357
+ ### 4. Extended Thinking (Context7-Verified)
358
+
359
+ **Pattern from Context7 (/anthropic/anthropic-sdk-python):**
360
+
361
+ #### Extended Thinking Mode
362
+ ```python
363
+ # Enable extended thinking for complex reasoning
364
+ response = client.messages.create(
365
+ model="claude-3-7-sonnet-20250219", # Models with extended thinking
366
+ max_tokens=16000,
367
+ thinking={
368
+ "type": "enabled",
369
+ "budget_tokens": 10000 # Allocate tokens for internal reasoning
370
+ },
371
+ messages=[{
372
+ "role": "user",
373
+ "content": """Solve this complex problem:
374
+ A train leaves Station A at 10am going 60mph.
375
+ Another train leaves Station B (300 miles away) at 11am going 80mph toward Station A.
376
+ A bird flies at 100mph between the trains until they meet.
377
+ How far does the bird travel total?"""
378
+ }]
379
+ )
380
+
381
+ # Access thinking content
382
+ for content_block in response.content:
383
+ if content_block.type == "thinking":
384
+ print(f"Internal reasoning:\n{content_block.thinking}")
385
+ elif content_block.type == "text":
386
+ print(f"Final answer:\n{content_block.text}")
387
+
388
+ # Example output:
389
+ # Internal reasoning:
390
+ # Let me work through this step by step...
391
+ # [detailed reasoning process]
392
+ #
393
+ # Final answer:
394
+ # The bird travels 150 miles total.
395
+ ```
396
+
397
+ **When to Use Extended Thinking:**
398
+ - Complex mathematical problems
399
+ - Multi-step reasoning tasks
400
+ - Code debugging and analysis
401
+ - Strategic planning
402
+ - Advanced problem-solving
403
+
404
+ **Benefits:**
405
+ - Significantly improved accuracy on hard problems
406
+ - Transparent reasoning process
407
+ - Better handling of edge cases
408
+ - Reduced hallucinations
409
+
410
+ **Cost Considerations:**
411
+ - Thinking tokens cost same as input tokens
412
+ - Budget 5000-10000 tokens for thinking
413
+ - Only use for tasks requiring deep reasoning
414
+ - Not needed for simple tasks
415
+
416
+ ### 5. Batch Processing (Context7-Verified)
417
+
418
+ **Pattern from Context7:**
419
+
420
+ #### Async Concurrent Requests
421
+ ```python
422
+ import asyncio
423
+ from anthropic import AsyncAnthropic
424
+
425
+ client = AsyncAnthropic()
426
+
427
+ async def process_item(text: str) -> str:
428
+ """Process single item with Claude."""
429
+ response = await client.messages.create(
430
+ model="claude-3-5-haiku-20241022", # Fast model for batch
431
+ max_tokens=100,
432
+ messages=[{
433
+ "role": "user",
434
+ "content": f"Summarize in one sentence: {text}"
435
+ }]
436
+ )
437
+ return response.content[0].text
438
+
439
+ async def process_batch(items: list[str]) -> list[str]:
440
+ """Process batch concurrently."""
441
+ tasks = [process_item(item) for item in items]
442
+ return await asyncio.gather(*tasks)
443
+
444
+ # Process 100 items concurrently
445
+ items = ["Article 1...", "Article 2...", ...] * 100
446
+ results = asyncio.run(process_batch(items))
447
+
448
+ # Performance:
449
+ # Sequential: 100 items × 1s = 100s
450
+ # Concurrent (20 at a time): max(100 × 1s / 20) = 5s (20x faster)
451
+ ```
452
+
453
+ **Rate Limiting for Large Batches:**
454
+ ```python
455
+ import asyncio
456
+ from asyncio import Semaphore
457
+
458
+ async def rate_limited_batch(items: list[str], max_concurrent: int = 50):
459
+ """Process batch with rate limiting."""
460
+ semaphore = Semaphore(max_concurrent)
461
+
462
+ async def process_with_limit(item: str) -> str:
463
+ async with semaphore:
464
+ return await process_item(item)
465
+
466
+ tasks = [process_with_limit(item) for item in items]
467
+ return await asyncio.gather(*tasks)
468
+
469
+ # Process 1000 items with 50 concurrent requests
470
+ results = asyncio.run(rate_limited_batch(items, max_concurrent=50))
471
+ ```
472
+
473
+ **Benefits:**
474
+ - 10-20x faster than sequential
475
+ - Automatic retry on transient errors
476
+ - Efficient use of rate limits
477
+ - Scales to thousands of requests
478
+
479
+ ### 6. Token Optimization (Context7-Verified)
480
+
481
+ **Pattern from Context7:**
482
+
483
+ #### Token Counting
484
+ ```python
485
+ # Anthropic uses tiktoken for token counting
486
+ import tiktoken
487
+
488
+ def count_tokens(text: str, model: str = "claude-3-5-sonnet-20241022") -> int:
489
+ """Count tokens for Anthropic models (uses cl100k_base encoding)."""
490
+ encoding = tiktoken.get_encoding("cl100k_base")
491
+ return len(encoding.encode(text))
492
+
493
+ # Optimize message length
494
+ def optimize_message(text: str, max_tokens: int = 4000) -> str:
495
+ """Truncate message to fit token limit."""
496
+ tokens = count_tokens(text)
497
+
498
+ if tokens <= max_tokens:
499
+ return text
500
+
501
+ # Truncate to fit
502
+ encoding = tiktoken.get_encoding("cl100k_base")
503
+ encoded = encoding.encode(text)
504
+ truncated = encoding.decode(encoded[:max_tokens])
505
+
506
+ return truncated
507
+
508
+ # Usage
509
+ long_text = "..." * 10000
510
+ optimized = optimize_message(long_text, max_tokens=4000)
511
+ print(f"Original: {count_tokens(long_text)} tokens")
512
+ print(f"Optimized: {count_tokens(optimized)} tokens")
513
+ ```
514
+
515
+ **Cost Impact:**
516
+ - Sonnet 3.5: $3 per 1M input tokens
517
+ - Optimizing 10,000 requests from 8K → 4K tokens
518
+ - Savings: $120 per day
519
+
520
+ #### max_tokens Optimization
521
+ ```python
522
+ # Set appropriate output limits
523
+ response = client.messages.create(
524
+ model="claude-3-5-sonnet-20241022",
525
+ max_tokens=150, # Limit response length
526
+ messages=[{
527
+ "role": "user",
528
+ "content": "Summarize in 2-3 sentences: " + article
529
+ }]
530
+ )
531
+
532
+ # Benefits:
533
+ # - Prevents verbose responses
534
+ # - Reduces output costs (5x more expensive than input)
535
+ # - Faster generation
536
+ # - More predictable costs
537
+ ```
538
+
539
+ **Cost Savings:** 60% for responses naturally <150 tokens
540
+
541
+ ### 7. Rate Limiting and Retry Logic (Context7-Verified)
542
+
543
+ **Pattern from Context7:**
544
+
545
+ #### Exponential Backoff
546
+ ```python
547
+ from tenacity import (
548
+ retry,
549
+ stop_after_attempt,
550
+ wait_exponential,
551
+ retry_if_exception_type
552
+ )
553
+ from anthropic import Anthropic, RateLimitError, APIError
554
+
555
+ client = Anthropic()
556
+
557
+ @retry(
558
+ retry=retry_if_exception_type((RateLimitError, APIError)),
559
+ wait=wait_exponential(multiplier=1, min=4, max=60),
560
+ stop=stop_after_attempt(5)
561
+ )
562
+ def get_completion_with_retry(prompt: str) -> str:
563
+ """
564
+ Automatically retry on rate limit errors with exponential backoff.
565
+
566
+ Backoff schedule:
567
+ - Attempt 1: Immediate
568
+ - Attempt 2: 4s wait
569
+ - Attempt 3: 8s wait
570
+ - Attempt 4: 16s wait
571
+ - Attempt 5: 32s wait
572
+ """
573
+ response = client.messages.create(
574
+ model="claude-3-5-sonnet-20241022",
575
+ max_tokens=1024,
576
+ messages=[{
577
+ "role": "user",
578
+ "content": prompt
579
+ }]
580
+ )
581
+ return response.content[0].text
582
+
583
+ # Usage
584
+ try:
585
+ result = get_completion_with_retry("Explain machine learning")
586
+ print(result)
587
+ except Exception as e:
588
+ print(f"Failed after 5 attempts: {e}")
589
+ ```
590
+
591
+ **Benefits:**
592
+ - Automatic retry on transient errors
593
+ - Exponential backoff prevents API hammering
594
+ - 95% success rate even under rate limits
595
+ - No manual error handling needed
596
+
597
+ ## Optimization Output
598
+
599
+ ```
600
+ 🤖 Anthropic Claude API Optimization Analysis
601
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
602
+
603
+ Project: AI Application
604
+ Current Usage: 2M tokens/day input, 500K tokens/day output
605
+ Monthly Cost: $600 (input) + $1500 (output) = $2,100
606
+
607
+ 📊 Current Performance Baseline
608
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
609
+
610
+ Model Usage:
611
+ - Model: claude-opus-4-20250514 (all tasks)
612
+ - Simple tasks: 80% (could use Haiku)
613
+ - Complex tasks: 20%
614
+
615
+ Caching:
616
+ - Cache usage: 0% (no caching)
617
+ - Repetitive context: 60% of requests
618
+
619
+ Request Pattern:
620
+ - Sequential requests: 1,000/day
621
+ - Average latency: 2s per request
622
+ - No streaming
623
+
624
+ ⚡ Prompt Caching Optimization
625
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
626
+
627
+ Current: No caching, full price for every request
628
+ Recommended: Cache static context with cache_control
629
+
630
+ 💡 Impact:
631
+ - First request: Cache write at $3.75/MTok (25% markup)
632
+ - Subsequent requests: Cache read at $0.30/MTok (90% discount)
633
+ - With 60% cache hit rate:
634
+ * Before: $2,100/month
635
+ * After: $450/month (cache writes) + $180/month (cache reads) = $630/month
636
+ * Savings: $1,470/month (70% reduction)
637
+
638
+ Prompt caching configured ✓
639
+
640
+ 🎯 Model Selection Optimization
641
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
642
+
643
+ ⚠️ Using Opus for all tasks (most expensive)
644
+ Current: 1,000 requests/day, all Opus
645
+
646
+ 💡 Recommendations:
647
+ 1. Route 80% simple tasks → Haiku (94% cost reduction)
648
+ 2. Route 15% medium tasks → Sonnet (80% cost reduction)
649
+ 3. Keep 5% complex tasks → Opus
650
+
651
+ Multi-model routing configured ✓
652
+
653
+ ⚡ Impact:
654
+ - 800 Haiku: $0.80 input + $4.00 output = $38.40/day
655
+ - 150 Sonnet: $3.00 input + $15.00 output = $54/day
656
+ - 50 Opus: $15.00 input + $75.00 output = $90/day
657
+ - Total: $182.40/day = $5,472/month
658
+ - Before optimization: $31,500/month
659
+ - Savings: $26,028/month (83% reduction)
660
+
661
+ 🌊 Streaming Optimization
662
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
663
+
664
+ ⚠️ Using non-streaming responses
665
+ Time to first token: 2s (full response wait)
666
+
667
+ 💡 Recommendation: Enable streaming for long responses
668
+
669
+ ⚡ Impact:
670
+ - Time to first token: 2s → 500ms (4x faster perceived)
671
+ - Better UX: Progressive rendering
672
+ - Reduced user wait time: 75%
673
+
674
+ Streaming configured ✓
675
+
676
+ 🧠 Extended Thinking Optimization
677
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
678
+
679
+ Recommendation: Use extended thinking for 5% complex tasks
680
+
681
+ ⚡ Impact:
682
+ - Accuracy improvement: 30-50% on hard problems
683
+ - Reduced hallucinations: 40%
684
+ - Cost: Additional 5000-10000 thinking tokens per request
685
+ - Only for tasks requiring deep reasoning
686
+
687
+ 🎯 Summary
688
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
689
+
690
+ Total Optimizations: 15
691
+
692
+ 🔴 Critical: 4 (caching, model selection, streaming, batching)
693
+ 🟡 High Impact: 7 (token optimization, retry logic, thinking)
694
+ 🟢 Low Impact: 4 (monitoring, logging)
695
+
696
+ Performance Improvements:
697
+
698
+ Latency:
699
+ - Time to first token: 2s → 500ms (4x faster)
700
+ - Sequential processing: 33 min/day → 1.7 min/day (20x faster)
701
+ - Cache reads: Instant (90% discount)
702
+
703
+ Cost Savings:
704
+ - Prompt caching: $1,470/month (70% reduction)
705
+ - Model selection: $26,028/month (83% reduction)
706
+ - Token optimization: $360/month (30% reduction)
707
+ - Total monthly savings: $27,858 (93% reduction)
708
+ - New monthly cost: $2,100 → $242
709
+
710
+ Quality:
711
+ - Extended thinking: 30-50% accuracy improvement on complex tasks
712
+ - Hallucinations: 40% reduction
713
+ - Success rate: 95%+ with retry logic
714
+
715
+ Run with --apply to implement optimizations
716
+ ```
717
+
718
+ ## Implementation
719
+
720
+ This command uses the **@anthropic-claude-expert** agent with optimization expertise:
721
+
722
+ 1. Query Context7 for Anthropic optimization patterns
723
+ 2. Analyze current API usage patterns
724
+ 3. Identify caching opportunities
725
+ 4. Configure model routing
726
+ 5. Implement streaming
727
+ 6. Setup rate limiting
728
+ 7. Generate optimized code
729
+
730
+ ## Best Practices Applied
731
+
732
+ Based on Context7 documentation from `/anthropic/anthropic-sdk-python`:
733
+
734
+ 1. **Prompt Caching** - 70-90% cost reduction for repetitive context
735
+ 2. **Model Selection** - Use Haiku for 80% of tasks (94% cheaper than Opus)
736
+ 3. **Streaming** - 4x faster perceived latency
737
+ 4. **Extended Thinking** - 30-50% accuracy improvement on complex tasks
738
+ 5. **Batch Processing** - 20x faster with async concurrency
739
+ 6. **Token Optimization** - 30% cost reduction
740
+ 7. **Exponential Backoff** - 95% success rate under rate limits
741
+
742
+ ## Related Commands
743
+
744
+ - `/openai:optimize` - OpenAI API optimization
745
+ - `/rag:optimize` - RAG system optimization
746
+ - `/llm:optimize` - General LLM optimization
747
+
748
+ ## Troubleshooting
749
+
750
+ ### High Costs
751
+ - Enable prompt caching (70-90% reduction)
752
+ - Route simple tasks to Haiku (94% cheaper)
753
+ - Use Sonnet instead of Opus (80% cheaper)
754
+ - Optimize max_tokens limits
755
+
756
+ ### Slow Responses
757
+ - Enable streaming (4x faster perceived latency)
758
+ - Use Haiku for fast responses
759
+ - Implement async batch processing
760
+
761
+ ### Low Accuracy
762
+ - Use Opus for complex tasks
763
+ - Enable extended thinking mode
764
+ - Increase max_tokens for reasoning
765
+ - Use prompt caching to maintain context
766
+
767
+ ### Rate Limit Errors
768
+ - Implement exponential backoff with tenacity
769
+ - Use rate limiting for batch processing
770
+ - Reduce concurrent requests
771
+
772
+ ## Installation
773
+
774
+ ```bash
775
+ # Install Anthropic Python SDK
776
+ pip install anthropic
777
+
778
+ # Install optimization dependencies
779
+ pip install tenacity tiktoken
780
+
781
+ # Install async support
782
+ pip install aiohttp asyncio
783
+ ```
784
+
785
+ ## Version History
786
+
787
+ - v2.0.0 - Initial Schema v2.0 release with Context7 integration
788
+ - Prompt caching patterns for 70-90% cost reduction
789
+ - Multi-model routing (Opus, Sonnet, Haiku)
790
+ - Streaming response optimization
791
+ - Extended thinking mode support
792
+ - Async batch processing patterns
793
+ - Token optimization utilities