claude-mpm 4.24.0__py3-none-any.whl → 5.0.9__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 (502) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/agents/BASE_PM.md +12 -0
  3. claude_mpm/agents/OUTPUT_STYLE.md +3 -48
  4. claude_mpm/agents/PM_INSTRUCTIONS.md +721 -911
  5. claude_mpm/agents/PM_INSTRUCTIONS_TEACH.md +1322 -0
  6. claude_mpm/agents/WORKFLOW.md +4 -4
  7. claude_mpm/agents/__init__.py +6 -0
  8. claude_mpm/agents/agent_loader.py +1 -4
  9. claude_mpm/agents/base_agent.json +6 -3
  10. claude_mpm/agents/base_agent_loader.py +10 -35
  11. claude_mpm/agents/frontmatter_validator.py +1 -1
  12. claude_mpm/agents/templates/{circuit_breakers.md → circuit-breakers.md} +370 -3
  13. claude_mpm/agents/templates/context-management-examples.md +544 -0
  14. claude_mpm/agents/templates/{pm_red_flags.md → pm-red-flags.md} +48 -0
  15. claude_mpm/agents/templates/pr-workflow-examples.md +427 -0
  16. claude_mpm/agents/templates/research-gate-examples.md +669 -0
  17. claude_mpm/agents/templates/structured-questions-examples.md +615 -0
  18. claude_mpm/agents/templates/ticket-completeness-examples.md +139 -0
  19. claude_mpm/agents/templates/ticketing-examples.md +277 -0
  20. claude_mpm/cli/__init__.py +38 -2
  21. claude_mpm/cli/commands/__init__.py +2 -0
  22. claude_mpm/cli/commands/agent_source.py +774 -0
  23. claude_mpm/cli/commands/agent_state_manager.py +188 -30
  24. claude_mpm/cli/commands/agents.py +959 -36
  25. claude_mpm/cli/commands/agents_cleanup.py +210 -0
  26. claude_mpm/cli/commands/agents_discover.py +338 -0
  27. claude_mpm/cli/commands/aggregate.py +1 -1
  28. claude_mpm/cli/commands/analyze.py +3 -3
  29. claude_mpm/cli/commands/auto_configure.py +2 -6
  30. claude_mpm/cli/commands/config.py +7 -4
  31. claude_mpm/cli/commands/configure.py +769 -45
  32. claude_mpm/cli/commands/configure_agent_display.py +4 -4
  33. claude_mpm/cli/commands/configure_navigation.py +63 -46
  34. claude_mpm/cli/commands/debug.py +12 -12
  35. claude_mpm/cli/commands/doctor.py +10 -2
  36. claude_mpm/cli/commands/hook_errors.py +277 -0
  37. claude_mpm/cli/commands/local_deploy.py +1 -4
  38. claude_mpm/cli/commands/mcp_install_commands.py +1 -1
  39. claude_mpm/cli/commands/mpm_init/core.py +49 -1
  40. claude_mpm/cli/commands/mpm_init/git_activity.py +10 -10
  41. claude_mpm/cli/commands/mpm_init/prompts.py +6 -6
  42. claude_mpm/cli/commands/postmortem.py +401 -0
  43. claude_mpm/cli/commands/run.py +123 -165
  44. claude_mpm/cli/commands/skill_source.py +694 -0
  45. claude_mpm/cli/commands/skills.py +757 -20
  46. claude_mpm/cli/executor.py +78 -3
  47. claude_mpm/cli/interactive/agent_wizard.py +955 -45
  48. claude_mpm/cli/parsers/agent_source_parser.py +171 -0
  49. claude_mpm/cli/parsers/agents_parser.py +256 -4
  50. claude_mpm/cli/parsers/base_parser.py +53 -0
  51. claude_mpm/cli/parsers/config_parser.py +96 -43
  52. claude_mpm/cli/parsers/skill_source_parser.py +169 -0
  53. claude_mpm/cli/parsers/skills_parser.py +145 -0
  54. claude_mpm/cli/parsers/source_parser.py +138 -0
  55. claude_mpm/cli/startup.py +538 -106
  56. claude_mpm/cli/startup_display.py +480 -0
  57. claude_mpm/cli/utils.py +1 -1
  58. claude_mpm/cli_module/commands.py +1 -1
  59. claude_mpm/commands/{mpm-auto-configure.md → mpm-agents-auto-configure.md} +9 -0
  60. claude_mpm/commands/mpm-agents-detect.md +9 -0
  61. claude_mpm/commands/{mpm-agents.md → mpm-agents-list.md} +9 -0
  62. claude_mpm/commands/mpm-agents-recommend.md +9 -0
  63. claude_mpm/commands/{mpm-config.md → mpm-config-view.md} +9 -0
  64. claude_mpm/commands/mpm-doctor.md +9 -0
  65. claude_mpm/commands/mpm-help.md +14 -2
  66. claude_mpm/commands/mpm-init.md +27 -2
  67. claude_mpm/commands/mpm-monitor.md +9 -0
  68. claude_mpm/commands/mpm-postmortem.md +123 -0
  69. claude_mpm/commands/{mpm-resume.md → mpm-session-resume.md} +9 -0
  70. claude_mpm/commands/mpm-status.md +9 -0
  71. claude_mpm/commands/{mpm-organize.md → mpm-ticket-organize.md} +9 -0
  72. claude_mpm/commands/mpm-ticket-view.md +552 -0
  73. claude_mpm/commands/mpm-version.md +9 -0
  74. claude_mpm/commands/mpm.md +10 -0
  75. claude_mpm/config/agent_presets.py +488 -0
  76. claude_mpm/config/agent_sources.py +325 -0
  77. claude_mpm/config/skill_presets.py +392 -0
  78. claude_mpm/config/skill_sources.py +590 -0
  79. claude_mpm/constants.py +13 -0
  80. claude_mpm/core/claude_runner.py +5 -34
  81. claude_mpm/core/config.py +16 -0
  82. claude_mpm/core/constants.py +1 -1
  83. claude_mpm/core/framework/__init__.py +3 -16
  84. claude_mpm/core/framework/loaders/file_loader.py +54 -101
  85. claude_mpm/core/framework/loaders/instruction_loader.py +25 -5
  86. claude_mpm/core/hook_error_memory.py +381 -0
  87. claude_mpm/core/hook_manager.py +41 -2
  88. claude_mpm/core/interactive_session.py +91 -10
  89. claude_mpm/core/logger.py +3 -1
  90. claude_mpm/core/oneshot_session.py +71 -8
  91. claude_mpm/core/protocols/__init__.py +23 -0
  92. claude_mpm/core/protocols/runner_protocol.py +103 -0
  93. claude_mpm/core/protocols/session_protocol.py +131 -0
  94. claude_mpm/core/shared/singleton_manager.py +11 -4
  95. claude_mpm/core/system_context.py +38 -0
  96. claude_mpm/dashboard/static/css/activity.css +69 -69
  97. claude_mpm/dashboard/static/css/connection-status.css +10 -10
  98. claude_mpm/dashboard/static/css/dashboard.css +15 -15
  99. claude_mpm/dashboard/static/js/components/activity-tree.js +178 -178
  100. claude_mpm/dashboard/static/js/components/agent-hierarchy.js +101 -101
  101. claude_mpm/dashboard/static/js/components/agent-inference.js +31 -31
  102. claude_mpm/dashboard/static/js/components/build-tracker.js +59 -59
  103. claude_mpm/dashboard/static/js/components/code-simple.js +107 -107
  104. claude_mpm/dashboard/static/js/components/connection-debug.js +101 -101
  105. claude_mpm/dashboard/static/js/components/diff-viewer.js +113 -113
  106. claude_mpm/dashboard/static/js/components/event-viewer.js +12 -12
  107. claude_mpm/dashboard/static/js/components/file-change-tracker.js +57 -57
  108. claude_mpm/dashboard/static/js/components/file-change-viewer.js +74 -74
  109. claude_mpm/dashboard/static/js/components/file-tool-tracker.js +6 -6
  110. claude_mpm/dashboard/static/js/components/file-viewer.js +42 -42
  111. claude_mpm/dashboard/static/js/components/module-viewer.js +27 -27
  112. claude_mpm/dashboard/static/js/components/session-manager.js +14 -14
  113. claude_mpm/dashboard/static/js/components/socket-manager.js +1 -1
  114. claude_mpm/dashboard/static/js/components/ui-state-manager.js +14 -14
  115. claude_mpm/dashboard/static/js/components/unified-data-viewer.js +110 -110
  116. claude_mpm/dashboard/static/js/components/working-directory.js +8 -8
  117. claude_mpm/dashboard/static/js/connection-manager.js +76 -76
  118. claude_mpm/dashboard/static/js/dashboard.js +76 -58
  119. claude_mpm/dashboard/static/js/extension-error-handler.js +22 -22
  120. claude_mpm/dashboard/static/js/socket-client.js +138 -121
  121. claude_mpm/dashboard/templates/code_simple.html +23 -23
  122. claude_mpm/dashboard/templates/index.html +18 -18
  123. claude_mpm/experimental/cli_enhancements.py +1 -5
  124. claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-313.pyc +0 -0
  125. claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-313.pyc +0 -0
  126. claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-313.pyc +0 -0
  127. claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-313.pyc +0 -0
  128. claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-313.pyc +0 -0
  129. claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-313.pyc +0 -0
  130. claude_mpm/hooks/claude_hooks/event_handlers.py +3 -1
  131. claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-313.pyc +0 -0
  132. claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-313.pyc +0 -0
  133. claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-313.pyc +0 -0
  134. claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-313.pyc +0 -0
  135. claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-313.pyc +0 -0
  136. claude_mpm/hooks/failure_learning/__init__.py +2 -8
  137. claude_mpm/hooks/failure_learning/failure_detection_hook.py +1 -6
  138. claude_mpm/hooks/failure_learning/fix_detection_hook.py +1 -6
  139. claude_mpm/hooks/failure_learning/learning_extraction_hook.py +1 -6
  140. claude_mpm/hooks/kuzu_response_hook.py +1 -5
  141. claude_mpm/models/git_repository.py +198 -0
  142. claude_mpm/scripts/claude-hook-handler.sh +3 -3
  143. claude_mpm/scripts/start_activity_logging.py +3 -1
  144. claude_mpm/services/agents/agent_builder.py +45 -9
  145. claude_mpm/services/agents/agent_preset_service.py +238 -0
  146. claude_mpm/services/agents/agent_selection_service.py +484 -0
  147. claude_mpm/services/agents/auto_deploy_index_parser.py +569 -0
  148. claude_mpm/services/agents/cache_git_manager.py +621 -0
  149. claude_mpm/services/agents/deployment/agent_deployment.py +126 -2
  150. claude_mpm/services/agents/deployment/agent_discovery_service.py +105 -73
  151. claude_mpm/services/agents/deployment/agent_format_converter.py +1 -1
  152. claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +1 -5
  153. claude_mpm/services/agents/deployment/agent_metrics_collector.py +3 -3
  154. claude_mpm/services/agents/deployment/agent_restore_handler.py +1 -4
  155. claude_mpm/services/agents/deployment/agent_template_builder.py +236 -15
  156. claude_mpm/services/agents/deployment/agents_directory_resolver.py +101 -15
  157. claude_mpm/services/agents/deployment/async_agent_deployment.py +2 -1
  158. claude_mpm/services/agents/deployment/facade/deployment_facade.py +3 -3
  159. claude_mpm/services/agents/deployment/multi_source_deployment_service.py +115 -15
  160. claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +2 -2
  161. claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +1 -4
  162. claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +363 -0
  163. claude_mpm/services/agents/deployment/single_agent_deployer.py +2 -2
  164. claude_mpm/services/agents/deployment/system_instructions_deployer.py +168 -46
  165. claude_mpm/services/agents/deployment/validation/deployment_validator.py +2 -2
  166. claude_mpm/services/agents/git_source_manager.py +629 -0
  167. claude_mpm/services/agents/loading/framework_agent_loader.py +9 -12
  168. claude_mpm/services/agents/local_template_manager.py +50 -10
  169. claude_mpm/services/agents/single_tier_deployment_service.py +696 -0
  170. claude_mpm/services/agents/sources/__init__.py +13 -0
  171. claude_mpm/services/agents/sources/agent_sync_state.py +516 -0
  172. claude_mpm/services/agents/sources/git_source_sync_service.py +1087 -0
  173. claude_mpm/services/agents/startup_sync.py +239 -0
  174. claude_mpm/services/agents/toolchain_detector.py +474 -0
  175. claude_mpm/services/analysis/__init__.py +25 -0
  176. claude_mpm/services/analysis/postmortem_reporter.py +474 -0
  177. claude_mpm/services/analysis/postmortem_service.py +765 -0
  178. claude_mpm/services/cli/session_pause_manager.py +1 -1
  179. claude_mpm/services/command_deployment_service.py +200 -6
  180. claude_mpm/services/core/base.py +7 -2
  181. claude_mpm/services/core/interfaces/__init__.py +1 -3
  182. claude_mpm/services/core/interfaces/health.py +1 -4
  183. claude_mpm/services/core/models/__init__.py +2 -11
  184. claude_mpm/services/diagnostics/checks/__init__.py +4 -0
  185. claude_mpm/services/diagnostics/checks/agent_check.py +0 -2
  186. claude_mpm/services/diagnostics/checks/agent_sources_check.py +577 -0
  187. claude_mpm/services/diagnostics/checks/instructions_check.py +1 -2
  188. claude_mpm/services/diagnostics/checks/mcp_check.py +0 -1
  189. claude_mpm/services/diagnostics/checks/mcp_services_check.py +7 -15
  190. claude_mpm/services/diagnostics/checks/monitor_check.py +0 -1
  191. claude_mpm/services/diagnostics/checks/skill_sources_check.py +587 -0
  192. claude_mpm/services/diagnostics/diagnostic_runner.py +9 -0
  193. claude_mpm/services/diagnostics/doctor_reporter.py +40 -10
  194. claude_mpm/services/event_bus/direct_relay.py +3 -3
  195. claude_mpm/services/events/consumers/logging.py +1 -2
  196. claude_mpm/services/git/__init__.py +21 -0
  197. claude_mpm/services/git/git_operations_service.py +494 -0
  198. claude_mpm/services/github/__init__.py +21 -0
  199. claude_mpm/services/github/github_cli_service.py +397 -0
  200. claude_mpm/services/infrastructure/monitoring/__init__.py +1 -5
  201. claude_mpm/services/infrastructure/monitoring/aggregator.py +1 -6
  202. claude_mpm/services/instructions/__init__.py +9 -0
  203. claude_mpm/services/instructions/instruction_cache_service.py +374 -0
  204. claude_mpm/services/local_ops/__init__.py +3 -13
  205. claude_mpm/services/local_ops/health_checks/__init__.py +1 -3
  206. claude_mpm/services/local_ops/health_manager.py +1 -4
  207. claude_mpm/services/local_ops/resource_monitor.py +1 -1
  208. claude_mpm/services/mcp_config_manager.py +75 -145
  209. claude_mpm/services/mcp_gateway/config/configuration.py +1 -1
  210. claude_mpm/services/mcp_gateway/core/process_pool.py +22 -16
  211. claude_mpm/services/mcp_gateway/server/mcp_gateway.py +1 -6
  212. claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -2
  213. claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +6 -2
  214. claude_mpm/services/mcp_service_verifier.py +6 -3
  215. claude_mpm/services/model/model_router.py +1 -2
  216. claude_mpm/services/monitor/daemon.py +29 -9
  217. claude_mpm/services/monitor/daemon_manager.py +96 -19
  218. claude_mpm/services/monitor/server.py +2 -2
  219. claude_mpm/services/port_manager.py +1 -1
  220. claude_mpm/services/pr/__init__.py +14 -0
  221. claude_mpm/services/pr/pr_template_service.py +329 -0
  222. claude_mpm/services/project/documentation_manager.py +2 -1
  223. claude_mpm/services/project/toolchain_analyzer.py +3 -1
  224. claude_mpm/services/runner_configuration_service.py +16 -3
  225. claude_mpm/services/session_management_service.py +16 -4
  226. claude_mpm/services/skills/__init__.py +18 -0
  227. claude_mpm/services/skills/git_skill_source_manager.py +1169 -0
  228. claude_mpm/services/skills/skill_discovery_service.py +568 -0
  229. claude_mpm/services/skills_config.py +547 -0
  230. claude_mpm/services/skills_deployer.py +955 -0
  231. claude_mpm/services/socketio/handlers/connection.py +1 -1
  232. claude_mpm/services/socketio/handlers/git.py +1 -1
  233. claude_mpm/services/socketio/server/core.py +1 -4
  234. claude_mpm/services/socketio/server/main.py +1 -3
  235. claude_mpm/services/system_instructions_service.py +1 -3
  236. claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +0 -3
  237. claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +0 -1
  238. claude_mpm/services/unified/deployment_strategies/vercel.py +1 -5
  239. claude_mpm/services/unified/unified_deployment.py +1 -5
  240. claude_mpm/services/version_control/conflict_resolution.py +6 -4
  241. claude_mpm/services/visualization/__init__.py +1 -5
  242. claude_mpm/services/visualization/mermaid_generator.py +2 -3
  243. claude_mpm/skills/bundled/testing/webapp-testing/scripts/with_server.py +2 -2
  244. claude_mpm/skills/skills_registry.py +0 -1
  245. claude_mpm/templates/questions/__init__.py +38 -0
  246. claude_mpm/templates/questions/base.py +193 -0
  247. claude_mpm/templates/questions/pr_strategy.py +311 -0
  248. claude_mpm/templates/questions/project_init.py +385 -0
  249. claude_mpm/templates/questions/ticket_mgmt.py +394 -0
  250. claude_mpm/tools/__main__.py +8 -8
  251. claude_mpm/utils/agent_dependency_loader.py +77 -10
  252. claude_mpm/utils/agent_filters.py +288 -0
  253. claude_mpm/utils/dependency_cache.py +3 -1
  254. claude_mpm/utils/gitignore.py +241 -0
  255. claude_mpm/utils/migration.py +372 -0
  256. claude_mpm/utils/progress.py +387 -0
  257. claude_mpm/utils/robust_installer.py +2 -4
  258. claude_mpm/utils/structured_questions.py +619 -0
  259. {claude_mpm-4.24.0.dist-info → claude_mpm-5.0.9.dist-info}/METADATA +396 -43
  260. {claude_mpm-4.24.0.dist-info → claude_mpm-5.0.9.dist-info}/RECORD +268 -422
  261. claude_mpm/agents/templates/.claude-mpm/memories/README.md +0 -17
  262. claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md +0 -3
  263. claude_mpm/agents/templates/agent-manager.json +0 -273
  264. claude_mpm/agents/templates/agentic-coder-optimizer.json +0 -248
  265. claude_mpm/agents/templates/api_qa.json +0 -183
  266. claude_mpm/agents/templates/clerk-ops.json +0 -235
  267. claude_mpm/agents/templates/code_analyzer.json +0 -101
  268. claude_mpm/agents/templates/content-agent.json +0 -358
  269. claude_mpm/agents/templates/dart_engineer.json +0 -307
  270. claude_mpm/agents/templates/data_engineer.json +0 -225
  271. claude_mpm/agents/templates/documentation.json +0 -238
  272. claude_mpm/agents/templates/engineer.json +0 -210
  273. claude_mpm/agents/templates/gcp_ops_agent.json +0 -253
  274. claude_mpm/agents/templates/golang_engineer.json +0 -270
  275. claude_mpm/agents/templates/imagemagick.json +0 -264
  276. claude_mpm/agents/templates/java_engineer.json +0 -346
  277. claude_mpm/agents/templates/javascript_engineer_agent.json +0 -380
  278. claude_mpm/agents/templates/local_ops_agent.json +0 -1840
  279. claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md +0 -39
  280. claude_mpm/agents/templates/logs/prompts/agent_engineer_20250901_010124_142.md +0 -400
  281. claude_mpm/agents/templates/memory_manager.json +0 -158
  282. claude_mpm/agents/templates/nextjs_engineer.json +0 -285
  283. claude_mpm/agents/templates/ops.json +0 -185
  284. claude_mpm/agents/templates/php-engineer.json +0 -287
  285. claude_mpm/agents/templates/product_owner.json +0 -338
  286. claude_mpm/agents/templates/project_organizer.json +0 -144
  287. claude_mpm/agents/templates/prompt-engineer.json +0 -737
  288. claude_mpm/agents/templates/python_engineer.json +0 -387
  289. claude_mpm/agents/templates/qa.json +0 -243
  290. claude_mpm/agents/templates/react_engineer.json +0 -239
  291. claude_mpm/agents/templates/refactoring_engineer.json +0 -276
  292. claude_mpm/agents/templates/research.json +0 -188
  293. claude_mpm/agents/templates/ruby-engineer.json +0 -280
  294. claude_mpm/agents/templates/rust_engineer.json +0 -275
  295. claude_mpm/agents/templates/security.json +0 -202
  296. claude_mpm/agents/templates/svelte-engineer.json +0 -225
  297. claude_mpm/agents/templates/tauri_engineer.json +0 -274
  298. claude_mpm/agents/templates/ticketing.json +0 -178
  299. claude_mpm/agents/templates/typescript_engineer.json +0 -285
  300. claude_mpm/agents/templates/vercel_ops_agent.json +0 -412
  301. claude_mpm/agents/templates/version_control.json +0 -159
  302. claude_mpm/agents/templates/web_qa.json +0 -400
  303. claude_mpm/agents/templates/web_ui.json +0 -189
  304. claude_mpm/commands/mpm-tickets.md +0 -151
  305. claude_mpm/dashboard/.claude-mpm/socketio-instances.json +0 -1
  306. claude_mpm/dashboard/react/components/DataInspector/DataInspector.module.css +0 -188
  307. claude_mpm/dashboard/react/components/EventViewer/EventViewer.module.css +0 -156
  308. claude_mpm/dashboard/react/components/shared/ConnectionStatus.module.css +0 -38
  309. claude_mpm/dashboard/react/components/shared/FilterBar.module.css +0 -92
  310. claude_mpm/dashboard/static/archive/activity_dashboard_fixed.html +0 -248
  311. claude_mpm/dashboard/static/archive/activity_dashboard_test.html +0 -61
  312. claude_mpm/dashboard/static/archive/test_activity_connection.html +0 -179
  313. claude_mpm/dashboard/static/archive/test_claude_tree_tab.html +0 -68
  314. claude_mpm/dashboard/static/archive/test_dashboard.html +0 -409
  315. claude_mpm/dashboard/static/archive/test_dashboard_fixed.html +0 -519
  316. claude_mpm/dashboard/static/archive/test_dashboard_verification.html +0 -181
  317. claude_mpm/dashboard/static/archive/test_file_data.html +0 -315
  318. claude_mpm/dashboard/static/archive/test_file_tree_empty_state.html +0 -243
  319. claude_mpm/dashboard/static/archive/test_file_tree_fix.html +0 -234
  320. claude_mpm/dashboard/static/archive/test_file_tree_rename.html +0 -117
  321. claude_mpm/dashboard/static/archive/test_file_tree_tab.html +0 -115
  322. claude_mpm/dashboard/static/archive/test_file_viewer.html +0 -224
  323. claude_mpm/dashboard/static/archive/test_final_activity.html +0 -220
  324. claude_mpm/dashboard/static/archive/test_tab_fix.html +0 -139
  325. claude_mpm/dashboard/static/built/assets/events.DjpNxWNo.css +0 -1
  326. claude_mpm/dashboard/static/built/components/activity-tree.js +0 -2
  327. claude_mpm/dashboard/static/built/components/agent-hierarchy.js +0 -777
  328. claude_mpm/dashboard/static/built/components/agent-inference.js +0 -2
  329. claude_mpm/dashboard/static/built/components/build-tracker.js +0 -333
  330. claude_mpm/dashboard/static/built/components/code-simple.js +0 -857
  331. claude_mpm/dashboard/static/built/components/code-tree/tree-breadcrumb.js +0 -353
  332. claude_mpm/dashboard/static/built/components/code-tree/tree-constants.js +0 -235
  333. claude_mpm/dashboard/static/built/components/code-tree/tree-search.js +0 -409
  334. claude_mpm/dashboard/static/built/components/code-tree/tree-utils.js +0 -435
  335. claude_mpm/dashboard/static/built/components/code-tree.js +0 -2
  336. claude_mpm/dashboard/static/built/components/code-viewer.js +0 -2
  337. claude_mpm/dashboard/static/built/components/connection-debug.js +0 -654
  338. claude_mpm/dashboard/static/built/components/diff-viewer.js +0 -891
  339. claude_mpm/dashboard/static/built/components/event-processor.js +0 -2
  340. claude_mpm/dashboard/static/built/components/event-viewer.js +0 -2
  341. claude_mpm/dashboard/static/built/components/export-manager.js +0 -2
  342. claude_mpm/dashboard/static/built/components/file-change-tracker.js +0 -443
  343. claude_mpm/dashboard/static/built/components/file-change-viewer.js +0 -690
  344. claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -2
  345. claude_mpm/dashboard/static/built/components/file-viewer.js +0 -2
  346. claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -2
  347. claude_mpm/dashboard/static/built/components/hud-manager.js +0 -2
  348. claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -2
  349. claude_mpm/dashboard/static/built/components/module-viewer.js +0 -2
  350. claude_mpm/dashboard/static/built/components/nav-bar.js +0 -145
  351. claude_mpm/dashboard/static/built/components/page-structure.js +0 -429
  352. claude_mpm/dashboard/static/built/components/session-manager.js +0 -2
  353. claude_mpm/dashboard/static/built/components/socket-manager.js +0 -2
  354. claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -2
  355. claude_mpm/dashboard/static/built/components/unified-data-viewer.js +0 -2
  356. claude_mpm/dashboard/static/built/components/working-directory.js +0 -2
  357. claude_mpm/dashboard/static/built/connection-manager.js +0 -536
  358. claude_mpm/dashboard/static/built/dashboard.js +0 -2
  359. claude_mpm/dashboard/static/built/extension-error-handler.js +0 -164
  360. claude_mpm/dashboard/static/built/react/events.js +0 -30
  361. claude_mpm/dashboard/static/built/shared/dom-helpers.js +0 -396
  362. claude_mpm/dashboard/static/built/shared/event-bus.js +0 -330
  363. claude_mpm/dashboard/static/built/shared/event-filter-service.js +0 -540
  364. claude_mpm/dashboard/static/built/shared/logger.js +0 -385
  365. claude_mpm/dashboard/static/built/shared/page-structure.js +0 -249
  366. claude_mpm/dashboard/static/built/shared/tooltip-service.js +0 -253
  367. claude_mpm/dashboard/static/built/socket-client.js +0 -2
  368. claude_mpm/dashboard/static/built/tab-isolation-fix.js +0 -185
  369. claude_mpm/dashboard/static/dist/assets/events.DjpNxWNo.css +0 -1
  370. claude_mpm/dashboard/static/dist/components/activity-tree.js +0 -2
  371. claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -2
  372. claude_mpm/dashboard/static/dist/components/code-tree.js +0 -2
  373. claude_mpm/dashboard/static/dist/components/code-viewer.js +0 -2
  374. claude_mpm/dashboard/static/dist/components/event-processor.js +0 -2
  375. claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -2
  376. claude_mpm/dashboard/static/dist/components/export-manager.js +0 -2
  377. claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -2
  378. claude_mpm/dashboard/static/dist/components/file-viewer.js +0 -2
  379. claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -2
  380. claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -2
  381. claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -2
  382. claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -2
  383. claude_mpm/dashboard/static/dist/components/session-manager.js +0 -2
  384. claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -2
  385. claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -2
  386. claude_mpm/dashboard/static/dist/components/unified-data-viewer.js +0 -2
  387. claude_mpm/dashboard/static/dist/components/working-directory.js +0 -2
  388. claude_mpm/dashboard/static/dist/dashboard.js +0 -2
  389. claude_mpm/dashboard/static/dist/react/events.js +0 -30
  390. claude_mpm/dashboard/static/dist/socket-client.js +0 -2
  391. claude_mpm/dashboard/static/events.html +0 -607
  392. claude_mpm/dashboard/static/index.html +0 -635
  393. claude_mpm/dashboard/static/js/shared/dom-helpers.js +0 -396
  394. claude_mpm/dashboard/static/js/shared/event-bus.js +0 -330
  395. claude_mpm/dashboard/static/js/shared/logger.js +0 -385
  396. claude_mpm/dashboard/static/js/shared/tooltip-service.js +0 -253
  397. claude_mpm/dashboard/static/js/stores/dashboard-store.js +0 -562
  398. claude_mpm/dashboard/static/legacy/activity.html +0 -736
  399. claude_mpm/dashboard/static/legacy/agents.html +0 -786
  400. claude_mpm/dashboard/static/legacy/files.html +0 -747
  401. claude_mpm/dashboard/static/legacy/tools.html +0 -831
  402. claude_mpm/dashboard/static/monitors.html +0 -431
  403. claude_mpm/dashboard/static/production/events.html +0 -659
  404. claude_mpm/dashboard/static/production/main.html +0 -698
  405. claude_mpm/dashboard/static/production/monitors.html +0 -483
  406. claude_mpm/dashboard/static/test-archive/dashboard.html +0 -635
  407. claude_mpm/dashboard/static/test-archive/debug-events.html +0 -147
  408. claude_mpm/dashboard/static/test-archive/test-navigation.html +0 -256
  409. claude_mpm/dashboard/static/test-archive/test-react-exports.html +0 -180
  410. claude_mpm/dashboard/static/test-archive/test_debug.html +0 -25
  411. claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +0 -79
  412. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +0 -178
  413. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +0 -577
  414. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +0 -467
  415. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +0 -537
  416. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +0 -730
  417. claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +0 -112
  418. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +0 -146
  419. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +0 -412
  420. claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +0 -81
  421. claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +0 -362
  422. claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +0 -312
  423. claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +0 -152
  424. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +0 -668
  425. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +0 -587
  426. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +0 -438
  427. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +0 -391
  428. claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +0 -119
  429. claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +0 -148
  430. claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +0 -483
  431. claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +0 -452
  432. claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +0 -449
  433. claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +0 -411
  434. claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +0 -14
  435. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +0 -58
  436. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +0 -68
  437. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +0 -69
  438. claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +0 -131
  439. claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +0 -325
  440. claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +0 -490
  441. claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +0 -425
  442. claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +0 -499
  443. claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +0 -86
  444. claude_mpm/skills/bundled/main/internal-comms/SKILL.md +0 -43
  445. claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +0 -47
  446. claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +0 -65
  447. claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +0 -30
  448. claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +0 -16
  449. claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +0 -160
  450. claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +0 -412
  451. claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +0 -602
  452. claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +0 -915
  453. claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +0 -916
  454. claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +0 -752
  455. claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +0 -1237
  456. claude_mpm/skills/bundled/main/skill-creator/SKILL.md +0 -189
  457. claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +0 -500
  458. claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +0 -464
  459. claude_mpm/skills/bundled/main/skill-creator/references/examples.md +0 -619
  460. claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +0 -437
  461. claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +0 -231
  462. claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +0 -170
  463. claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +0 -602
  464. claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +0 -821
  465. claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +0 -742
  466. claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +0 -726
  467. claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +0 -764
  468. claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +0 -831
  469. claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +0 -226
  470. claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +0 -901
  471. claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +0 -901
  472. claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +0 -775
  473. claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +0 -937
  474. claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +0 -770
  475. claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +0 -961
  476. claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +0 -119
  477. claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +0 -253
  478. claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +0 -145
  479. claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +0 -543
  480. claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +0 -741
  481. claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +0 -470
  482. claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +0 -458
  483. claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +0 -639
  484. claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +0 -140
  485. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +0 -572
  486. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +0 -411
  487. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +0 -569
  488. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +0 -695
  489. claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +0 -184
  490. claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +0 -459
  491. claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +0 -479
  492. claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +0 -687
  493. claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +0 -758
  494. claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +0 -868
  495. /claude_mpm/agents/templates/{git_file_tracking.md → git-file-tracking.md} +0 -0
  496. /claude_mpm/agents/templates/{pm_examples.md → pm-examples.md} +0 -0
  497. /claude_mpm/agents/templates/{response_format.md → response-format.md} +0 -0
  498. /claude_mpm/agents/templates/{validation_templates.md → validation-templates.md} +0 -0
  499. {claude_mpm-4.24.0.dist-info → claude_mpm-5.0.9.dist-info}/WHEEL +0 -0
  500. {claude_mpm-4.24.0.dist-info → claude_mpm-5.0.9.dist-info}/entry_points.txt +0 -0
  501. {claude_mpm-4.24.0.dist-info → claude_mpm-5.0.9.dist-info}/licenses/LICENSE +0 -0
  502. {claude_mpm-4.24.0.dist-info → claude_mpm-5.0.9.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,615 @@
1
+ # Structured Questions Examples
2
+
3
+ **Purpose**: Comprehensive examples of using structured question templates for consistent user interaction
4
+ **Usage**: Reference for PM when using AskUserQuestion tool with validation templates
5
+ **Related**: validation-templates.md, pr-workflow-examples.md, context-management-examples.md
6
+
7
+ ---
8
+
9
+ ## Project Initialization Workflow
10
+
11
+ ### Complete /mpm-init Example
12
+
13
+ **Scenario**: User initializes new project with `/mpm-init` command
14
+
15
+ ```
16
+ User: "/mpm-init"
17
+
18
+ Step 1: PM Detects Project Context
19
+ PM checks:
20
+ - .git directory: exists ✅
21
+ - package.json: not found
22
+ - requirements.txt: not found
23
+ - Project type: unknown
24
+ - Language: unknown
25
+
26
+ Step 2: PM Uses ProjectTypeTemplate
27
+ ```python
28
+ ProjectTypeTemplate(
29
+ existing_files=False,
30
+ detected_language=None
31
+ )
32
+ ```
33
+
34
+ Step 3: PM Asks User with AskUserQuestion
35
+ ```json
36
+ {
37
+ "questions": [
38
+ {
39
+ "question": "What type of project is this?",
40
+ "header": "Project Type",
41
+ "multiSelect": false,
42
+ "options": [
43
+ {
44
+ "label": "Web Application",
45
+ "description": "Full-stack web app with frontend and backend"
46
+ },
47
+ {
48
+ "label": "API Service",
49
+ "description": "Backend API only (REST or GraphQL)"
50
+ },
51
+ {
52
+ "label": "CLI Tool",
53
+ "description": "Command-line application or script"
54
+ },
55
+ {
56
+ "label": "Library/Package",
57
+ "description": "Reusable library to be published"
58
+ }
59
+ ]
60
+ },
61
+ {
62
+ "question": "What is the primary programming language?",
63
+ "header": "Language",
64
+ "multiSelect": false,
65
+ "options": [
66
+ {
67
+ "label": "JavaScript/TypeScript",
68
+ "description": "Node.js backend or frontend framework"
69
+ },
70
+ {
71
+ "label": "Python",
72
+ "description": "Python application or service"
73
+ },
74
+ {
75
+ "label": "Go",
76
+ "description": "Go application or service"
77
+ },
78
+ {
79
+ "label": "Rust",
80
+ "description": "Rust application or service"
81
+ }
82
+ ]
83
+ }
84
+ ]
85
+ }
86
+ ```
87
+
88
+ Step 4: User Responds
89
+ ```
90
+ User selections:
91
+ - Project Type: "Web Application"
92
+ - Language: "JavaScript/TypeScript"
93
+ ```
94
+
95
+ Step 5: PM Parses Responses and Continues
96
+ ```python
97
+ project_type = "web_application"
98
+ language = "typescript"
99
+
100
+ # PM now uses DevelopmentWorkflowTemplate
101
+ DevelopmentWorkflowTemplate(
102
+ project_type="web_application",
103
+ language="typescript"
104
+ )
105
+ ```
106
+
107
+ Step 6: PM Asks Development Preferences
108
+ ```json
109
+ {
110
+ "questions": [
111
+ {
112
+ "question": "Which testing framework should we use?",
113
+ "header": "Testing",
114
+ "multiSelect": false,
115
+ "options": [
116
+ {
117
+ "label": "Jest",
118
+ "description": "Industry standard, 70% market share, React ecosystem"
119
+ },
120
+ {
121
+ "label": "Vitest",
122
+ "description": "Modern, Vite-native, faster than Jest"
123
+ },
124
+ {
125
+ "label": "No testing framework",
126
+ "description": "Skip testing setup for now"
127
+ }
128
+ ]
129
+ },
130
+ {
131
+ "question": "Do you want CI/CD configured?",
132
+ "header": "CI/CD",
133
+ "multiSelect": false,
134
+ "options": [
135
+ {
136
+ "label": "GitHub Actions",
137
+ "description": "Set up .github/workflows/ci.yml"
138
+ },
139
+ {
140
+ "label": "GitLab CI",
141
+ "description": "Set up .gitlab-ci.yml"
142
+ },
143
+ {
144
+ "label": "No CI/CD",
145
+ "description": "Skip CI/CD setup"
146
+ }
147
+ ]
148
+ },
149
+ {
150
+ "question": "Which package manager?",
151
+ "header": "Package Manager",
152
+ "multiSelect": false,
153
+ "options": [
154
+ {
155
+ "label": "npm",
156
+ "description": "Default Node.js package manager"
157
+ },
158
+ {
159
+ "label": "pnpm",
160
+ "description": "Faster, disk-efficient alternative"
161
+ },
162
+ {
163
+ "label": "yarn",
164
+ "description": "Popular alternative with workspaces support"
165
+ }
166
+ ]
167
+ }
168
+ ]
169
+ }
170
+ ```
171
+
172
+ Step 7: User Responds
173
+ ```
174
+ User selections:
175
+ - Testing: "Vitest"
176
+ - CI/CD: "GitHub Actions"
177
+ - Package Manager: "pnpm"
178
+ ```
179
+
180
+ Step 8: PM Delegates to Engineer
181
+ ```
182
+ PM → Engineer: "Initialize project with following configuration:
183
+
184
+ 📋 PROJECT SETUP:
185
+ - Type: Web Application
186
+ - Language: TypeScript
187
+ - Testing: Vitest
188
+ - CI/CD: GitHub Actions
189
+ - Package Manager: pnpm
190
+
191
+ Tasks:
192
+ 1. Create package.json with TypeScript + Vitest dependencies
193
+ 2. Set up tsconfig.json for web application
194
+ 3. Create vitest.config.ts
195
+ 4. Set up .github/workflows/ci.yml for GitHub Actions
196
+ 5. Create basic project structure:
197
+ - src/
198
+ - tests/
199
+ - public/ (if frontend)
200
+ 6. Create README.md with setup instructions
201
+ 7. Create .gitignore for Node.js + TypeScript
202
+
203
+ Use pnpm for all package management operations."
204
+
205
+ Engineer executes setup...
206
+
207
+ Engineer → PM: "Project initialized:
208
+ - package.json created with TypeScript, Vitest, React
209
+ - tsconfig.json configured for React + strict mode
210
+ - vitest.config.ts set up with coverage
211
+ - GitHub Actions CI configured (lint, test, build)
212
+ - Project structure created
213
+ - README.md with setup instructions
214
+ - .gitignore configured
215
+
216
+ Ready to start development. Run: pnpm install"
217
+ ```
218
+
219
+ Step 9: PM Reports to User
220
+ ```
221
+ PM → User: "✅ Project initialized successfully
222
+
223
+ Configuration:
224
+ - Web Application (TypeScript)
225
+ - Testing: Vitest with coverage
226
+ - CI/CD: GitHub Actions
227
+ - Package Manager: pnpm
228
+
229
+ Next steps:
230
+ 1. Run: pnpm install
231
+ 2. Run: pnpm test (verify setup)
232
+ 3. Run: pnpm dev (start development server)
233
+
234
+ Project structure ready for development."
235
+ ```
236
+ ```
237
+
238
+ **Key Flow**:
239
+ 1. PM asks project type + language
240
+ 2. PM uses responses to configure development workflow template
241
+ 3. PM asks testing, CI/CD, package manager preferences
242
+ 4. PM delegates complete setup to engineer with all context
243
+ 5. User has fully configured project ready for development
244
+
245
+ ---
246
+
247
+ ## PR Strategy Template Usage
248
+
249
+ ### Multi-Ticket PR Creation
250
+
251
+ **Scenario**: User requests PRs for multiple tickets
252
+
253
+ ```
254
+ User: "Create PRs for PROJ-101, PROJ-102, PROJ-103"
255
+
256
+ Step 1: PM Analyzes Context
257
+ PM checks:
258
+ - Ticket count: 3 tickets
259
+ - CI configuration: .github/workflows/ci.yml exists ✅
260
+ - Dependencies: PROJ-102 depends on PROJ-101
261
+
262
+ Step 2: PM Uses PRWorkflowTemplate
263
+ ```python
264
+ PRWorkflowTemplate(
265
+ num_tickets=3,
266
+ has_ci=True,
267
+ dependencies_detected=True
268
+ )
269
+ ```
270
+
271
+ Step 3: PM Asks User with AskUserQuestion
272
+ ```json
273
+ {
274
+ "questions": [
275
+ {
276
+ "question": "How should we create PRs for these 3 tickets? (Dependencies detected: PROJ-102 → PROJ-101)",
277
+ "header": "PR Strategy",
278
+ "multiSelect": false,
279
+ "options": [
280
+ {
281
+ "label": "Main-based PRs (independent)",
282
+ "description": "Each ticket gets its own PR to main. Good for parallel review. ⚠️ May cause conflicts with detected dependencies."
283
+ },
284
+ {
285
+ "label": "Stacked PRs (sequential)",
286
+ "description": "PRs build on each other (PROJ-102 → PROJ-101 → main). Recommended when dependencies exist."
287
+ }
288
+ ]
289
+ },
290
+ {
291
+ "question": "Should PRs be created as drafts?",
292
+ "header": "Draft Mode",
293
+ "multiSelect": false,
294
+ "options": [
295
+ {
296
+ "label": "Draft PRs",
297
+ "description": "Create as drafts for early feedback before formal review"
298
+ },
299
+ {
300
+ "label": "Ready for Review",
301
+ "description": "Create as ready-to-review (recommended if all tests passing)"
302
+ }
303
+ ]
304
+ }
305
+ ]
306
+ }
307
+ ```
308
+
309
+ Step 4: User Responds
310
+ ```
311
+ User selections:
312
+ - PR Strategy: "Stacked PRs (sequential)"
313
+ - Draft Mode: "Ready for Review"
314
+ ```
315
+
316
+ Step 5: PM Delegates to version-control
317
+ ```
318
+ PM → version-control: "Create stacked PRs for PROJ-101, PROJ-102, PROJ-103
319
+
320
+ Strategy: Stacked (respects dependencies)
321
+ - PR #1: PROJ-101 → main
322
+ - PR #2: PROJ-102 → feature/PROJ-101
323
+ - PR #3: PROJ-103 → main (independent)
324
+
325
+ Draft mode: false (ready for review)
326
+ ```
327
+ ```
328
+
329
+ **Template Advantage**: PM automatically detects dependencies and warns user about potential conflicts with main-based strategy.
330
+
331
+ ---
332
+
333
+ ## Scope Validation Template Usage
334
+
335
+ ### Research Discovery Scenario
336
+
337
+ **Scenario**: Research discovers additional work during ticket implementation
338
+
339
+ ```
340
+ User: "Implement TICKET-456: Add payment processing"
341
+
342
+ Research Agent discovers 8 additional items:
343
+ 1. PCI compliance requirements (out-of-scope)
344
+ 2. Webhook handler for payment events (scope-adjacent)
345
+ 3. Payment retry logic (in-scope)
346
+ 4. Refund processing (scope-adjacent)
347
+ 5. Invoice generation (out-of-scope)
348
+ 6. Currency conversion (out-of-scope)
349
+ 7. Payment method storage (in-scope)
350
+ 8. Error handling for payment failures (in-scope)
351
+
352
+ PM Classifies:
353
+ - In-Scope (3): Payment retry logic, payment method storage, error handling
354
+ - Scope-Adjacent (2): Webhook handler, refund processing
355
+ - Out-of-Scope (3): PCI compliance, invoice generation, currency conversion
356
+
357
+ PM Uses ScopeValidationTemplate:
358
+ ```python
359
+ ScopeValidationTemplate(
360
+ originating_ticket="TICKET-456",
361
+ ticket_title="Add payment processing",
362
+ in_scope_items=[
363
+ "Payment retry logic",
364
+ "Payment method storage",
365
+ "Error handling for payment failures"
366
+ ],
367
+ scope_adjacent_items=[
368
+ "Webhook handler for payment events",
369
+ "Refund processing"
370
+ ],
371
+ out_of_scope_items=[
372
+ "PCI compliance requirements",
373
+ "Invoice generation",
374
+ "Currency conversion"
375
+ ]
376
+ )
377
+ ```
378
+
379
+ PM Asks User:
380
+ ```json
381
+ {
382
+ "questions": [
383
+ {
384
+ "question": "Research discovered 8 items during TICKET-456 work. How should we handle scope?",
385
+ "header": "Scope Decision",
386
+ "multiSelect": false,
387
+ "options": [
388
+ {
389
+ "label": "Include all 8 in TICKET-456",
390
+ "description": "Expands ticket scope significantly. Delays completion by ~5 days."
391
+ },
392
+ {
393
+ "label": "Create 3 subtasks, defer 5 to backlog",
394
+ "description": "Subtasks for in-scope items. Defer scope-adjacent and out-of-scope."
395
+ },
396
+ {
397
+ "label": "Create 3 subtasks + 2 follow-up tickets",
398
+ "description": "Subtasks for in-scope. Create tickets for scope-adjacent. Defer out-of-scope."
399
+ }
400
+ ]
401
+ }
402
+ ]
403
+ }
404
+ ```
405
+
406
+ User chooses: "Create 3 subtasks + 2 follow-up tickets"
407
+
408
+ PM Delegates to Ticketing:
409
+ ```
410
+ PM → Ticketing: "Based on TICKET-456 scope validation:
411
+
412
+ 1. Create 3 subtasks under TICKET-456:
413
+ - TICKET-456-1: Payment retry logic
414
+ - TICKET-456-2: Payment method storage
415
+ - TICKET-456-3: Error handling for payment failures
416
+
417
+ 2. Create 2 follow-up tickets (same epic):
418
+ - PAYMENT-101: Webhook handler for payment events
419
+ - PAYMENT-102: Refund processing
420
+
421
+ 3. Defer to backlog (no tickets yet):
422
+ - PCI compliance requirements
423
+ - Invoice generation
424
+ - Currency conversion"
425
+ ```
426
+ ```
427
+
428
+ **Template Advantage**: Structured approach prevents scope creep while capturing valuable discoveries for future work.
429
+
430
+ ---
431
+
432
+ ## Building Custom Questions Patterns
433
+
434
+ ### Advanced Use Cases Beyond Templates
435
+
436
+ **Scenario**: PM needs custom questions not covered by standard templates
437
+
438
+ ```
439
+ User: "Set up monitoring for our application"
440
+
441
+ PM Analysis:
442
+ - Requires custom questions (not covered by existing templates)
443
+ - Multiple decisions: monitoring tool, metrics, alerting
444
+ - Need user preferences before delegating to ops
445
+
446
+ PM Builds Custom Questions:
447
+ ```json
448
+ {
449
+ "questions": [
450
+ {
451
+ "question": "Which monitoring solution should we use?",
452
+ "header": "Monitoring",
453
+ "multiSelect": false,
454
+ "options": [
455
+ {
456
+ "label": "Prometheus + Grafana",
457
+ "description": "Self-hosted, full control, requires infrastructure"
458
+ },
459
+ {
460
+ "label": "Datadog",
461
+ "description": "SaaS, easy setup, costs scale with usage"
462
+ },
463
+ {
464
+ "label": "CloudWatch",
465
+ "description": "AWS native, integrates well if already on AWS"
466
+ }
467
+ ]
468
+ },
469
+ {
470
+ "question": "What should we monitor?",
471
+ "header": "Metrics",
472
+ "multiSelect": true, // Multiple selections allowed
473
+ "options": [
474
+ {
475
+ "label": "Application metrics",
476
+ "description": "Request rate, error rate, latency (RED metrics)"
477
+ },
478
+ {
479
+ "label": "Infrastructure metrics",
480
+ "description": "CPU, memory, disk usage"
481
+ },
482
+ {
483
+ "label": "Business metrics",
484
+ "description": "User signups, payments, conversions"
485
+ },
486
+ {
487
+ "label": "Database metrics",
488
+ "description": "Query performance, connection pool, locks"
489
+ }
490
+ ]
491
+ },
492
+ {
493
+ "question": "Set up alerting?",
494
+ "header": "Alerting",
495
+ "multiSelect": false,
496
+ "options": [
497
+ {
498
+ "label": "Yes, with PagerDuty",
499
+ "description": "24/7 on-call rotation, escalation policies"
500
+ },
501
+ {
502
+ "label": "Yes, with Slack",
503
+ "description": "Alerts to Slack channel, no on-call"
504
+ },
505
+ {
506
+ "label": "No alerting yet",
507
+ "description": "Just dashboards for now"
508
+ }
509
+ ]
510
+ }
511
+ ]
512
+ }
513
+ ```
514
+
515
+ User Responds:
516
+ ```
517
+ User selections:
518
+ - Monitoring: "Prometheus + Grafana"
519
+ - Metrics: ["Application metrics", "Infrastructure metrics", "Database metrics"]
520
+ - Alerting: "Yes, with Slack"
521
+ ```
522
+
523
+ PM Delegates to ops:
524
+ ```
525
+ PM → ops: "Set up monitoring infrastructure
526
+
527
+ Configuration:
528
+ - Tool: Prometheus + Grafana (self-hosted)
529
+ - Metrics to collect:
530
+ - Application: Request rate, error rate, latency (RED)
531
+ - Infrastructure: CPU, memory, disk
532
+ - Database: Query performance, connection pool, locks
533
+ - Alerting: Slack integration (no PagerDuty)
534
+
535
+ Tasks:
536
+ 1. Deploy Prometheus server
537
+ 2. Deploy Grafana for dashboards
538
+ 3. Configure application instrumentation (RED metrics)
539
+ 4. Set up node_exporter for infrastructure metrics
540
+ 5. Configure PostgreSQL exporter for database metrics
541
+ 6. Create Grafana dashboards for each metric category
542
+ 7. Set up Slack webhook for alerts
543
+ 8. Configure alert rules (error rate >5%, latency p95 >500ms, DB connections >80%)"
544
+ ```
545
+ ```
546
+
547
+ **Custom Question Benefits**:
548
+ - Flexible for any decision-making scenario
549
+ - Multi-select support for collecting multiple preferences
550
+ - Clear descriptions guide user choices
551
+ - PM gets structured data to delegate effectively
552
+
553
+ ---
554
+
555
+ ## Template Selection Decision Tree
556
+
557
+ **When to use which template?**
558
+
559
+ ```
560
+ User Request → PM Analysis → Template Selection
561
+
562
+ "Create PRs for X tickets"
563
+ → Multiple tickets detected
564
+ → Use PRWorkflowTemplate
565
+
566
+ "/mpm-init" or "Initialize project"
567
+ → Project setup needed
568
+ → Use ProjectTypeTemplate + DevelopmentWorkflowTemplate
569
+
570
+ Research discovers additional work
571
+ → Scope boundary clarification needed
572
+ → Use ScopeValidationTemplate
573
+
574
+ Monitoring, deployment, or custom workflow
575
+ → No standard template fits
576
+ → Build custom questions with AskUserQuestion
577
+
578
+ Context reaching 70%
579
+ → Token management needed
580
+ → Use ContextManagementTemplate (auto-generated)
581
+ ```
582
+
583
+ ---
584
+
585
+ ## Success Criteria
586
+
587
+ **Structured questions are working if**:
588
+ - ✅ PM uses templates for common scenarios (PRs, init, scope)
589
+ - ✅ PM builds custom questions when templates don't fit
590
+ - ✅ User receives clear options with descriptions
591
+ - ✅ PM parses responses correctly and delegates with full context
592
+ - ✅ Decisions are documented and followed in delegation
593
+ - ✅ Multi-select used appropriately (multiple metrics, features, etc.)
594
+
595
+ **Red Flags**:
596
+ - ❌ PM assumes user preferences instead of asking
597
+ - ❌ Questions lack clear descriptions
598
+ - ❌ Options are not mutually exclusive (unless multi-select)
599
+ - ❌ PM doesn't use template responses in delegation
600
+ - ❌ User confused by question phrasing
601
+ - ❌ PM asks for same information multiple times
602
+
603
+ ---
604
+
605
+ ## Related References
606
+
607
+ - **Validation Templates**: See [validation-templates.md](validation-templates.md)
608
+ - **PR Workflow**: See [pr-workflow-examples.md](pr-workflow-examples.md)
609
+ - **Context Management**: See [context-management-examples.md](context-management-examples.md)
610
+ - **PM Examples**: See [pm-examples.md](pm-examples.md)
611
+
612
+ ---
613
+
614
+ **Last Updated**: 2025-12-01
615
+ **Phase**: Phase 3 Optimization - Example Extraction