claude-mpm 4.21.3__py3-none-any.whl → 5.0.2__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 (484) 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 +632 -334
  5. claude_mpm/agents/WORKFLOW.md +75 -2
  6. claude_mpm/agents/__init__.py +6 -0
  7. claude_mpm/agents/agent_loader.py +1 -4
  8. claude_mpm/agents/base_agent.json +6 -3
  9. claude_mpm/agents/frontmatter_validator.py +1 -1
  10. claude_mpm/agents/templates/{circuit_breakers.md → circuit-breakers.md} +370 -3
  11. claude_mpm/agents/templates/context-management-examples.md +544 -0
  12. claude_mpm/agents/templates/{pm_red_flags.md → pm-red-flags.md} +89 -19
  13. claude_mpm/agents/templates/pr-workflow-examples.md +427 -0
  14. claude_mpm/agents/templates/research-gate-examples.md +669 -0
  15. claude_mpm/agents/templates/structured-questions-examples.md +615 -0
  16. claude_mpm/agents/templates/ticket-completeness-examples.md +139 -0
  17. claude_mpm/agents/templates/ticketing-examples.md +277 -0
  18. claude_mpm/cli/__init__.py +38 -2
  19. claude_mpm/cli/commands/agent_source.py +774 -0
  20. claude_mpm/cli/commands/agent_state_manager.py +125 -20
  21. claude_mpm/cli/commands/agents.py +684 -13
  22. claude_mpm/cli/commands/agents_cleanup.py +210 -0
  23. claude_mpm/cli/commands/agents_discover.py +338 -0
  24. claude_mpm/cli/commands/aggregate.py +1 -1
  25. claude_mpm/cli/commands/analyze.py +3 -3
  26. claude_mpm/cli/commands/auto_configure.py +2 -6
  27. claude_mpm/cli/commands/cleanup.py +1 -1
  28. claude_mpm/cli/commands/config.py +7 -4
  29. claude_mpm/cli/commands/configure.py +478 -44
  30. claude_mpm/cli/commands/configure_agent_display.py +4 -4
  31. claude_mpm/cli/commands/configure_navigation.py +63 -46
  32. claude_mpm/cli/commands/debug.py +12 -12
  33. claude_mpm/cli/commands/doctor.py +10 -2
  34. claude_mpm/cli/commands/hook_errors.py +277 -0
  35. claude_mpm/cli/commands/local_deploy.py +1 -4
  36. claude_mpm/cli/commands/mcp_install_commands.py +1 -1
  37. claude_mpm/cli/commands/mpm_init/core.py +50 -2
  38. claude_mpm/cli/commands/mpm_init/git_activity.py +10 -10
  39. claude_mpm/cli/commands/mpm_init/prompts.py +6 -6
  40. claude_mpm/cli/commands/run.py +124 -128
  41. claude_mpm/cli/commands/skill_source.py +694 -0
  42. claude_mpm/cli/commands/skills.py +435 -1
  43. claude_mpm/cli/executor.py +78 -3
  44. claude_mpm/cli/interactive/agent_wizard.py +919 -41
  45. claude_mpm/cli/parsers/agent_source_parser.py +171 -0
  46. claude_mpm/cli/parsers/agents_parser.py +173 -4
  47. claude_mpm/cli/parsers/base_parser.py +49 -0
  48. claude_mpm/cli/parsers/config_parser.py +96 -43
  49. claude_mpm/cli/parsers/skill_source_parser.py +169 -0
  50. claude_mpm/cli/parsers/skills_parser.py +138 -0
  51. claude_mpm/cli/parsers/source_parser.py +138 -0
  52. claude_mpm/cli/startup.py +499 -84
  53. claude_mpm/cli/startup_display.py +480 -0
  54. claude_mpm/cli/utils.py +1 -1
  55. claude_mpm/cli_module/commands.py +1 -1
  56. claude_mpm/commands/{mpm-auto-configure.md → mpm-agents-auto-configure.md} +9 -0
  57. claude_mpm/commands/mpm-agents-detect.md +9 -0
  58. claude_mpm/commands/{mpm-agents.md → mpm-agents-list.md} +9 -0
  59. claude_mpm/commands/mpm-agents-recommend.md +9 -0
  60. claude_mpm/commands/{mpm-config.md → mpm-config-view.md} +9 -0
  61. claude_mpm/commands/mpm-doctor.md +9 -0
  62. claude_mpm/commands/mpm-help.md +11 -2
  63. claude_mpm/commands/mpm-init.md +27 -2
  64. claude_mpm/commands/mpm-monitor.md +9 -0
  65. claude_mpm/commands/{mpm-resume.md → mpm-session-resume.md} +9 -0
  66. claude_mpm/commands/mpm-status.md +9 -0
  67. claude_mpm/commands/{mpm-organize.md → mpm-ticket-organize.md} +9 -0
  68. claude_mpm/commands/mpm-ticket-view.md +552 -0
  69. claude_mpm/commands/mpm-version.md +9 -0
  70. claude_mpm/commands/mpm.md +10 -0
  71. claude_mpm/config/agent_presets.py +258 -0
  72. claude_mpm/config/agent_sources.py +325 -0
  73. claude_mpm/config/skill_sources.py +590 -0
  74. claude_mpm/constants.py +12 -0
  75. claude_mpm/core/api_validator.py +1 -1
  76. claude_mpm/core/claude_runner.py +17 -10
  77. claude_mpm/core/config.py +24 -0
  78. claude_mpm/core/constants.py +1 -1
  79. claude_mpm/core/framework/__init__.py +3 -16
  80. claude_mpm/core/framework/loaders/instruction_loader.py +25 -5
  81. claude_mpm/core/framework/processors/metadata_processor.py +1 -1
  82. claude_mpm/core/hook_error_memory.py +381 -0
  83. claude_mpm/core/hook_manager.py +41 -2
  84. claude_mpm/core/interactive_session.py +112 -5
  85. claude_mpm/core/logger.py +3 -1
  86. claude_mpm/core/oneshot_session.py +94 -4
  87. claude_mpm/dashboard/static/css/activity.css +69 -69
  88. claude_mpm/dashboard/static/css/connection-status.css +10 -10
  89. claude_mpm/dashboard/static/css/dashboard.css +15 -15
  90. claude_mpm/dashboard/static/js/components/activity-tree.js +178 -178
  91. claude_mpm/dashboard/static/js/components/agent-hierarchy.js +101 -101
  92. claude_mpm/dashboard/static/js/components/agent-inference.js +31 -31
  93. claude_mpm/dashboard/static/js/components/build-tracker.js +59 -59
  94. claude_mpm/dashboard/static/js/components/code-simple.js +107 -107
  95. claude_mpm/dashboard/static/js/components/connection-debug.js +101 -101
  96. claude_mpm/dashboard/static/js/components/diff-viewer.js +113 -113
  97. claude_mpm/dashboard/static/js/components/event-viewer.js +12 -12
  98. claude_mpm/dashboard/static/js/components/file-change-tracker.js +57 -57
  99. claude_mpm/dashboard/static/js/components/file-change-viewer.js +74 -74
  100. claude_mpm/dashboard/static/js/components/file-tool-tracker.js +6 -6
  101. claude_mpm/dashboard/static/js/components/file-viewer.js +42 -42
  102. claude_mpm/dashboard/static/js/components/module-viewer.js +27 -27
  103. claude_mpm/dashboard/static/js/components/session-manager.js +14 -14
  104. claude_mpm/dashboard/static/js/components/socket-manager.js +1 -1
  105. claude_mpm/dashboard/static/js/components/ui-state-manager.js +14 -14
  106. claude_mpm/dashboard/static/js/components/unified-data-viewer.js +110 -110
  107. claude_mpm/dashboard/static/js/components/working-directory.js +8 -8
  108. claude_mpm/dashboard/static/js/connection-manager.js +76 -76
  109. claude_mpm/dashboard/static/js/dashboard.js +76 -58
  110. claude_mpm/dashboard/static/js/extension-error-handler.js +22 -22
  111. claude_mpm/dashboard/static/js/socket-client.js +138 -121
  112. claude_mpm/dashboard/templates/code_simple.html +23 -23
  113. claude_mpm/dashboard/templates/index.html +18 -18
  114. claude_mpm/experimental/cli_enhancements.py +1 -5
  115. claude_mpm/hooks/claude_hooks/event_handlers.py +3 -1
  116. claude_mpm/hooks/claude_hooks/hook_handler.py +24 -7
  117. claude_mpm/hooks/claude_hooks/installer.py +45 -0
  118. claude_mpm/hooks/failure_learning/__init__.py +2 -8
  119. claude_mpm/hooks/failure_learning/failure_detection_hook.py +1 -6
  120. claude_mpm/hooks/failure_learning/fix_detection_hook.py +1 -6
  121. claude_mpm/hooks/failure_learning/learning_extraction_hook.py +1 -6
  122. claude_mpm/hooks/kuzu_response_hook.py +1 -5
  123. claude_mpm/hooks/templates/pre_tool_use_simple.py +78 -0
  124. claude_mpm/hooks/templates/pre_tool_use_template.py +323 -0
  125. claude_mpm/models/git_repository.py +198 -0
  126. claude_mpm/scripts/claude-hook-handler.sh +3 -3
  127. claude_mpm/scripts/start_activity_logging.py +3 -1
  128. claude_mpm/services/agents/agent_builder.py +45 -9
  129. claude_mpm/services/agents/agent_preset_service.py +238 -0
  130. claude_mpm/services/agents/agent_selection_service.py +484 -0
  131. claude_mpm/services/agents/auto_deploy_index_parser.py +569 -0
  132. claude_mpm/services/agents/deployment/agent_deployment.py +126 -2
  133. claude_mpm/services/agents/deployment/agent_discovery_service.py +105 -73
  134. claude_mpm/services/agents/deployment/agent_format_converter.py +1 -1
  135. claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +1 -5
  136. claude_mpm/services/agents/deployment/agent_metrics_collector.py +3 -3
  137. claude_mpm/services/agents/deployment/agent_restore_handler.py +1 -4
  138. claude_mpm/services/agents/deployment/agent_template_builder.py +236 -15
  139. claude_mpm/services/agents/deployment/agents_directory_resolver.py +101 -15
  140. claude_mpm/services/agents/deployment/async_agent_deployment.py +2 -1
  141. claude_mpm/services/agents/deployment/facade/deployment_facade.py +3 -3
  142. claude_mpm/services/agents/deployment/multi_source_deployment_service.py +115 -15
  143. claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +2 -2
  144. claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +1 -4
  145. claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +363 -0
  146. claude_mpm/services/agents/deployment/single_agent_deployer.py +2 -2
  147. claude_mpm/services/agents/deployment/system_instructions_deployer.py +168 -46
  148. claude_mpm/services/agents/deployment/validation/deployment_validator.py +2 -2
  149. claude_mpm/services/agents/git_source_manager.py +629 -0
  150. claude_mpm/services/agents/loading/framework_agent_loader.py +9 -12
  151. claude_mpm/services/agents/local_template_manager.py +50 -10
  152. claude_mpm/services/agents/single_tier_deployment_service.py +696 -0
  153. claude_mpm/services/agents/sources/__init__.py +13 -0
  154. claude_mpm/services/agents/sources/agent_sync_state.py +516 -0
  155. claude_mpm/services/agents/sources/git_source_sync_service.py +1055 -0
  156. claude_mpm/services/agents/startup_sync.py +239 -0
  157. claude_mpm/services/agents/toolchain_detector.py +474 -0
  158. claude_mpm/services/cli/session_pause_manager.py +1 -1
  159. claude_mpm/services/cli/unified_dashboard_manager.py +1 -1
  160. claude_mpm/services/command_deployment_service.py +92 -1
  161. claude_mpm/services/core/interfaces/__init__.py +1 -3
  162. claude_mpm/services/core/interfaces/health.py +1 -4
  163. claude_mpm/services/core/models/__init__.py +2 -11
  164. claude_mpm/services/diagnostics/checks/__init__.py +4 -0
  165. claude_mpm/services/diagnostics/checks/agent_check.py +0 -2
  166. claude_mpm/services/diagnostics/checks/agent_sources_check.py +577 -0
  167. claude_mpm/services/diagnostics/checks/instructions_check.py +1 -2
  168. claude_mpm/services/diagnostics/checks/mcp_check.py +0 -1
  169. claude_mpm/services/diagnostics/checks/monitor_check.py +0 -1
  170. claude_mpm/services/diagnostics/checks/skill_sources_check.py +587 -0
  171. claude_mpm/services/diagnostics/diagnostic_runner.py +9 -0
  172. claude_mpm/services/diagnostics/doctor_reporter.py +40 -10
  173. claude_mpm/services/event_bus/direct_relay.py +3 -3
  174. claude_mpm/services/event_bus/event_bus.py +36 -3
  175. claude_mpm/services/events/consumers/logging.py +1 -2
  176. claude_mpm/services/git/__init__.py +21 -0
  177. claude_mpm/services/git/git_operations_service.py +494 -0
  178. claude_mpm/services/github/__init__.py +21 -0
  179. claude_mpm/services/github/github_cli_service.py +397 -0
  180. claude_mpm/services/infrastructure/monitoring/__init__.py +1 -5
  181. claude_mpm/services/infrastructure/monitoring/aggregator.py +1 -6
  182. claude_mpm/services/infrastructure/monitoring/resources.py +1 -1
  183. claude_mpm/services/instructions/__init__.py +9 -0
  184. claude_mpm/services/instructions/instruction_cache_service.py +374 -0
  185. claude_mpm/services/local_ops/__init__.py +3 -13
  186. claude_mpm/services/local_ops/health_checks/__init__.py +1 -3
  187. claude_mpm/services/local_ops/health_manager.py +1 -4
  188. claude_mpm/services/local_ops/process_manager.py +1 -1
  189. claude_mpm/services/local_ops/resource_monitor.py +2 -2
  190. claude_mpm/services/mcp_gateway/config/configuration.py +1 -1
  191. claude_mpm/services/mcp_gateway/server/mcp_gateway.py +1 -6
  192. claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -2
  193. claude_mpm/services/mcp_gateway/tools/document_summarizer.py +1 -1
  194. claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +6 -2
  195. claude_mpm/services/memory/optimizer.py +1 -1
  196. claude_mpm/services/model/model_router.py +8 -9
  197. claude_mpm/services/monitor/daemon.py +1 -1
  198. claude_mpm/services/monitor/server.py +2 -2
  199. claude_mpm/services/native_agent_converter.py +356 -0
  200. claude_mpm/services/port_manager.py +1 -1
  201. claude_mpm/services/pr/__init__.py +14 -0
  202. claude_mpm/services/pr/pr_template_service.py +329 -0
  203. claude_mpm/services/project/documentation_manager.py +2 -1
  204. claude_mpm/services/project/toolchain_analyzer.py +3 -1
  205. claude_mpm/services/runner_configuration_service.py +1 -0
  206. claude_mpm/services/self_upgrade_service.py +165 -7
  207. claude_mpm/services/skills/__init__.py +18 -0
  208. claude_mpm/services/skills/git_skill_source_manager.py +1169 -0
  209. claude_mpm/services/skills/skill_discovery_service.py +568 -0
  210. claude_mpm/services/skills_config.py +547 -0
  211. claude_mpm/services/skills_deployer.py +955 -0
  212. claude_mpm/services/socketio/handlers/connection.py +1 -1
  213. claude_mpm/services/socketio/handlers/git.py +2 -2
  214. claude_mpm/services/socketio/server/core.py +1 -4
  215. claude_mpm/services/socketio/server/main.py +1 -3
  216. claude_mpm/services/system_instructions_service.py +1 -3
  217. claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +0 -3
  218. claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +0 -1
  219. claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +1 -1
  220. claude_mpm/services/unified/deployment_strategies/vercel.py +1 -5
  221. claude_mpm/services/unified/unified_deployment.py +1 -5
  222. claude_mpm/services/version_control/conflict_resolution.py +6 -4
  223. claude_mpm/services/visualization/__init__.py +1 -5
  224. claude_mpm/services/visualization/mermaid_generator.py +2 -3
  225. claude_mpm/skills/bundled/infrastructure/env-manager/scripts/validate_env.py +576 -0
  226. claude_mpm/skills/bundled/performance-profiling.md +6 -0
  227. claude_mpm/skills/bundled/testing/webapp-testing/scripts/with_server.py +2 -2
  228. claude_mpm/skills/skills_registry.py +0 -1
  229. claude_mpm/templates/questions/__init__.py +38 -0
  230. claude_mpm/templates/questions/base.py +193 -0
  231. claude_mpm/templates/questions/pr_strategy.py +311 -0
  232. claude_mpm/templates/questions/project_init.py +385 -0
  233. claude_mpm/templates/questions/ticket_mgmt.py +394 -0
  234. claude_mpm/tools/__main__.py +8 -8
  235. claude_mpm/tools/code_tree_analyzer/analysis.py +1 -1
  236. claude_mpm/utils/agent_dependency_loader.py +80 -13
  237. claude_mpm/utils/dependency_cache.py +3 -1
  238. claude_mpm/utils/gitignore.py +241 -0
  239. claude_mpm/utils/log_cleanup.py +3 -3
  240. claude_mpm/utils/progress.py +383 -0
  241. claude_mpm/utils/robust_installer.py +3 -5
  242. claude_mpm/utils/structured_questions.py +619 -0
  243. {claude_mpm-4.21.3.dist-info → claude_mpm-5.0.2.dist-info}/METADATA +429 -59
  244. {claude_mpm-4.21.3.dist-info → claude_mpm-5.0.2.dist-info}/RECORD +252 -425
  245. claude_mpm/agents/templates/.claude-mpm/memories/README.md +0 -17
  246. claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md +0 -3
  247. claude_mpm/agents/templates/agent-manager.json +0 -273
  248. claude_mpm/agents/templates/agentic-coder-optimizer.json +0 -248
  249. claude_mpm/agents/templates/api_qa.json +0 -180
  250. claude_mpm/agents/templates/clerk-ops.json +0 -235
  251. claude_mpm/agents/templates/code_analyzer.json +0 -101
  252. claude_mpm/agents/templates/content-agent.json +0 -358
  253. claude_mpm/agents/templates/dart_engineer.json +0 -307
  254. claude_mpm/agents/templates/data_engineer.json +0 -225
  255. claude_mpm/agents/templates/documentation.json +0 -211
  256. claude_mpm/agents/templates/engineer.json +0 -210
  257. claude_mpm/agents/templates/gcp_ops_agent.json +0 -253
  258. claude_mpm/agents/templates/golang_engineer.json +0 -270
  259. claude_mpm/agents/templates/imagemagick.json +0 -264
  260. claude_mpm/agents/templates/java_engineer.json +0 -346
  261. claude_mpm/agents/templates/local_ops_agent.json +0 -1840
  262. claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md +0 -39
  263. claude_mpm/agents/templates/logs/prompts/agent_engineer_20250901_010124_142.md +0 -400
  264. claude_mpm/agents/templates/memory_manager.json +0 -158
  265. claude_mpm/agents/templates/nextjs_engineer.json +0 -285
  266. claude_mpm/agents/templates/ops.json +0 -185
  267. claude_mpm/agents/templates/php-engineer.json +0 -287
  268. claude_mpm/agents/templates/product_owner.json +0 -338
  269. claude_mpm/agents/templates/project_organizer.json +0 -140
  270. claude_mpm/agents/templates/prompt-engineer.json +0 -737
  271. claude_mpm/agents/templates/python_engineer.json +0 -387
  272. claude_mpm/agents/templates/qa.json +0 -242
  273. claude_mpm/agents/templates/react_engineer.json +0 -238
  274. claude_mpm/agents/templates/refactoring_engineer.json +0 -276
  275. claude_mpm/agents/templates/research.json +0 -188
  276. claude_mpm/agents/templates/ruby-engineer.json +0 -280
  277. claude_mpm/agents/templates/rust_engineer.json +0 -275
  278. claude_mpm/agents/templates/security.json +0 -202
  279. claude_mpm/agents/templates/svelte-engineer.json +0 -225
  280. claude_mpm/agents/templates/ticketing.json +0 -177
  281. claude_mpm/agents/templates/typescript_engineer.json +0 -285
  282. claude_mpm/agents/templates/vercel_ops_agent.json +0 -412
  283. claude_mpm/agents/templates/version_control.json +0 -157
  284. claude_mpm/agents/templates/web_qa.json +0 -399
  285. claude_mpm/agents/templates/web_ui.json +0 -189
  286. claude_mpm/commands/mpm-tickets.md +0 -102
  287. claude_mpm/dashboard/.claude-mpm/socketio-instances.json +0 -1
  288. claude_mpm/dashboard/react/components/DataInspector/DataInspector.module.css +0 -188
  289. claude_mpm/dashboard/react/components/EventViewer/EventViewer.module.css +0 -156
  290. claude_mpm/dashboard/react/components/shared/ConnectionStatus.module.css +0 -38
  291. claude_mpm/dashboard/react/components/shared/FilterBar.module.css +0 -92
  292. claude_mpm/dashboard/static/archive/activity_dashboard_fixed.html +0 -248
  293. claude_mpm/dashboard/static/archive/activity_dashboard_test.html +0 -61
  294. claude_mpm/dashboard/static/archive/test_activity_connection.html +0 -179
  295. claude_mpm/dashboard/static/archive/test_claude_tree_tab.html +0 -68
  296. claude_mpm/dashboard/static/archive/test_dashboard.html +0 -409
  297. claude_mpm/dashboard/static/archive/test_dashboard_fixed.html +0 -519
  298. claude_mpm/dashboard/static/archive/test_dashboard_verification.html +0 -181
  299. claude_mpm/dashboard/static/archive/test_file_data.html +0 -315
  300. claude_mpm/dashboard/static/archive/test_file_tree_empty_state.html +0 -243
  301. claude_mpm/dashboard/static/archive/test_file_tree_fix.html +0 -234
  302. claude_mpm/dashboard/static/archive/test_file_tree_rename.html +0 -117
  303. claude_mpm/dashboard/static/archive/test_file_tree_tab.html +0 -115
  304. claude_mpm/dashboard/static/archive/test_file_viewer.html +0 -224
  305. claude_mpm/dashboard/static/archive/test_final_activity.html +0 -220
  306. claude_mpm/dashboard/static/archive/test_tab_fix.html +0 -139
  307. claude_mpm/dashboard/static/built/assets/events.DjpNxWNo.css +0 -1
  308. claude_mpm/dashboard/static/built/components/activity-tree.js +0 -2
  309. claude_mpm/dashboard/static/built/components/agent-hierarchy.js +0 -777
  310. claude_mpm/dashboard/static/built/components/agent-inference.js +0 -2
  311. claude_mpm/dashboard/static/built/components/build-tracker.js +0 -333
  312. claude_mpm/dashboard/static/built/components/code-simple.js +0 -857
  313. claude_mpm/dashboard/static/built/components/code-tree/tree-breadcrumb.js +0 -353
  314. claude_mpm/dashboard/static/built/components/code-tree/tree-constants.js +0 -235
  315. claude_mpm/dashboard/static/built/components/code-tree/tree-search.js +0 -409
  316. claude_mpm/dashboard/static/built/components/code-tree/tree-utils.js +0 -435
  317. claude_mpm/dashboard/static/built/components/code-tree.js +0 -2
  318. claude_mpm/dashboard/static/built/components/code-viewer.js +0 -2
  319. claude_mpm/dashboard/static/built/components/connection-debug.js +0 -654
  320. claude_mpm/dashboard/static/built/components/diff-viewer.js +0 -891
  321. claude_mpm/dashboard/static/built/components/event-processor.js +0 -2
  322. claude_mpm/dashboard/static/built/components/event-viewer.js +0 -2
  323. claude_mpm/dashboard/static/built/components/export-manager.js +0 -2
  324. claude_mpm/dashboard/static/built/components/file-change-tracker.js +0 -443
  325. claude_mpm/dashboard/static/built/components/file-change-viewer.js +0 -690
  326. claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -2
  327. claude_mpm/dashboard/static/built/components/file-viewer.js +0 -2
  328. claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -2
  329. claude_mpm/dashboard/static/built/components/hud-manager.js +0 -2
  330. claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -2
  331. claude_mpm/dashboard/static/built/components/module-viewer.js +0 -2
  332. claude_mpm/dashboard/static/built/components/nav-bar.js +0 -145
  333. claude_mpm/dashboard/static/built/components/page-structure.js +0 -429
  334. claude_mpm/dashboard/static/built/components/session-manager.js +0 -2
  335. claude_mpm/dashboard/static/built/components/socket-manager.js +0 -2
  336. claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -2
  337. claude_mpm/dashboard/static/built/components/unified-data-viewer.js +0 -2
  338. claude_mpm/dashboard/static/built/components/working-directory.js +0 -2
  339. claude_mpm/dashboard/static/built/connection-manager.js +0 -536
  340. claude_mpm/dashboard/static/built/dashboard.js +0 -2
  341. claude_mpm/dashboard/static/built/extension-error-handler.js +0 -164
  342. claude_mpm/dashboard/static/built/react/events.js +0 -30
  343. claude_mpm/dashboard/static/built/shared/dom-helpers.js +0 -396
  344. claude_mpm/dashboard/static/built/shared/event-bus.js +0 -330
  345. claude_mpm/dashboard/static/built/shared/event-filter-service.js +0 -540
  346. claude_mpm/dashboard/static/built/shared/logger.js +0 -385
  347. claude_mpm/dashboard/static/built/shared/page-structure.js +0 -249
  348. claude_mpm/dashboard/static/built/shared/tooltip-service.js +0 -253
  349. claude_mpm/dashboard/static/built/socket-client.js +0 -2
  350. claude_mpm/dashboard/static/built/tab-isolation-fix.js +0 -185
  351. claude_mpm/dashboard/static/dist/assets/events.DjpNxWNo.css +0 -1
  352. claude_mpm/dashboard/static/dist/components/activity-tree.js +0 -2
  353. claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -2
  354. claude_mpm/dashboard/static/dist/components/code-tree.js +0 -2
  355. claude_mpm/dashboard/static/dist/components/code-viewer.js +0 -2
  356. claude_mpm/dashboard/static/dist/components/event-processor.js +0 -2
  357. claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -2
  358. claude_mpm/dashboard/static/dist/components/export-manager.js +0 -2
  359. claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -2
  360. claude_mpm/dashboard/static/dist/components/file-viewer.js +0 -2
  361. claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -2
  362. claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -2
  363. claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -2
  364. claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -2
  365. claude_mpm/dashboard/static/dist/components/session-manager.js +0 -2
  366. claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -2
  367. claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -2
  368. claude_mpm/dashboard/static/dist/components/unified-data-viewer.js +0 -2
  369. claude_mpm/dashboard/static/dist/components/working-directory.js +0 -2
  370. claude_mpm/dashboard/static/dist/dashboard.js +0 -2
  371. claude_mpm/dashboard/static/dist/react/events.js +0 -30
  372. claude_mpm/dashboard/static/dist/socket-client.js +0 -2
  373. claude_mpm/dashboard/static/events.html +0 -607
  374. claude_mpm/dashboard/static/index.html +0 -635
  375. claude_mpm/dashboard/static/js/shared/dom-helpers.js +0 -396
  376. claude_mpm/dashboard/static/js/shared/event-bus.js +0 -330
  377. claude_mpm/dashboard/static/js/shared/logger.js +0 -385
  378. claude_mpm/dashboard/static/js/shared/tooltip-service.js +0 -253
  379. claude_mpm/dashboard/static/js/stores/dashboard-store.js +0 -562
  380. claude_mpm/dashboard/static/legacy/activity.html +0 -736
  381. claude_mpm/dashboard/static/legacy/agents.html +0 -786
  382. claude_mpm/dashboard/static/legacy/files.html +0 -747
  383. claude_mpm/dashboard/static/legacy/tools.html +0 -831
  384. claude_mpm/dashboard/static/monitors.html +0 -431
  385. claude_mpm/dashboard/static/production/events.html +0 -659
  386. claude_mpm/dashboard/static/production/main.html +0 -698
  387. claude_mpm/dashboard/static/production/monitors.html +0 -483
  388. claude_mpm/dashboard/static/test-archive/dashboard.html +0 -635
  389. claude_mpm/dashboard/static/test-archive/debug-events.html +0 -147
  390. claude_mpm/dashboard/static/test-archive/test-navigation.html +0 -256
  391. claude_mpm/dashboard/static/test-archive/test-react-exports.html +0 -180
  392. claude_mpm/dashboard/static/test-archive/test_debug.html +0 -25
  393. claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +0 -79
  394. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +0 -178
  395. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +0 -577
  396. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +0 -467
  397. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +0 -537
  398. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +0 -730
  399. claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +0 -112
  400. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +0 -146
  401. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +0 -412
  402. claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +0 -81
  403. claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +0 -362
  404. claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +0 -312
  405. claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +0 -152
  406. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +0 -668
  407. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +0 -587
  408. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +0 -438
  409. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +0 -391
  410. claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +0 -119
  411. claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +0 -148
  412. claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +0 -483
  413. claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +0 -452
  414. claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +0 -449
  415. claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +0 -411
  416. claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +0 -14
  417. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +0 -58
  418. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +0 -68
  419. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +0 -69
  420. claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +0 -131
  421. claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +0 -325
  422. claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +0 -490
  423. claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +0 -425
  424. claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +0 -499
  425. claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +0 -86
  426. claude_mpm/skills/bundled/main/internal-comms/SKILL.md +0 -43
  427. claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +0 -47
  428. claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +0 -65
  429. claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +0 -30
  430. claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +0 -16
  431. claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +0 -160
  432. claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +0 -412
  433. claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +0 -602
  434. claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +0 -915
  435. claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +0 -916
  436. claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +0 -752
  437. claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +0 -1237
  438. claude_mpm/skills/bundled/main/skill-creator/SKILL.md +0 -189
  439. claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +0 -500
  440. claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +0 -464
  441. claude_mpm/skills/bundled/main/skill-creator/references/examples.md +0 -619
  442. claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +0 -437
  443. claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +0 -231
  444. claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +0 -170
  445. claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +0 -602
  446. claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +0 -821
  447. claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +0 -742
  448. claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +0 -726
  449. claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +0 -764
  450. claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +0 -831
  451. claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +0 -226
  452. claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +0 -901
  453. claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +0 -901
  454. claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +0 -775
  455. claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +0 -937
  456. claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +0 -770
  457. claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +0 -961
  458. claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +0 -119
  459. claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +0 -253
  460. claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +0 -145
  461. claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +0 -543
  462. claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +0 -741
  463. claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +0 -470
  464. claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +0 -458
  465. claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +0 -639
  466. claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +0 -140
  467. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +0 -572
  468. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +0 -411
  469. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +0 -569
  470. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +0 -695
  471. claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +0 -184
  472. claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +0 -459
  473. claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +0 -479
  474. claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +0 -687
  475. claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +0 -758
  476. claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +0 -868
  477. /claude_mpm/agents/templates/{git_file_tracking.md → git-file-tracking.md} +0 -0
  478. /claude_mpm/agents/templates/{pm_examples.md → pm-examples.md} +0 -0
  479. /claude_mpm/agents/templates/{response_format.md → response-format.md} +0 -0
  480. /claude_mpm/agents/templates/{validation_templates.md → validation-templates.md} +0 -0
  481. {claude_mpm-4.21.3.dist-info → claude_mpm-5.0.2.dist-info}/WHEEL +0 -0
  482. {claude_mpm-4.21.3.dist-info → claude_mpm-5.0.2.dist-info}/entry_points.txt +0 -0
  483. {claude_mpm-4.21.3.dist-info → claude_mpm-5.0.2.dist-info}/licenses/LICENSE +0 -0
  484. {claude_mpm-4.21.3.dist-info → claude_mpm-5.0.2.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