claude-mpm 4.21.0__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 (497) 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 +14 -2
  63. claude_mpm/commands/mpm-init.md +27 -2
  64. claude_mpm/commands/mpm-monitor.md +9 -0
  65. claude_mpm/commands/mpm-session-resume.md +381 -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 +11 -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/base.py +26 -11
  162. claude_mpm/services/core/interfaces/__init__.py +1 -3
  163. claude_mpm/services/core/interfaces/health.py +1 -4
  164. claude_mpm/services/core/models/__init__.py +2 -11
  165. claude_mpm/services/diagnostics/checks/__init__.py +4 -0
  166. claude_mpm/services/diagnostics/checks/agent_check.py +0 -2
  167. claude_mpm/services/diagnostics/checks/agent_sources_check.py +577 -0
  168. claude_mpm/services/diagnostics/checks/instructions_check.py +1 -2
  169. claude_mpm/services/diagnostics/checks/mcp_check.py +0 -1
  170. claude_mpm/services/diagnostics/checks/monitor_check.py +0 -1
  171. claude_mpm/services/diagnostics/checks/skill_sources_check.py +587 -0
  172. claude_mpm/services/diagnostics/diagnostic_runner.py +9 -0
  173. claude_mpm/services/diagnostics/doctor_reporter.py +40 -10
  174. claude_mpm/services/event_bus/direct_relay.py +3 -3
  175. claude_mpm/services/event_bus/event_bus.py +36 -3
  176. claude_mpm/services/event_bus/relay.py +23 -7
  177. claude_mpm/services/events/consumers/logging.py +1 -2
  178. claude_mpm/services/git/__init__.py +21 -0
  179. claude_mpm/services/git/git_operations_service.py +494 -0
  180. claude_mpm/services/github/__init__.py +21 -0
  181. claude_mpm/services/github/github_cli_service.py +397 -0
  182. claude_mpm/services/infrastructure/monitoring/__init__.py +1 -5
  183. claude_mpm/services/infrastructure/monitoring/aggregator.py +1 -6
  184. claude_mpm/services/infrastructure/monitoring/resources.py +1 -1
  185. claude_mpm/services/instructions/__init__.py +9 -0
  186. claude_mpm/services/instructions/instruction_cache_service.py +374 -0
  187. claude_mpm/services/local_ops/__init__.py +3 -13
  188. claude_mpm/services/local_ops/health_checks/__init__.py +1 -3
  189. claude_mpm/services/local_ops/health_manager.py +1 -4
  190. claude_mpm/services/local_ops/process_manager.py +1 -1
  191. claude_mpm/services/local_ops/resource_monitor.py +2 -2
  192. claude_mpm/services/mcp_gateway/config/configuration.py +1 -1
  193. claude_mpm/services/mcp_gateway/server/mcp_gateway.py +1 -6
  194. claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -2
  195. claude_mpm/services/mcp_gateway/tools/document_summarizer.py +1 -1
  196. claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +6 -2
  197. claude_mpm/services/memory/failure_tracker.py +19 -4
  198. claude_mpm/services/memory/optimizer.py +1 -1
  199. claude_mpm/services/model/model_router.py +8 -9
  200. claude_mpm/services/monitor/daemon.py +1 -1
  201. claude_mpm/services/monitor/server.py +2 -2
  202. claude_mpm/services/native_agent_converter.py +356 -0
  203. claude_mpm/services/port_manager.py +1 -1
  204. claude_mpm/services/pr/__init__.py +14 -0
  205. claude_mpm/services/pr/pr_template_service.py +329 -0
  206. claude_mpm/services/project/documentation_manager.py +2 -1
  207. claude_mpm/services/project/toolchain_analyzer.py +3 -1
  208. claude_mpm/services/runner_configuration_service.py +1 -0
  209. claude_mpm/services/self_upgrade_service.py +165 -7
  210. claude_mpm/services/skills/__init__.py +18 -0
  211. claude_mpm/services/skills/git_skill_source_manager.py +1169 -0
  212. claude_mpm/services/skills/skill_discovery_service.py +568 -0
  213. claude_mpm/services/skills_config.py +547 -0
  214. claude_mpm/services/skills_deployer.py +955 -0
  215. claude_mpm/services/socketio/handlers/connection.py +1 -1
  216. claude_mpm/services/socketio/handlers/git.py +2 -2
  217. claude_mpm/services/socketio/server/core.py +1 -4
  218. claude_mpm/services/socketio/server/main.py +1 -3
  219. claude_mpm/services/system_instructions_service.py +1 -3
  220. claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +0 -3
  221. claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +0 -1
  222. claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +1 -1
  223. claude_mpm/services/unified/deployment_strategies/vercel.py +1 -5
  224. claude_mpm/services/unified/unified_deployment.py +1 -5
  225. claude_mpm/services/version_control/conflict_resolution.py +6 -4
  226. claude_mpm/services/visualization/__init__.py +1 -5
  227. claude_mpm/services/visualization/mermaid_generator.py +2 -3
  228. claude_mpm/skills/bundled/infrastructure/env-manager/scripts/validate_env.py +576 -0
  229. claude_mpm/skills/bundled/performance-profiling.md +6 -0
  230. claude_mpm/skills/bundled/testing/webapp-testing/scripts/with_server.py +2 -2
  231. claude_mpm/skills/skills_registry.py +0 -1
  232. claude_mpm/templates/questions/__init__.py +38 -0
  233. claude_mpm/templates/questions/base.py +193 -0
  234. claude_mpm/templates/questions/pr_strategy.py +311 -0
  235. claude_mpm/templates/questions/project_init.py +385 -0
  236. claude_mpm/templates/questions/ticket_mgmt.py +394 -0
  237. claude_mpm/tools/__main__.py +8 -8
  238. claude_mpm/tools/code_tree_analyzer/__init__.py +45 -0
  239. claude_mpm/tools/code_tree_analyzer/analysis.py +299 -0
  240. claude_mpm/tools/code_tree_analyzer/cache.py +131 -0
  241. claude_mpm/tools/code_tree_analyzer/core.py +380 -0
  242. claude_mpm/tools/code_tree_analyzer/discovery.py +403 -0
  243. claude_mpm/tools/code_tree_analyzer/events.py +168 -0
  244. claude_mpm/tools/code_tree_analyzer/gitignore.py +308 -0
  245. claude_mpm/tools/code_tree_analyzer/models.py +39 -0
  246. claude_mpm/tools/code_tree_analyzer/multilang_analyzer.py +224 -0
  247. claude_mpm/tools/code_tree_analyzer/python_analyzer.py +284 -0
  248. claude_mpm/utils/agent_dependency_loader.py +80 -13
  249. claude_mpm/utils/dependency_cache.py +3 -1
  250. claude_mpm/utils/gitignore.py +241 -0
  251. claude_mpm/utils/log_cleanup.py +3 -3
  252. claude_mpm/utils/progress.py +383 -0
  253. claude_mpm/utils/robust_installer.py +3 -5
  254. claude_mpm/utils/structured_questions.py +619 -0
  255. {claude_mpm-4.21.0.dist-info → claude_mpm-5.0.2.dist-info}/METADATA +429 -59
  256. {claude_mpm-4.21.0.dist-info → claude_mpm-5.0.2.dist-info}/RECORD +264 -427
  257. claude_mpm/agents/templates/.claude-mpm/memories/README.md +0 -17
  258. claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md +0 -3
  259. claude_mpm/agents/templates/agent-manager.json +0 -273
  260. claude_mpm/agents/templates/agentic-coder-optimizer.json +0 -248
  261. claude_mpm/agents/templates/api_qa.json +0 -180
  262. claude_mpm/agents/templates/clerk-ops.json +0 -235
  263. claude_mpm/agents/templates/code_analyzer.json +0 -101
  264. claude_mpm/agents/templates/content-agent.json +0 -358
  265. claude_mpm/agents/templates/dart_engineer.json +0 -307
  266. claude_mpm/agents/templates/data_engineer.json +0 -225
  267. claude_mpm/agents/templates/documentation.json +0 -211
  268. claude_mpm/agents/templates/engineer.json +0 -210
  269. claude_mpm/agents/templates/gcp_ops_agent.json +0 -253
  270. claude_mpm/agents/templates/golang_engineer.json +0 -270
  271. claude_mpm/agents/templates/imagemagick.json +0 -264
  272. claude_mpm/agents/templates/java_engineer.json +0 -346
  273. claude_mpm/agents/templates/local_ops_agent.json +0 -1840
  274. claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md +0 -39
  275. claude_mpm/agents/templates/logs/prompts/agent_engineer_20250901_010124_142.md +0 -400
  276. claude_mpm/agents/templates/memory_manager.json +0 -158
  277. claude_mpm/agents/templates/nextjs_engineer.json +0 -285
  278. claude_mpm/agents/templates/ops.json +0 -185
  279. claude_mpm/agents/templates/php-engineer.json +0 -287
  280. claude_mpm/agents/templates/product_owner.json +0 -338
  281. claude_mpm/agents/templates/project_organizer.json +0 -140
  282. claude_mpm/agents/templates/prompt-engineer.json +0 -737
  283. claude_mpm/agents/templates/python_engineer.json +0 -387
  284. claude_mpm/agents/templates/qa.json +0 -242
  285. claude_mpm/agents/templates/react_engineer.json +0 -238
  286. claude_mpm/agents/templates/refactoring_engineer.json +0 -276
  287. claude_mpm/agents/templates/research.json +0 -188
  288. claude_mpm/agents/templates/ruby-engineer.json +0 -280
  289. claude_mpm/agents/templates/rust_engineer.json +0 -275
  290. claude_mpm/agents/templates/security.json +0 -202
  291. claude_mpm/agents/templates/svelte-engineer.json +0 -225
  292. claude_mpm/agents/templates/ticketing.json +0 -177
  293. claude_mpm/agents/templates/typescript_engineer.json +0 -285
  294. claude_mpm/agents/templates/vercel_ops_agent.json +0 -412
  295. claude_mpm/agents/templates/version_control.json +0 -157
  296. claude_mpm/agents/templates/web_qa.json +0 -399
  297. claude_mpm/agents/templates/web_ui.json +0 -189
  298. claude_mpm/commands/mpm-tickets.md +0 -102
  299. claude_mpm/dashboard/.claude-mpm/socketio-instances.json +0 -1
  300. claude_mpm/dashboard/react/components/DataInspector/DataInspector.module.css +0 -188
  301. claude_mpm/dashboard/react/components/EventViewer/EventViewer.module.css +0 -156
  302. claude_mpm/dashboard/react/components/shared/ConnectionStatus.module.css +0 -38
  303. claude_mpm/dashboard/react/components/shared/FilterBar.module.css +0 -92
  304. claude_mpm/dashboard/static/archive/activity_dashboard_fixed.html +0 -248
  305. claude_mpm/dashboard/static/archive/activity_dashboard_test.html +0 -61
  306. claude_mpm/dashboard/static/archive/test_activity_connection.html +0 -179
  307. claude_mpm/dashboard/static/archive/test_claude_tree_tab.html +0 -68
  308. claude_mpm/dashboard/static/archive/test_dashboard.html +0 -409
  309. claude_mpm/dashboard/static/archive/test_dashboard_fixed.html +0 -519
  310. claude_mpm/dashboard/static/archive/test_dashboard_verification.html +0 -181
  311. claude_mpm/dashboard/static/archive/test_file_data.html +0 -315
  312. claude_mpm/dashboard/static/archive/test_file_tree_empty_state.html +0 -243
  313. claude_mpm/dashboard/static/archive/test_file_tree_fix.html +0 -234
  314. claude_mpm/dashboard/static/archive/test_file_tree_rename.html +0 -117
  315. claude_mpm/dashboard/static/archive/test_file_tree_tab.html +0 -115
  316. claude_mpm/dashboard/static/archive/test_file_viewer.html +0 -224
  317. claude_mpm/dashboard/static/archive/test_final_activity.html +0 -220
  318. claude_mpm/dashboard/static/archive/test_tab_fix.html +0 -139
  319. claude_mpm/dashboard/static/built/assets/events.DjpNxWNo.css +0 -1
  320. claude_mpm/dashboard/static/built/components/activity-tree.js +0 -2
  321. claude_mpm/dashboard/static/built/components/agent-hierarchy.js +0 -777
  322. claude_mpm/dashboard/static/built/components/agent-inference.js +0 -2
  323. claude_mpm/dashboard/static/built/components/build-tracker.js +0 -333
  324. claude_mpm/dashboard/static/built/components/code-simple.js +0 -857
  325. claude_mpm/dashboard/static/built/components/code-tree/tree-breadcrumb.js +0 -353
  326. claude_mpm/dashboard/static/built/components/code-tree/tree-constants.js +0 -235
  327. claude_mpm/dashboard/static/built/components/code-tree/tree-search.js +0 -409
  328. claude_mpm/dashboard/static/built/components/code-tree/tree-utils.js +0 -435
  329. claude_mpm/dashboard/static/built/components/code-tree.js +0 -2
  330. claude_mpm/dashboard/static/built/components/code-viewer.js +0 -2
  331. claude_mpm/dashboard/static/built/components/connection-debug.js +0 -654
  332. claude_mpm/dashboard/static/built/components/diff-viewer.js +0 -891
  333. claude_mpm/dashboard/static/built/components/event-processor.js +0 -2
  334. claude_mpm/dashboard/static/built/components/event-viewer.js +0 -2
  335. claude_mpm/dashboard/static/built/components/export-manager.js +0 -2
  336. claude_mpm/dashboard/static/built/components/file-change-tracker.js +0 -443
  337. claude_mpm/dashboard/static/built/components/file-change-viewer.js +0 -690
  338. claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -2
  339. claude_mpm/dashboard/static/built/components/file-viewer.js +0 -2
  340. claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -2
  341. claude_mpm/dashboard/static/built/components/hud-manager.js +0 -2
  342. claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -2
  343. claude_mpm/dashboard/static/built/components/module-viewer.js +0 -2
  344. claude_mpm/dashboard/static/built/components/nav-bar.js +0 -145
  345. claude_mpm/dashboard/static/built/components/page-structure.js +0 -429
  346. claude_mpm/dashboard/static/built/components/session-manager.js +0 -2
  347. claude_mpm/dashboard/static/built/components/socket-manager.js +0 -2
  348. claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -2
  349. claude_mpm/dashboard/static/built/components/unified-data-viewer.js +0 -2
  350. claude_mpm/dashboard/static/built/components/working-directory.js +0 -2
  351. claude_mpm/dashboard/static/built/connection-manager.js +0 -536
  352. claude_mpm/dashboard/static/built/dashboard.js +0 -2
  353. claude_mpm/dashboard/static/built/extension-error-handler.js +0 -164
  354. claude_mpm/dashboard/static/built/react/events.js +0 -30
  355. claude_mpm/dashboard/static/built/shared/dom-helpers.js +0 -396
  356. claude_mpm/dashboard/static/built/shared/event-bus.js +0 -330
  357. claude_mpm/dashboard/static/built/shared/event-filter-service.js +0 -540
  358. claude_mpm/dashboard/static/built/shared/logger.js +0 -385
  359. claude_mpm/dashboard/static/built/shared/page-structure.js +0 -249
  360. claude_mpm/dashboard/static/built/shared/tooltip-service.js +0 -253
  361. claude_mpm/dashboard/static/built/socket-client.js +0 -2
  362. claude_mpm/dashboard/static/built/tab-isolation-fix.js +0 -185
  363. claude_mpm/dashboard/static/dist/assets/events.DjpNxWNo.css +0 -1
  364. claude_mpm/dashboard/static/dist/components/activity-tree.js +0 -2
  365. claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -2
  366. claude_mpm/dashboard/static/dist/components/code-tree.js +0 -2
  367. claude_mpm/dashboard/static/dist/components/code-viewer.js +0 -2
  368. claude_mpm/dashboard/static/dist/components/event-processor.js +0 -2
  369. claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -2
  370. claude_mpm/dashboard/static/dist/components/export-manager.js +0 -2
  371. claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -2
  372. claude_mpm/dashboard/static/dist/components/file-viewer.js +0 -2
  373. claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -2
  374. claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -2
  375. claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -2
  376. claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -2
  377. claude_mpm/dashboard/static/dist/components/session-manager.js +0 -2
  378. claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -2
  379. claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -2
  380. claude_mpm/dashboard/static/dist/components/unified-data-viewer.js +0 -2
  381. claude_mpm/dashboard/static/dist/components/working-directory.js +0 -2
  382. claude_mpm/dashboard/static/dist/dashboard.js +0 -2
  383. claude_mpm/dashboard/static/dist/react/events.js +0 -30
  384. claude_mpm/dashboard/static/dist/socket-client.js +0 -2
  385. claude_mpm/dashboard/static/events.html +0 -607
  386. claude_mpm/dashboard/static/index.html +0 -635
  387. claude_mpm/dashboard/static/js/shared/dom-helpers.js +0 -396
  388. claude_mpm/dashboard/static/js/shared/event-bus.js +0 -330
  389. claude_mpm/dashboard/static/js/shared/logger.js +0 -385
  390. claude_mpm/dashboard/static/js/shared/tooltip-service.js +0 -253
  391. claude_mpm/dashboard/static/js/stores/dashboard-store.js +0 -562
  392. claude_mpm/dashboard/static/legacy/activity.html +0 -736
  393. claude_mpm/dashboard/static/legacy/agents.html +0 -786
  394. claude_mpm/dashboard/static/legacy/files.html +0 -747
  395. claude_mpm/dashboard/static/legacy/tools.html +0 -831
  396. claude_mpm/dashboard/static/monitors.html +0 -431
  397. claude_mpm/dashboard/static/production/events.html +0 -659
  398. claude_mpm/dashboard/static/production/main.html +0 -698
  399. claude_mpm/dashboard/static/production/monitors.html +0 -483
  400. claude_mpm/dashboard/static/test-archive/dashboard.html +0 -635
  401. claude_mpm/dashboard/static/test-archive/debug-events.html +0 -147
  402. claude_mpm/dashboard/static/test-archive/test-navigation.html +0 -256
  403. claude_mpm/dashboard/static/test-archive/test-react-exports.html +0 -180
  404. claude_mpm/dashboard/static/test-archive/test_debug.html +0 -25
  405. claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +0 -79
  406. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +0 -178
  407. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +0 -577
  408. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +0 -467
  409. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +0 -537
  410. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +0 -730
  411. claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +0 -112
  412. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +0 -146
  413. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +0 -412
  414. claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +0 -81
  415. claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +0 -362
  416. claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +0 -312
  417. claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +0 -152
  418. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +0 -668
  419. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +0 -587
  420. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +0 -438
  421. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +0 -391
  422. claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +0 -119
  423. claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +0 -148
  424. claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +0 -483
  425. claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +0 -452
  426. claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +0 -449
  427. claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +0 -411
  428. claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +0 -14
  429. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +0 -58
  430. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +0 -68
  431. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +0 -69
  432. claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +0 -131
  433. claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +0 -325
  434. claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +0 -490
  435. claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +0 -425
  436. claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +0 -499
  437. claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +0 -86
  438. claude_mpm/skills/bundled/main/internal-comms/SKILL.md +0 -43
  439. claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +0 -47
  440. claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +0 -65
  441. claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +0 -30
  442. claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +0 -16
  443. claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +0 -160
  444. claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +0 -412
  445. claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +0 -602
  446. claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +0 -915
  447. claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +0 -916
  448. claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +0 -752
  449. claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +0 -1237
  450. claude_mpm/skills/bundled/main/skill-creator/SKILL.md +0 -189
  451. claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +0 -500
  452. claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +0 -464
  453. claude_mpm/skills/bundled/main/skill-creator/references/examples.md +0 -619
  454. claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +0 -437
  455. claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +0 -231
  456. claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +0 -170
  457. claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +0 -602
  458. claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +0 -821
  459. claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +0 -742
  460. claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +0 -726
  461. claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +0 -764
  462. claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +0 -831
  463. claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +0 -226
  464. claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +0 -901
  465. claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +0 -901
  466. claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +0 -775
  467. claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +0 -937
  468. claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +0 -770
  469. claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +0 -961
  470. claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +0 -119
  471. claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +0 -253
  472. claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +0 -145
  473. claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +0 -543
  474. claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +0 -741
  475. claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +0 -470
  476. claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +0 -458
  477. claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +0 -639
  478. claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +0 -140
  479. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +0 -572
  480. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +0 -411
  481. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +0 -569
  482. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +0 -695
  483. claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +0 -184
  484. claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +0 -459
  485. claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +0 -479
  486. claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +0 -687
  487. claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +0 -758
  488. claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +0 -868
  489. claude_mpm/tools/code_tree_analyzer.py +0 -1825
  490. /claude_mpm/agents/templates/{git_file_tracking.md → git-file-tracking.md} +0 -0
  491. /claude_mpm/agents/templates/{pm_examples.md → pm-examples.md} +0 -0
  492. /claude_mpm/agents/templates/{response_format.md → response-format.md} +0 -0
  493. /claude_mpm/agents/templates/{validation_templates.md → validation-templates.md} +0 -0
  494. {claude_mpm-4.21.0.dist-info → claude_mpm-5.0.2.dist-info}/WHEEL +0 -0
  495. {claude_mpm-4.21.0.dist-info → claude_mpm-5.0.2.dist-info}/entry_points.txt +0 -0
  496. {claude_mpm-4.21.0.dist-info → claude_mpm-5.0.2.dist-info}/licenses/LICENSE +0 -0
  497. {claude_mpm-4.21.0.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