claude-mpm 5.4.41__py3-none-any.whl → 5.6.72__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 (490) 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 +161 -298
  6. claude_mpm/agents/WORKFLOW.md +2 -0
  7. claude_mpm/agents/templates/circuit-breakers.md +26 -17
  8. claude_mpm/auth/__init__.py +35 -0
  9. claude_mpm/auth/callback_server.py +328 -0
  10. claude_mpm/auth/models.py +104 -0
  11. claude_mpm/auth/oauth_manager.py +266 -0
  12. claude_mpm/auth/providers/__init__.py +12 -0
  13. claude_mpm/auth/providers/base.py +165 -0
  14. claude_mpm/auth/providers/google.py +261 -0
  15. claude_mpm/auth/token_storage.py +252 -0
  16. claude_mpm/cli/__init__.py +5 -1
  17. claude_mpm/cli/commands/agents.py +2 -4
  18. claude_mpm/cli/commands/agents_reconcile.py +197 -0
  19. claude_mpm/cli/commands/autotodos.py +566 -0
  20. claude_mpm/cli/commands/commander.py +216 -0
  21. claude_mpm/cli/commands/configure.py +620 -21
  22. claude_mpm/cli/commands/configure_agent_display.py +3 -1
  23. claude_mpm/cli/commands/hook_errors.py +60 -60
  24. claude_mpm/cli/commands/mcp.py +29 -17
  25. claude_mpm/cli/commands/mcp_command_router.py +39 -0
  26. claude_mpm/cli/commands/mcp_service_commands.py +304 -0
  27. claude_mpm/cli/commands/monitor.py +2 -2
  28. claude_mpm/cli/commands/mpm_init/core.py +15 -8
  29. claude_mpm/cli/commands/oauth.py +481 -0
  30. claude_mpm/cli/commands/profile.py +9 -10
  31. claude_mpm/cli/commands/run.py +35 -3
  32. claude_mpm/cli/commands/skill_source.py +51 -2
  33. claude_mpm/cli/commands/skills.py +182 -32
  34. claude_mpm/cli/executor.py +129 -16
  35. claude_mpm/cli/helpers.py +1 -1
  36. claude_mpm/cli/interactive/__init__.py +10 -0
  37. claude_mpm/cli/interactive/agent_wizard.py +30 -50
  38. claude_mpm/cli/interactive/questionary_styles.py +65 -0
  39. claude_mpm/cli/interactive/skill_selector.py +481 -0
  40. claude_mpm/cli/parsers/base_parser.py +89 -1
  41. claude_mpm/cli/parsers/commander_parser.py +116 -0
  42. claude_mpm/cli/parsers/mcp_parser.py +79 -0
  43. claude_mpm/cli/parsers/oauth_parser.py +165 -0
  44. claude_mpm/cli/parsers/profile_parser.py +0 -1
  45. claude_mpm/cli/parsers/run_parser.py +10 -0
  46. claude_mpm/cli/parsers/skill_source_parser.py +4 -0
  47. claude_mpm/cli/parsers/skills_parser.py +2 -3
  48. claude_mpm/cli/startup.py +662 -524
  49. claude_mpm/cli/startup_display.py +76 -7
  50. claude_mpm/cli/startup_logging.py +2 -2
  51. claude_mpm/cli/utils.py +7 -3
  52. claude_mpm/commander/__init__.py +78 -0
  53. claude_mpm/commander/adapters/__init__.py +60 -0
  54. claude_mpm/commander/adapters/auggie.py +260 -0
  55. claude_mpm/commander/adapters/base.py +288 -0
  56. claude_mpm/commander/adapters/claude_code.py +392 -0
  57. claude_mpm/commander/adapters/codex.py +237 -0
  58. claude_mpm/commander/adapters/communication.py +366 -0
  59. claude_mpm/commander/adapters/example_usage.py +310 -0
  60. claude_mpm/commander/adapters/mpm.py +389 -0
  61. claude_mpm/commander/adapters/registry.py +204 -0
  62. claude_mpm/commander/api/__init__.py +16 -0
  63. claude_mpm/commander/api/app.py +121 -0
  64. claude_mpm/commander/api/errors.py +133 -0
  65. claude_mpm/commander/api/routes/__init__.py +8 -0
  66. claude_mpm/commander/api/routes/events.py +184 -0
  67. claude_mpm/commander/api/routes/inbox.py +171 -0
  68. claude_mpm/commander/api/routes/messages.py +148 -0
  69. claude_mpm/commander/api/routes/projects.py +271 -0
  70. claude_mpm/commander/api/routes/sessions.py +226 -0
  71. claude_mpm/commander/api/routes/work.py +296 -0
  72. claude_mpm/commander/api/schemas.py +186 -0
  73. claude_mpm/commander/chat/__init__.py +7 -0
  74. claude_mpm/commander/chat/cli.py +149 -0
  75. claude_mpm/commander/chat/commands.py +122 -0
  76. claude_mpm/commander/chat/repl.py +1821 -0
  77. claude_mpm/commander/config.py +51 -0
  78. claude_mpm/commander/config_loader.py +115 -0
  79. claude_mpm/commander/core/__init__.py +10 -0
  80. claude_mpm/commander/core/block_manager.py +325 -0
  81. claude_mpm/commander/core/response_manager.py +323 -0
  82. claude_mpm/commander/daemon.py +603 -0
  83. claude_mpm/commander/env_loader.py +59 -0
  84. claude_mpm/commander/events/__init__.py +26 -0
  85. claude_mpm/commander/events/manager.py +392 -0
  86. claude_mpm/commander/frameworks/__init__.py +12 -0
  87. claude_mpm/commander/frameworks/base.py +233 -0
  88. claude_mpm/commander/frameworks/claude_code.py +58 -0
  89. claude_mpm/commander/frameworks/mpm.py +57 -0
  90. claude_mpm/commander/git/__init__.py +5 -0
  91. claude_mpm/commander/git/worktree_manager.py +212 -0
  92. claude_mpm/commander/inbox/__init__.py +16 -0
  93. claude_mpm/commander/inbox/dedup.py +128 -0
  94. claude_mpm/commander/inbox/inbox.py +224 -0
  95. claude_mpm/commander/inbox/models.py +70 -0
  96. claude_mpm/commander/instance_manager.py +865 -0
  97. claude_mpm/commander/llm/__init__.py +6 -0
  98. claude_mpm/commander/llm/openrouter_client.py +167 -0
  99. claude_mpm/commander/llm/summarizer.py +70 -0
  100. claude_mpm/commander/memory/__init__.py +45 -0
  101. claude_mpm/commander/memory/compression.py +347 -0
  102. claude_mpm/commander/memory/embeddings.py +230 -0
  103. claude_mpm/commander/memory/entities.py +310 -0
  104. claude_mpm/commander/memory/example_usage.py +290 -0
  105. claude_mpm/commander/memory/integration.py +325 -0
  106. claude_mpm/commander/memory/search.py +381 -0
  107. claude_mpm/commander/memory/store.py +657 -0
  108. claude_mpm/commander/models/__init__.py +18 -0
  109. claude_mpm/commander/models/events.py +127 -0
  110. claude_mpm/commander/models/project.py +162 -0
  111. claude_mpm/commander/models/work.py +214 -0
  112. claude_mpm/commander/parsing/__init__.py +20 -0
  113. claude_mpm/commander/parsing/extractor.py +132 -0
  114. claude_mpm/commander/parsing/output_parser.py +270 -0
  115. claude_mpm/commander/parsing/patterns.py +100 -0
  116. claude_mpm/commander/persistence/__init__.py +11 -0
  117. claude_mpm/commander/persistence/event_store.py +274 -0
  118. claude_mpm/commander/persistence/state_store.py +403 -0
  119. claude_mpm/commander/persistence/work_store.py +164 -0
  120. claude_mpm/commander/polling/__init__.py +13 -0
  121. claude_mpm/commander/polling/event_detector.py +104 -0
  122. claude_mpm/commander/polling/output_buffer.py +49 -0
  123. claude_mpm/commander/polling/output_poller.py +153 -0
  124. claude_mpm/commander/project_session.py +268 -0
  125. claude_mpm/commander/proxy/__init__.py +12 -0
  126. claude_mpm/commander/proxy/formatter.py +89 -0
  127. claude_mpm/commander/proxy/output_handler.py +191 -0
  128. claude_mpm/commander/proxy/relay.py +155 -0
  129. claude_mpm/commander/registry.py +410 -0
  130. claude_mpm/commander/runtime/__init__.py +10 -0
  131. claude_mpm/commander/runtime/executor.py +191 -0
  132. claude_mpm/commander/runtime/monitor.py +346 -0
  133. claude_mpm/commander/session/__init__.py +6 -0
  134. claude_mpm/commander/session/context.py +81 -0
  135. claude_mpm/commander/session/manager.py +59 -0
  136. claude_mpm/commander/tmux_orchestrator.py +362 -0
  137. claude_mpm/commander/web/__init__.py +1 -0
  138. claude_mpm/commander/work/__init__.py +30 -0
  139. claude_mpm/commander/work/executor.py +207 -0
  140. claude_mpm/commander/work/queue.py +405 -0
  141. claude_mpm/commander/workflow/__init__.py +27 -0
  142. claude_mpm/commander/workflow/event_handler.py +241 -0
  143. claude_mpm/commander/workflow/notifier.py +146 -0
  144. claude_mpm/commands/mpm-config.md +8 -0
  145. claude_mpm/commands/mpm-doctor.md +8 -0
  146. claude_mpm/commands/mpm-help.md +8 -0
  147. claude_mpm/commands/mpm-init.md +8 -0
  148. claude_mpm/commands/mpm-monitor.md +8 -0
  149. claude_mpm/commands/mpm-organize.md +8 -0
  150. claude_mpm/commands/mpm-postmortem.md +8 -0
  151. claude_mpm/commands/mpm-session-resume.md +9 -1
  152. claude_mpm/commands/mpm-status.md +8 -0
  153. claude_mpm/commands/mpm-ticket-view.md +8 -0
  154. claude_mpm/commands/mpm-version.md +8 -0
  155. claude_mpm/commands/mpm.md +8 -0
  156. claude_mpm/config/agent_presets.py +8 -7
  157. claude_mpm/config/skill_sources.py +16 -0
  158. claude_mpm/constants.py +6 -0
  159. claude_mpm/core/claude_runner.py +154 -2
  160. claude_mpm/core/config.py +35 -22
  161. claude_mpm/core/config_constants.py +74 -9
  162. claude_mpm/core/constants.py +56 -12
  163. claude_mpm/core/hook_manager.py +53 -4
  164. claude_mpm/core/interactive_session.py +12 -11
  165. claude_mpm/core/logger.py +26 -9
  166. claude_mpm/core/logging_utils.py +39 -13
  167. claude_mpm/core/network_config.py +148 -0
  168. claude_mpm/core/oneshot_session.py +7 -6
  169. claude_mpm/core/optimized_startup.py +3 -1
  170. claude_mpm/core/output_style_manager.py +66 -18
  171. claude_mpm/core/shared/config_loader.py +3 -1
  172. claude_mpm/core/socketio_pool.py +47 -15
  173. claude_mpm/core/unified_config.py +54 -8
  174. claude_mpm/core/unified_paths.py +95 -90
  175. claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/0.C33zOoyM.css +1 -0
  176. claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/2.CW1J-YuA.css +1 -0
  177. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/1WZnGYqX.js +24 -0
  178. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/67pF3qNn.js +1 -0
  179. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/6RxdMKe4.js +1 -0
  180. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/8cZrfX0h.js +60 -0
  181. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/9a6T2nm-.js +7 -0
  182. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/B443AUzu.js +1 -0
  183. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/B8AwtY2H.js +1 -0
  184. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BF15LAsF.js +1 -0
  185. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BQaXIfA_.js +331 -0
  186. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BRcwIQNr.js +4 -0
  187. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{uj46x2Wr.js → BSNlmTZj.js} +1 -1
  188. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BV6nKitt.js +43 -0
  189. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BViJ8lZt.js +128 -0
  190. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BcQ-Q0FE.js +1 -0
  191. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Bpyvgze_.js +30 -0
  192. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BzTRqg-z.js +1 -0
  193. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C0Fr8dve.js +1 -0
  194. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C3rbW_a-.js +1 -0
  195. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C8WYN38h.js +1 -0
  196. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C9I8FlXH.js +61 -0
  197. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CIQcWgO2.js +36 -0
  198. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CIctN7YN.js +7 -0
  199. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CKrS_JZW.js +145 -0
  200. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CR6P9C4A.js +89 -0
  201. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CRRR9MD_.js +2 -0
  202. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CRcR2DqT.js +334 -0
  203. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CSXtMOf0.js +1 -0
  204. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CT-sbxSk.js +1 -0
  205. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CWm6DJsp.js +1 -0
  206. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CmKTTxBW.js +1 -0
  207. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CpqQ1Kzn.js +1 -0
  208. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Cu_Erd72.js +261 -0
  209. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D2nGpDRe.js +1 -0
  210. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D9iCMida.js +267 -0
  211. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D9ykgMoY.js +10 -0
  212. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DL2Ldur1.js +1 -0
  213. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DPfltzjH.js +165 -0
  214. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{N4qtv3Hx.js → DR8nis88.js} +2 -2
  215. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DUliQN2b.js +1 -0
  216. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DVp1hx9R.js +1 -0
  217. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DXlhR01x.js +122 -0
  218. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D_lyTybS.js +1 -0
  219. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DngoTTgh.js +1 -0
  220. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DqkmHtDC.js +220 -0
  221. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DsDh8EYs.js +1 -0
  222. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DypDmXgd.js +139 -0
  223. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Gi6I4Gst.js +1 -0
  224. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/IPYC-LnN.js +162 -0
  225. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/JTLiF7dt.js +24 -0
  226. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/JpevfAFt.js +68 -0
  227. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{DjhvlsAc.js → NqQ1dWOy.js} +1 -1
  228. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/R8CEIRAd.js +2 -0
  229. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Zxy7qc-l.js +64 -0
  230. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/q9Hm6zAU.js +1 -0
  231. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/qtd3IeO4.js +15 -0
  232. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/ulBFON_C.js +65 -0
  233. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/wQVh1CoA.js +10 -0
  234. claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/app.Dr7t0z2J.js +2 -0
  235. claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/start.BGhZHUS3.js +1 -0
  236. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/{0.CAGBuiOw.js → 0.RgBboRvH.js} +1 -1
  237. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/1.DG-KkbDf.js +1 -0
  238. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/2.D_jnf-x6.js +1 -0
  239. claude_mpm/dashboard/static/svelte-build/_app/version.json +1 -1
  240. claude_mpm/dashboard/static/svelte-build/index.html +11 -11
  241. claude_mpm/dashboard-svelte/node_modules/katex/src/fonts/generate_fonts.py +58 -0
  242. claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/extract_tfms.py +114 -0
  243. claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/extract_ttfs.py +122 -0
  244. claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/format_json.py +28 -0
  245. claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/parse_tfm.py +211 -0
  246. claude_mpm/experimental/cli_enhancements.py +2 -1
  247. claude_mpm/hooks/claude_hooks/INTEGRATION_EXAMPLE.md +243 -0
  248. claude_mpm/hooks/claude_hooks/README_AUTO_PAUSE.md +403 -0
  249. claude_mpm/hooks/claude_hooks/__pycache__/auto_pause_handler.cpython-311.pyc +0 -0
  250. claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-311.pyc +0 -0
  251. claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-311.pyc +0 -0
  252. claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-311.pyc +0 -0
  253. claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-311.pyc +0 -0
  254. claude_mpm/hooks/claude_hooks/auto_pause_handler.py +485 -0
  255. claude_mpm/hooks/claude_hooks/event_handlers.py +466 -136
  256. claude_mpm/hooks/claude_hooks/hook_handler.py +204 -104
  257. claude_mpm/hooks/claude_hooks/hook_wrapper.sh +6 -11
  258. claude_mpm/hooks/claude_hooks/installer.py +291 -59
  259. claude_mpm/hooks/claude_hooks/memory_integration.py +52 -32
  260. claude_mpm/hooks/claude_hooks/response_tracking.py +43 -60
  261. claude_mpm/hooks/claude_hooks/services/__init__.py +21 -0
  262. claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-311.pyc +0 -0
  263. claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-311.pyc +0 -0
  264. claude_mpm/hooks/claude_hooks/services/__pycache__/container.cpython-311.pyc +0 -0
  265. claude_mpm/hooks/claude_hooks/services/__pycache__/protocols.cpython-311.pyc +0 -0
  266. claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-311.pyc +0 -0
  267. claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-311.pyc +0 -0
  268. claude_mpm/hooks/claude_hooks/services/connection_manager.py +41 -26
  269. claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +38 -105
  270. claude_mpm/hooks/claude_hooks/services/container.py +326 -0
  271. claude_mpm/hooks/claude_hooks/services/protocols.py +328 -0
  272. claude_mpm/hooks/claude_hooks/services/state_manager.py +25 -38
  273. claude_mpm/hooks/claude_hooks/services/subagent_processor.py +75 -77
  274. claude_mpm/hooks/kuzu_memory_hook.py +5 -5
  275. claude_mpm/hooks/session_resume_hook.py +89 -1
  276. claude_mpm/hooks/templates/pre_tool_use_simple.py +6 -6
  277. claude_mpm/hooks/templates/pre_tool_use_template.py +16 -8
  278. claude_mpm/init.py +224 -4
  279. claude_mpm/mcp/__init__.py +9 -0
  280. claude_mpm/mcp/google_workspace_server.py +610 -0
  281. claude_mpm/scripts/claude-hook-handler.sh +46 -19
  282. claude_mpm/services/agents/agent_recommendation_service.py +8 -8
  283. claude_mpm/services/agents/agent_selection_service.py +2 -2
  284. claude_mpm/services/agents/cache_git_manager.py +1 -1
  285. claude_mpm/services/agents/deployment/agent_discovery_service.py +3 -1
  286. claude_mpm/services/agents/deployment/agent_format_converter.py +25 -13
  287. claude_mpm/services/agents/deployment/agent_template_builder.py +37 -17
  288. claude_mpm/services/agents/deployment/async_agent_deployment.py +31 -27
  289. claude_mpm/services/agents/deployment/deployment_reconciler.py +577 -0
  290. claude_mpm/services/agents/deployment/local_template_deployment.py +3 -1
  291. claude_mpm/services/agents/deployment/multi_source_deployment_service.py +36 -8
  292. claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +50 -26
  293. claude_mpm/services/agents/deployment/startup_reconciliation.py +138 -0
  294. claude_mpm/services/agents/git_source_manager.py +21 -2
  295. claude_mpm/services/agents/loading/framework_agent_loader.py +75 -2
  296. claude_mpm/services/agents/single_tier_deployment_service.py +4 -4
  297. claude_mpm/services/agents/sources/git_source_sync_service.py +116 -5
  298. claude_mpm/services/agents/startup_sync.py +5 -2
  299. claude_mpm/services/cli/__init__.py +3 -0
  300. claude_mpm/services/cli/incremental_pause_manager.py +561 -0
  301. claude_mpm/services/cli/session_resume_helper.py +10 -2
  302. claude_mpm/services/command_deployment_service.py +44 -26
  303. claude_mpm/services/delegation_detector.py +175 -0
  304. claude_mpm/services/diagnostics/checks/agent_sources_check.py +30 -0
  305. claude_mpm/services/diagnostics/checks/configuration_check.py +24 -0
  306. claude_mpm/services/diagnostics/checks/installation_check.py +22 -0
  307. claude_mpm/services/diagnostics/checks/mcp_services_check.py +23 -0
  308. claude_mpm/services/diagnostics/doctor_reporter.py +31 -1
  309. claude_mpm/services/diagnostics/models.py +14 -1
  310. claude_mpm/services/event_log.py +325 -0
  311. claude_mpm/services/hook_installer_service.py +77 -8
  312. claude_mpm/services/infrastructure/__init__.py +4 -0
  313. claude_mpm/services/infrastructure/context_usage_tracker.py +291 -0
  314. claude_mpm/services/infrastructure/resume_log_generator.py +24 -5
  315. claude_mpm/services/mcp_config_manager.py +99 -19
  316. claude_mpm/services/mcp_service_registry.py +294 -0
  317. claude_mpm/services/monitor/daemon_manager.py +15 -4
  318. claude_mpm/services/monitor/management/lifecycle.py +8 -3
  319. claude_mpm/services/monitor/server.py +111 -16
  320. claude_mpm/services/pm_skills_deployer.py +302 -94
  321. claude_mpm/services/profile_manager.py +10 -4
  322. claude_mpm/services/skills/git_skill_source_manager.py +192 -29
  323. claude_mpm/services/skills/selective_skill_deployer.py +211 -46
  324. claude_mpm/services/skills/skill_discovery_service.py +74 -4
  325. claude_mpm/services/skills_deployer.py +192 -70
  326. claude_mpm/services/socketio/handlers/hook.py +14 -7
  327. claude_mpm/services/socketio/server/main.py +12 -4
  328. claude_mpm/skills/__init__.py +2 -1
  329. claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +79 -0
  330. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +178 -0
  331. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +577 -0
  332. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +467 -0
  333. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +537 -0
  334. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +730 -0
  335. claude_mpm/skills/bundled/collaboration/git-worktrees.md +317 -0
  336. claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +112 -0
  337. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +146 -0
  338. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +412 -0
  339. claude_mpm/skills/bundled/collaboration/stacked-prs.md +251 -0
  340. claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +81 -0
  341. claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +362 -0
  342. claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +312 -0
  343. claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +152 -0
  344. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +668 -0
  345. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +587 -0
  346. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +438 -0
  347. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +391 -0
  348. claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +119 -0
  349. claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +148 -0
  350. claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +483 -0
  351. claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +452 -0
  352. claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +449 -0
  353. claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +411 -0
  354. claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +14 -0
  355. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +58 -0
  356. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +68 -0
  357. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +69 -0
  358. claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +131 -0
  359. claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +325 -0
  360. claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +490 -0
  361. claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +425 -0
  362. claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +499 -0
  363. claude_mpm/skills/bundled/infrastructure/env-manager/INTEGRATION.md +611 -0
  364. claude_mpm/skills/bundled/infrastructure/env-manager/README.md +596 -0
  365. claude_mpm/skills/bundled/infrastructure/env-manager/SKILL.md +260 -0
  366. claude_mpm/skills/bundled/infrastructure/env-manager/examples/nextjs-env-structure.md +315 -0
  367. claude_mpm/skills/bundled/infrastructure/env-manager/references/frameworks.md +436 -0
  368. claude_mpm/skills/bundled/infrastructure/env-manager/references/security.md +433 -0
  369. claude_mpm/skills/bundled/infrastructure/env-manager/references/synchronization.md +452 -0
  370. claude_mpm/skills/bundled/infrastructure/env-manager/references/troubleshooting.md +404 -0
  371. claude_mpm/skills/bundled/infrastructure/env-manager/references/validation.md +420 -0
  372. claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +86 -0
  373. claude_mpm/skills/bundled/main/internal-comms/SKILL.md +43 -0
  374. claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +47 -0
  375. claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +65 -0
  376. claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +30 -0
  377. claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +16 -0
  378. claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +160 -0
  379. claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +412 -0
  380. claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +602 -0
  381. claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +915 -0
  382. claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +916 -0
  383. claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +752 -0
  384. claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +1237 -0
  385. claude_mpm/skills/bundled/main/skill-creator/SKILL.md +189 -0
  386. claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +500 -0
  387. claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +464 -0
  388. claude_mpm/skills/bundled/main/skill-creator/references/examples.md +619 -0
  389. claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +437 -0
  390. claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +231 -0
  391. claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +170 -0
  392. claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +602 -0
  393. claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +821 -0
  394. claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +742 -0
  395. claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +726 -0
  396. claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +764 -0
  397. claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +831 -0
  398. claude_mpm/skills/bundled/pm/mpm/SKILL.md +38 -0
  399. claude_mpm/skills/bundled/pm/mpm-agent-update-workflow/SKILL.md +75 -0
  400. claude_mpm/skills/bundled/pm/mpm-bug-reporting/SKILL.md +248 -0
  401. claude_mpm/skills/bundled/pm/mpm-circuit-breaker-enforcement/SKILL.md +476 -0
  402. claude_mpm/skills/bundled/pm/mpm-config/SKILL.md +29 -0
  403. claude_mpm/skills/bundled/pm/mpm-delegation-patterns/SKILL.md +167 -0
  404. claude_mpm/skills/bundled/pm/mpm-doctor/SKILL.md +53 -0
  405. claude_mpm/skills/bundled/pm/mpm-git-file-tracking/SKILL.md +113 -0
  406. claude_mpm/skills/bundled/pm/mpm-help/SKILL.md +35 -0
  407. claude_mpm/skills/bundled/pm/mpm-init/SKILL.md +125 -0
  408. claude_mpm/skills/bundled/pm/mpm-monitor/SKILL.md +32 -0
  409. claude_mpm/skills/bundled/pm/mpm-organize/SKILL.md +121 -0
  410. claude_mpm/skills/bundled/pm/mpm-postmortem/SKILL.md +22 -0
  411. claude_mpm/skills/bundled/pm/mpm-pr-workflow/SKILL.md +124 -0
  412. claude_mpm/skills/bundled/pm/mpm-session-management/SKILL.md +312 -0
  413. claude_mpm/skills/bundled/pm/mpm-session-pause/SKILL.md +170 -0
  414. claude_mpm/skills/bundled/pm/mpm-session-resume/SKILL.md +31 -0
  415. claude_mpm/skills/bundled/pm/mpm-status/SKILL.md +37 -0
  416. claude_mpm/skills/bundled/pm/mpm-teaching-mode/SKILL.md +657 -0
  417. claude_mpm/skills/bundled/pm/mpm-ticket-view/SKILL.md +110 -0
  418. claude_mpm/skills/bundled/pm/mpm-ticketing-integration/SKILL.md +154 -0
  419. claude_mpm/skills/bundled/pm/mpm-tool-usage-guide/SKILL.md +386 -0
  420. claude_mpm/skills/bundled/pm/mpm-verification-protocols/SKILL.md +198 -0
  421. claude_mpm/skills/bundled/pm/mpm-version/SKILL.md +21 -0
  422. claude_mpm/skills/bundled/react/flexlayout-react.md +742 -0
  423. claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +226 -0
  424. claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +901 -0
  425. claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +901 -0
  426. claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +775 -0
  427. claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +937 -0
  428. claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +770 -0
  429. claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +961 -0
  430. claude_mpm/skills/bundled/security-scanning.md +112 -0
  431. claude_mpm/skills/bundled/tauri/tauri-async-patterns.md +495 -0
  432. claude_mpm/skills/bundled/tauri/tauri-build-deploy.md +599 -0
  433. claude_mpm/skills/bundled/tauri/tauri-command-patterns.md +535 -0
  434. claude_mpm/skills/bundled/tauri/tauri-error-handling.md +613 -0
  435. claude_mpm/skills/bundled/tauri/tauri-event-system.md +648 -0
  436. claude_mpm/skills/bundled/tauri/tauri-file-system.md +673 -0
  437. claude_mpm/skills/bundled/tauri/tauri-frontend-integration.md +767 -0
  438. claude_mpm/skills/bundled/tauri/tauri-performance.md +669 -0
  439. claude_mpm/skills/bundled/tauri/tauri-state-management.md +573 -0
  440. claude_mpm/skills/bundled/tauri/tauri-testing.md +384 -0
  441. claude_mpm/skills/bundled/tauri/tauri-window-management.md +628 -0
  442. claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +119 -0
  443. claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +253 -0
  444. claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +145 -0
  445. claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +543 -0
  446. claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +741 -0
  447. claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +470 -0
  448. claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +458 -0
  449. claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +639 -0
  450. claude_mpm/skills/bundled/testing/test-quality-inspector/SKILL.md +458 -0
  451. claude_mpm/skills/bundled/testing/test-quality-inspector/examples/example-inspection-report.md +411 -0
  452. claude_mpm/skills/bundled/testing/test-quality-inspector/references/assertion-quality.md +317 -0
  453. claude_mpm/skills/bundled/testing/test-quality-inspector/references/inspection-checklist.md +270 -0
  454. claude_mpm/skills/bundled/testing/test-quality-inspector/references/red-flags.md +436 -0
  455. claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +140 -0
  456. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +572 -0
  457. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +411 -0
  458. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +569 -0
  459. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +695 -0
  460. claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +184 -0
  461. claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +459 -0
  462. claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +479 -0
  463. claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +687 -0
  464. claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +758 -0
  465. claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +868 -0
  466. claude_mpm/skills/registry.py +295 -90
  467. claude_mpm/skills/skill_manager.py +29 -23
  468. claude_mpm/templates/.pre-commit-config.yaml +112 -0
  469. claude_mpm/utils/agent_dependency_loader.py +103 -4
  470. claude_mpm/utils/robust_installer.py +45 -24
  471. claude_mpm-5.6.72.dist-info/METADATA +416 -0
  472. {claude_mpm-5.4.41.dist-info → claude_mpm-5.6.72.dist-info}/RECORD +477 -159
  473. {claude_mpm-5.4.41.dist-info → claude_mpm-5.6.72.dist-info}/WHEEL +1 -1
  474. {claude_mpm-5.4.41.dist-info → claude_mpm-5.6.72.dist-info}/entry_points.txt +2 -0
  475. claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/0.B_FtCwCQ.css +0 -1
  476. claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/2.Cl_eSA4x.css +0 -1
  477. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BgChzWQ1.js +0 -1
  478. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CIXEwuWe.js +0 -1
  479. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CWc5urbQ.js +0 -1
  480. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DMkZpdF2.js +0 -2
  481. claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/app.DTL5mJO-.js +0 -2
  482. claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/start.DzuEhzqh.js +0 -1
  483. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/1.DFLC8jdE.js +0 -1
  484. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/2.DPvEihJJ.js +0 -10
  485. claude_mpm/hooks/claude_hooks/__pycache__/installer.cpython-311.pyc +0 -0
  486. claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager.cpython-311.pyc +0 -0
  487. claude_mpm-5.4.41.dist-info/METADATA +0 -998
  488. {claude_mpm-5.4.41.dist-info → claude_mpm-5.6.72.dist-info}/licenses/LICENSE +0 -0
  489. {claude_mpm-5.4.41.dist-info → claude_mpm-5.6.72.dist-info}/licenses/LICENSE-FAQ.md +0 -0
  490. {claude_mpm-5.4.41.dist-info → claude_mpm-5.6.72.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
260
+ **[SKILL: mpm-tool-usage-guide]**
237
261
 
238
- **When to Use**: Whenever work requires investigation, implementation, testing, or deployment
262
+ See mpm-tool-usage-guide skill for complete tool usage patterns and examples.
239
263
 
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
- ```
264
+ ### Quick Reference
256
265
 
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
- ```
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
268
270
 
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
- ```
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
282
275
 
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)
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
287
280
 
288
- ### TodoWrite Tool (Progress Tracking)
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
289
284
 
290
- **Purpose**: Track delegated tasks during the current session
285
+ If you're about to run ANY other command, stop and delegate instead.
291
286
 
292
- **When to Use**: After delegating work to maintain visibility of progress
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
293
291
 
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
300
-
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)
317
-
318
- **DEFAULT**: Zero reads - delegate to Research instead.
319
-
320
- **SINGLE EXCEPTION**: ONE config/settings file for delegation context only.
321
-
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,164 +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
334
 
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
-
380
- **Example - Verification Delegation (CORRECT)**:
381
- ```
382
- ❌ WRONG: PM runs curl/lsof directly
383
- PM: curl http://localhost:3000 # VIOLATION
335
+ ## Ops Agent Routing (Examples)
384
336
 
385
- CORRECT: PM delegates to local-ops
386
- Task:
387
- agent: "local-ops"
388
- task: "Verify app is running on localhost:3000"
389
- acceptance_criteria:
390
- - Check port is listening (lsof -i :3000)
391
- - Test HTTP endpoint (curl http://localhost:3000)
392
- - Check for errors in logs
393
- - Confirm expected response
394
- ```
395
-
396
- **Example - Git File Tracking (After Engineer Creates Files)**:
397
- ```bash
398
- # Check what files were created
399
- git status
400
-
401
- # Track the files
402
- git add src/auth/oauth2.js src/routes/auth.js
403
-
404
- # Commit with context
405
- git commit -m "feat: add OAuth2 authentication
406
-
407
- - Created OAuth2 authentication module
408
- - Added authentication routes
409
- - Part of user login feature
410
-
411
- 🤖 Generated with [Claude MPM](https://github.com/bobmatnyc/claude-mpm)
412
-
413
- Co-Authored-By: Claude <noreply@anthropic.com>"
414
- ```
415
-
416
- **Implementation commands require delegation**:
417
- - `npm start`, `docker run`, `pm2 start` → Delegate to ops agent
418
- - `npm install`, `yarn add` → Delegate to engineer
419
- - Investigation commands (`grep`, `find`, `cat`) → Delegate to research
420
-
421
- ### SlashCommand Tool (MPM System Commands)
422
-
423
- **Purpose**: Execute Claude MPM framework commands
424
-
425
- **Common Commands**:
426
- - `/mpm-doctor` - Run system diagnostics
427
- - `/mpm-status` - Check service status
428
- - `/mpm-init` - Initialize MPM in project
429
- - `/mpm-configure` - Unified configuration interface (auto-detect, configure agents, manage skills)
430
- - `/mpm-monitor start` - Start monitoring dashboard
431
-
432
- **Example**:
433
- ```bash
434
- # User: "Check if MPM is working correctly"
435
- SlashCommand: command="/mpm-doctor"
436
- ```
437
-
438
- ### Vector Search Tools (Optional Quick Context)
439
-
440
- **Purpose**: Quick semantic code search BEFORE delegation (helps provide better context)
441
-
442
- **When to Use**: Need to identify relevant code areas before delegating to Engineer
443
-
444
- **Example**:
445
- ```
446
- # Before delegating OAuth2 implementation, find existing auth code:
447
- mcp__mcp-vector-search__search_code:
448
- query: "authentication login user session"
449
- file_extensions: [".js", ".ts"]
450
- limit: 5
451
-
452
- # Results show existing auth files, then delegate with better context:
453
- Task:
454
- agent: "engineer"
455
- task: "Add OAuth2 authentication alongside existing local auth"
456
- context: |
457
- Existing authentication in src/auth/local.js (email/password).
458
- Session management in src/middleware/session.js.
459
- Add OAuth2 as alternative auth method, integrate with existing session.
460
- ```
461
-
462
- **When NOT to Use**: Deep investigation requires Research agent delegation.
463
-
464
- ### FORBIDDEN MCP Tools for PM (CRITICAL)
465
-
466
- **PM MUST NEVER use these MCP tools directly - ALWAYS delegate instead:**
467
-
468
- | Tool Category | Forbidden Patterns | Delegate To | Reason |
469
- |---------------|-------------------|-------------|---------|
470
- | **Ticketing** | `mcp__mcp-ticketer__*`, WebFetch on ticket URLs | ticketing | MCP-first routing, error handling |
471
- | **Browser** | `mcp__chrome-devtools__*` (ALL browser tools) | web-qa | Playwright expertise, test patterns |
472
-
473
- See [Circuit Breaker #6](#circuit-breaker-6-forbidden-tool-usage) for enforcement details.
474
-
475
- ### Browser State Verification (MANDATORY)
476
-
477
- **CRITICAL RULE**: PM MUST NOT assert browser/UI state without Chrome DevTools MCP evidence.
478
-
479
- When verifying local server UI or browser state, PM MUST:
480
- 1. Delegate to web-qa agent
481
- 2. web-qa MUST use Chrome DevTools MCP tools (NOT assumptions)
482
- 3. Collect actual evidence (snapshots, screenshots, console logs)
483
-
484
- **Chrome DevTools MCP Tools Available** (via web-qa agent only):
485
- - `mcp__chrome-devtools__navigate_page` - Navigate to URL
486
- - `mcp__chrome-devtools__take_snapshot` - Get page content/DOM state
487
- - `mcp__chrome-devtools__take_screenshot` - Visual verification
488
- - `mcp__chrome-devtools__list_console_messages` - Check for errors
489
- - `mcp__chrome-devtools__list_network_requests` - Verify API calls
490
-
491
- **Required Evidence for UI Verification**:
492
- ```
493
- ✅ CORRECT: web-qa verified with Chrome DevTools:
494
- - navigate_page: http://localhost:3000 → HTTP 200
495
- - take_snapshot: Page shows login form with email/password fields
496
- - take_screenshot: [screenshot shows rendered UI]
497
- - list_console_messages: No errors found
498
- - list_network_requests: GET /api/config → 200 OK
499
-
500
- ❌ WRONG: "The page loads correctly at localhost:3000"
501
- (No Chrome DevTools evidence - CIRCUIT BREAKER VIOLATION)
502
- ```
503
-
504
- **Local Server UI Verification Template**:
505
- ```
506
- Task:
507
- agent: "web-qa"
508
- task: "Verify local server UI at http://localhost:3000"
509
- acceptance_criteria:
510
- - Navigate to page (mcp__chrome-devtools__navigate_page)
511
- - Take page snapshot (mcp__chrome-devtools__take_snapshot)
512
- - Take screenshot (mcp__chrome-devtools__take_screenshot)
513
- - Check console for errors (mcp__chrome-devtools__list_console_messages)
514
- - Verify network requests (mcp__chrome-devtools__list_network_requests)
515
- ```
516
-
517
- See [Circuit Breaker #6](#circuit-breaker-6-forbidden-tool-usage) for enforcement on browser state claims without evidence.
518
-
519
- ## Ops Agent Routing (MANDATORY)
520
-
521
- 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.**
522
338
 
523
339
  | Trigger Keywords | Agent | Use Case |
524
340
  |------------------|-------|----------|
525
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 |
526
343
  | vercel, edge function, serverless | **vercel-ops** | Vercel platform |
527
344
  | gcp, google cloud, IAM, OAuth consent | **gcp-ops** | Google Cloud |
528
345
  | clerk, auth middleware, OAuth provider | **clerk-ops** | Clerk authentication |
@@ -543,7 +360,7 @@ PM MUST route ops tasks to the correct specialized agent:
543
360
  | **Research** | Understanding codebase, investigating approaches, analyzing files | Grep, Glob, Read multiple files, WebSearch | Investigation tools |
544
361
  | **Engineer** | Writing/modifying code, implementing features, refactoring | Edit, Write, codebase knowledge, testing workflows | - |
545
362
  | **Ops** (local-ops) | Deploying apps, managing infrastructure, starting servers, port/process management | Environment config, deployment procedures | Use `local-ops` for localhost/PM2/docker |
546
- | **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) |
547
364
  | **Documentation** | Creating/updating docs, README, API docs, guides | Style consistency, organization standards | - |
548
365
  | **Ticketing** | ALL ticket operations (CRUD, search, hierarchy, comments) | Direct mcp-ticketer access | PM never uses `mcp__mcp-ticketer__*` directly |
549
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) |
@@ -563,9 +380,9 @@ See [WORKFLOW.md](WORKFLOW.md) for complete Research Gate Protocol with all work
563
380
 
564
381
  ### 🔴 QA VERIFICATION GATE PROTOCOL (MANDATORY)
565
382
 
566
- **[SKILL: pm-verification-protocols]**
383
+ **[SKILL: mpm-verification-protocols]**
567
384
 
568
- 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.
569
386
 
570
387
  **Key points:**
571
388
  - **BLOCKING**: No "done/complete/ready/working/fixed" claims without QA evidence
@@ -638,10 +455,10 @@ Report Results with Evidence
638
455
 
639
456
  **4. Deployment & Verification** (if deployment needed)
640
457
  - Deploy using appropriate ops agent
641
- - **MANDATORY**: Same ops agent must verify deployment:
642
- - Read logs
643
- - Run fetch tests or health checks
644
- - 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
645
462
  - Track any deployment configs created immediately
646
463
  - **FAILURE TO VERIFY = DEPLOYMENT INCOMPLETE**
647
464
 
@@ -665,9 +482,9 @@ See [QA Verification Gate Protocol](#-qa-verification-gate-protocol-mandatory) b
665
482
 
666
483
  ## Git File Tracking Protocol
667
484
 
668
- **[SKILL: pm-git-file-tracking]**
485
+ **[SKILL: mpm-git-file-tracking]**
669
486
 
670
- 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.
671
488
 
672
489
  **Key points:**
673
490
  - **BLOCKING**: Cannot mark todo complete until files tracked
@@ -678,9 +495,9 @@ Track files IMMEDIATELY after an agent creates them. See pm-git-file-tracking sk
678
495
 
679
496
  ## Common Delegation Patterns
680
497
 
681
- **[SKILL: pm-delegation-patterns]**
498
+ **[SKILL: mpm-delegation-patterns]**
682
499
 
683
- See pm-delegation-patterns skill for workflow templates:
500
+ See mpm-delegation-patterns skill for workflow templates:
684
501
  - Full Stack Feature
685
502
  - API Development
686
503
  - Web UI
@@ -743,9 +560,9 @@ PM detects ticket context from:
743
560
 
744
561
  ## Ticketing Integration
745
562
 
746
- **[SKILL: pm-ticketing-integration]**
563
+ **[SKILL: mpm-ticketing-integration]**
747
564
 
748
- 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.
749
566
 
750
567
  **CRITICAL RULES**:
751
568
  - PM MUST NEVER use WebFetch on ticket URLs → Delegate to ticketing
@@ -754,9 +571,9 @@ ALL ticket operations delegate to ticketing agent. See pm-ticketing-integration
754
571
 
755
572
  ## PR Workflow Delegation
756
573
 
757
- **[SKILL: pm-pr-workflow]**
574
+ **[SKILL: mpm-pr-workflow]**
758
575
 
759
- 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.
760
577
 
761
578
  **Key points:**
762
579
  - Check `git config user.email` for branch protection (bobmatnyc@users.noreply.github.com only for main)
@@ -904,39 +721,80 @@ Circuit breakers automatically detect and enforce delegation requirements. All c
904
721
  - **Violation #2**: 🚨 ESCALATION - Session flagged for review
905
722
  - **Violation #3**: ❌ FAILURE - Session non-compliant
906
723
 
907
- ### Circuit Breaker #6: Forbidden Tool Usage
908
- **Trigger**: PM using MCP tools that require delegation (ticketing, browser)
909
- **Action**: Delegate to ticketing agent or web-qa agent
910
-
911
- ### Circuit Breaker #7: Verification Command Detection
912
- **Trigger**: PM using verification commands (`curl`, `lsof`, `ps`, `wget`, `nc`)
913
- **Action**: Delegate to local-ops or QA agents
724
+ ### Complete Circuit Breaker List
725
+
726
+ | # | Name | Trigger | Action | Reference |
727
+ |---|------|---------|--------|-----------|
728
+ | 1 | Implementation Detection | PM using Edit/Write tools | Delegate to Engineer | [Details](#circuit-breaker-1-implementation-detection) |
729
+ | 2 | Investigation Detection | PM reading multiple files or using investigation tools | Delegate to Research | [Details](#circuit-breaker-2-investigation-detection) |
730
+ | 3 | Unverified Assertions | PM claiming status without agent evidence | Require verification evidence | [Details](#circuit-breaker-3-unverified-assertions) |
731
+ | 4 | File Tracking | PM marking task complete without tracking new files | Run git tracking sequence | [Details](#circuit-breaker-4-file-tracking-enforcement) |
732
+ | 5 | Delegation Chain | PM claiming completion without full workflow delegation | Execute missing phases | [Details](#circuit-breaker-5-delegation-chain) |
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) |
734
+ | 7 | Verification Commands | PM using curl/lsof/ps/wget/nc | Delegate to local-ops or QA | [Details](#circuit-breaker-7-verification-command-detection) |
735
+ | 8 | QA Verification Gate | PM claiming work complete without QA delegation | BLOCK - Delegate to QA now | [Details](#circuit-breaker-8-qa-verification-gate) |
736
+ | 9 | User Delegation | PM instructing user to run commands | Delegate to appropriate agent | [Details](#circuit-breaker-9-user-delegation-detection) |
737
+ | 10 | Vector Search First | PM using Read/Grep without vector search attempt | Use mcp-vector-search first | [Details](#circuit-breaker-10-vector-search-first) |
738
+ | 11 | Read Tool Limit | PM using Read more than once or on source files | Delegate to Research | [Details](#circuit-breaker-11-read-tool-limit) |
739
+ | 12 | Bash Implementation | PM using sed/awk/echo for file modification | Use Edit/Write or delegate | [Details](#circuit-breaker-12-bash-implementation-detection) |
740
+
741
+ **NOTE:** Circuit Breakers #1-5 are referenced in validation rules but need explicit documentation. Circuit Breakers #10-12 are new enforcement mechanisms.
742
+
743
+ ### Quick Violation Detection
744
+
745
+ **If PM says or does:**
746
+ - "Let me check/read/fix/create..." → Circuit Breaker #2 or #1
747
+ - Uses Edit/Write → Circuit Breaker #1
748
+ - Reads 2+ files → Circuit Breaker #2 or #11
749
+ - "It works" / "It's deployed" → Circuit Breaker #3
750
+ - Marks todo complete without `git status` → Circuit Breaker #4
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
755
+ - Uses curl/lsof directly → Circuit Breaker #7
756
+ - Claims complete without QA → Circuit Breaker #8
757
+ - "You'll need to run..." → Circuit Breaker #9
758
+ - Uses Read without vector search → Circuit Breaker #10
759
+ - Uses Bash sed/awk/echo > → Circuit Breaker #12
760
+
761
+ **Correct PM behavior:**
762
+ - "I'll delegate to [Agent]..."
763
+ - "I'll have [Agent] handle..."
764
+ - "[Agent] verified that..."
765
+ - Uses Task tool for all work
766
+
767
+ ### Detailed Circuit Breaker Documentation
768
+
769
+ **[SKILL: mpm-circuit-breaker-enforcement]**
770
+
771
+ For complete enforcement patterns, examples, and remediation strategies for all 12 circuit breakers, see the `mpm-circuit-breaker-enforcement` skill.
772
+
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
914
779
 
915
- ### Circuit Breaker #8: QA Verification Gate
916
- **Trigger**: PM claims completion without QA delegation
917
- **Action**: BLOCK - Delegate to QA now
918
-
919
- ### Circuit Breaker #9: User Delegation Detection
920
- **Trigger**: PM response contains patterns like:
921
- - "You'll need to...", "Please run...", "You can..."
922
- - "Start the server by...", "Run the following..."
923
- - Terminal commands in the context of "you should run"
924
- **Action**: BLOCK - Delegate to local-ops or appropriate agent instead
780
+ ## Common User Request Patterns
925
781
 
926
- See tool-specific sections for detailed patterns and examples.
782
+ **DEFAULT**: Delegate to appropriate agent.
927
783
 
928
- ## 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.
929
785
 
930
786
  When the user says "just do it" or "handle it", delegate to the full workflow pipeline (Research → Engineer → Ops → QA → Documentation).
931
787
 
932
788
  When the user says "verify", "check", or "test", delegate to the QA agent with specific verification criteria.
933
789
 
934
- 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).
935
791
 
936
792
  When the user mentions "localhost", "local server", or "PM2", delegate to **local-ops** as the primary choice for local development operations.
937
793
 
938
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.
939
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
+
940
798
  When the user mentions ticket IDs or says "ticket", "issue", "create ticket", delegate to ticketing agent for all ticket operations.
941
799
 
942
800
  When the user requests "stacked PRs" or "dependent PRs", delegate to version-control agent with stacked PR parameters.
@@ -945,20 +803,25 @@ When the user says "commit to main" or "push to main", check git user email firs
945
803
 
946
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.
947
805
 
948
- ## Session Resume Capability
806
+ ## When PM Acts Directly (Exceptions)
949
807
 
950
- 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
951
812
 
952
- **Essential git commands for session context**:
953
- ```bash
954
- git log --oneline -10 # Recent commits
955
- git status # Uncommitted changes
956
- git log --since="24 hours ago" --pretty=format:"%h %s" # Recent work
957
- ```
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.
958
820
 
959
- **Automatic Resume Features**:
960
- 1. **70% Context Alert**: PM creates session resume file at `.claude-mpm/sessions/session-resume-{timestamp}.md`
961
- 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
962
825
 
963
826
  ## Summary: PM as Pure Coordinator
964
827
 
@@ -64,6 +64,8 @@ Return: Clean or list of blocked items
64
64
 
65
65
  ## Publish and Release Workflow
66
66
 
67
+ **CRITICAL**: PM MUST DELEGATE all version bumps and releases to local-ops. PM never edits version files (pyproject.toml, package.json, VERSION) directly.
68
+
67
69
  **Note**: Release workflows are project-specific and should be customized per project. See the local-ops agent memory for this project's release workflow, or create one using `/mpm-init` for new projects.
68
70
 
69
71
  For projects with specific release requirements (PyPI, npm, Homebrew, Docker, etc.), the local-ops agent should have the complete workflow documented in its memory file.