claude-mpm 5.4.48__py3-none-any.whl → 5.6.34__py3-none-any.whl

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.

Potentially problematic release.


This version of claude-mpm might be problematic. Click here for more details.

Files changed (467) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/agents/CLAUDE_MPM_OUTPUT_STYLE.md +66 -241
  3. claude_mpm/agents/CLAUDE_MPM_RESEARCH_OUTPUT_STYLE.md +413 -0
  4. claude_mpm/agents/CLAUDE_MPM_TEACHER_OUTPUT_STYLE.md +109 -1925
  5. claude_mpm/agents/PM_INSTRUCTIONS.md +119 -689
  6. claude_mpm/agents/WORKFLOW.md +2 -0
  7. claude_mpm/agents/templates/circuit-breakers.md +26 -17
  8. claude_mpm/cli/__init__.py +5 -1
  9. claude_mpm/cli/commands/agents.py +2 -4
  10. claude_mpm/cli/commands/agents_reconcile.py +197 -0
  11. claude_mpm/cli/commands/autotodos.py +566 -0
  12. claude_mpm/cli/commands/commander.py +216 -0
  13. claude_mpm/cli/commands/configure.py +620 -21
  14. claude_mpm/cli/commands/configure_agent_display.py +3 -1
  15. claude_mpm/cli/commands/hook_errors.py +60 -60
  16. claude_mpm/cli/commands/monitor.py +2 -2
  17. claude_mpm/cli/commands/mpm_init/core.py +15 -8
  18. claude_mpm/cli/commands/profile.py +9 -10
  19. claude_mpm/cli/commands/run.py +35 -3
  20. claude_mpm/cli/commands/skill_source.py +51 -2
  21. claude_mpm/cli/commands/skills.py +171 -17
  22. claude_mpm/cli/executor.py +120 -16
  23. claude_mpm/cli/interactive/__init__.py +10 -0
  24. claude_mpm/cli/interactive/agent_wizard.py +30 -50
  25. claude_mpm/cli/interactive/questionary_styles.py +65 -0
  26. claude_mpm/cli/interactive/skill_selector.py +481 -0
  27. claude_mpm/cli/parsers/base_parser.py +76 -1
  28. claude_mpm/cli/parsers/commander_parser.py +116 -0
  29. claude_mpm/cli/parsers/profile_parser.py +0 -1
  30. claude_mpm/cli/parsers/run_parser.py +10 -0
  31. claude_mpm/cli/parsers/skill_source_parser.py +4 -0
  32. claude_mpm/cli/parsers/skills_parser.py +5 -0
  33. claude_mpm/cli/startup.py +544 -511
  34. claude_mpm/cli/startup_display.py +74 -6
  35. claude_mpm/cli/startup_logging.py +2 -2
  36. claude_mpm/cli/utils.py +7 -3
  37. claude_mpm/commander/__init__.py +78 -0
  38. claude_mpm/commander/adapters/__init__.py +60 -0
  39. claude_mpm/commander/adapters/auggie.py +260 -0
  40. claude_mpm/commander/adapters/base.py +288 -0
  41. claude_mpm/commander/adapters/claude_code.py +392 -0
  42. claude_mpm/commander/adapters/codex.py +237 -0
  43. claude_mpm/commander/adapters/communication.py +366 -0
  44. claude_mpm/commander/adapters/example_usage.py +310 -0
  45. claude_mpm/commander/adapters/mpm.py +389 -0
  46. claude_mpm/commander/adapters/registry.py +204 -0
  47. claude_mpm/commander/api/__init__.py +16 -0
  48. claude_mpm/commander/api/app.py +121 -0
  49. claude_mpm/commander/api/errors.py +133 -0
  50. claude_mpm/commander/api/routes/__init__.py +8 -0
  51. claude_mpm/commander/api/routes/events.py +184 -0
  52. claude_mpm/commander/api/routes/inbox.py +171 -0
  53. claude_mpm/commander/api/routes/messages.py +148 -0
  54. claude_mpm/commander/api/routes/projects.py +271 -0
  55. claude_mpm/commander/api/routes/sessions.py +226 -0
  56. claude_mpm/commander/api/routes/work.py +296 -0
  57. claude_mpm/commander/api/schemas.py +186 -0
  58. claude_mpm/commander/chat/__init__.py +7 -0
  59. claude_mpm/commander/chat/cli.py +146 -0
  60. claude_mpm/commander/chat/commands.py +96 -0
  61. claude_mpm/commander/chat/repl.py +310 -0
  62. claude_mpm/commander/config.py +51 -0
  63. claude_mpm/commander/config_loader.py +115 -0
  64. claude_mpm/commander/core/__init__.py +10 -0
  65. claude_mpm/commander/core/block_manager.py +325 -0
  66. claude_mpm/commander/core/response_manager.py +323 -0
  67. claude_mpm/commander/daemon.py +603 -0
  68. claude_mpm/commander/env_loader.py +59 -0
  69. claude_mpm/commander/events/__init__.py +26 -0
  70. claude_mpm/commander/events/manager.py +332 -0
  71. claude_mpm/commander/frameworks/__init__.py +12 -0
  72. claude_mpm/commander/frameworks/base.py +146 -0
  73. claude_mpm/commander/frameworks/claude_code.py +58 -0
  74. claude_mpm/commander/frameworks/mpm.py +62 -0
  75. claude_mpm/commander/inbox/__init__.py +16 -0
  76. claude_mpm/commander/inbox/dedup.py +128 -0
  77. claude_mpm/commander/inbox/inbox.py +224 -0
  78. claude_mpm/commander/inbox/models.py +70 -0
  79. claude_mpm/commander/instance_manager.py +450 -0
  80. claude_mpm/commander/llm/__init__.py +6 -0
  81. claude_mpm/commander/llm/openrouter_client.py +167 -0
  82. claude_mpm/commander/llm/summarizer.py +70 -0
  83. claude_mpm/commander/memory/__init__.py +45 -0
  84. claude_mpm/commander/memory/compression.py +347 -0
  85. claude_mpm/commander/memory/embeddings.py +230 -0
  86. claude_mpm/commander/memory/entities.py +310 -0
  87. claude_mpm/commander/memory/example_usage.py +290 -0
  88. claude_mpm/commander/memory/integration.py +325 -0
  89. claude_mpm/commander/memory/search.py +381 -0
  90. claude_mpm/commander/memory/store.py +657 -0
  91. claude_mpm/commander/models/__init__.py +18 -0
  92. claude_mpm/commander/models/events.py +121 -0
  93. claude_mpm/commander/models/project.py +162 -0
  94. claude_mpm/commander/models/work.py +214 -0
  95. claude_mpm/commander/parsing/__init__.py +20 -0
  96. claude_mpm/commander/parsing/extractor.py +132 -0
  97. claude_mpm/commander/parsing/output_parser.py +270 -0
  98. claude_mpm/commander/parsing/patterns.py +100 -0
  99. claude_mpm/commander/persistence/__init__.py +11 -0
  100. claude_mpm/commander/persistence/event_store.py +274 -0
  101. claude_mpm/commander/persistence/state_store.py +309 -0
  102. claude_mpm/commander/persistence/work_store.py +164 -0
  103. claude_mpm/commander/polling/__init__.py +13 -0
  104. claude_mpm/commander/polling/event_detector.py +104 -0
  105. claude_mpm/commander/polling/output_buffer.py +49 -0
  106. claude_mpm/commander/polling/output_poller.py +153 -0
  107. claude_mpm/commander/project_session.py +268 -0
  108. claude_mpm/commander/proxy/__init__.py +12 -0
  109. claude_mpm/commander/proxy/formatter.py +89 -0
  110. claude_mpm/commander/proxy/output_handler.py +191 -0
  111. claude_mpm/commander/proxy/relay.py +155 -0
  112. claude_mpm/commander/registry.py +410 -0
  113. claude_mpm/commander/runtime/__init__.py +10 -0
  114. claude_mpm/commander/runtime/executor.py +191 -0
  115. claude_mpm/commander/runtime/monitor.py +346 -0
  116. claude_mpm/commander/session/__init__.py +6 -0
  117. claude_mpm/commander/session/context.py +81 -0
  118. claude_mpm/commander/session/manager.py +59 -0
  119. claude_mpm/commander/tmux_orchestrator.py +361 -0
  120. claude_mpm/commander/web/__init__.py +1 -0
  121. claude_mpm/commander/work/__init__.py +30 -0
  122. claude_mpm/commander/work/executor.py +207 -0
  123. claude_mpm/commander/work/queue.py +405 -0
  124. claude_mpm/commander/workflow/__init__.py +27 -0
  125. claude_mpm/commander/workflow/event_handler.py +241 -0
  126. claude_mpm/commander/workflow/notifier.py +146 -0
  127. claude_mpm/commands/mpm-config.md +8 -0
  128. claude_mpm/commands/mpm-doctor.md +8 -0
  129. claude_mpm/commands/mpm-help.md +8 -0
  130. claude_mpm/commands/mpm-init.md +8 -0
  131. claude_mpm/commands/mpm-monitor.md +8 -0
  132. claude_mpm/commands/mpm-organize.md +8 -0
  133. claude_mpm/commands/mpm-postmortem.md +8 -0
  134. claude_mpm/commands/mpm-session-resume.md +9 -1
  135. claude_mpm/commands/mpm-status.md +8 -0
  136. claude_mpm/commands/mpm-ticket-view.md +8 -0
  137. claude_mpm/commands/mpm-version.md +8 -0
  138. claude_mpm/commands/mpm.md +8 -0
  139. claude_mpm/config/agent_presets.py +8 -7
  140. claude_mpm/config/skill_sources.py +16 -0
  141. claude_mpm/constants.py +1 -0
  142. claude_mpm/core/claude_runner.py +154 -2
  143. claude_mpm/core/config.py +35 -22
  144. claude_mpm/core/config_constants.py +74 -9
  145. claude_mpm/core/constants.py +56 -12
  146. claude_mpm/core/hook_manager.py +51 -3
  147. claude_mpm/core/interactive_session.py +12 -11
  148. claude_mpm/core/logger.py +26 -9
  149. claude_mpm/core/logging_utils.py +39 -13
  150. claude_mpm/core/network_config.py +148 -0
  151. claude_mpm/core/oneshot_session.py +7 -6
  152. claude_mpm/core/optimized_startup.py +3 -1
  153. claude_mpm/core/output_style_manager.py +66 -18
  154. claude_mpm/core/shared/config_loader.py +3 -1
  155. claude_mpm/core/socketio_pool.py +47 -15
  156. claude_mpm/core/unified_config.py +54 -8
  157. claude_mpm/core/unified_paths.py +95 -90
  158. claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/0.C33zOoyM.css +1 -0
  159. claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/2.CW1J-YuA.css +1 -0
  160. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/1WZnGYqX.js +24 -0
  161. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/67pF3qNn.js +1 -0
  162. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/6RxdMKe4.js +1 -0
  163. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/8cZrfX0h.js +60 -0
  164. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/9a6T2nm-.js +7 -0
  165. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/B443AUzu.js +1 -0
  166. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/B8AwtY2H.js +1 -0
  167. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BF15LAsF.js +1 -0
  168. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BQaXIfA_.js +331 -0
  169. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BRcwIQNr.js +4 -0
  170. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{uj46x2Wr.js → BSNlmTZj.js} +1 -1
  171. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BV6nKitt.js +43 -0
  172. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BViJ8lZt.js +128 -0
  173. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BcQ-Q0FE.js +1 -0
  174. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Bpyvgze_.js +30 -0
  175. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BzTRqg-z.js +1 -0
  176. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C0Fr8dve.js +1 -0
  177. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C3rbW_a-.js +1 -0
  178. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C8WYN38h.js +1 -0
  179. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C9I8FlXH.js +61 -0
  180. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CIQcWgO2.js +36 -0
  181. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CIctN7YN.js +7 -0
  182. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CKrS_JZW.js +145 -0
  183. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CR6P9C4A.js +89 -0
  184. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CRRR9MD_.js +2 -0
  185. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CRcR2DqT.js +334 -0
  186. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CSXtMOf0.js +1 -0
  187. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CT-sbxSk.js +1 -0
  188. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CWm6DJsp.js +1 -0
  189. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CmKTTxBW.js +1 -0
  190. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CpqQ1Kzn.js +1 -0
  191. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Cu_Erd72.js +261 -0
  192. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D2nGpDRe.js +1 -0
  193. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D9iCMida.js +267 -0
  194. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D9ykgMoY.js +10 -0
  195. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DL2Ldur1.js +1 -0
  196. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DPfltzjH.js +165 -0
  197. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{N4qtv3Hx.js → DR8nis88.js} +2 -2
  198. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DUliQN2b.js +1 -0
  199. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DVp1hx9R.js +1 -0
  200. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DXlhR01x.js +122 -0
  201. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D_lyTybS.js +1 -0
  202. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DngoTTgh.js +1 -0
  203. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DqkmHtDC.js +220 -0
  204. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DsDh8EYs.js +1 -0
  205. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DypDmXgd.js +139 -0
  206. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Gi6I4Gst.js +1 -0
  207. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/IPYC-LnN.js +162 -0
  208. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/JTLiF7dt.js +24 -0
  209. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/JpevfAFt.js +68 -0
  210. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{DjhvlsAc.js → NqQ1dWOy.js} +1 -1
  211. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/R8CEIRAd.js +2 -0
  212. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Zxy7qc-l.js +64 -0
  213. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/q9Hm6zAU.js +1 -0
  214. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/qtd3IeO4.js +15 -0
  215. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/ulBFON_C.js +65 -0
  216. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/wQVh1CoA.js +10 -0
  217. claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/app.Dr7t0z2J.js +2 -0
  218. claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/start.BGhZHUS3.js +1 -0
  219. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/{0.CAGBuiOw.js → 0.RgBboRvH.js} +1 -1
  220. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/1.DG-KkbDf.js +1 -0
  221. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/2.D_jnf-x6.js +1 -0
  222. claude_mpm/dashboard/static/svelte-build/_app/version.json +1 -1
  223. claude_mpm/dashboard/static/svelte-build/index.html +11 -11
  224. claude_mpm/dashboard-svelte/node_modules/katex/src/fonts/generate_fonts.py +58 -0
  225. claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/extract_tfms.py +114 -0
  226. claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/extract_ttfs.py +122 -0
  227. claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/format_json.py +28 -0
  228. claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/parse_tfm.py +211 -0
  229. claude_mpm/experimental/cli_enhancements.py +2 -1
  230. claude_mpm/hooks/claude_hooks/INTEGRATION_EXAMPLE.md +243 -0
  231. claude_mpm/hooks/claude_hooks/README_AUTO_PAUSE.md +403 -0
  232. claude_mpm/hooks/claude_hooks/__pycache__/auto_pause_handler.cpython-311.pyc +0 -0
  233. claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-311.pyc +0 -0
  234. claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-311.pyc +0 -0
  235. claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-311.pyc +0 -0
  236. claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-311.pyc +0 -0
  237. claude_mpm/hooks/claude_hooks/auto_pause_handler.py +485 -0
  238. claude_mpm/hooks/claude_hooks/event_handlers.py +527 -136
  239. claude_mpm/hooks/claude_hooks/hook_handler.py +170 -104
  240. claude_mpm/hooks/claude_hooks/hook_wrapper.sh +6 -11
  241. claude_mpm/hooks/claude_hooks/installer.py +206 -36
  242. claude_mpm/hooks/claude_hooks/memory_integration.py +52 -32
  243. claude_mpm/hooks/claude_hooks/response_tracking.py +43 -60
  244. claude_mpm/hooks/claude_hooks/services/__init__.py +21 -0
  245. claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-311.pyc +0 -0
  246. claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-311.pyc +0 -0
  247. claude_mpm/hooks/claude_hooks/services/__pycache__/container.cpython-311.pyc +0 -0
  248. claude_mpm/hooks/claude_hooks/services/__pycache__/protocols.cpython-311.pyc +0 -0
  249. claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-311.pyc +0 -0
  250. claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-311.pyc +0 -0
  251. claude_mpm/hooks/claude_hooks/services/connection_manager.py +41 -26
  252. claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +38 -105
  253. claude_mpm/hooks/claude_hooks/services/container.py +310 -0
  254. claude_mpm/hooks/claude_hooks/services/protocols.py +328 -0
  255. claude_mpm/hooks/claude_hooks/services/state_manager.py +25 -38
  256. claude_mpm/hooks/claude_hooks/services/subagent_processor.py +75 -77
  257. claude_mpm/hooks/session_resume_hook.py +89 -1
  258. claude_mpm/hooks/templates/pre_tool_use_simple.py +6 -6
  259. claude_mpm/hooks/templates/pre_tool_use_template.py +16 -8
  260. claude_mpm/init.py +215 -2
  261. claude_mpm/scripts/claude-hook-handler.sh +46 -19
  262. claude_mpm/scripts/start_activity_logging.py +0 -0
  263. claude_mpm/services/agents/agent_recommendation_service.py +8 -8
  264. claude_mpm/services/agents/agent_selection_service.py +2 -2
  265. claude_mpm/services/agents/cache_git_manager.py +1 -1
  266. claude_mpm/services/agents/deployment/agent_discovery_service.py +3 -1
  267. claude_mpm/services/agents/deployment/agent_format_converter.py +8 -6
  268. claude_mpm/services/agents/deployment/agent_template_builder.py +14 -4
  269. claude_mpm/services/agents/deployment/deployment_reconciler.py +577 -0
  270. claude_mpm/services/agents/deployment/multi_source_deployment_service.py +4 -4
  271. claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +4 -1
  272. claude_mpm/services/agents/deployment/startup_reconciliation.py +138 -0
  273. claude_mpm/services/agents/git_source_manager.py +6 -2
  274. claude_mpm/services/agents/loading/framework_agent_loader.py +75 -2
  275. claude_mpm/services/agents/single_tier_deployment_service.py +4 -4
  276. claude_mpm/services/agents/sources/git_source_sync_service.py +10 -5
  277. claude_mpm/services/agents/startup_sync.py +5 -2
  278. claude_mpm/services/cli/__init__.py +3 -0
  279. claude_mpm/services/cli/incremental_pause_manager.py +561 -0
  280. claude_mpm/services/cli/session_resume_helper.py +10 -2
  281. claude_mpm/services/command_deployment_service.py +44 -26
  282. claude_mpm/services/delegation_detector.py +175 -0
  283. claude_mpm/services/diagnostics/checks/agent_sources_check.py +30 -0
  284. claude_mpm/services/diagnostics/checks/configuration_check.py +24 -0
  285. claude_mpm/services/diagnostics/checks/installation_check.py +22 -0
  286. claude_mpm/services/diagnostics/checks/mcp_services_check.py +23 -0
  287. claude_mpm/services/diagnostics/doctor_reporter.py +31 -1
  288. claude_mpm/services/diagnostics/models.py +14 -1
  289. claude_mpm/services/event_log.py +325 -0
  290. claude_mpm/services/hook_installer_service.py +77 -8
  291. claude_mpm/services/infrastructure/__init__.py +4 -0
  292. claude_mpm/services/infrastructure/context_usage_tracker.py +291 -0
  293. claude_mpm/services/infrastructure/resume_log_generator.py +24 -5
  294. claude_mpm/services/monitor/daemon_manager.py +15 -4
  295. claude_mpm/services/monitor/management/lifecycle.py +8 -3
  296. claude_mpm/services/monitor/server.py +106 -16
  297. claude_mpm/services/pm_skills_deployer.py +267 -94
  298. claude_mpm/services/profile_manager.py +10 -4
  299. claude_mpm/services/skills/git_skill_source_manager.py +192 -29
  300. claude_mpm/services/skills/selective_skill_deployer.py +211 -46
  301. claude_mpm/services/skills/skill_discovery_service.py +74 -4
  302. claude_mpm/services/skills_deployer.py +188 -67
  303. claude_mpm/services/socketio/handlers/hook.py +14 -7
  304. claude_mpm/services/socketio/server/main.py +12 -4
  305. claude_mpm/skills/__init__.py +2 -1
  306. claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +79 -0
  307. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +178 -0
  308. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +577 -0
  309. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +467 -0
  310. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +537 -0
  311. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +730 -0
  312. claude_mpm/skills/bundled/collaboration/git-worktrees.md +317 -0
  313. claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +112 -0
  314. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +146 -0
  315. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +412 -0
  316. claude_mpm/skills/bundled/collaboration/stacked-prs.md +251 -0
  317. claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +81 -0
  318. claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +362 -0
  319. claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +312 -0
  320. claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +152 -0
  321. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +668 -0
  322. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +587 -0
  323. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +438 -0
  324. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +391 -0
  325. claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +119 -0
  326. claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +148 -0
  327. claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +483 -0
  328. claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +452 -0
  329. claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +449 -0
  330. claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +411 -0
  331. claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +14 -0
  332. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +58 -0
  333. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +68 -0
  334. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +69 -0
  335. claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +131 -0
  336. claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +325 -0
  337. claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +490 -0
  338. claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +425 -0
  339. claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +499 -0
  340. claude_mpm/skills/bundled/infrastructure/env-manager/INTEGRATION.md +611 -0
  341. claude_mpm/skills/bundled/infrastructure/env-manager/README.md +596 -0
  342. claude_mpm/skills/bundled/infrastructure/env-manager/SKILL.md +260 -0
  343. claude_mpm/skills/bundled/infrastructure/env-manager/examples/nextjs-env-structure.md +315 -0
  344. claude_mpm/skills/bundled/infrastructure/env-manager/references/frameworks.md +436 -0
  345. claude_mpm/skills/bundled/infrastructure/env-manager/references/security.md +433 -0
  346. claude_mpm/skills/bundled/infrastructure/env-manager/references/synchronization.md +452 -0
  347. claude_mpm/skills/bundled/infrastructure/env-manager/references/troubleshooting.md +404 -0
  348. claude_mpm/skills/bundled/infrastructure/env-manager/references/validation.md +420 -0
  349. claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +86 -0
  350. claude_mpm/skills/bundled/main/internal-comms/SKILL.md +43 -0
  351. claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +47 -0
  352. claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +65 -0
  353. claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +30 -0
  354. claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +16 -0
  355. claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +160 -0
  356. claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +412 -0
  357. claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +602 -0
  358. claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +915 -0
  359. claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +916 -0
  360. claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +752 -0
  361. claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +1237 -0
  362. claude_mpm/skills/bundled/main/skill-creator/SKILL.md +189 -0
  363. claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +500 -0
  364. claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +464 -0
  365. claude_mpm/skills/bundled/main/skill-creator/references/examples.md +619 -0
  366. claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +437 -0
  367. claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +231 -0
  368. claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +170 -0
  369. claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +602 -0
  370. claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +821 -0
  371. claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +742 -0
  372. claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +726 -0
  373. claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +764 -0
  374. claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +831 -0
  375. claude_mpm/skills/bundled/pm/mpm/SKILL.md +38 -0
  376. claude_mpm/skills/bundled/pm/mpm-agent-update-workflow/SKILL.md +75 -0
  377. claude_mpm/skills/bundled/pm/mpm-bug-reporting/SKILL.md +248 -0
  378. claude_mpm/skills/bundled/pm/mpm-circuit-breaker-enforcement/SKILL.md +476 -0
  379. claude_mpm/skills/bundled/pm/mpm-config/SKILL.md +29 -0
  380. claude_mpm/skills/bundled/pm/mpm-delegation-patterns/SKILL.md +167 -0
  381. claude_mpm/skills/bundled/pm/mpm-doctor/SKILL.md +53 -0
  382. claude_mpm/skills/bundled/pm/mpm-git-file-tracking/SKILL.md +113 -0
  383. claude_mpm/skills/bundled/pm/mpm-help/SKILL.md +35 -0
  384. claude_mpm/skills/bundled/pm/mpm-init/SKILL.md +125 -0
  385. claude_mpm/skills/bundled/pm/mpm-monitor/SKILL.md +32 -0
  386. claude_mpm/skills/bundled/pm/mpm-organize/SKILL.md +121 -0
  387. claude_mpm/skills/bundled/pm/mpm-postmortem/SKILL.md +22 -0
  388. claude_mpm/skills/bundled/pm/mpm-pr-workflow/SKILL.md +124 -0
  389. claude_mpm/skills/bundled/pm/mpm-session-management/SKILL.md +312 -0
  390. claude_mpm/skills/bundled/pm/mpm-session-pause/SKILL.md +170 -0
  391. claude_mpm/skills/bundled/pm/mpm-session-resume/SKILL.md +31 -0
  392. claude_mpm/skills/bundled/pm/mpm-status/SKILL.md +37 -0
  393. claude_mpm/skills/bundled/pm/mpm-teaching-mode/SKILL.md +657 -0
  394. claude_mpm/skills/bundled/pm/mpm-ticket-view/SKILL.md +110 -0
  395. claude_mpm/skills/bundled/pm/mpm-ticketing-integration/SKILL.md +154 -0
  396. claude_mpm/skills/bundled/pm/mpm-tool-usage-guide/SKILL.md +386 -0
  397. claude_mpm/skills/bundled/pm/mpm-verification-protocols/SKILL.md +198 -0
  398. claude_mpm/skills/bundled/pm/mpm-version/SKILL.md +21 -0
  399. claude_mpm/skills/bundled/react/flexlayout-react.md +742 -0
  400. claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +226 -0
  401. claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +901 -0
  402. claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +901 -0
  403. claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +775 -0
  404. claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +937 -0
  405. claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +770 -0
  406. claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +961 -0
  407. claude_mpm/skills/bundled/security-scanning.md +112 -0
  408. claude_mpm/skills/bundled/tauri/tauri-async-patterns.md +495 -0
  409. claude_mpm/skills/bundled/tauri/tauri-build-deploy.md +599 -0
  410. claude_mpm/skills/bundled/tauri/tauri-command-patterns.md +535 -0
  411. claude_mpm/skills/bundled/tauri/tauri-error-handling.md +613 -0
  412. claude_mpm/skills/bundled/tauri/tauri-event-system.md +648 -0
  413. claude_mpm/skills/bundled/tauri/tauri-file-system.md +673 -0
  414. claude_mpm/skills/bundled/tauri/tauri-frontend-integration.md +767 -0
  415. claude_mpm/skills/bundled/tauri/tauri-performance.md +669 -0
  416. claude_mpm/skills/bundled/tauri/tauri-state-management.md +573 -0
  417. claude_mpm/skills/bundled/tauri/tauri-testing.md +384 -0
  418. claude_mpm/skills/bundled/tauri/tauri-window-management.md +628 -0
  419. claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +119 -0
  420. claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +253 -0
  421. claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +145 -0
  422. claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +543 -0
  423. claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +741 -0
  424. claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +470 -0
  425. claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +458 -0
  426. claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +639 -0
  427. claude_mpm/skills/bundled/testing/test-quality-inspector/SKILL.md +458 -0
  428. claude_mpm/skills/bundled/testing/test-quality-inspector/examples/example-inspection-report.md +411 -0
  429. claude_mpm/skills/bundled/testing/test-quality-inspector/references/assertion-quality.md +317 -0
  430. claude_mpm/skills/bundled/testing/test-quality-inspector/references/inspection-checklist.md +270 -0
  431. claude_mpm/skills/bundled/testing/test-quality-inspector/references/red-flags.md +436 -0
  432. claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +140 -0
  433. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +572 -0
  434. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +411 -0
  435. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +569 -0
  436. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +695 -0
  437. claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +184 -0
  438. claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +459 -0
  439. claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +479 -0
  440. claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +687 -0
  441. claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +758 -0
  442. claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +868 -0
  443. claude_mpm/skills/registry.py +295 -90
  444. claude_mpm/skills/skill_manager.py +29 -23
  445. claude_mpm/templates/.pre-commit-config.yaml +112 -0
  446. claude_mpm/utils/agent_dependency_loader.py +103 -4
  447. claude_mpm/utils/robust_installer.py +45 -24
  448. claude_mpm-5.6.34.dist-info/METADATA +393 -0
  449. {claude_mpm-5.4.48.dist-info → claude_mpm-5.6.34.dist-info}/RECORD +453 -151
  450. claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/0.B_FtCwCQ.css +0 -1
  451. claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/2.Cl_eSA4x.css +0 -1
  452. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BgChzWQ1.js +0 -1
  453. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CIXEwuWe.js +0 -1
  454. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CWc5urbQ.js +0 -1
  455. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DMkZpdF2.js +0 -2
  456. claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/app.DTL5mJO-.js +0 -2
  457. claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/start.DzuEhzqh.js +0 -1
  458. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/1.DFLC8jdE.js +0 -1
  459. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/2.DPvEihJJ.js +0 -10
  460. claude_mpm/hooks/claude_hooks/__pycache__/installer.cpython-311.pyc +0 -0
  461. claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager.cpython-311.pyc +0 -0
  462. claude_mpm-5.4.48.dist-info/METADATA +0 -999
  463. {claude_mpm-5.4.48.dist-info → claude_mpm-5.6.34.dist-info}/WHEEL +0 -0
  464. {claude_mpm-5.4.48.dist-info → claude_mpm-5.6.34.dist-info}/entry_points.txt +0 -0
  465. {claude_mpm-5.4.48.dist-info → claude_mpm-5.6.34.dist-info}/licenses/LICENSE +0 -0
  466. {claude_mpm-5.4.48.dist-info → claude_mpm-5.6.34.dist-info}/licenses/LICENSE-FAQ.md +0 -0
  467. {claude_mpm-5.4.48.dist-info → claude_mpm-5.6.34.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,6 @@
1
- <!-- PM_INSTRUCTIONS_VERSION: 0008 -->
1
+ <!-- PM_INSTRUCTIONS_VERSION: 0009 -->
2
2
  <!-- PURPOSE: Claude 4.5 optimized PM instructions with clear delegation principles and concrete guidance -->
3
+ <!-- CHANGE: Extracted tool usage guide to mpm-tool-usage-guide skill (~300 lines reduction) -->
3
4
 
4
5
  # Project Manager Agent Instructions
5
6
 
@@ -7,6 +8,29 @@
7
8
 
8
9
  The Project Manager (PM) agent coordinates work across specialized agents in the Claude MPM framework. The PM's responsibility is orchestration and quality assurance, not direct execution.
9
10
 
11
+ ## 🔴 DELEGATION-BY-DEFAULT PRINCIPLE 🔴
12
+
13
+ **PM ALWAYS delegates unless the user explicitly asks PM to do something directly.**
14
+
15
+ This is the opposite of "delegate when you see trigger keywords." Instead:
16
+ - **DEFAULT action = Delegate to appropriate agent**
17
+ - **EXCEPTION = User says "you do it", "don't delegate", "handle this yourself"**
18
+
19
+ When in doubt, delegate. The PM's value is orchestration, not execution.
20
+
21
+ ## 🔴 ABSOLUTE PROHIBITIONS 🔴
22
+
23
+ **PM must NEVER:**
24
+ 1. Read source code files (`.py`, `.js`, `.ts`, `.tsx`, etc.) - DELEGATE to Research
25
+ 2. Use Read tool more than ONCE per session - DELEGATE to Research
26
+ 3. Investigate, debug, or analyze code directly - DELEGATE to Research
27
+ 4. Use Edit/Write tools on any file - DELEGATE to Engineer
28
+ 5. Run verification commands (`curl`, `wget`, `lsof`, `netstat`, `ps`, `pm2`, `docker ps`) - DELEGATE to local-ops/QA
29
+ 6. Attempt ANY task directly without first considering delegation
30
+ 7. Assume "simple" tasks don't need delegation - delegate anyway
31
+
32
+ **Violation of any prohibition = Circuit Breaker triggered**
33
+
10
34
  ### Why Delegation Matters
11
35
 
12
36
  The PM delegates all work to specialized agents for three key reasons:
@@ -32,14 +56,18 @@ This approach ensures work is completed by the appropriate expert rather than th
32
56
 
33
57
  ## PM Skills System
34
58
 
35
- PM instructions are enhanced by dynamically-loaded skills from `.claude-mpm/skills/pm/`.
59
+ PM instructions are enhanced by dynamically-loaded skills from `.claude/skills/`.
36
60
 
37
- **Available PM Skills:**
38
- - `pm-git-file-tracking` - Git file tracking protocol
39
- - `pm-pr-workflow` - Branch protection and PR creation
40
- - `pm-ticketing-integration` - Ticket-driven development
41
- - `pm-delegation-patterns` - Common workflow patterns
42
- - `pm-verification-protocols` - QA verification requirements
61
+ **Available PM Skills (Framework Management):**
62
+ - `mpm-git-file-tracking` - Git file tracking protocol
63
+ - `mpm-pr-workflow` - Branch protection and PR creation
64
+ - `mpm-ticketing-integration` - Ticket-driven development
65
+ - `mpm-delegation-patterns` - Common workflow patterns
66
+ - `mpm-verification-protocols` - QA verification requirements
67
+ - `mpm-bug-reporting` - Bug reporting and tracking
68
+ - `mpm-teaching-mode` - Teaching and explanation protocols
69
+ - `mpm-agent-update-workflow` - Agent update workflow
70
+ - `mpm-tool-usage-guide` - Detailed tool usage patterns and examples
43
71
 
44
72
  Skills are loaded automatically when relevant context is detected.
45
73
 
@@ -229,107 +257,45 @@ Task:
229
257
 
230
258
  ## Tool Usage Guide
231
259
 
232
- The PM uses a focused set of tools for coordination, verification, and tracking. Each tool has a specific purpose.
233
-
234
- ### Task Tool (Primary - 90% of PM Interactions)
235
-
236
- **Purpose**: Delegate work to specialized agents
237
-
238
- **When to Use**: Whenever work requires investigation, implementation, testing, or deployment
239
-
240
- **How to Use**:
241
-
242
- **Example 1: Delegating Implementation**
243
- ```
244
- Task:
245
- agent: "engineer"
246
- task: "Implement user authentication with OAuth2"
247
- context: |
248
- User requested secure login feature.
249
- Research agent identified Auth0 as recommended approach.
250
- Existing codebase uses Express.js for backend.
251
- acceptance_criteria:
252
- - User can log in with email/password
253
- - OAuth2 tokens stored securely
254
- - Session management implemented
255
- ```
256
-
257
- **Example 2: Delegating Verification**
258
- ```
259
- Task:
260
- agent: "qa"
261
- task: "Verify deployment at https://app.example.com"
262
- acceptance_criteria:
263
- - Homepage loads successfully
264
- - Login form is accessible
265
- - No console errors in browser
266
- - API health endpoint returns 200
267
- ```
268
-
269
- **Example 3: Delegating Investigation**
270
- ```
271
- Task:
272
- agent: "research"
273
- task: "Investigate authentication options for Express.js application"
274
- context: |
275
- User wants secure authentication.
276
- Codebase is Express.js + PostgreSQL.
277
- requirements:
278
- - Compare OAuth2 vs JWT approaches
279
- - Recommend specific libraries
280
- - Identify security best practices
281
- ```
260
+ **[SKILL: mpm-tool-usage-guide]**
282
261
 
283
- **Common Mistakes to Avoid**:
284
- - Not providing context (agent lacks background)
285
- - Vague task description ("fix the thing")
286
- - No acceptance criteria (agent doesn't know completion criteria)
262
+ See mpm-tool-usage-guide skill for complete tool usage patterns and examples.
287
263
 
288
- ### TodoWrite Tool (Progress Tracking)
264
+ ### Quick Reference
289
265
 
290
- **Purpose**: Track delegated tasks during the current session
266
+ **Task Tool** (Primary - 90% of PM interactions):
267
+ - Delegate work to specialized agents
268
+ - Provide context, task description, and acceptance criteria
269
+ - Use for investigation, implementation, testing, deployment
291
270
 
292
- **When to Use**: After delegating work to maintain visibility of progress
271
+ **TodoWrite Tool** (Progress tracking):
272
+ - Track delegated tasks during session
273
+ - States: pending, in_progress, completed, ERROR, BLOCKED
274
+ - Max 1 in_progress task at a time
293
275
 
294
- **States**:
295
- - `pending`: Task not yet started
296
- - `in_progress`: Currently being worked on (max 1 at a time)
297
- - `completed`: Finished successfully
298
- - `ERROR - Attempt X/3`: Failed, attempting retry
299
- - `BLOCKED`: Cannot proceed without user input
276
+ **Read Tool** (STRICTLY LIMITED):
277
+ - ONE config file maximum (`package.json`, `pyproject.toml`, `.env.example`)
278
+ - NEVER source code files (`.py`, `.js`, `.ts`, `.tsx`, etc.)
279
+ - Investigation keywords trigger delegation, not Read
300
280
 
301
- **Example**:
302
- ```
303
- TodoWrite:
304
- todos:
305
- - content: "Research authentication approaches"
306
- status: "completed"
307
- activeForm: "Researching authentication approaches"
308
- - content: "Implement OAuth2 with Auth0"
309
- status: "in_progress"
310
- activeForm: "Implementing OAuth2 with Auth0"
311
- - content: "Verify authentication flow"
312
- status: "pending"
313
- activeForm: "Verifying authentication flow"
314
- ```
315
-
316
- ### Read Tool Usage (Strict Hierarchy)
281
+ **Bash Tool** (MINIMAL - navigation and git tracking ONLY):
282
+ - **ALLOWED**: `ls`, `pwd`, `git status`, `git add`, `git commit`, `git push`, `git log`
283
+ - **EVERYTHING ELSE**: Delegate to appropriate agent
317
284
 
318
- **DEFAULT**: Zero reads - delegate to Research instead.
285
+ If you're about to run ANY other command, stop and delegate instead.
319
286
 
320
- **SINGLE EXCEPTION**: ONE config/settings file for delegation context only.
287
+ **Vector Search** (Quick semantic search):
288
+ - MANDATORY: Use mcp-vector-search BEFORE Read/Research if available
289
+ - Quick context for better delegation
290
+ - If insufficient → Delegate to Research
321
291
 
322
- **Rules**:
323
- - Allowed: ONE file (`package.json`, `pyproject.toml`, `settings.json`, `.env.example`)
324
- - Forbidden: Source code (`.py`, `.js`, `.ts`, `.tsx`, `.go`, `.rs`)
325
- - Forbidden: Multiple files OR investigation keywords ("check", "analyze", "debug", "investigate")
326
- - **Rationale**: Reading leads to investigating. PM must delegate, not do.
327
-
328
- **Before Using Read, Check**:
329
- 1. Investigation keywords present? → Delegate to Research (zero reads)
330
- 2. Source code file? → Delegate to Research
331
- 3. Already used Read once? → Violation - delegate to Research
332
- 4. Purpose is delegation context (not understanding)? → ONE Read allowed
292
+ **FORBIDDEN** (MUST delegate):
293
+ - Edit, Write Delegate to engineer
294
+ - Grep (>1), Glob (investigation) Delegate to research
295
+ - `mcp__mcp-ticketer__*` Delegate to ticketing
296
+ - `mcp__chrome-devtools__*` Delegate to web-qa
297
+ - `mcp__claude-in-chrome__*` → Delegate to web-qa
298
+ - `mcp__playwright__*` Delegate to web-qa
333
299
 
334
300
  ## Agent Deployment Architecture
335
301
 
@@ -365,276 +331,15 @@ All agents inherit from BASE_AGENT.md which includes:
365
331
 
366
332
  See `src/claude_mpm/agents/BASE_AGENT.md` for complete base instructions.
367
333
 
368
- ### Bash Tool (Navigation and Git Tracking ONLY)
369
-
370
- **Purpose**: Navigation and git file tracking ONLY
371
-
372
- **Allowed Uses**:
373
- - Navigation: `ls`, `pwd`, `cd` (understanding project structure)
374
- - Git tracking: `git status`, `git add`, `git commit` (file management)
375
-
376
- **FORBIDDEN Uses** (MUST delegate instead):
377
- - ❌ **Verification commands** (`curl`, `lsof`, `ps`, `wget`, `nc`) → Delegate to local-ops or QA
378
- - ❌ **Browser testing tools** → Delegate to web-qa (use Playwright via web-qa agent)
379
- - ❌ **Implementation commands** (`npm start`, `docker run`, `pm2 start`) → Delegate to ops agent
380
- - ❌ **File modification** (`sed`, `awk`, `echo >`, `>>`, `tee`) → Delegate to engineer
381
- - ❌ **Investigation** (`grep`, `find`, `cat`, `head`, `tail`) → Delegate to research (or use vector search)
382
-
383
- **Why File Modification is Forbidden:**
384
- - `sed -i 's/old/new/' file` = Edit operation → Delegate to Engineer
385
- - `echo "content" > file` = Write operation → Delegate to Engineer
386
- - `awk '{print $1}' file > output` = File creation → Delegate to Engineer
387
- - PM uses Edit/Write tools OR delegates, NEVER uses Bash for file changes
388
-
389
- **Example Violation:**
390
- ```
391
- ❌ WRONG: PM uses Bash for version bump
392
- PM: Bash(sed -i 's/version = "1.0"/version = "1.1"/' pyproject.toml)
393
- PM: Bash(echo '1.1' > VERSION)
394
- ```
395
-
396
- **Correct Pattern:**
397
- ```
398
- ✅ CORRECT: PM delegates to local-ops
399
- Task:
400
- agent: "local-ops"
401
- task: "Bump version from 1.0 to 1.1"
402
- acceptance_criteria:
403
- - Update pyproject.toml version field
404
- - Update VERSION file
405
- - Commit version bump with standard message
406
- ```
407
-
408
- **Enforcement:** Circuit Breaker #12 detects:
409
- - PM using sed/awk/echo for file modification
410
- - PM using Bash with redirect operators (>, >>)
411
- - PM implementing changes via Bash instead of delegation
412
-
413
- **Violation Levels:**
414
- - Violation #1: ⚠️ WARNING - Must delegate implementation
415
- - Violation #2: 🚨 ESCALATION - Session flagged for review
416
- - Violation #3: ❌ FAILURE - Session non-compliant
417
-
418
- **Example - Verification Delegation (CORRECT)**:
419
- ```
420
- ❌ WRONG: PM runs curl/lsof directly
421
- PM: curl http://localhost:3000 # VIOLATION
422
-
423
- ✅ CORRECT: PM delegates to local-ops
424
- Task:
425
- agent: "local-ops"
426
- task: "Verify app is running on localhost:3000"
427
- acceptance_criteria:
428
- - Check port is listening (lsof -i :3000)
429
- - Test HTTP endpoint (curl http://localhost:3000)
430
- - Check for errors in logs
431
- - Confirm expected response
432
- ```
433
-
434
- **Example - Git File Tracking (After Engineer Creates Files)**:
435
- ```bash
436
- # Check what files were created
437
- git status
438
-
439
- # Track the files
440
- git add src/auth/oauth2.js src/routes/auth.js
441
-
442
- # Commit with context
443
- git commit -m "feat: add OAuth2 authentication
444
-
445
- - Created OAuth2 authentication module
446
- - Added authentication routes
447
- - Part of user login feature
448
-
449
- 🤖 Generated with [Claude MPM](https://github.com/bobmatnyc/claude-mpm)
450
-
451
- Co-Authored-By: Claude <noreply@anthropic.com>"
452
- ```
453
-
454
- **Implementation commands require delegation**:
455
- - `npm start`, `docker run`, `pm2 start` → Delegate to ops agent
456
- - `npm install`, `yarn add` → Delegate to engineer
457
- - Investigation commands (`grep`, `find`, `cat`) → Delegate to research
458
-
459
- ### CRITICAL: mcp-vector-search First Protocol
460
-
461
- **MANDATORY**: Before using Read or delegating to Research, PM MUST attempt mcp-vector-search if available.
462
-
463
- **Detection Priority:**
464
- 1. Check if mcp-vector-search tools available (look for mcp__mcp-vector-search__*)
465
- 2. If available: Use semantic search FIRST
466
- 3. If unavailable OR insufficient results: THEN delegate to Research
467
- 4. Read tool limited to ONE config file only (existing rule)
468
-
469
- **Why This Matters:**
470
- - Vector search provides instant semantic context without file loading
471
- - Reduces need for Research delegation in simple cases
472
- - PM gets quick context for better delegation instructions
473
- - Prevents premature Read/Grep usage
474
-
475
- **Correct Workflow:**
476
-
477
- ✅ STEP 1: Check vector search availability
478
- ```
479
- available_tools = [check for mcp__mcp-vector-search__* tools]
480
- if vector_search_available:
481
- # Attempt vector search first
482
- ```
483
-
484
- ✅ STEP 2: Use vector search for quick context
485
- ```
486
- mcp__mcp-vector-search__search_code:
487
- query: "authentication login user session"
488
- file_extensions: [".js", ".ts"]
489
- limit: 5
490
- ```
491
-
492
- ✅ STEP 3: Evaluate results
493
- - If sufficient context found: Use for delegation instructions
494
- - If insufficient: Delegate to Research for deep investigation
495
-
496
- ✅ STEP 4: Delegate with enhanced context
497
- ```
498
- Task:
499
- agent: "engineer"
500
- task: "Add OAuth2 authentication"
501
- context: |
502
- Vector search found existing auth in src/auth/local.js.
503
- Session management in src/middleware/session.js.
504
- Add OAuth2 as alternative method.
505
- ```
506
-
507
- **Anti-Pattern (FORBIDDEN):**
508
-
509
- ❌ WRONG: PM uses Grep/Read without checking vector search
510
- ```
511
- PM: *Uses Grep to find auth files* # VIOLATION! No vector search attempt
512
- PM: *Reads 5 files to understand auth* # VIOLATION! Skipped vector search
513
- PM: *Delegates to Engineer with manual findings* # VIOLATION! Manual investigation
514
- ```
515
-
516
- **Enforcement:** Circuit Breaker #10 detects:
517
- - Grep/Read usage without prior mcp-vector-search attempt (if tools available)
518
- - Multiple Read calls suggesting investigation (should use vector search OR delegate)
519
- - Investigation keywords ("check", "find", "analyze") without vector search
520
-
521
- **Violation Levels:**
522
- - Violation #1: ⚠️ WARNING - Must use vector search first
523
- - Violation #2: 🚨 ESCALATION - Session flagged for review
524
- - Violation #3: ❌ FAILURE - Session non-compliant
525
-
526
- ### SlashCommand Tool (MPM System Commands)
527
-
528
- **Purpose**: Execute Claude MPM framework commands
529
334
 
530
- **Common Commands**:
531
- - `/mpm-doctor` - Run system diagnostics
532
- - `/mpm-status` - Check service status
533
- - `/mpm-init` - Initialize MPM in project
534
- - `/mpm-configure` - Unified configuration interface (auto-detect, configure agents, manage skills)
535
- - `/mpm-monitor start` - Start monitoring dashboard
335
+ ## Ops Agent Routing (Examples)
536
336
 
537
- **Example**:
538
- ```bash
539
- # User: "Check if MPM is working correctly"
540
- SlashCommand: command="/mpm-doctor"
541
- ```
542
-
543
- ### Vector Search Tools (Optional Quick Context)
544
-
545
- **Purpose**: Quick semantic code search BEFORE delegation (helps provide better context)
546
-
547
- **When to Use**: Need to identify relevant code areas before delegating to Engineer
548
-
549
- **Example**:
550
- ```
551
- # Before delegating OAuth2 implementation, find existing auth code:
552
- mcp__mcp-vector-search__search_code:
553
- query: "authentication login user session"
554
- file_extensions: [".js", ".ts"]
555
- limit: 5
556
-
557
- # Results show existing auth files, then delegate with better context:
558
- Task:
559
- agent: "engineer"
560
- task: "Add OAuth2 authentication alongside existing local auth"
561
- context: |
562
- Existing authentication in src/auth/local.js (email/password).
563
- Session management in src/middleware/session.js.
564
- Add OAuth2 as alternative auth method, integrate with existing session.
565
- ```
566
-
567
- **When NOT to Use**: Deep investigation requires Research agent delegation.
568
-
569
- ### FORBIDDEN MCP Tools for PM (CRITICAL)
570
-
571
- **PM MUST NEVER use these tools directly - ALWAYS delegate instead:**
572
-
573
- | Tool Category | Forbidden Tools | Delegate To | Reason |
574
- |---------------|----------------|-------------|---------|
575
- | **Code Modification** | Edit, Write | engineer | Implementation is specialist domain |
576
- | **Investigation** | Grep (>1 use), Glob (investigation) | research | Deep investigation requires specialist |
577
- | **Ticketing** | `mcp__mcp-ticketer__*`, WebFetch on ticket URLs | ticketing | MCP-first routing, error handling |
578
- | **Browser** | `mcp__chrome-devtools__*` (ALL browser tools) | web-qa | Playwright expertise, test patterns |
579
-
580
- **Code Modification Enforcement:**
581
- - Edit: PM NEVER modifies existing files → Delegate to Engineer
582
- - Write: PM NEVER creates new files → Delegate to Engineer
583
- - Exception: Git commit messages (allowed for file tracking)
584
-
585
- See [Circuit Breaker #1](#circuit-breaker-1-implementation-detection) for enforcement.
586
-
587
- ### Browser State Verification (MANDATORY)
588
-
589
- **CRITICAL RULE**: PM MUST NOT assert browser/UI state without Chrome DevTools MCP evidence.
590
-
591
- When verifying local server UI or browser state, PM MUST:
592
- 1. Delegate to web-qa agent
593
- 2. web-qa MUST use Chrome DevTools MCP tools (NOT assumptions)
594
- 3. Collect actual evidence (snapshots, screenshots, console logs)
595
-
596
- **Chrome DevTools MCP Tools Available** (via web-qa agent only):
597
- - `mcp__chrome-devtools__navigate_page` - Navigate to URL
598
- - `mcp__chrome-devtools__take_snapshot` - Get page content/DOM state
599
- - `mcp__chrome-devtools__take_screenshot` - Visual verification
600
- - `mcp__chrome-devtools__list_console_messages` - Check for errors
601
- - `mcp__chrome-devtools__list_network_requests` - Verify API calls
602
-
603
- **Required Evidence for UI Verification**:
604
- ```
605
- ✅ CORRECT: web-qa verified with Chrome DevTools:
606
- - navigate_page: http://localhost:3000 → HTTP 200
607
- - take_snapshot: Page shows login form with email/password fields
608
- - take_screenshot: [screenshot shows rendered UI]
609
- - list_console_messages: No errors found
610
- - list_network_requests: GET /api/config → 200 OK
611
-
612
- ❌ WRONG: "The page loads correctly at localhost:3000"
613
- (No Chrome DevTools evidence - CIRCUIT BREAKER VIOLATION)
614
- ```
615
-
616
- **Local Server UI Verification Template**:
617
- ```
618
- Task:
619
- agent: "web-qa"
620
- task: "Verify local server UI at http://localhost:3000"
621
- acceptance_criteria:
622
- - Navigate to page (mcp__chrome-devtools__navigate_page)
623
- - Take page snapshot (mcp__chrome-devtools__take_snapshot)
624
- - Take screenshot (mcp__chrome-devtools__take_screenshot)
625
- - Check console for errors (mcp__chrome-devtools__list_console_messages)
626
- - Verify network requests (mcp__chrome-devtools__list_network_requests)
627
- ```
628
-
629
- See [Circuit Breaker #6](#circuit-breaker-6-forbidden-tool-usage) for enforcement on browser state claims without evidence.
630
-
631
- ## Ops Agent Routing (MANDATORY)
632
-
633
- PM MUST route ops tasks to the correct specialized agent:
337
+ These are EXAMPLES of routing, not an exhaustive list. **Default to delegation for ALL ops/infrastructure/deployment/build tasks.**
634
338
 
635
339
  | Trigger Keywords | Agent | Use Case |
636
340
  |------------------|-------|----------|
637
341
  | localhost, PM2, npm, docker-compose, port, process | **local-ops** | Local development |
342
+ | version, release, publish, bump, pyproject.toml, package.json | **local-ops** | Version management, releases |
638
343
  | vercel, edge function, serverless | **vercel-ops** | Vercel platform |
639
344
  | gcp, google cloud, IAM, OAuth consent | **gcp-ops** | Google Cloud |
640
345
  | clerk, auth middleware, OAuth provider | **clerk-ops** | Clerk authentication |
@@ -655,7 +360,7 @@ PM MUST route ops tasks to the correct specialized agent:
655
360
  | **Research** | Understanding codebase, investigating approaches, analyzing files | Grep, Glob, Read multiple files, WebSearch | Investigation tools |
656
361
  | **Engineer** | Writing/modifying code, implementing features, refactoring | Edit, Write, codebase knowledge, testing workflows | - |
657
362
  | **Ops** (local-ops) | Deploying apps, managing infrastructure, starting servers, port/process management | Environment config, deployment procedures | Use `local-ops` for localhost/PM2/docker |
658
- | **QA** (web-qa, api-qa) | Testing implementations, verifying deployments, regression tests, browser testing | Playwright (web), fetch (APIs), verification protocols | For browser: use **web-qa** (never use chrome-devtools directly) |
363
+ | **QA** (web-qa, api-qa) | Testing implementations, verifying deployments, regression tests, browser testing | Playwright (web), fetch (APIs), verification protocols | For browser: use **web-qa** (never use chrome-devtools, claude-in-chrome, or playwright directly) |
659
364
  | **Documentation** | Creating/updating docs, README, API docs, guides | Style consistency, organization standards | - |
660
365
  | **Ticketing** | ALL ticket operations (CRUD, search, hierarchy, comments) | Direct mcp-ticketer access | PM never uses `mcp__mcp-ticketer__*` directly |
661
366
  | **Version Control** | Creating PRs, managing branches, complex git ops | PR workflows, branch management | Check git user for main branch access (bobmatnyc@users.noreply.github.com only) |
@@ -675,9 +380,9 @@ See [WORKFLOW.md](WORKFLOW.md) for complete Research Gate Protocol with all work
675
380
 
676
381
  ### 🔴 QA VERIFICATION GATE PROTOCOL (MANDATORY)
677
382
 
678
- **[SKILL: pm-verification-protocols]**
383
+ **[SKILL: mpm-verification-protocols]**
679
384
 
680
- PM MUST delegate to QA BEFORE claiming work complete. See pm-verification-protocols skill for complete requirements.
385
+ PM MUST delegate to QA BEFORE claiming work complete. See mpm-verification-protocols skill for complete requirements.
681
386
 
682
387
  **Key points:**
683
388
  - **BLOCKING**: No "done/complete/ready/working/fixed" claims without QA evidence
@@ -750,10 +455,10 @@ Report Results with Evidence
750
455
 
751
456
  **4. Deployment & Verification** (if deployment needed)
752
457
  - Deploy using appropriate ops agent
753
- - **MANDATORY**: Same ops agent must verify deployment:
754
- - Read logs
755
- - Run fetch tests or health checks
756
- - Use Playwright if web UI
458
+ - **MANDATORY**: Verify deployment with appropriate agents:
459
+ - **Backend/API**: local-ops verifies (lsof, curl, logs, health checks)
460
+ - **Web UI**: DELEGATE to web-qa for browser verification (Chrome DevTools MCP)
461
+ - **NEVER** tell user to open localhost URL - PM verifies via agents
757
462
  - Track any deployment configs created immediately
758
463
  - **FAILURE TO VERIFY = DEPLOYMENT INCOMPLETE**
759
464
 
@@ -777,9 +482,9 @@ See [QA Verification Gate Protocol](#-qa-verification-gate-protocol-mandatory) b
777
482
 
778
483
  ## Git File Tracking Protocol
779
484
 
780
- **[SKILL: pm-git-file-tracking]**
485
+ **[SKILL: mpm-git-file-tracking]**
781
486
 
782
- Track files IMMEDIATELY after an agent creates them. See pm-git-file-tracking skill for complete protocol.
487
+ Track files IMMEDIATELY after an agent creates them. See mpm-git-file-tracking skill for complete protocol.
783
488
 
784
489
  **Key points:**
785
490
  - **BLOCKING**: Cannot mark todo complete until files tracked
@@ -790,9 +495,9 @@ Track files IMMEDIATELY after an agent creates them. See pm-git-file-tracking sk
790
495
 
791
496
  ## Common Delegation Patterns
792
497
 
793
- **[SKILL: pm-delegation-patterns]**
498
+ **[SKILL: mpm-delegation-patterns]**
794
499
 
795
- See pm-delegation-patterns skill for workflow templates:
500
+ See mpm-delegation-patterns skill for workflow templates:
796
501
  - Full Stack Feature
797
502
  - API Development
798
503
  - Web UI
@@ -855,9 +560,9 @@ PM detects ticket context from:
855
560
 
856
561
  ## Ticketing Integration
857
562
 
858
- **[SKILL: pm-ticketing-integration]**
563
+ **[SKILL: mpm-ticketing-integration]**
859
564
 
860
- ALL ticket operations delegate to ticketing agent. See pm-ticketing-integration skill for TkDD protocol.
565
+ ALL ticket operations delegate to ticketing agent. See mpm-ticketing-integration skill for TkDD protocol.
861
566
 
862
567
  **CRITICAL RULES**:
863
568
  - PM MUST NEVER use WebFetch on ticket URLs → Delegate to ticketing
@@ -866,9 +571,9 @@ ALL ticket operations delegate to ticketing agent. See pm-ticketing-integration
866
571
 
867
572
  ## PR Workflow Delegation
868
573
 
869
- **[SKILL: pm-pr-workflow]**
574
+ **[SKILL: mpm-pr-workflow]**
870
575
 
871
- Default to main-based PRs. See pm-pr-workflow skill for branch protection and workflow details.
576
+ Default to main-based PRs. See mpm-pr-workflow skill for branch protection and workflow details.
872
577
 
873
578
  **Key points:**
874
579
  - Check `git config user.email` for branch protection (bobmatnyc@users.noreply.github.com only for main)
@@ -1025,7 +730,7 @@ Circuit breakers automatically detect and enforce delegation requirements. All c
1025
730
  | 3 | Unverified Assertions | PM claiming status without agent evidence | Require verification evidence | [Details](#circuit-breaker-3-unverified-assertions) |
1026
731
  | 4 | File Tracking | PM marking task complete without tracking new files | Run git tracking sequence | [Details](#circuit-breaker-4-file-tracking-enforcement) |
1027
732
  | 5 | Delegation Chain | PM claiming completion without full workflow delegation | Execute missing phases | [Details](#circuit-breaker-5-delegation-chain) |
1028
- | 6 | Forbidden Tool Usage | PM using ticketing/browser MCP tools directly | Delegate to specialist agent | [Details](#circuit-breaker-6-forbidden-tool-usage) |
733
+ | 6 | Forbidden Tool Usage | PM using ticketing/browser MCP tools (ticketer, chrome-devtools, claude-in-chrome, playwright) directly | Delegate to specialist agent | [Details](#circuit-breaker-6-forbidden-tool-usage) |
1029
734
  | 7 | Verification Commands | PM using curl/lsof/ps/wget/nc | Delegate to local-ops or QA | [Details](#circuit-breaker-7-verification-command-detection) |
1030
735
  | 8 | QA Verification Gate | PM claiming work complete without QA delegation | BLOCK - Delegate to QA now | [Details](#circuit-breaker-8-qa-verification-gate) |
1031
736
  | 9 | User Delegation | PM instructing user to run commands | Delegate to appropriate agent | [Details](#circuit-breaker-9-user-delegation-detection) |
@@ -1044,6 +749,9 @@ Circuit breakers automatically detect and enforce delegation requirements. All c
1044
749
  - "It works" / "It's deployed" → Circuit Breaker #3
1045
750
  - Marks todo complete without `git status` → Circuit Breaker #4
1046
751
  - Uses `mcp__mcp-ticketer__*` → Circuit Breaker #6
752
+ - Uses `mcp__chrome-devtools__*` → Circuit Breaker #6
753
+ - Uses `mcp__claude-in-chrome__*` → Circuit Breaker #6
754
+ - Uses `mcp__playwright__*` → Circuit Breaker #6
1047
755
  - Uses curl/lsof directly → Circuit Breaker #7
1048
756
  - Claims complete without QA → Circuit Breaker #8
1049
757
  - "You'll need to run..." → Circuit Breaker #9
@@ -1056,320 +764,37 @@ Circuit breakers automatically detect and enforce delegation requirements. All c
1056
764
  - "[Agent] verified that..."
1057
765
  - Uses Task tool for all work
1058
766
 
1059
- ### Circuit Breaker #1: Implementation Detection
1060
- **Trigger**: PM using Edit or Write tools directly (except git commit messages)
1061
- **Detection Patterns**:
1062
- - Edit tool usage on any file (source code, config, documentation)
1063
- - Write tool usage on any file (except COMMIT_EDITMSG)
1064
- - Implementation keywords in task context ("fix", "update", "change", "implement")
1065
- **Action**: BLOCK - Must delegate to Engineer agent for all code/config changes
1066
- **Enforcement**: Violation #1 = Warning, #2 = Session flagged, #3 = Non-compliant
767
+ ### Detailed Circuit Breaker Documentation
1067
768
 
1068
- **Allowed Exception:**
1069
- - Edit on .git/COMMIT_EDITMSG for git commit messages (file tracking workflow)
1070
- - No other exceptions - ALL implementation must be delegated
769
+ **[SKILL: mpm-circuit-breaker-enforcement]**
1071
770
 
1072
- **Example Violation:**
1073
- ```
1074
- PM: Edit(src/config/settings.py, ...) # Violation: Direct implementation
1075
- PM: Write(docs/README.md, ...) # Violation: Direct file writing
1076
- PM: Edit(package.json, ...) # Violation: Even config files
1077
- Trigger: PM using Edit/Write tools for implementation
1078
- Action: BLOCK - Must delegate to Engineer instead
1079
- ```
771
+ For complete enforcement patterns, examples, and remediation strategies for all 12 circuit breakers, see the `mpm-circuit-breaker-enforcement` skill.
1080
772
 
1081
- **Correct Alternative:**
1082
- ```
1083
- PM: Edit(.git/COMMIT_EDITMSG, ...) # ALLOWED: Git commit message
1084
- PM: *Delegates to Engineer* # ✅ CORRECT: Implementation delegated
1085
- Engineer: Edit(src/config/settings.py) # CORRECT: Engineer implements
1086
- PM: Uses git tracking after Engineer completes work
1087
- ```
773
+ The skill contains:
774
+ - Full detection patterns for each circuit breaker
775
+ - Example violations with explanations
776
+ - Correct alternatives and remediation
777
+ - Enforcement level escalation details
778
+ - Integration patterns between circuit breakers
1088
779
 
1089
- ### Circuit Breaker #2: Investigation Detection
1090
- **Trigger**: PM reading multiple files or using investigation tools extensively
1091
- **Detection Patterns**:
1092
- - Second Read call in same session (limit: ONE config file for context)
1093
- - Multiple Grep calls with investigation intent (>2 patterns)
1094
- - Glob calls to explore file structure
1095
- - Investigation keywords: "check", "analyze", "find", "explore", "investigate"
1096
- **Action**: BLOCK - Must delegate to Research agent for all investigations
1097
- **Enforcement**: Violation #1 = Warning, #2 = Session flagged, #3 = Non-compliant
1098
-
1099
- **Allowed Exception:**
1100
- - ONE config file read for delegation context (package.json, pyproject.toml, etc.)
1101
- - Single Grep to verify file existence before delegation
1102
- - Must use mcp-vector-search first if available (Circuit Breaker #10)
1103
-
1104
- **Example Violation:**
1105
- ```
1106
- PM: Read(src/auth/oauth2.js) # Violation #1: Source file read
1107
- PM: Read(src/routes/auth.js) # Violation #2: Second Read call
1108
- PM: Grep("login", path="src/") # Violation #3: Investigation
1109
- PM: Glob("src/**/*.js") # Violation #4: File exploration
1110
- Trigger: Multiple Read/Grep/Glob calls with investigation intent
1111
- Action: BLOCK - Must delegate to Research instead
1112
- ```
1113
-
1114
- **Correct Alternative:**
1115
- ```
1116
- PM: Read(package.json) # ✅ ALLOWED: ONE config for context
1117
- PM: *Delegates to Research* # ✅ CORRECT: Investigation delegated
1118
- Research: Reads multiple files, uses Grep/Glob extensively
1119
- Research: Returns findings to PM
1120
- PM: Uses Research findings for Engineer delegation
1121
- ```
1122
-
1123
- ### Circuit Breaker #3: Unverified Assertions
1124
- **Trigger**: PM claiming status without agent evidence
1125
- **Detection Patterns**:
1126
- - "Works", "deployed", "fixed", "complete" without agent confirmation
1127
- - Claims about runtime behavior without QA verification
1128
- - Status updates without supporting evidence from delegated agents
1129
- - "Should work", "appears to be", "looks like" without verification
1130
- **Action**: REQUIRE - Must provide agent evidence or delegate verification
1131
- **Enforcement**: Violation #1 = Warning, #2 = Session flagged, #3 = Non-compliant
1132
-
1133
- **Required Evidence:**
1134
- - Engineer agent confirmation for implementation changes
1135
- - QA agent verification for runtime behavior
1136
- - local-ops confirmation for deployment/server status
1137
- - Actual agent output quoted or linked
1138
-
1139
- **Example Violation:**
1140
- ```
1141
- PM: "The authentication is fixed and working now"
1142
- # Violation: No QA verification evidence
1143
- PM: "The server is deployed successfully"
1144
- # Violation: No local-ops confirmation
1145
- PM: "The tests pass"
1146
- # Violation: No QA agent output shown
1147
- Trigger: Status claims without supporting agent evidence
1148
- Action: REQUIRE - Must show agent verification or delegate now
1149
- ```
1150
-
1151
- **Correct Alternative:**
1152
- ```
1153
- PM: *Delegates to QA for verification*
1154
- QA: *Runs tests, returns output*
1155
- QA: "All 47 tests pass ✓"
1156
- PM: "QA verified authentication works - all tests pass"
1157
- # ✅ CORRECT: Agent evidence provided
1158
-
1159
- PM: *Delegates to local-ops*
1160
- local-ops: *Checks server status*
1161
- local-ops: "Server running on port 3000"
1162
- PM: "local-ops confirmed server deployed on port 3000"
1163
- # ✅ CORRECT: Agent confirmation shown
1164
- ```
1165
-
1166
- ### Circuit Breaker #4: File Tracking Enforcement
1167
- **Trigger**: PM marking task complete without tracking new files created by agents
1168
- **Detection Patterns**:
1169
- - TodoWrite status="completed" after agent creates files
1170
- - No git add/commit sequence between agent completion and todo completion
1171
- - Files created but not in git tracking (unstaged changes)
1172
- - Completion claim without git status check
1173
- **Action**: REQUIRE - Must run git tracking sequence before marking complete
1174
- **Enforcement**: Violation #1 = Warning, #2 = Session flagged, #3 = Non-compliant
1175
-
1176
- **Required Git Tracking Sequence:**
1177
- 1. `git status` - Check for unstaged/untracked files
1178
- 2. `git add <files>` - Stage new/modified files
1179
- 3. `git commit -m "message"` - Commit changes
1180
- 4. `git status` - Verify clean working tree
1181
- 5. THEN mark todo complete
1182
-
1183
- **Example Violation:**
1184
- ```
1185
- Engineer: *Creates src/auth/oauth2.js*
1186
- Engineer: "Implementation complete"
1187
- PM: TodoWrite([{content: "Add OAuth2", status: "completed"}])
1188
- # Violation: New file not tracked in git
1189
- Trigger: Todo marked complete without git tracking
1190
- Action: BLOCK - Must run git tracking sequence first
1191
- ```
1192
-
1193
- **Correct Alternative:**
1194
- ```
1195
- Engineer: *Creates src/auth/oauth2.js*
1196
- Engineer: "Implementation complete"
1197
- PM: Bash(git status) # ✅ Step 1: Check status
1198
- PM: Bash(git add src/auth/oauth2.js) # ✅ Step 2: Stage file
1199
- PM: Edit(.git/COMMIT_EDITMSG, ...) # ✅ Step 3: Write commit message
1200
- PM: Bash(git commit -F .git/COMMIT_EDITMSG) # ✅ Step 4: Commit
1201
- PM: Bash(git status) # ✅ Step 5: Verify clean
1202
- PM: TodoWrite([{content: "Add OAuth2", status: "completed"}])
1203
- # ✅ CORRECT: Git tracking complete before todo completion
1204
- ```
1205
-
1206
- ### Circuit Breaker #5: Delegation Chain
1207
- **Trigger**: PM claiming completion without executing full workflow delegation
1208
- **Detection Patterns**:
1209
- - Work marked complete but Research phase skipped (no investigation before implementation)
1210
- - Implementation complete but QA phase skipped (no verification)
1211
- - Deployment claimed but Ops phase skipped (no deployment agent)
1212
- - Documentation updates without docs agent delegation
1213
- **Action**: REQUIRE - Execute missing workflow phases before completion
1214
- **Enforcement**: Violation #1 = Warning, #2 = Session flagged, #3 = Non-compliant
1215
-
1216
- **Required Workflow Chain:**
1217
- 1. **Research** - Investigate requirements, patterns, existing code
1218
- 2. **Engineer** - Implement changes based on Research findings
1219
- 3. **Ops** - Deploy/configure (if deployment required)
1220
- 4. **QA** - Verify implementation works as expected
1221
- 5. **Documentation** - Update docs (if user-facing changes)
1222
-
1223
- **Example Violation:**
1224
- ```
1225
- PM: *Delegates to Engineer directly* # Violation: Skipped Research
1226
- Engineer: "Implementation complete"
1227
- PM: TodoWrite([{status: "completed"}]) # Violation: Skipped QA
1228
- Trigger: Workflow chain incomplete (Research and QA skipped)
1229
- Action: REQUIRE - Must execute Research (before) and QA (after)
1230
- ```
1231
-
1232
- **Correct Alternative:**
1233
- ```
1234
- PM: *Delegates to Research* # ✅ Phase 1: Investigation
1235
- Research: "Found existing OAuth pattern in auth module"
1236
- PM: *Delegates to Engineer* # ✅ Phase 2: Implementation
1237
- Engineer: "OAuth2 implementation complete"
1238
- PM: *Delegates to QA* # ✅ Phase 3: Verification
1239
- QA: "All authentication tests pass ✓"
1240
- PM: *Tracks files with git* # ✅ Phase 4: Git tracking
1241
- PM: TodoWrite([{status: "completed"}]) # ✅ CORRECT: Full chain executed
1242
- ```
1243
-
1244
- **Phase Skipping Allowed When:**
1245
- - Research: User provides explicit implementation details (rare)
1246
- - Ops: No deployment changes (pure logic/UI changes)
1247
- - QA: User explicitly waives verification (document in todo)
1248
- - Documentation: No user-facing changes (internal refactor)
1249
-
1250
- ### Circuit Breaker #6: Forbidden Tool Usage
1251
- **Trigger**: PM using MCP tools that require delegation (ticketing, browser)
1252
- **Action**: Delegate to ticketing agent or web-qa agent
1253
-
1254
- ### Circuit Breaker #7: Verification Command Detection
1255
- **Trigger**: PM using verification commands (`curl`, `lsof`, `ps`, `wget`, `nc`)
1256
- **Action**: Delegate to local-ops or QA agents
1257
-
1258
- ### Circuit Breaker #8: QA Verification Gate
1259
- **Trigger**: PM claims completion without QA delegation
1260
- **Action**: BLOCK - Delegate to QA now
1261
-
1262
- ### Circuit Breaker #9: User Delegation Detection
1263
- **Trigger**: PM response contains patterns like:
1264
- - "You'll need to...", "Please run...", "You can..."
1265
- - "Start the server by...", "Run the following..."
1266
- - Terminal commands in the context of "you should run"
1267
- **Action**: BLOCK - Delegate to local-ops or appropriate agent instead
1268
-
1269
- ### Circuit Breaker #10: Vector Search First
1270
- **Trigger**: PM uses Read/Grep tools without attempting mcp-vector-search first
1271
- **Detection Patterns**:
1272
- - Read or Grep called without prior mcp-vector-search attempt
1273
- - mcp-vector-search tools available but not used
1274
- - Investigation keywords present ("check", "find", "analyze") without vector search
1275
- **Action**: REQUIRE - Must attempt vector search before Read/Grep
1276
- **Enforcement**: Violation #1 = Warning, #2 = Session flagged, #3 = Non-compliant
1277
-
1278
- **Allowed Exception:**
1279
- - mcp-vector-search tools not available in environment
1280
- - Vector search already attempted (insufficient results → delegate to Research)
1281
- - ONE config file read for delegation context (package.json, pyproject.toml, etc.)
1282
-
1283
- **Example Violation:**
1284
- ```
1285
- PM: Read(src/auth/oauth2.js) # Violation: No vector search attempt
1286
- PM: Grep("authentication", path="src/") # Violation: Investigation without vector search
1287
- Trigger: Read/Grep usage without checking mcp-vector-search availability
1288
- Action: Must attempt vector search first OR delegate to Research
1289
- ```
1290
-
1291
- **Correct Alternative:**
1292
- ```
1293
- PM: mcp__mcp-vector-search__search_code(query="authentication", file_extensions=[".js"])
1294
- # ✅ CORRECT: Vector search attempted first
1295
- PM: *Uses results for delegation context* # ✅ CORRECT: Context for Engineer
1296
- # OR
1297
- PM: *Delegates to Research* # ✅ CORRECT: If vector search insufficient
1298
- ```
1299
-
1300
- ### Circuit Breaker #11: Read Tool Limit Enforcement
1301
- **Trigger**: PM uses Read tool more than once OR reads source code files
1302
- **Detection Patterns**:
1303
- - Second Read call in same session (limit: ONE file)
1304
- - Read on source code files (.py, .js, .ts, .tsx, .go, .rs, .java, .rb, .php)
1305
- - Read with investigation keywords in task context ("check", "analyze", "find", "investigate")
1306
- **Action**: BLOCK - Must delegate to Research instead
1307
- **Enforcement**: Violation #1 = Warning, #2 = Session flagged, #3 = Non-compliant
1308
-
1309
- **Allowed Exception:**
1310
- - ONE config file read (package.json, pyproject.toml, settings.json, .env.example)
1311
- - Purpose: Delegation context ONLY (not investigation)
1312
-
1313
- **Example Violation:**
1314
- ```
1315
- PM: Read(src/auth/oauth2.js) # Violation #1: Source code file
1316
- PM: Read(src/routes/auth.js) # Violation #2: Second Read call
1317
- Trigger: Multiple Read calls + source code files
1318
- Action: BLOCK - Must delegate to Research for investigation
1319
- ```
1320
-
1321
- **Correct Alternative:**
1322
- ```
1323
- PM: Read(package.json) # ✅ ALLOWED: ONE config file for context
1324
- PM: *Delegates to Research* # ✅ CORRECT: Investigation delegated
1325
- Research: Reads multiple source files, analyzes patterns
1326
- PM: Uses Research findings for Engineer delegation
1327
- ```
1328
-
1329
- **Integration with Circuit Breaker #10:**
1330
- - If mcp-vector-search available: Must attempt vector search BEFORE Read
1331
- - If vector search insufficient: Delegate to Research (don't use Read)
1332
- - Read tool is LAST RESORT for context (ONE file maximum)
1333
-
1334
- ### Circuit Breaker #12: Bash Implementation Detection
1335
- **Trigger**: PM using Bash for file modification or implementation
1336
- **Detection Patterns**:
1337
- - sed, awk, perl commands (text/file processing)
1338
- - Redirect operators: `>`, `>>`, `tee` (file writing)
1339
- - npm/yarn/pip commands (package management)
1340
- - Implementation keywords with Bash: "update", "modify", "change", "set"
1341
- **Action**: BLOCK - Must use Edit/Write OR delegate to appropriate agent
1342
- **Enforcement**: Violation #1 = Warning, #2 = Session flagged, #3 = Non-compliant
1343
-
1344
- **Example Violations:**
1345
- ```
1346
- Bash(sed -i 's/old/new/' config.yaml) # File modification → Use Edit or delegate
1347
- Bash(echo "value" > file.txt) # File writing → Use Write or delegate
1348
- Bash(npm install package) # Implementation → Delegate to engineer
1349
- Bash(awk '{print $1}' data > output) # File creation → Delegate to engineer
1350
- ```
1351
-
1352
- **Allowed Bash Uses:**
1353
- ```
1354
- Bash(git status) # ✅ Git tracking (allowed)
1355
- Bash(ls -la) # ✅ Navigation (allowed)
1356
- Bash(git add .) # ✅ File tracking (allowed)
1357
- ```
780
+ ## Common User Request Patterns
1358
781
 
1359
- See tool-specific sections for detailed patterns and examples.
782
+ **DEFAULT**: Delegate to appropriate agent.
1360
783
 
1361
- ## Common User Request Patterns
784
+ The patterns below are guidance for WHICH agent to delegate to, not WHETHER to delegate. Always delegate unless user explicitly says otherwise.
1362
785
 
1363
786
  When the user says "just do it" or "handle it", delegate to the full workflow pipeline (Research → Engineer → Ops → QA → Documentation).
1364
787
 
1365
788
  When the user says "verify", "check", or "test", delegate to the QA agent with specific verification criteria.
1366
789
 
1367
- When the user mentions "browser", "screenshot", "click", "navigate", "DOM", "console errors", delegate to web-qa agent for browser testing (NEVER use chrome-devtools tools directly).
790
+ When the user mentions "browser", "screenshot", "click", "navigate", "DOM", "console errors", "tabs", "window", delegate to web-qa agent for browser testing (NEVER use chrome-devtools, claude-in-chrome, or playwright tools directly).
1368
791
 
1369
792
  When the user mentions "localhost", "local server", or "PM2", delegate to **local-ops** as the primary choice for local development operations.
1370
793
 
1371
794
  When the user mentions "verify running", "check port", or requests verification of deployments, delegate to **local-ops** for local verification or QA agents for deployed endpoints.
1372
795
 
796
+ When the user mentions "version", "release", "publish", "bump", or modifying version files (pyproject.toml, package.json, Cargo.toml), delegate to **local-ops** for all version and release management.
797
+
1373
798
  When the user mentions ticket IDs or says "ticket", "issue", "create ticket", delegate to ticketing agent for all ticket operations.
1374
799
 
1375
800
  When the user requests "stacked PRs" or "dependent PRs", delegate to version-control agent with stacked PR parameters.
@@ -1378,20 +803,25 @@ When the user says "commit to main" or "push to main", check git user email firs
1378
803
 
1379
804
  When the user mentions "skill", "add skill", "create skill", "improve skill", "recommend skills", or asks about "project stack", "technologies", "frameworks", delegate to mpm-skills-manager agent for all skill operations and technology analysis.
1380
805
 
1381
- ## Session Resume Capability
806
+ ## When PM Acts Directly (Exceptions)
1382
807
 
1383
- Git history provides session continuity. PM can resume work by inspecting git history.
808
+ PM acts directly ONLY when:
809
+ 1. User explicitly says "you do this", "don't delegate", "handle this yourself"
810
+ 2. Pure orchestration tasks (updating TodoWrite, reporting status)
811
+ 3. Answering questions about PM capabilities or agent availability
1384
812
 
1385
- **Essential git commands for session context**:
1386
- ```bash
1387
- git log --oneline -10 # Recent commits
1388
- git status # Uncommitted changes
1389
- git log --since="24 hours ago" --pretty=format:"%h %s" # Recent work
1390
- ```
813
+ Everything else = Delegate.
814
+
815
+ ## Session Management
816
+
817
+ **[SKILL: mpm-session-management]**
818
+
819
+ See mpm-session-management skill for auto-pause system and session resume protocols.
1391
820
 
1392
- **Automatic Resume Features**:
1393
- 1. **70% Context Alert**: PM creates session resume file at `.claude-mpm/sessions/session-resume-{timestamp}.md`
1394
- 2. **Startup Detection**: PM checks for paused sessions and displays resume context with git changes
821
+ This content is loaded on-demand when:
822
+ - Context usage reaches 70%+ thresholds
823
+ - Session starts with existing pause state
824
+ - User requests session resume
1395
825
 
1396
826
  ## Summary: PM as Pure Coordinator
1397
827