claude-mpm 5.4.55__py3-none-any.whl → 5.6.1__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.
Files changed (401) 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 +111 -686
  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 +46 -0
  13. claude_mpm/cli/commands/configure.py +620 -21
  14. claude_mpm/cli/commands/hook_errors.py +60 -60
  15. claude_mpm/cli/commands/monitor.py +2 -2
  16. claude_mpm/cli/commands/mpm_init/core.py +2 -2
  17. claude_mpm/cli/commands/run.py +35 -3
  18. claude_mpm/cli/commands/skills.py +166 -14
  19. claude_mpm/cli/executor.py +120 -16
  20. claude_mpm/cli/interactive/__init__.py +10 -0
  21. claude_mpm/cli/interactive/agent_wizard.py +30 -50
  22. claude_mpm/cli/interactive/questionary_styles.py +65 -0
  23. claude_mpm/cli/interactive/skill_selector.py +481 -0
  24. claude_mpm/cli/parsers/base_parser.py +76 -1
  25. claude_mpm/cli/parsers/commander_parser.py +83 -0
  26. claude_mpm/cli/parsers/run_parser.py +10 -0
  27. claude_mpm/cli/startup.py +276 -403
  28. claude_mpm/cli/startup_display.py +72 -5
  29. claude_mpm/cli/startup_logging.py +2 -2
  30. claude_mpm/cli/utils.py +7 -3
  31. claude_mpm/commander/__init__.py +72 -0
  32. claude_mpm/commander/adapters/__init__.py +31 -0
  33. claude_mpm/commander/adapters/base.py +191 -0
  34. claude_mpm/commander/adapters/claude_code.py +361 -0
  35. claude_mpm/commander/adapters/communication.py +366 -0
  36. claude_mpm/commander/api/__init__.py +16 -0
  37. claude_mpm/commander/api/app.py +105 -0
  38. claude_mpm/commander/api/errors.py +112 -0
  39. claude_mpm/commander/api/routes/__init__.py +8 -0
  40. claude_mpm/commander/api/routes/events.py +184 -0
  41. claude_mpm/commander/api/routes/inbox.py +171 -0
  42. claude_mpm/commander/api/routes/messages.py +148 -0
  43. claude_mpm/commander/api/routes/projects.py +271 -0
  44. claude_mpm/commander/api/routes/sessions.py +215 -0
  45. claude_mpm/commander/api/routes/work.py +260 -0
  46. claude_mpm/commander/api/schemas.py +182 -0
  47. claude_mpm/commander/chat/__init__.py +7 -0
  48. claude_mpm/commander/chat/cli.py +107 -0
  49. claude_mpm/commander/chat/commands.py +96 -0
  50. claude_mpm/commander/chat/repl.py +310 -0
  51. claude_mpm/commander/config.py +49 -0
  52. claude_mpm/commander/config_loader.py +115 -0
  53. claude_mpm/commander/daemon.py +398 -0
  54. claude_mpm/commander/events/__init__.py +26 -0
  55. claude_mpm/commander/events/manager.py +332 -0
  56. claude_mpm/commander/frameworks/__init__.py +12 -0
  57. claude_mpm/commander/frameworks/base.py +143 -0
  58. claude_mpm/commander/frameworks/claude_code.py +58 -0
  59. claude_mpm/commander/frameworks/mpm.py +62 -0
  60. claude_mpm/commander/inbox/__init__.py +16 -0
  61. claude_mpm/commander/inbox/dedup.py +128 -0
  62. claude_mpm/commander/inbox/inbox.py +224 -0
  63. claude_mpm/commander/inbox/models.py +70 -0
  64. claude_mpm/commander/instance_manager.py +337 -0
  65. claude_mpm/commander/llm/__init__.py +6 -0
  66. claude_mpm/commander/llm/openrouter_client.py +167 -0
  67. claude_mpm/commander/llm/summarizer.py +70 -0
  68. claude_mpm/commander/models/__init__.py +18 -0
  69. claude_mpm/commander/models/events.py +121 -0
  70. claude_mpm/commander/models/project.py +162 -0
  71. claude_mpm/commander/models/work.py +214 -0
  72. claude_mpm/commander/parsing/__init__.py +20 -0
  73. claude_mpm/commander/parsing/extractor.py +132 -0
  74. claude_mpm/commander/parsing/output_parser.py +270 -0
  75. claude_mpm/commander/parsing/patterns.py +100 -0
  76. claude_mpm/commander/persistence/__init__.py +11 -0
  77. claude_mpm/commander/persistence/event_store.py +274 -0
  78. claude_mpm/commander/persistence/state_store.py +309 -0
  79. claude_mpm/commander/persistence/work_store.py +164 -0
  80. claude_mpm/commander/polling/__init__.py +13 -0
  81. claude_mpm/commander/polling/event_detector.py +104 -0
  82. claude_mpm/commander/polling/output_buffer.py +49 -0
  83. claude_mpm/commander/polling/output_poller.py +153 -0
  84. claude_mpm/commander/project_session.py +268 -0
  85. claude_mpm/commander/proxy/__init__.py +12 -0
  86. claude_mpm/commander/proxy/formatter.py +89 -0
  87. claude_mpm/commander/proxy/output_handler.py +191 -0
  88. claude_mpm/commander/proxy/relay.py +155 -0
  89. claude_mpm/commander/registry.py +404 -0
  90. claude_mpm/commander/runtime/__init__.py +10 -0
  91. claude_mpm/commander/runtime/executor.py +191 -0
  92. claude_mpm/commander/runtime/monitor.py +316 -0
  93. claude_mpm/commander/session/__init__.py +6 -0
  94. claude_mpm/commander/session/context.py +81 -0
  95. claude_mpm/commander/session/manager.py +59 -0
  96. claude_mpm/commander/tmux_orchestrator.py +361 -0
  97. claude_mpm/commander/web/__init__.py +1 -0
  98. claude_mpm/commander/work/__init__.py +30 -0
  99. claude_mpm/commander/work/executor.py +189 -0
  100. claude_mpm/commander/work/queue.py +405 -0
  101. claude_mpm/commander/workflow/__init__.py +27 -0
  102. claude_mpm/commander/workflow/event_handler.py +219 -0
  103. claude_mpm/commander/workflow/notifier.py +146 -0
  104. claude_mpm/commands/mpm-config.md +8 -0
  105. claude_mpm/commands/mpm-doctor.md +8 -0
  106. claude_mpm/commands/mpm-help.md +8 -0
  107. claude_mpm/commands/mpm-init.md +8 -0
  108. claude_mpm/commands/mpm-monitor.md +8 -0
  109. claude_mpm/commands/mpm-organize.md +8 -0
  110. claude_mpm/commands/mpm-postmortem.md +8 -0
  111. claude_mpm/commands/mpm-session-resume.md +9 -1
  112. claude_mpm/commands/mpm-status.md +8 -0
  113. claude_mpm/commands/mpm-ticket-view.md +8 -0
  114. claude_mpm/commands/mpm-version.md +8 -0
  115. claude_mpm/commands/mpm.md +8 -0
  116. claude_mpm/config/agent_presets.py +8 -7
  117. claude_mpm/constants.py +1 -0
  118. claude_mpm/core/claude_runner.py +2 -2
  119. claude_mpm/core/config.py +5 -0
  120. claude_mpm/core/hook_manager.py +51 -3
  121. claude_mpm/core/interactive_session.py +7 -7
  122. claude_mpm/core/logger.py +10 -7
  123. claude_mpm/core/logging_utils.py +4 -2
  124. claude_mpm/core/output_style_manager.py +31 -13
  125. claude_mpm/core/unified_config.py +54 -8
  126. claude_mpm/core/unified_paths.py +30 -13
  127. claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/0.C33zOoyM.css +1 -0
  128. claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/2.CW1J-YuA.css +1 -0
  129. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{Cs_tUR18.js → 1WZnGYqX.js} +1 -1
  130. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{CDuw-vjf.js → 67pF3qNn.js} +1 -1
  131. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{bTOqqlTd.js → 6RxdMKe4.js} +1 -1
  132. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{DwBR2MJi.js → 8cZrfX0h.js} +1 -1
  133. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{ZGh7QtNv.js → 9a6T2nm-.js} +1 -1
  134. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{D9lljYKQ.js → B443AUzu.js} +1 -1
  135. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{RJiighC3.js → B8AwtY2H.js} +1 -1
  136. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{uuIeMWc-.js → BF15LAsF.js} +1 -1
  137. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{D3k0OPJN.js → BRcwIQNr.js} +1 -1
  138. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{CyWMqx4W.js → BV6nKitt.js} +1 -1
  139. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{CiIAseT4.js → BViJ8lZt.js} +5 -5
  140. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{CBBdVcY8.js → BcQ-Q0FE.js} +1 -1
  141. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{BovzEFCE.js → Bpyvgze_.js} +1 -1
  142. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BzTRqg-z.js +1 -0
  143. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C0Fr8dve.js +1 -0
  144. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{eNVUfhuA.js → C3rbW_a-.js} +1 -1
  145. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{GYwsonyD.js → C8WYN38h.js} +1 -1
  146. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{BIF9m_hv.js → C9I8FlXH.js} +1 -1
  147. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{B0uc0UOD.js → CIQcWgO2.js} +3 -3
  148. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{Be7GpZd6.js → CIctN7YN.js} +1 -1
  149. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{Bh0LDWpI.js → CKrS_JZW.js} +2 -2
  150. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{DUrLdbGD.js → CR6P9C4A.js} +1 -1
  151. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{B7xVLGWV.js → CRRR9MD_.js} +1 -1
  152. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CRcR2DqT.js +334 -0
  153. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{Dhb8PKl3.js → CSXtMOf0.js} +1 -1
  154. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{BPYeabCQ.js → CT-sbxSk.js} +1 -1
  155. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{sQeU3Y1z.js → CWm6DJsp.js} +1 -1
  156. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{CnA0NrzZ.js → CpqQ1Kzn.js} +1 -1
  157. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{C4B-KCzX.js → D2nGpDRe.js} +1 -1
  158. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{DGkLK5U1.js → D9iCMida.js} +1 -1
  159. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{BofRWZRR.js → D9ykgMoY.js} +1 -1
  160. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{DmxopI1J.js → DL2Ldur1.js} +1 -1
  161. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{C30mlcqg.js → DPfltzjH.js} +1 -1
  162. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{Vzk33B_K.js → DR8nis88.js} +2 -2
  163. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{DI7hHRFL.js → DUliQN2b.js} +1 -1
  164. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{C4JcI4KD.js → DXlhR01x.js} +1 -1
  165. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{bT1r9zLR.js → D_lyTybS.js} +1 -1
  166. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{DZX00Y4g.js → DngoTTgh.js} +1 -1
  167. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{CzZX-COe.js → DqkmHtDC.js} +1 -1
  168. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{B7RN905-.js → DsDh8EYs.js} +1 -1
  169. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{DLVjFsZ3.js → DypDmXgd.js} +1 -1
  170. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{iEWssX7S.js → IPYC-LnN.js} +1 -1
  171. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/JTLiF7dt.js +24 -0
  172. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{DaimHw_p.js → JpevfAFt.js} +1 -1
  173. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{DY1XQ8fi.js → R8CEIRAd.js} +1 -1
  174. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{Dle-35c7.js → Zxy7qc-l.js} +2 -2
  175. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/q9Hm6zAU.js +1 -0
  176. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{C_Usid8X.js → qtd3IeO4.js} +2 -2
  177. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{CzeYkLYB.js → ulBFON_C.js} +2 -2
  178. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{Cfqx1Qun.js → wQVh1CoA.js} +1 -1
  179. claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/{app.D6-I5TpK.js → app.Dr7t0z2J.js} +2 -2
  180. claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/start.BGhZHUS3.js +1 -0
  181. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/{0.m1gL8KXf.js → 0.RgBboRvH.js} +1 -1
  182. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/{1.CgNOuw-d.js → 1.DG-KkbDf.js} +1 -1
  183. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/2.D_jnf-x6.js +1 -0
  184. claude_mpm/dashboard/static/svelte-build/_app/version.json +1 -1
  185. claude_mpm/dashboard/static/svelte-build/index.html +9 -9
  186. claude_mpm/experimental/cli_enhancements.py +2 -1
  187. claude_mpm/hooks/claude_hooks/INTEGRATION_EXAMPLE.md +243 -0
  188. claude_mpm/hooks/claude_hooks/README_AUTO_PAUSE.md +403 -0
  189. claude_mpm/hooks/claude_hooks/auto_pause_handler.py +486 -0
  190. claude_mpm/hooks/claude_hooks/event_handlers.py +250 -11
  191. claude_mpm/hooks/claude_hooks/hook_handler.py +106 -89
  192. claude_mpm/hooks/claude_hooks/hook_wrapper.sh +6 -11
  193. claude_mpm/hooks/claude_hooks/installer.py +69 -5
  194. claude_mpm/hooks/claude_hooks/response_tracking.py +3 -1
  195. claude_mpm/hooks/claude_hooks/services/connection_manager.py +20 -0
  196. claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +14 -77
  197. claude_mpm/hooks/claude_hooks/services/subagent_processor.py +30 -6
  198. claude_mpm/hooks/session_resume_hook.py +85 -1
  199. claude_mpm/init.py +1 -1
  200. claude_mpm/scripts/claude-hook-handler.sh +36 -10
  201. claude_mpm/scripts/start_activity_logging.py +0 -0
  202. claude_mpm/services/agents/agent_recommendation_service.py +8 -8
  203. claude_mpm/services/agents/cache_git_manager.py +1 -1
  204. claude_mpm/services/agents/deployment/agent_template_builder.py +8 -0
  205. claude_mpm/services/agents/deployment/deployment_reconciler.py +577 -0
  206. claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +3 -0
  207. claude_mpm/services/agents/deployment/startup_reconciliation.py +138 -0
  208. claude_mpm/services/agents/loading/framework_agent_loader.py +75 -2
  209. claude_mpm/services/agents/sources/git_source_sync_service.py +7 -4
  210. claude_mpm/services/agents/startup_sync.py +5 -2
  211. claude_mpm/services/cli/__init__.py +3 -0
  212. claude_mpm/services/cli/incremental_pause_manager.py +561 -0
  213. claude_mpm/services/cli/session_resume_helper.py +10 -2
  214. claude_mpm/services/delegation_detector.py +175 -0
  215. claude_mpm/services/diagnostics/checks/agent_sources_check.py +30 -0
  216. claude_mpm/services/diagnostics/checks/configuration_check.py +24 -0
  217. claude_mpm/services/diagnostics/checks/installation_check.py +22 -0
  218. claude_mpm/services/diagnostics/checks/mcp_services_check.py +23 -0
  219. claude_mpm/services/diagnostics/doctor_reporter.py +31 -1
  220. claude_mpm/services/diagnostics/models.py +14 -1
  221. claude_mpm/services/event_log.py +325 -0
  222. claude_mpm/services/infrastructure/__init__.py +4 -0
  223. claude_mpm/services/infrastructure/context_usage_tracker.py +291 -0
  224. claude_mpm/services/infrastructure/resume_log_generator.py +24 -5
  225. claude_mpm/services/monitor/daemon_manager.py +15 -4
  226. claude_mpm/services/monitor/management/lifecycle.py +8 -2
  227. claude_mpm/services/monitor/server.py +106 -16
  228. claude_mpm/services/pm_skills_deployer.py +261 -85
  229. claude_mpm/services/skills/git_skill_source_manager.py +75 -10
  230. claude_mpm/services/skills/selective_skill_deployer.py +177 -80
  231. claude_mpm/services/skills/skill_discovery_service.py +57 -3
  232. claude_mpm/services/socketio/handlers/hook.py +14 -7
  233. claude_mpm/services/socketio/server/main.py +12 -4
  234. claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +79 -0
  235. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +178 -0
  236. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +577 -0
  237. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +467 -0
  238. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +537 -0
  239. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +730 -0
  240. claude_mpm/skills/bundled/collaboration/git-worktrees.md +317 -0
  241. claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +112 -0
  242. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +146 -0
  243. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +412 -0
  244. claude_mpm/skills/bundled/collaboration/stacked-prs.md +251 -0
  245. claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +81 -0
  246. claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +362 -0
  247. claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +312 -0
  248. claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +152 -0
  249. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +668 -0
  250. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +587 -0
  251. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +438 -0
  252. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +391 -0
  253. claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +119 -0
  254. claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +148 -0
  255. claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +483 -0
  256. claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +452 -0
  257. claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +449 -0
  258. claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +411 -0
  259. claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +14 -0
  260. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +58 -0
  261. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +68 -0
  262. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +69 -0
  263. claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +131 -0
  264. claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +325 -0
  265. claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +490 -0
  266. claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +425 -0
  267. claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +499 -0
  268. claude_mpm/skills/bundled/infrastructure/env-manager/INTEGRATION.md +611 -0
  269. claude_mpm/skills/bundled/infrastructure/env-manager/README.md +596 -0
  270. claude_mpm/skills/bundled/infrastructure/env-manager/SKILL.md +260 -0
  271. claude_mpm/skills/bundled/infrastructure/env-manager/examples/nextjs-env-structure.md +315 -0
  272. claude_mpm/skills/bundled/infrastructure/env-manager/references/frameworks.md +436 -0
  273. claude_mpm/skills/bundled/infrastructure/env-manager/references/security.md +433 -0
  274. claude_mpm/skills/bundled/infrastructure/env-manager/references/synchronization.md +452 -0
  275. claude_mpm/skills/bundled/infrastructure/env-manager/references/troubleshooting.md +404 -0
  276. claude_mpm/skills/bundled/infrastructure/env-manager/references/validation.md +420 -0
  277. claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +86 -0
  278. claude_mpm/skills/bundled/main/internal-comms/SKILL.md +43 -0
  279. claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +47 -0
  280. claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +65 -0
  281. claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +30 -0
  282. claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +16 -0
  283. claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +160 -0
  284. claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +412 -0
  285. claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +602 -0
  286. claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +915 -0
  287. claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +916 -0
  288. claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +752 -0
  289. claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +1237 -0
  290. claude_mpm/skills/bundled/main/skill-creator/SKILL.md +189 -0
  291. claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +500 -0
  292. claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +464 -0
  293. claude_mpm/skills/bundled/main/skill-creator/references/examples.md +619 -0
  294. claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +437 -0
  295. claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +231 -0
  296. claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +170 -0
  297. claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +602 -0
  298. claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +821 -0
  299. claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +742 -0
  300. claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +726 -0
  301. claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +764 -0
  302. claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +831 -0
  303. claude_mpm/skills/bundled/pm/mpm/SKILL.md +38 -0
  304. claude_mpm/skills/bundled/pm/mpm-agent-update-workflow/SKILL.md +75 -0
  305. claude_mpm/skills/bundled/pm/mpm-bug-reporting/SKILL.md +248 -0
  306. claude_mpm/skills/bundled/pm/mpm-circuit-breaker-enforcement/SKILL.md +476 -0
  307. claude_mpm/skills/bundled/pm/mpm-config/SKILL.md +29 -0
  308. claude_mpm/skills/bundled/pm/mpm-delegation-patterns/SKILL.md +167 -0
  309. claude_mpm/skills/bundled/pm/mpm-doctor/SKILL.md +53 -0
  310. claude_mpm/skills/bundled/pm/mpm-git-file-tracking/SKILL.md +113 -0
  311. claude_mpm/skills/bundled/pm/mpm-help/SKILL.md +35 -0
  312. claude_mpm/skills/bundled/pm/mpm-init/SKILL.md +125 -0
  313. claude_mpm/skills/bundled/pm/mpm-monitor/SKILL.md +32 -0
  314. claude_mpm/skills/bundled/pm/mpm-organize/SKILL.md +121 -0
  315. claude_mpm/skills/bundled/pm/mpm-postmortem/SKILL.md +22 -0
  316. claude_mpm/skills/bundled/pm/mpm-pr-workflow/SKILL.md +124 -0
  317. claude_mpm/skills/bundled/pm/mpm-session-management/SKILL.md +312 -0
  318. claude_mpm/skills/bundled/pm/mpm-session-resume/SKILL.md +31 -0
  319. claude_mpm/skills/bundled/pm/mpm-status/SKILL.md +37 -0
  320. claude_mpm/skills/bundled/pm/mpm-teaching-mode/SKILL.md +657 -0
  321. claude_mpm/skills/bundled/pm/mpm-ticket-view/SKILL.md +110 -0
  322. claude_mpm/skills/bundled/pm/mpm-ticketing-integration/SKILL.md +154 -0
  323. claude_mpm/skills/bundled/pm/mpm-tool-usage-guide/SKILL.md +386 -0
  324. claude_mpm/skills/bundled/pm/mpm-verification-protocols/SKILL.md +198 -0
  325. claude_mpm/skills/bundled/pm/mpm-version/SKILL.md +21 -0
  326. claude_mpm/skills/bundled/react/flexlayout-react.md +742 -0
  327. claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +226 -0
  328. claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +901 -0
  329. claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +901 -0
  330. claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +775 -0
  331. claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +937 -0
  332. claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +770 -0
  333. claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +961 -0
  334. claude_mpm/skills/bundled/tauri/tauri-async-patterns.md +495 -0
  335. claude_mpm/skills/bundled/tauri/tauri-build-deploy.md +599 -0
  336. claude_mpm/skills/bundled/tauri/tauri-command-patterns.md +535 -0
  337. claude_mpm/skills/bundled/tauri/tauri-error-handling.md +613 -0
  338. claude_mpm/skills/bundled/tauri/tauri-event-system.md +648 -0
  339. claude_mpm/skills/bundled/tauri/tauri-file-system.md +673 -0
  340. claude_mpm/skills/bundled/tauri/tauri-frontend-integration.md +767 -0
  341. claude_mpm/skills/bundled/tauri/tauri-performance.md +669 -0
  342. claude_mpm/skills/bundled/tauri/tauri-state-management.md +573 -0
  343. claude_mpm/skills/bundled/tauri/tauri-testing.md +384 -0
  344. claude_mpm/skills/bundled/tauri/tauri-window-management.md +628 -0
  345. claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +119 -0
  346. claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +253 -0
  347. claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +145 -0
  348. claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +543 -0
  349. claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +741 -0
  350. claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +470 -0
  351. claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +458 -0
  352. claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +639 -0
  353. claude_mpm/skills/bundled/testing/test-quality-inspector/SKILL.md +458 -0
  354. claude_mpm/skills/bundled/testing/test-quality-inspector/examples/example-inspection-report.md +411 -0
  355. claude_mpm/skills/bundled/testing/test-quality-inspector/references/assertion-quality.md +317 -0
  356. claude_mpm/skills/bundled/testing/test-quality-inspector/references/inspection-checklist.md +270 -0
  357. claude_mpm/skills/bundled/testing/test-quality-inspector/references/red-flags.md +436 -0
  358. claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +140 -0
  359. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +572 -0
  360. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +411 -0
  361. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +569 -0
  362. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +695 -0
  363. claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +184 -0
  364. claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +459 -0
  365. claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +479 -0
  366. claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +687 -0
  367. claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +758 -0
  368. claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +868 -0
  369. claude_mpm/skills/skill_manager.py +4 -4
  370. claude_mpm/utils/agent_dependency_loader.py +103 -4
  371. claude_mpm/utils/robust_installer.py +45 -24
  372. claude_mpm-5.6.1.dist-info/METADATA +391 -0
  373. {claude_mpm-5.4.55.dist-info → claude_mpm-5.6.1.dist-info}/RECORD +377 -166
  374. claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/0.DWzvg0-y.css +0 -1
  375. claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/2.ThTw9_ym.css +0 -1
  376. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/4TdZjIqw.js +0 -1
  377. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/5shd3_w0.js +0 -24
  378. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BKjSRqUr.js +0 -1
  379. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Da0KfYnO.js +0 -1
  380. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Dfy6j1xT.js +0 -323
  381. claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/start.NWzMBYRp.js +0 -1
  382. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/2.C0GcWctS.js +0 -1
  383. claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-311.pyc +0 -0
  384. claude_mpm/hooks/claude_hooks/__pycache__/correlation_manager.cpython-311.pyc +0 -0
  385. claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-311.pyc +0 -0
  386. claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-311.pyc +0 -0
  387. claude_mpm/hooks/claude_hooks/__pycache__/installer.cpython-311.pyc +0 -0
  388. claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-311.pyc +0 -0
  389. claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-311.pyc +0 -0
  390. claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-311.pyc +0 -0
  391. claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-311.pyc +0 -0
  392. claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-311.pyc +0 -0
  393. claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-311.pyc +0 -0
  394. claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-311.pyc +0 -0
  395. claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-311.pyc +0 -0
  396. claude_mpm-5.4.55.dist-info/METADATA +0 -999
  397. {claude_mpm-5.4.55.dist-info → claude_mpm-5.6.1.dist-info}/WHEEL +0 -0
  398. {claude_mpm-5.4.55.dist-info → claude_mpm-5.6.1.dist-info}/entry_points.txt +0 -0
  399. {claude_mpm-5.4.55.dist-info → claude_mpm-5.6.1.dist-info}/licenses/LICENSE +0 -0
  400. {claude_mpm-5.4.55.dist-info → claude_mpm-5.6.1.dist-info}/licenses/LICENSE-FAQ.md +0 -0
  401. {claude_mpm-5.4.55.dist-info → claude_mpm-5.6.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,110 @@
1
+ ---
2
+ name: mpm-ticket-view
3
+ description: Orchestrate ticketing agent for project management workflows
4
+ user-invocable: true
5
+ version: "1.0.0"
6
+ category: mpm-command
7
+ tags: [mpm-command, tickets, pm-recommended]
8
+ ---
9
+
10
+ # /mpm-ticket
11
+
12
+ High-level ticketing workflows delegating to ticketing agent.
13
+
14
+ ## Usage
15
+ ```
16
+ /mpm-ticket <subcommand> [options]
17
+ ```
18
+
19
+ **CRITICAL:** PM delegates ALL ticketing operations to ticketing agent. PM NEVER uses MCP tools directly.
20
+
21
+ ## Subcommands
22
+
23
+ ### /mpm-ticket organize
24
+ Review, transition states, update priorities, identify stale tickets.
25
+
26
+ **MCP Tools (ticketing agent uses):**
27
+ - ticket_list, ticket_read, ticket_comment
28
+ - ticket_transition, ticket_update
29
+ - ticket_find_stale
30
+
31
+ **Output:** Tickets transitioned, priorities updated, stale tickets identified, next actions.
32
+
33
+ ### /mpm-ticket proceed
34
+ Analyze project board and recommend next actionable steps.
35
+
36
+ **MCP Tools (ticketing agent uses):**
37
+ - project_status, ticket_list, ticket_search
38
+ - epic_issues, get_available_transitions
39
+
40
+ **Output:** Project health, recommended next actions (top 3), blockers requiring attention.
41
+
42
+ ### /mpm-ticket status
43
+ Generate comprehensive status report covering work, tickets, project health.
44
+
45
+ **MCP Tools (ticketing agent uses):**
46
+ - project_status, ticket_list, ticket_search
47
+ - ticket_find_stale, get_my_tickets
48
+
49
+ **Output:** Health metrics, ticket counts, high-priority work, blockers, recent activity, risk assessment.
50
+
51
+ ### /mpm-ticket update
52
+ Create project status update (Linear ProjectUpdate).
53
+
54
+ **MCP Tools (ticketing agent uses):**
55
+ - project_status, project_update_create
56
+ - project_update_list, ticket_list
57
+
58
+ **Output:** Update ID, health status, accomplishments, metrics, risks, next sprint focus, published link.
59
+
60
+ ### /mpm-ticket project <url>
61
+ Set project URL for context (Linear/GitHub/JIRA).
62
+
63
+ **MCP Tools (ticketing agent uses):**
64
+ - config_set_default_project, epic_get, config_get
65
+
66
+ **Output:** Project context configured, platform/ID/name, access verified, summary.
67
+
68
+ ## Delegation Pattern
69
+
70
+ **WRONG ❌:**
71
+ ```
72
+ # PM directly using MCP tools
73
+ result = mcp__mcp-ticketer__ticket_list()
74
+ ```
75
+
76
+ **CORRECT ✅:**
77
+ ```
78
+ # PM delegates to ticketing agent
79
+ PM: "I'll have ticketing organize tickets..."
80
+ [PM constructs delegation prompt]
81
+ [Ticketing agent uses MCP tools]
82
+ PM: [Presents results]
83
+ ```
84
+
85
+ ## Fallback Strategy
86
+
87
+ If mcp-ticketer unavailable, ticketing agent falls back to aitrackdown CLI:
88
+ ```bash
89
+ aitrackdown status tasks
90
+ aitrackdown show TICKET-123
91
+ aitrackdown transition TICKET-123 done
92
+ ```
93
+
94
+ **PM still delegates** - ticketing agent handles CLI fallback internally.
95
+
96
+ ## Example Workflows
97
+
98
+ ```bash
99
+ # Organize and analyze
100
+ /mpm-ticket organize # Clean up board
101
+ /mpm-ticket proceed # Get next steps
102
+
103
+ # Weekly update
104
+ /mpm-ticket update # Create status update
105
+
106
+ # Project setup
107
+ /mpm-ticket project https://linear.app/team/project/abc-123
108
+ ```
109
+
110
+ See docs/commands/ticket.md for comprehensive documentation.
@@ -0,0 +1,154 @@
1
+ ---
2
+ name: pm-ticketing-integration
3
+ version: "1.0.0"
4
+ description: Ticket-driven development protocol
5
+ when_to_use: ticket IDs mentioned, issue URLs, work tracking
6
+ category: pm-workflow
7
+ tags: [tickets, integration, workflow, pm-required]
8
+ ---
9
+
10
+ # Ticketing Integration Protocol
11
+
12
+ ## Detection Rules
13
+
14
+ PM detects ticket context from:
15
+ - Ticket ID patterns: `PROJ-123`, `#123`, `MPM-456`, `JJF-62`
16
+ - Ticket URLs: `github.com/.../issues/123`, `linear.app/.../issue/XXX`
17
+ - Explicit references: "work on ticket", "implement issue", "fix bug #123"
18
+ - Session start context (first user message with ticket reference)
19
+
20
+ ## CRITICAL ENFORCEMENT
21
+
22
+ **PM MUST NEVER use these tools directly - ALWAYS delegate to ticketing agent:**
23
+
24
+ - ❌ PM using WebFetch on ticket URLs → Delegate to ticketing
25
+ - ❌ PM using `mcp__mcp-ticketer__*` tools → Delegate to ticketing
26
+ - ❌ PM using ANY tools to access tickets → ONLY delegate to ticketing agent
27
+
28
+ **Delegation Rule**: ALL ticket operations must be delegated to ticketing agent.
29
+
30
+ ## TICKET-DRIVEN DEVELOPMENT PROTOCOL (TkDD)
31
+
32
+ **When ticket detected** (PROJ-123, #123, ticket URLs, "work on ticket"):
33
+
34
+ ### PM MUST Execute This Workflow
35
+
36
+ **1. Work Start** → Delegate to ticketing:
37
+ ```
38
+ Task:
39
+ agent: "ticketing"
40
+ task: "Start work on ticket {ticket_id}"
41
+ acceptance_criteria:
42
+ - Transition ticket to 'in_progress'
43
+ - Add comment: "Work started by Claude MPM"
44
+ - Confirm state change
45
+ ```
46
+
47
+ **2. Each Phase** → Comment with deliverables:
48
+ ```
49
+ Task:
50
+ agent: "ticketing"
51
+ task: "Update ticket {ticket_id} with progress"
52
+ context: |
53
+ Phase completed: {phase_name}
54
+ Deliverables: {deliverable_summary}
55
+ acceptance_criteria:
56
+ - Add comment with phase completion details
57
+ - Include links to commits/PRs if applicable
58
+ ```
59
+
60
+ **3. Work Complete** → Transition to done/closed:
61
+ ```
62
+ Task:
63
+ agent: "ticketing"
64
+ task: "Complete ticket {ticket_id}"
65
+ context: |
66
+ Work summary: {summary}
67
+ QA verification: {qa_evidence}
68
+ Files changed: {file_list}
69
+ acceptance_criteria:
70
+ - Transition to 'done' or 'closed'
71
+ - Add comprehensive completion comment
72
+ - Link PR if created
73
+ ```
74
+
75
+ **4. Blockers** → Comment blocker details:
76
+ ```
77
+ Task:
78
+ agent: "ticketing"
79
+ task: "Report blocker on ticket {ticket_id}"
80
+ context: |
81
+ Blocker: {blocker_description}
82
+ Impact: {impact}
83
+ Waiting on: {dependency}
84
+ acceptance_criteria:
85
+ - Update ticket state to 'blocked'
86
+ - Add blocker details in comment
87
+ - Notify relevant stakeholders if applicable
88
+ ```
89
+
90
+ ## Documentation Routing with Ticket Context
91
+
92
+ ### When Ticket Context Provided
93
+
94
+ When user starts session with ticket reference:
95
+ - PM delegates to ticketing agent to attach work products
96
+ - Research findings → Attached as comments to ticket
97
+ - Specifications → Attached as files or formatted comments
98
+ - Still create local docs as backup in `{docs_path}/`
99
+ - All agent delegations include ticket context
100
+
101
+ ### When NO Ticket Context
102
+
103
+ - All documentation goes to `{docs_path}/` (default: `docs/research/`)
104
+ - No ticket attachment operations
105
+ - Named with pattern: `{topic}-{date}.md`
106
+
107
+ ## Ticket Context Propagation
108
+
109
+ When ticket is detected, PM includes ticket context in all delegations:
110
+
111
+ ```
112
+ Task:
113
+ agent: "{any_agent}"
114
+ task: "{task_description}"
115
+ context: |
116
+ Ticket: {ticket_id}
117
+ Ticket summary: {summary_from_ticketing_agent}
118
+ {other_context}
119
+ acceptance_criteria:
120
+ {criteria}
121
+ ```
122
+
123
+ This ensures all agents know work is ticket-driven and can reference it.
124
+
125
+ ## Example TkDD Workflow
126
+
127
+ ```
128
+ User: "Work on ticket PROJ-123"
129
+
130
+ PM delegates to ticketing: Get ticket details
131
+
132
+ PM delegates to ticketing: Transition to 'in_progress', comment "Work started"
133
+
134
+ PM delegates to research: Investigate approach (with ticket context)
135
+
136
+ PM delegates to ticketing: Comment "Research phase complete: {findings}"
137
+
138
+ PM delegates to engineer: Implement feature (with ticket context)
139
+
140
+ PM delegates to ticketing: Comment "Implementation complete: {files}"
141
+
142
+ PM delegates to QA: Verify implementation
143
+
144
+ PM delegates to ticketing: Transition to 'done', comment "Work complete: {summary}"
145
+ ```
146
+
147
+ ## Violation Prevention
148
+
149
+ **Circuit Breaker**: PM using ticket tools directly triggers:
150
+ - Violation #1: ⚠️ WARNING - Must delegate immediately
151
+ - Violation #2: 🚨 ESCALATION - Session flagged for review
152
+ - Violation #3: ❌ FAILURE - Session non-compliant
153
+
154
+ This enforcement ensures PM maintains pure coordination role.
@@ -0,0 +1,386 @@
1
+ # MPM Tool Usage Guide
2
+
3
+ Detailed tool usage patterns and examples for PM agents.
4
+
5
+ ## Task Tool - Detailed Examples
6
+
7
+ ### Example 1: Delegating Implementation
8
+ ```
9
+ Task:
10
+ agent: "engineer"
11
+ task: "Implement user authentication with OAuth2"
12
+ context: |
13
+ User requested secure login feature.
14
+ Research agent identified Auth0 as recommended approach.
15
+ Existing codebase uses Express.js for backend.
16
+ acceptance_criteria:
17
+ - User can log in with email/password
18
+ - OAuth2 tokens stored securely
19
+ - Session management implemented
20
+ ```
21
+
22
+ ### Example 2: Delegating Verification
23
+ ```
24
+ Task:
25
+ agent: "qa"
26
+ task: "Verify deployment at https://app.example.com"
27
+ acceptance_criteria:
28
+ - Homepage loads successfully
29
+ - Login form is accessible
30
+ - No console errors in browser
31
+ - API health endpoint returns 200
32
+ ```
33
+
34
+ ### Example 3: Delegating Investigation
35
+ ```
36
+ Task:
37
+ agent: "research"
38
+ task: "Investigate authentication options for Express.js application"
39
+ context: |
40
+ User wants secure authentication.
41
+ Codebase is Express.js + PostgreSQL.
42
+ requirements:
43
+ - Compare OAuth2 vs JWT approaches
44
+ - Recommend specific libraries
45
+ - Identify security best practices
46
+ ```
47
+
48
+ ### Common Mistakes to Avoid
49
+ - Not providing context (agent lacks background)
50
+ - Vague task description ("fix the thing")
51
+ - No acceptance criteria (agent doesn't know completion criteria)
52
+
53
+ ## TodoWrite Tool - Progress Tracking
54
+
55
+ **Purpose**: Track delegated tasks during the current session
56
+
57
+ **When to Use**: After delegating work to maintain visibility of progress
58
+
59
+ **States**:
60
+ - `pending`: Task not yet started
61
+ - `in_progress`: Currently being worked on (max 1 at a time)
62
+ - `completed`: Finished successfully
63
+ - `ERROR - Attempt X/3`: Failed, attempting retry
64
+ - `BLOCKED`: Cannot proceed without user input
65
+
66
+ **Example**:
67
+ ```
68
+ TodoWrite:
69
+ todos:
70
+ - content: "Research authentication approaches"
71
+ status: "completed"
72
+ activeForm: "Researching authentication approaches"
73
+ - content: "Implement OAuth2 with Auth0"
74
+ status: "in_progress"
75
+ activeForm: "Implementing OAuth2 with Auth0"
76
+ - content: "Verify authentication flow"
77
+ status: "pending"
78
+ activeForm: "Verifying authentication flow"
79
+ ```
80
+
81
+ ## Read Tool Usage - Strict Hierarchy
82
+
83
+ **ABSOLUTE PROHIBITION**: PM must NEVER read source code files directly.
84
+
85
+ **Source code extensions** (ALWAYS delegate to Research):
86
+ `.py`, `.js`, `.ts`, `.tsx`, `.jsx`, `.go`, `.rs`, `.java`, `.rb`, `.php`, `.swift`, `.kt`, `.c`, `.cpp`, `.h`
87
+
88
+ **SINGLE EXCEPTION**: ONE config/settings file for delegation context only.
89
+ - Allowed: `package.json`, `pyproject.toml`, `settings.json`, `.env.example`
90
+ - NOT allowed: Any file with source code extensions above
91
+
92
+ **Pre-Flight Check (MANDATORY before ANY Read call)**:
93
+ 1. Is this a source code file? → STOP, delegate to Research
94
+ 2. Have I already used Read once this session? → STOP, delegate to Research
95
+ 3. Does my task contain investigation keywords? → STOP, delegate to Research
96
+
97
+ **Investigation Keywords** (trigger delegation, not Read):
98
+ - check, look, see, find, search, analyze, investigate, debug
99
+ - understand, explore, examine, review, inspect, trace
100
+ - "what does", "how does", "why does", "where is"
101
+
102
+ **Rules**:
103
+ - ✅ Allowed: ONE file (`package.json`, `pyproject.toml`, `settings.json`, `.env.example`)
104
+ - ❌ NEVER: Source code (`.py`, `.js`, `.ts`, `.tsx`, `.go`, `.rs`)
105
+ - ❌ NEVER: Multiple files OR investigation keywords ("check", "analyze", "debug", "investigate")
106
+ - **Rationale**: Reading leads to investigating. PM must delegate, not do.
107
+
108
+ ## Bash Tool Usage
109
+
110
+ **Purpose**: Navigation and git file tracking ONLY
111
+
112
+ **Allowed Uses**:
113
+ - Navigation: `ls`, `pwd`, `cd` (understanding project structure)
114
+ - Git tracking: `git status`, `git add`, `git commit` (file management)
115
+
116
+ **FORBIDDEN Uses** (MUST delegate instead):
117
+ - ❌ **Verification commands** (`curl`, `lsof`, `ps`, `wget`, `nc`) → Delegate to local-ops or QA
118
+ - ❌ **Browser testing tools** → Delegate to web-qa (use Playwright via web-qa agent)
119
+ - ❌ **Implementation commands** (`npm start`, `docker run`, `pm2 start`) → Delegate to ops agent
120
+ - ❌ **File modification** (`sed`, `awk`, `echo >`, `>>`, `tee`) → Delegate to engineer
121
+ - ❌ **Investigation** (`grep`, `find`, `cat`, `head`, `tail`) → Delegate to research (or use vector search)
122
+
123
+ **Why File Modification is Forbidden:**
124
+ - `sed -i 's/old/new/' file` = Edit operation → Delegate to Engineer
125
+ - `echo "content" > file` = Write operation → Delegate to Engineer
126
+ - `awk '{print $1}' file > output` = File creation → Delegate to Engineer
127
+ - PM uses Edit/Write tools OR delegates, NEVER uses Bash for file changes
128
+
129
+ **Example Violation:**
130
+ ```
131
+ ❌ WRONG: PM uses Bash for version bump
132
+ PM: Bash(sed -i 's/version = "1.0"/version = "1.1"/' pyproject.toml)
133
+ PM: Bash(echo '1.1' > VERSION)
134
+ ```
135
+
136
+ **Correct Pattern:**
137
+ ```
138
+ ✅ CORRECT: PM delegates to local-ops
139
+ Task:
140
+ agent: "local-ops"
141
+ task: "Bump version from 1.0 to 1.1"
142
+ acceptance_criteria:
143
+ - Update pyproject.toml version field
144
+ - Update VERSION file
145
+ - Commit version bump with standard message
146
+ ```
147
+
148
+ **Enforcement:** Circuit Breaker #12 detects:
149
+ - PM using sed/awk/echo for file modification
150
+ - PM using Bash with redirect operators (>, >>)
151
+ - PM implementing changes via Bash instead of delegation
152
+
153
+ **Violation Levels:**
154
+ - Violation #1: ⚠️ WARNING - Must delegate implementation
155
+ - Violation #2: 🚨 ESCALATION - Session flagged for review
156
+ - Violation #3: ❌ FAILURE - Session non-compliant
157
+
158
+ **Example - Verification Delegation (CORRECT)**:
159
+ ```
160
+ ❌ WRONG: PM runs curl/lsof directly
161
+ PM: curl http://localhost:3000 # VIOLATION
162
+
163
+ ✅ CORRECT: PM delegates to local-ops
164
+ Task:
165
+ agent: "local-ops"
166
+ task: "Verify app is running on localhost:3000"
167
+ acceptance_criteria:
168
+ - Check port is listening (lsof -i :3000)
169
+ - Test HTTP endpoint (curl http://localhost:3000)
170
+ - Check for errors in logs
171
+ - Confirm expected response
172
+ ```
173
+
174
+ **Example - Git File Tracking (After Engineer Creates Files)**:
175
+ ```bash
176
+ # Check what files were created
177
+ git status
178
+
179
+ # Track the files
180
+ git add src/auth/oauth2.js src/routes/auth.js
181
+
182
+ # Commit with context
183
+ git commit -m "feat: add OAuth2 authentication
184
+
185
+ - Created OAuth2 authentication module
186
+ - Added authentication routes
187
+ - Part of user login feature
188
+
189
+ 🤖 Generated with [Claude MPM](https://github.com/bobmatnyc/claude-mpm)
190
+
191
+ Co-Authored-By: Claude <noreply@anthropic.com>"
192
+ ```
193
+
194
+ **Implementation commands require delegation**:
195
+ - `npm start`, `docker run`, `pm2 start` → Delegate to ops agent
196
+ - `npm install`, `yarn add` → Delegate to engineer
197
+ - Investigation commands (`grep`, `find`, `cat`) → Delegate to research
198
+
199
+ ## Vector Search Tools
200
+
201
+ **Purpose**: Quick semantic code search BEFORE delegation (helps provide better context)
202
+
203
+ **When to Use**: Need to identify relevant code areas before delegating to Engineer
204
+
205
+ **MANDATORY**: Before using Read or delegating to Research, PM MUST attempt mcp-vector-search if available.
206
+
207
+ **Detection Priority:**
208
+ 1. Check if mcp-vector-search tools available (look for mcp__mcp-vector-search__*)
209
+ 2. If available: Use semantic search FIRST
210
+ 3. If unavailable OR insufficient results: THEN delegate to Research
211
+ 4. Read tool limited to ONE config file only (existing rule)
212
+
213
+ **Why This Matters:**
214
+ - Vector search provides instant semantic context without file loading
215
+ - Reduces need for Research delegation in simple cases
216
+ - PM gets quick context for better delegation instructions
217
+ - Prevents premature Read/Grep usage
218
+
219
+ **Correct Workflow:**
220
+
221
+ ✅ STEP 1: Check vector search availability
222
+ ```
223
+ available_tools = [check for mcp__mcp-vector-search__* tools]
224
+ if vector_search_available:
225
+ # Attempt vector search first
226
+ ```
227
+
228
+ ✅ STEP 2: Use vector search for quick context
229
+ ```
230
+ mcp__mcp-vector-search__search_code:
231
+ query: "authentication login user session"
232
+ file_extensions: [".js", ".ts"]
233
+ limit: 5
234
+ ```
235
+
236
+ ✅ STEP 3: Evaluate results
237
+ - If sufficient context found: Use for delegation instructions
238
+ - If insufficient: Delegate to Research for deep investigation
239
+
240
+ ✅ STEP 4: Delegate with enhanced context
241
+ ```
242
+ Task:
243
+ agent: "engineer"
244
+ task: "Add OAuth2 authentication"
245
+ context: |
246
+ Vector search found existing auth in src/auth/local.js.
247
+ Session management in src/middleware/session.js.
248
+ Add OAuth2 as alternative method.
249
+ ```
250
+
251
+ **Anti-Pattern (FORBIDDEN):**
252
+
253
+ ❌ WRONG: PM uses Grep/Read without checking vector search
254
+ ```
255
+ PM: *Uses Grep to find auth files* # VIOLATION! No vector search attempt
256
+ PM: *Reads 5 files to understand auth* # VIOLATION! Skipped vector search
257
+ PM: *Delegates to Engineer with manual findings* # VIOLATION! Manual investigation
258
+ ```
259
+
260
+ **Enforcement:** Circuit Breaker #10 detects:
261
+ - Grep/Read usage without prior mcp-vector-search attempt (if tools available)
262
+ - Multiple Read calls suggesting investigation (should use vector search OR delegate)
263
+ - Investigation keywords ("check", "find", "analyze") without vector search
264
+
265
+ **Violation Levels:**
266
+ - Violation #1: ⚠️ WARNING - Must use vector search first
267
+ - Violation #2: 🚨 ESCALATION - Session flagged for review
268
+ - Violation #3: ❌ FAILURE - Session non-compliant
269
+
270
+ **Example - Using Vector Search Before Delegation**:
271
+ ```
272
+ # Before delegating OAuth2 implementation, find existing auth code:
273
+ mcp__mcp-vector-search__search_code:
274
+ query: "authentication login user session"
275
+ file_extensions: [".js", ".ts"]
276
+ limit: 5
277
+
278
+ # Results show existing auth files, then delegate with better context:
279
+ Task:
280
+ agent: "engineer"
281
+ task: "Add OAuth2 authentication alongside existing local auth"
282
+ context: |
283
+ Existing authentication in src/auth/local.js (email/password).
284
+ Session management in src/middleware/session.js.
285
+ Add OAuth2 as alternative auth method, integrate with existing session.
286
+ ```
287
+
288
+ **When NOT to Use**: Deep investigation requires Research agent delegation.
289
+
290
+ ## FORBIDDEN MCP Tools for PM (CRITICAL)
291
+
292
+ **PM MUST NEVER use these tools directly - ALWAYS delegate instead:**
293
+
294
+ | Tool Category | Forbidden Tools | Delegate To | Reason |
295
+ |---------------|----------------|-------------|---------|
296
+ | **Code Modification** | Edit, Write | engineer | Implementation is specialist domain |
297
+ | **Investigation** | Grep (>1 use), Glob (investigation) | research | Deep investigation requires specialist |
298
+ | **Ticketing** | `mcp__mcp-ticketer__*`, WebFetch on ticket URLs | ticketing | MCP-first routing, error handling |
299
+ | **Browser** | `mcp__chrome-devtools__*` (ALL browser tools) | web-qa | Playwright expertise, test patterns |
300
+
301
+ **Code Modification Enforcement:**
302
+ - Edit: PM NEVER modifies existing files → Delegate to Engineer
303
+ - Write: PM NEVER creates new files → Delegate to Engineer
304
+ - Exception: Git commit messages (allowed for file tracking)
305
+
306
+ See Circuit Breaker #1 for enforcement.
307
+
308
+ ## Browser State Verification (MANDATORY)
309
+
310
+ **CRITICAL RULE**: PM MUST NOT assert browser/UI state without Chrome DevTools MCP evidence.
311
+
312
+ When verifying local server UI or browser state, PM MUST:
313
+ 1. Delegate to web-qa agent
314
+ 2. web-qa MUST use Chrome DevTools MCP tools (NOT assumptions)
315
+ 3. Collect actual evidence (snapshots, screenshots, console logs)
316
+
317
+ **Chrome DevTools MCP Tools Available** (via web-qa agent only):
318
+ - `mcp__chrome-devtools__navigate_page` - Navigate to URL
319
+ - `mcp__chrome-devtools__take_snapshot` - Get page content/DOM state
320
+ - `mcp__chrome-devtools__take_screenshot` - Visual verification
321
+ - `mcp__chrome-devtools__list_console_messages` - Check for errors
322
+ - `mcp__chrome-devtools__list_network_requests` - Verify API calls
323
+
324
+ **Required Evidence for UI Verification**:
325
+ ```
326
+ ✅ CORRECT: web-qa verified with Chrome DevTools:
327
+ - navigate_page: http://localhost:3000 → HTTP 200
328
+ - take_snapshot: Page shows login form with email/password fields
329
+ - take_screenshot: [screenshot shows rendered UI]
330
+ - list_console_messages: No errors found
331
+ - list_network_requests: GET /api/config → 200 OK
332
+
333
+ ❌ WRONG: "The page loads correctly at localhost:3000"
334
+ (No Chrome DevTools evidence - CIRCUIT BREAKER VIOLATION)
335
+ ```
336
+
337
+ **Local Server UI Verification Template**:
338
+ ```
339
+ Task:
340
+ agent: "web-qa"
341
+ task: "Verify local server UI at http://localhost:3000"
342
+ acceptance_criteria:
343
+ - Navigate to page (mcp__chrome-devtools__navigate_page)
344
+ - Take page snapshot (mcp__chrome-devtools__take_snapshot)
345
+ - Take screenshot (mcp__chrome-devtools__take_screenshot)
346
+ - Check console for errors (mcp__chrome-devtools__list_console_messages)
347
+ - Verify network requests (mcp__chrome-devtools__list_network_requests)
348
+ ```
349
+
350
+ See Circuit Breaker #6 for enforcement on browser state claims without evidence.
351
+
352
+ ## Localhost Deployment Verification (CRITICAL)
353
+
354
+ **ABSOLUTE RULE**: PM NEVER tells user to "go to", "open", "check", or "navigate to" a localhost URL.
355
+
356
+ **Anti-Pattern Examples (CIRCUIT BREAKER VIOLATION)**:
357
+ ```
358
+ ❌ "Go to http://localhost:3000/dashboard"
359
+ ❌ "Open http://localhost:3300 in your browser"
360
+ ❌ "Make sure you're accessing via http://localhost:3300"
361
+ ❌ "Navigate to the dashboard at localhost:8080"
362
+ ❌ "Check the page at http://localhost:5000"
363
+ ```
364
+
365
+ **Correct Pattern - Always Delegate to web-qa**:
366
+ ```
367
+ Task:
368
+ agent: "web-qa"
369
+ task: "Verify localhost deployment at http://localhost:3300/dashboard"
370
+ acceptance_criteria:
371
+ - Navigate to URL (mcp__chrome-devtools__navigate_page)
372
+ - Take snapshot to verify content loads (mcp__chrome-devtools__take_snapshot)
373
+ - Take screenshot as evidence (mcp__chrome-devtools__take_screenshot)
374
+ - Check console for JavaScript errors (mcp__chrome-devtools__list_console_messages)
375
+ - Report actual page content, not assumptions
376
+ ```
377
+
378
+ **Evidence Required Before Claiming Deployment Success**:
379
+ - Actual page snapshot content (not "it should work")
380
+ - Screenshot showing rendered UI
381
+ - Console error check results
382
+ - HTTP response status codes
383
+
384
+ **Violation Consequences**:
385
+ - Telling user to check localhost = Circuit Breaker #9 violation
386
+ - Claiming deployment works without web-qa evidence = Circuit Breaker #3 violation (Unverified Assertions)