claude-mpm 4.20.3__py3-none-any.whl → 4.25.10__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of claude-mpm might be problematic. Click here for more details.

Files changed (454) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/agents/BASE_PM.md +23 -6
  3. claude_mpm/agents/OUTPUT_STYLE.md +3 -48
  4. claude_mpm/agents/PM_INSTRUCTIONS.md +1783 -34
  5. claude_mpm/agents/WORKFLOW.md +75 -2
  6. claude_mpm/agents/base_agent.json +6 -3
  7. claude_mpm/agents/frontmatter_validator.py +1 -1
  8. claude_mpm/agents/templates/api_qa.json +5 -2
  9. claude_mpm/agents/templates/circuit_breakers.md +108 -2
  10. claude_mpm/agents/templates/documentation.json +33 -6
  11. claude_mpm/agents/templates/javascript_engineer_agent.json +380 -0
  12. claude_mpm/agents/templates/php-engineer.json +10 -4
  13. claude_mpm/agents/templates/pm_red_flags.md +89 -19
  14. claude_mpm/agents/templates/project_organizer.json +7 -3
  15. claude_mpm/agents/templates/qa.json +2 -1
  16. claude_mpm/agents/templates/react_engineer.json +1 -0
  17. claude_mpm/agents/templates/research.json +82 -12
  18. claude_mpm/agents/templates/security.json +4 -4
  19. claude_mpm/agents/templates/tauri_engineer.json +274 -0
  20. claude_mpm/agents/templates/ticketing.json +10 -6
  21. claude_mpm/agents/templates/version_control.json +4 -2
  22. claude_mpm/agents/templates/web_qa.json +2 -1
  23. claude_mpm/cli/README.md +253 -0
  24. claude_mpm/cli/__init__.py +11 -1
  25. claude_mpm/cli/commands/aggregate.py +1 -1
  26. claude_mpm/cli/commands/analyze.py +3 -3
  27. claude_mpm/cli/commands/cleanup.py +1 -1
  28. claude_mpm/cli/commands/configure_agent_display.py +4 -4
  29. claude_mpm/cli/commands/debug.py +12 -12
  30. claude_mpm/cli/commands/hook_errors.py +277 -0
  31. claude_mpm/cli/commands/mcp_install_commands.py +1 -1
  32. claude_mpm/cli/commands/mcp_install_commands.py.backup +284 -0
  33. claude_mpm/cli/commands/mpm_init/README.md +365 -0
  34. claude_mpm/cli/commands/mpm_init/__init__.py +73 -0
  35. claude_mpm/cli/commands/mpm_init/core.py +573 -0
  36. claude_mpm/cli/commands/mpm_init/display.py +341 -0
  37. claude_mpm/cli/commands/mpm_init/git_activity.py +427 -0
  38. claude_mpm/cli/commands/mpm_init/modes.py +397 -0
  39. claude_mpm/cli/commands/mpm_init/prompts.py +442 -0
  40. claude_mpm/cli/commands/mpm_init_cli.py +396 -0
  41. claude_mpm/cli/commands/mpm_init_handler.py +67 -1
  42. claude_mpm/cli/commands/run.py +124 -128
  43. claude_mpm/cli/commands/skills.py +522 -34
  44. claude_mpm/cli/executor.py +56 -0
  45. claude_mpm/cli/interactive/agent_wizard.py +5 -5
  46. claude_mpm/cli/parsers/base_parser.py +28 -0
  47. claude_mpm/cli/parsers/mpm_init_parser.py +42 -0
  48. claude_mpm/cli/parsers/skills_parser.py +138 -0
  49. claude_mpm/cli/startup.py +111 -8
  50. claude_mpm/cli/startup_display.py +480 -0
  51. claude_mpm/cli/utils.py +1 -1
  52. claude_mpm/cli_module/commands.py +1 -1
  53. claude_mpm/cli_module/refactoring_guide.md +253 -0
  54. claude_mpm/commands/mpm-help.md +3 -0
  55. claude_mpm/commands/mpm-init.md +19 -3
  56. claude_mpm/commands/mpm-resume.md +372 -0
  57. claude_mpm/commands/mpm-tickets.md +56 -7
  58. claude_mpm/commands/mpm.md +1 -0
  59. claude_mpm/config/agent_capabilities.yaml +658 -0
  60. claude_mpm/config/async_logging_config.yaml +145 -0
  61. claude_mpm/constants.py +12 -0
  62. claude_mpm/core/.claude-mpm/logs/hooks_20250730.log +34 -0
  63. claude_mpm/core/api_validator.py +1 -1
  64. claude_mpm/core/claude_runner.py +14 -1
  65. claude_mpm/core/config.py +8 -0
  66. claude_mpm/core/constants.py +1 -1
  67. claude_mpm/core/framework/processors/metadata_processor.py +1 -1
  68. claude_mpm/core/hook_error_memory.py +381 -0
  69. claude_mpm/core/hook_manager.py +41 -2
  70. claude_mpm/core/interactive_session.py +48 -3
  71. claude_mpm/core/interfaces.py +56 -1
  72. claude_mpm/core/logger.py +3 -1
  73. claude_mpm/core/oneshot_session.py +39 -0
  74. claude_mpm/d2/.gitignore +22 -0
  75. claude_mpm/d2/ARCHITECTURE_COMPARISON.md +273 -0
  76. claude_mpm/d2/FLASK_INTEGRATION.md +156 -0
  77. claude_mpm/d2/IMPLEMENTATION_SUMMARY.md +452 -0
  78. claude_mpm/d2/QUICKSTART.md +186 -0
  79. claude_mpm/d2/README.md +232 -0
  80. claude_mpm/d2/STORE_FIX_SUMMARY.md +167 -0
  81. claude_mpm/d2/SVELTE5_STORES_GUIDE.md +180 -0
  82. claude_mpm/d2/TESTING.md +288 -0
  83. claude_mpm/d2/index.html +118 -0
  84. claude_mpm/d2/package.json +19 -0
  85. claude_mpm/d2/src/App.svelte +110 -0
  86. claude_mpm/d2/src/components/Header.svelte +153 -0
  87. claude_mpm/d2/src/components/MainContent.svelte +74 -0
  88. claude_mpm/d2/src/components/Sidebar.svelte +85 -0
  89. claude_mpm/d2/src/components/tabs/EventsTab.svelte +326 -0
  90. claude_mpm/d2/src/lib/socketio.js +144 -0
  91. claude_mpm/d2/src/main.js +7 -0
  92. claude_mpm/d2/src/stores/events.js +114 -0
  93. claude_mpm/d2/src/stores/socket.js +108 -0
  94. claude_mpm/d2/src/stores/theme.js +65 -0
  95. claude_mpm/d2/svelte.config.js +12 -0
  96. claude_mpm/d2/vite.config.js +15 -0
  97. claude_mpm/dashboard/.claude-mpm/memories/README.md +36 -0
  98. claude_mpm/dashboard/BUILD_NUMBER +1 -0
  99. claude_mpm/dashboard/README.md +121 -0
  100. claude_mpm/dashboard/VERSION +1 -0
  101. claude_mpm/dashboard/react/components/DataInspector/DataInspector.tsx +273 -0
  102. claude_mpm/dashboard/react/components/ErrorBoundary.tsx +75 -0
  103. claude_mpm/dashboard/react/components/EventViewer/EventViewer.tsx +141 -0
  104. claude_mpm/dashboard/react/components/shared/ConnectionStatus.tsx +36 -0
  105. claude_mpm/dashboard/react/components/shared/FilterBar.tsx +89 -0
  106. claude_mpm/dashboard/react/contexts/DashboardContext.tsx +215 -0
  107. claude_mpm/dashboard/react/entries/events.tsx +165 -0
  108. claude_mpm/dashboard/react/hooks/useEvents.ts +191 -0
  109. claude_mpm/dashboard/react/hooks/useSocket.ts +225 -0
  110. claude_mpm/dashboard/static/built/REFACTORING_SUMMARY.md +170 -0
  111. claude_mpm/dashboard/static/built/components/activity-tree.js.map +1 -0
  112. claude_mpm/dashboard/static/built/components/agent-hierarchy.js +101 -101
  113. claude_mpm/dashboard/static/built/components/agent-inference.js.map +1 -0
  114. claude_mpm/dashboard/static/built/components/build-tracker.js +59 -59
  115. claude_mpm/dashboard/static/built/components/code-simple.js +107 -107
  116. claude_mpm/dashboard/static/built/components/code-tree/tree-breadcrumb.js +29 -29
  117. claude_mpm/dashboard/static/built/components/code-tree/tree-constants.js +24 -24
  118. claude_mpm/dashboard/static/built/components/code-tree/tree-search.js +27 -27
  119. claude_mpm/dashboard/static/built/components/code-tree/tree-utils.js +25 -25
  120. claude_mpm/dashboard/static/built/components/code-tree.js.map +1 -0
  121. claude_mpm/dashboard/static/built/components/code-viewer.js.map +1 -0
  122. claude_mpm/dashboard/static/built/components/connection-debug.js +101 -101
  123. claude_mpm/dashboard/static/built/components/diff-viewer.js +113 -113
  124. claude_mpm/dashboard/static/built/components/event-processor.js.map +1 -0
  125. claude_mpm/dashboard/static/built/components/event-viewer.js.map +1 -0
  126. claude_mpm/dashboard/static/built/components/export-manager.js.map +1 -0
  127. claude_mpm/dashboard/static/built/components/file-change-tracker.js +57 -57
  128. claude_mpm/dashboard/static/built/components/file-change-viewer.js +74 -74
  129. claude_mpm/dashboard/static/built/components/file-tool-tracker.js.map +1 -0
  130. claude_mpm/dashboard/static/built/components/file-viewer.js.map +1 -0
  131. claude_mpm/dashboard/static/built/components/hud-library-loader.js.map +1 -0
  132. claude_mpm/dashboard/static/built/components/hud-manager.js.map +1 -0
  133. claude_mpm/dashboard/static/built/components/hud-visualizer.js.map +1 -0
  134. claude_mpm/dashboard/static/built/components/module-viewer.js.map +1 -0
  135. claude_mpm/dashboard/static/built/components/session-manager.js.map +1 -0
  136. claude_mpm/dashboard/static/built/components/socket-manager.js.map +1 -0
  137. claude_mpm/dashboard/static/built/components/ui-state-manager.js.map +1 -0
  138. claude_mpm/dashboard/static/built/components/unified-data-viewer.js.map +1 -0
  139. claude_mpm/dashboard/static/built/components/working-directory.js.map +1 -0
  140. claude_mpm/dashboard/static/built/connection-manager.js +76 -76
  141. claude_mpm/dashboard/static/built/dashboard.js.map +1 -0
  142. claude_mpm/dashboard/static/built/extension-error-handler.js +22 -22
  143. claude_mpm/dashboard/static/built/react/events.js.map +1 -0
  144. claude_mpm/dashboard/static/built/shared/dom-helpers.js +9 -9
  145. claude_mpm/dashboard/static/built/shared/event-bus.js +5 -5
  146. claude_mpm/dashboard/static/built/shared/logger.js +16 -16
  147. claude_mpm/dashboard/static/built/shared/tooltip-service.js +6 -6
  148. claude_mpm/dashboard/static/built/socket-client.js.map +1 -0
  149. claude_mpm/dashboard/static/css/activity.css +69 -69
  150. claude_mpm/dashboard/static/css/connection-status.css +10 -10
  151. claude_mpm/dashboard/static/css/dashboard.css +15 -15
  152. claude_mpm/dashboard/static/index.html +22 -22
  153. claude_mpm/dashboard/static/js/REFACTORING_SUMMARY.md +170 -0
  154. claude_mpm/dashboard/static/js/components/activity-tree.js +178 -178
  155. claude_mpm/dashboard/static/js/components/agent-hierarchy.js +101 -101
  156. claude_mpm/dashboard/static/js/components/agent-inference.js +31 -31
  157. claude_mpm/dashboard/static/js/components/build-tracker.js +59 -59
  158. claude_mpm/dashboard/static/js/components/code-simple.js +107 -107
  159. claude_mpm/dashboard/static/js/components/connection-debug.js +101 -101
  160. claude_mpm/dashboard/static/js/components/diff-viewer.js +113 -113
  161. claude_mpm/dashboard/static/js/components/event-viewer.js +12 -12
  162. claude_mpm/dashboard/static/js/components/file-change-tracker.js +57 -57
  163. claude_mpm/dashboard/static/js/components/file-change-viewer.js +74 -74
  164. claude_mpm/dashboard/static/js/components/file-tool-tracker.js +6 -6
  165. claude_mpm/dashboard/static/js/components/file-viewer.js +42 -42
  166. claude_mpm/dashboard/static/js/components/module-viewer.js +27 -27
  167. claude_mpm/dashboard/static/js/components/session-manager.js +14 -14
  168. claude_mpm/dashboard/static/js/components/socket-manager.js +1 -1
  169. claude_mpm/dashboard/static/js/components/ui-state-manager.js +14 -14
  170. claude_mpm/dashboard/static/js/components/unified-data-viewer.js +110 -110
  171. claude_mpm/dashboard/static/js/components/working-directory.js +8 -8
  172. claude_mpm/dashboard/static/js/connection-manager.js +76 -76
  173. claude_mpm/dashboard/static/js/dashboard.js +76 -58
  174. claude_mpm/dashboard/static/js/extension-error-handler.js +22 -22
  175. claude_mpm/dashboard/static/js/shared/dom-helpers.js +9 -9
  176. claude_mpm/dashboard/static/js/shared/event-bus.js +5 -5
  177. claude_mpm/dashboard/static/js/shared/logger.js +16 -16
  178. claude_mpm/dashboard/static/js/shared/tooltip-service.js +6 -6
  179. claude_mpm/dashboard/static/js/socket-client.js +138 -121
  180. claude_mpm/dashboard/static/navigation-test-results.md +118 -0
  181. claude_mpm/dashboard/static/production/main.html +21 -21
  182. claude_mpm/dashboard/static/test-archive/dashboard.html +22 -22
  183. claude_mpm/dashboard/templates/.claude-mpm/memories/README.md +36 -0
  184. claude_mpm/dashboard/templates/.claude-mpm/memories/engineer_agent.md +39 -0
  185. claude_mpm/dashboard/templates/.claude-mpm/memories/version_control_agent.md +38 -0
  186. claude_mpm/dashboard/templates/code_simple.html +23 -23
  187. claude_mpm/dashboard/templates/index.html +18 -18
  188. claude_mpm/hooks/README.md +143 -0
  189. claude_mpm/hooks/claude_hooks/event_handlers.py +3 -1
  190. claude_mpm/hooks/claude_hooks/hook_handler.py +24 -7
  191. claude_mpm/hooks/claude_hooks/installer.py +45 -0
  192. claude_mpm/hooks/templates/README.md +180 -0
  193. claude_mpm/hooks/templates/pre_tool_use_simple.py +78 -0
  194. claude_mpm/hooks/templates/pre_tool_use_template.py +323 -0
  195. claude_mpm/hooks/templates/settings.json.example +147 -0
  196. claude_mpm/schemas/agent_schema.json +596 -0
  197. claude_mpm/schemas/frontmatter_schema.json +165 -0
  198. claude_mpm/scripts/claude-hook-handler.sh +3 -3
  199. claude_mpm/scripts/start_activity_logging.py +3 -1
  200. claude_mpm/services/agents/deployment/agent_format_converter.py +1 -1
  201. claude_mpm/services/agents/deployment/agent_metrics_collector.py +3 -3
  202. claude_mpm/services/agents/deployment/facade/deployment_facade.py +3 -3
  203. claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +2 -2
  204. claude_mpm/services/agents/loading/framework_agent_loader.py +8 -8
  205. claude_mpm/services/agents/local_template_manager.py +3 -1
  206. claude_mpm/services/cli/session_pause_manager.py +504 -0
  207. claude_mpm/services/cli/session_resume_helper.py +36 -16
  208. claude_mpm/services/cli/unified_dashboard_manager.py +1 -1
  209. claude_mpm/services/core/base.py +26 -11
  210. claude_mpm/services/core/interfaces.py +56 -1
  211. claude_mpm/services/core/models/agent_config.py +3 -0
  212. claude_mpm/services/core/models/process.py +4 -0
  213. claude_mpm/services/diagnostics/checks/agent_check.py +0 -2
  214. claude_mpm/services/diagnostics/checks/instructions_check.py +1 -2
  215. claude_mpm/services/diagnostics/checks/mcp_check.py +0 -1
  216. claude_mpm/services/diagnostics/checks/monitor_check.py +0 -1
  217. claude_mpm/services/diagnostics/doctor_reporter.py +6 -4
  218. claude_mpm/services/diagnostics/models.py +21 -0
  219. claude_mpm/services/event_bus/README.md +244 -0
  220. claude_mpm/services/event_bus/direct_relay.py +3 -3
  221. claude_mpm/services/event_bus/event_bus.py +36 -3
  222. claude_mpm/services/event_bus/relay.py +23 -7
  223. claude_mpm/services/events/README.md +303 -0
  224. claude_mpm/services/events/consumers/logging.py +1 -2
  225. claude_mpm/services/framework_claude_md_generator/README.md +119 -0
  226. claude_mpm/services/infrastructure/monitoring/resources.py +1 -1
  227. claude_mpm/services/local_ops/__init__.py +2 -0
  228. claude_mpm/services/local_ops/process_manager.py +1 -1
  229. claude_mpm/services/local_ops/resource_monitor.py +2 -2
  230. claude_mpm/services/mcp_gateway/README.md +185 -0
  231. claude_mpm/services/mcp_gateway/auto_configure.py +31 -25
  232. claude_mpm/services/mcp_gateway/config/configuration.py +1 -1
  233. claude_mpm/services/mcp_gateway/core/process_pool.py +19 -10
  234. claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -2
  235. claude_mpm/services/mcp_gateway/tools/document_summarizer.py +1 -1
  236. claude_mpm/services/mcp_gateway/tools/external_mcp_services.py +26 -21
  237. claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +6 -2
  238. claude_mpm/services/memory/failure_tracker.py +19 -4
  239. claude_mpm/services/memory/optimizer.py +1 -1
  240. claude_mpm/services/model/model_router.py +8 -9
  241. claude_mpm/services/monitor/daemon.py +1 -1
  242. claude_mpm/services/monitor/server.py +2 -2
  243. claude_mpm/services/native_agent_converter.py +356 -0
  244. claude_mpm/services/port_manager.py +1 -1
  245. claude_mpm/services/project/documentation_manager.py +2 -1
  246. claude_mpm/services/project/toolchain_analyzer.py +3 -1
  247. claude_mpm/services/runner_configuration_service.py +1 -0
  248. claude_mpm/services/self_upgrade_service.py +165 -7
  249. claude_mpm/services/skills_config.py +547 -0
  250. claude_mpm/services/skills_deployer.py +955 -0
  251. claude_mpm/services/socketio/handlers/connection.py +1 -1
  252. claude_mpm/services/socketio/handlers/connection.py.backup +217 -0
  253. claude_mpm/services/socketio/handlers/git.py +2 -2
  254. claude_mpm/services/socketio/handlers/hook.py.backup +154 -0
  255. claude_mpm/services/static/.gitkeep +2 -0
  256. claude_mpm/services/system_instructions_service.py +1 -3
  257. claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +0 -3
  258. claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +0 -1
  259. claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +1 -1
  260. claude_mpm/services/version_control/VERSION +1 -0
  261. claude_mpm/services/version_control/conflict_resolution.py +6 -4
  262. claude_mpm/services/visualization/mermaid_generator.py +2 -3
  263. claude_mpm/skills/__init__.py +3 -3
  264. claude_mpm/skills/agent_skills_injector.py +42 -49
  265. claude_mpm/skills/bundled/.gitkeep +2 -0
  266. claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +4 -0
  267. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +108 -114
  268. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +577 -0
  269. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +467 -0
  270. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +537 -0
  271. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +730 -0
  272. claude_mpm/skills/bundled/collaboration/git-worktrees.md +317 -0
  273. claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +46 -41
  274. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +412 -0
  275. claude_mpm/skills/bundled/collaboration/stacked-prs.md +251 -0
  276. claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +36 -73
  277. claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +362 -0
  278. claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +312 -0
  279. claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +100 -125
  280. claude_mpm/skills/bundled/debugging/root-cause-tracing/find-polluter.sh +63 -0
  281. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +668 -0
  282. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +587 -0
  283. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +438 -0
  284. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +391 -0
  285. claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +28 -72
  286. claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +11 -0
  287. claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +490 -0
  288. claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +425 -0
  289. claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +272 -0
  290. claude_mpm/skills/bundled/infrastructure/env-manager/INTEGRATION.md +611 -0
  291. claude_mpm/skills/bundled/infrastructure/env-manager/README.md +596 -0
  292. claude_mpm/skills/bundled/infrastructure/env-manager/SKILL.md +260 -0
  293. claude_mpm/skills/bundled/infrastructure/env-manager/examples/nextjs-env-structure.md +315 -0
  294. claude_mpm/skills/bundled/infrastructure/env-manager/references/frameworks.md +436 -0
  295. claude_mpm/skills/bundled/infrastructure/env-manager/references/security.md +433 -0
  296. claude_mpm/skills/bundled/infrastructure/env-manager/references/synchronization.md +452 -0
  297. claude_mpm/skills/bundled/infrastructure/env-manager/references/troubleshooting.md +404 -0
  298. claude_mpm/skills/bundled/infrastructure/env-manager/references/validation.md +420 -0
  299. claude_mpm/skills/bundled/infrastructure/env-manager/scripts/validate_env.py +576 -0
  300. claude_mpm/skills/bundled/main/artifacts-builder/LICENSE.txt +202 -0
  301. claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +13 -1
  302. claude_mpm/skills/bundled/main/artifacts-builder/scripts/bundle-artifact.sh +54 -0
  303. claude_mpm/skills/bundled/main/artifacts-builder/scripts/init-artifact.sh +322 -0
  304. claude_mpm/skills/bundled/main/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  305. claude_mpm/skills/bundled/main/internal-comms/LICENSE.txt +202 -0
  306. claude_mpm/skills/bundled/main/internal-comms/SKILL.md +11 -0
  307. claude_mpm/skills/bundled/main/mcp-builder/LICENSE.txt +202 -0
  308. claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +109 -277
  309. claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +412 -0
  310. claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +1237 -0
  311. claude_mpm/skills/bundled/main/mcp-builder/scripts/connections.py +17 -10
  312. claude_mpm/skills/bundled/main/mcp-builder/scripts/evaluation.py +92 -39
  313. claude_mpm/skills/bundled/main/mcp-builder/scripts/example_evaluation.xml +22 -0
  314. claude_mpm/skills/bundled/main/mcp-builder/scripts/requirements.txt +2 -0
  315. claude_mpm/skills/bundled/main/skill-creator/LICENSE.txt +202 -0
  316. claude_mpm/skills/bundled/main/skill-creator/SKILL.md +135 -155
  317. claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +500 -0
  318. claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +464 -0
  319. claude_mpm/skills/bundled/main/skill-creator/references/examples.md +619 -0
  320. claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +437 -0
  321. claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +231 -0
  322. claude_mpm/skills/bundled/main/skill-creator/scripts/init_skill.py +13 -12
  323. claude_mpm/skills/bundled/main/skill-creator/scripts/package_skill.py +5 -3
  324. claude_mpm/skills/bundled/main/skill-creator/scripts/quick_validate.py +19 -12
  325. claude_mpm/skills/bundled/performance-profiling.md +6 -0
  326. claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +170 -0
  327. claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +602 -0
  328. claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +821 -0
  329. claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +742 -0
  330. claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +726 -0
  331. claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +764 -0
  332. claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +831 -0
  333. claude_mpm/skills/bundled/react/flexlayout-react.md +742 -0
  334. claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +226 -0
  335. claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +901 -0
  336. claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +901 -0
  337. claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +775 -0
  338. claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +937 -0
  339. claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +770 -0
  340. claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +961 -0
  341. claude_mpm/skills/bundled/tauri/tauri-async-patterns.md +495 -0
  342. claude_mpm/skills/bundled/tauri/tauri-build-deploy.md +599 -0
  343. claude_mpm/skills/bundled/tauri/tauri-command-patterns.md +535 -0
  344. claude_mpm/skills/bundled/tauri/tauri-error-handling.md +613 -0
  345. claude_mpm/skills/bundled/tauri/tauri-event-system.md +648 -0
  346. claude_mpm/skills/bundled/tauri/tauri-file-system.md +673 -0
  347. claude_mpm/skills/bundled/tauri/tauri-frontend-integration.md +767 -0
  348. claude_mpm/skills/bundled/tauri/tauri-performance.md +669 -0
  349. claude_mpm/skills/bundled/tauri/tauri-state-management.md +573 -0
  350. claude_mpm/skills/bundled/tauri/tauri-testing.md +384 -0
  351. claude_mpm/skills/bundled/tauri/tauri-window-management.md +628 -0
  352. claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +21 -25
  353. claude_mpm/skills/bundled/testing/condition-based-waiting/example.ts +158 -0
  354. claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +253 -0
  355. claude_mpm/skills/bundled/testing/test-quality-inspector/SKILL.md +458 -0
  356. claude_mpm/skills/bundled/testing/test-quality-inspector/examples/example-inspection-report.md +411 -0
  357. claude_mpm/skills/bundled/testing/test-quality-inspector/references/assertion-quality.md +317 -0
  358. claude_mpm/skills/bundled/testing/test-quality-inspector/references/inspection-checklist.md +270 -0
  359. claude_mpm/skills/bundled/testing/test-quality-inspector/references/red-flags.md +436 -0
  360. claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +86 -250
  361. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +572 -0
  362. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +411 -0
  363. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +569 -0
  364. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +695 -0
  365. claude_mpm/skills/bundled/testing/webapp-testing/LICENSE.txt +202 -0
  366. claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +145 -57
  367. claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +459 -0
  368. claude_mpm/skills/bundled/testing/webapp-testing/examples/console_logging.py +6 -6
  369. claude_mpm/skills/bundled/testing/webapp-testing/examples/element_discovery.py +13 -9
  370. claude_mpm/skills/bundled/testing/webapp-testing/examples/static_html_automation.py +8 -8
  371. claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +479 -0
  372. claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +687 -0
  373. claude_mpm/skills/bundled/testing/webapp-testing/scripts/with_server.py +37 -15
  374. claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +758 -0
  375. claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +868 -0
  376. claude_mpm/skills/skills_registry.py +44 -48
  377. claude_mpm/skills/skills_service.py +117 -108
  378. claude_mpm/templates/questions/EXAMPLES.md +501 -0
  379. claude_mpm/templates/questions/__init__.py +43 -0
  380. claude_mpm/templates/questions/base.py +193 -0
  381. claude_mpm/templates/questions/pr_strategy.py +314 -0
  382. claude_mpm/templates/questions/project_init.py +388 -0
  383. claude_mpm/templates/questions/ticket_mgmt.py +397 -0
  384. claude_mpm/tools/README_SOCKETIO_DEBUG.md +224 -0
  385. claude_mpm/tools/__main__.py +8 -8
  386. claude_mpm/tools/code_tree_analyzer/README.md +64 -0
  387. claude_mpm/tools/code_tree_analyzer/__init__.py +45 -0
  388. claude_mpm/tools/code_tree_analyzer/analysis.py +299 -0
  389. claude_mpm/tools/code_tree_analyzer/cache.py +131 -0
  390. claude_mpm/tools/code_tree_analyzer/core.py +380 -0
  391. claude_mpm/tools/code_tree_analyzer/discovery.py +403 -0
  392. claude_mpm/tools/code_tree_analyzer/events.py +168 -0
  393. claude_mpm/tools/code_tree_analyzer/gitignore.py +308 -0
  394. claude_mpm/tools/code_tree_analyzer/models.py +39 -0
  395. claude_mpm/tools/code_tree_analyzer/multilang_analyzer.py +224 -0
  396. claude_mpm/tools/code_tree_analyzer/python_analyzer.py +284 -0
  397. claude_mpm/utils/agent_dependency_loader.py +3 -3
  398. claude_mpm/utils/dependency_cache.py +3 -1
  399. claude_mpm/utils/gitignore.py +241 -0
  400. claude_mpm/utils/log_cleanup.py +3 -3
  401. claude_mpm/utils/robust_installer.py +3 -5
  402. claude_mpm/utils/structured_questions.py +619 -0
  403. {claude_mpm-4.20.3.dist-info → claude_mpm-4.25.10.dist-info}/METADATA +218 -31
  404. {claude_mpm-4.20.3.dist-info → claude_mpm-4.25.10.dist-info}/RECORD +409 -246
  405. claude_mpm/agents/templates/.claude-mpm/memories/README.md +0 -17
  406. claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md +0 -3
  407. claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md +0 -39
  408. claude_mpm/agents/templates/logs/prompts/agent_engineer_20250901_010124_142.md +0 -400
  409. claude_mpm/cli/commands/mpm_init.py +0 -2093
  410. claude_mpm/dashboard/.claude-mpm/socketio-instances.json +0 -1
  411. claude_mpm/dashboard/static/archive/activity_dashboard_test.html +0 -61
  412. claude_mpm/dashboard/static/archive/test_activity_connection.html +0 -179
  413. claude_mpm/dashboard/static/archive/test_claude_tree_tab.html +0 -68
  414. claude_mpm/dashboard/static/archive/test_dashboard.html +0 -409
  415. claude_mpm/dashboard/static/archive/test_dashboard_fixed.html +0 -519
  416. claude_mpm/dashboard/static/archive/test_dashboard_verification.html +0 -181
  417. claude_mpm/dashboard/static/archive/test_file_data.html +0 -315
  418. claude_mpm/dashboard/static/archive/test_file_tree_empty_state.html +0 -243
  419. claude_mpm/dashboard/static/archive/test_file_tree_fix.html +0 -234
  420. claude_mpm/dashboard/static/archive/test_file_tree_rename.html +0 -117
  421. claude_mpm/dashboard/static/archive/test_file_tree_tab.html +0 -115
  422. claude_mpm/dashboard/static/archive/test_file_viewer.html +0 -224
  423. claude_mpm/dashboard/static/archive/test_final_activity.html +0 -220
  424. claude_mpm/dashboard/static/archive/test_tab_fix.html +0 -139
  425. claude_mpm/dashboard/static/dist/assets/events.DjpNxWNo.css +0 -1
  426. claude_mpm/dashboard/static/dist/components/activity-tree.js +0 -2
  427. claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -2
  428. claude_mpm/dashboard/static/dist/components/code-tree.js +0 -2
  429. claude_mpm/dashboard/static/dist/components/code-viewer.js +0 -2
  430. claude_mpm/dashboard/static/dist/components/event-processor.js +0 -2
  431. claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -2
  432. claude_mpm/dashboard/static/dist/components/export-manager.js +0 -2
  433. claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -2
  434. claude_mpm/dashboard/static/dist/components/file-viewer.js +0 -2
  435. claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -2
  436. claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -2
  437. claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -2
  438. claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -2
  439. claude_mpm/dashboard/static/dist/components/session-manager.js +0 -2
  440. claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -2
  441. claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -2
  442. claude_mpm/dashboard/static/dist/components/unified-data-viewer.js +0 -2
  443. claude_mpm/dashboard/static/dist/components/working-directory.js +0 -2
  444. claude_mpm/dashboard/static/dist/dashboard.js +0 -2
  445. claude_mpm/dashboard/static/dist/react/events.js +0 -30
  446. claude_mpm/dashboard/static/dist/socket-client.js +0 -2
  447. claude_mpm/dashboard/static/test-archive/test_debug.html +0 -25
  448. claude_mpm/skills/bundled/debugging/verification-before-completion/references/common-failures.md +0 -213
  449. claude_mpm/tools/code_tree_analyzer.py +0 -1825
  450. /claude_mpm/skills/bundled/collaboration/requesting-code-review/{code-reviewer.md → references/code-reviewer-template.md} +0 -0
  451. {claude_mpm-4.20.3.dist-info → claude_mpm-4.25.10.dist-info}/WHEEL +0 -0
  452. {claude_mpm-4.20.3.dist-info → claude_mpm-4.25.10.dist-info}/entry_points.txt +0 -0
  453. {claude_mpm-4.20.3.dist-info → claude_mpm-4.25.10.dist-info}/licenses/LICENSE +0 -0
  454. {claude_mpm-4.20.3.dist-info → claude_mpm-4.25.10.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,412 @@
1
+ # Code Review Examples
2
+
3
+ ## Complete Review Example
4
+
5
+ ### Context
6
+ Task 2 completed: Added verification and repair functions for conversation index
7
+
8
+ **Git range:** `a7981ec..3df7661`
9
+
10
+ **What was implemented:** Verification and repair functions for conversation index
11
+
12
+ **Plan reference:** Task 2 from docs/plans/deployment-plan.md
13
+
14
+ ### Good Review Output
15
+
16
+ ```markdown
17
+ ### Strengths
18
+ - Clean database schema with proper migrations (db.ts:15-42)
19
+ - Comprehensive test coverage (18 tests, all edge cases)
20
+ - Good error handling with fallbacks (summarizer.ts:85-92)
21
+ - Real integration tests, not just mocks (test-integration.ts)
22
+ - Clear separation of concerns (verification vs repair logic)
23
+
24
+ ### Issues
25
+
26
+ #### Important (Should Fix)
27
+ 1. **Missing help text in CLI wrapper**
28
+ - File: index-conversations:1-31
29
+ - Issue: No --help flag, users won't discover --concurrency
30
+ - Why it matters: Poor user experience, hidden features
31
+ - Fix: Add --help case with usage examples showing all options
32
+
33
+ 2. **Date validation missing**
34
+ - File: search.ts:25-27
35
+ - Issue: Invalid dates silently return no results
36
+ - Why it matters: Silent failures confuse users
37
+ - Fix: Validate ISO format, throw error with example format
38
+
39
+ 3. **Progress indicators missing**
40
+ - File: indexer.ts:130
41
+ - Issue: No "X of Y" counter for long operations
42
+ - Why it matters: Users don't know how long to wait
43
+ - Fix: Add `console.log(\`Processing \${i+1}/\${total}\`)` in loop
44
+
45
+ #### Minor (Nice to Have)
46
+ 1. **Magic number for reporting interval**
47
+ - File: indexer.ts:145
48
+ - Issue: Hardcoded 100 for progress reporting
49
+ - Impact: Low, but config would be cleaner
50
+ - Fix: Extract to constant `PROGRESS_INTERVAL = 100`
51
+
52
+ ### Recommendations
53
+ - Add progress reporting for better user experience
54
+ - Consider config file for excluded projects (improves portability)
55
+ - Documentation looks good, but add troubleshooting section
56
+
57
+ ### Assessment
58
+
59
+ **Ready to merge: With fixes**
60
+
61
+ **Reasoning:** Core implementation is solid with good architecture and comprehensive tests. Important issues (help text, date validation, progress indicators) are easily fixed in 10-15 minutes and don't affect core functionality. Minor issues can be addressed later.
62
+ ```
63
+
64
+ ### Acting on This Review
65
+
66
+ **Fix Important issues:**
67
+ ```bash
68
+ # Fix 1: Add help text
69
+ # Edit index-conversations, add help flag
70
+
71
+ # Fix 2: Add date validation
72
+ # Edit search.ts:25-27, add format check
73
+
74
+ # Fix 3: Add progress indicators
75
+ # Edit indexer.ts:130, add counter
76
+
77
+ # Test fixes
78
+ pytest tests/ -v
79
+
80
+ # Commit
81
+ git add .
82
+ git commit -m "fix: add help text, date validation, and progress indicators"
83
+ ```
84
+
85
+ **Continue to next task** after fixes verified.
86
+
87
+ ## Good vs Bad Review Requests
88
+
89
+ ### ❌ Bad Request: Vague
90
+
91
+ ```
92
+ Can you review my code?
93
+
94
+ BASE_SHA: abc123
95
+ HEAD_SHA: def456
96
+ ```
97
+
98
+ **Problems:**
99
+ - No context on what was implemented
100
+ - No requirements to check against
101
+ - No description of changes
102
+ - Reviewer has to reverse-engineer everything
103
+
104
+ ### ✅ Good Request: Specific
105
+
106
+ ```
107
+ Review Task 3: User Authentication Implementation
108
+
109
+ WHAT_WAS_IMPLEMENTED:
110
+ - JWT-based authentication middleware
111
+ - Login/logout endpoints
112
+ - Password hashing with bcrypt
113
+ - Session management
114
+
115
+ PLAN_OR_REQUIREMENTS:
116
+ See Task 3 in docs/plans/2025-01-15-user-auth.md
117
+ Key requirements:
118
+ - Secure password storage (bcrypt)
119
+ - JWT tokens with 24hr expiration
120
+ - Logout invalidates token
121
+ - All endpoints require auth except /login
122
+
123
+ BASE_SHA: a7981ec
124
+ HEAD_SHA: 3df7661
125
+
126
+ DESCRIPTION:
127
+ Added authentication system with JWT tokens. Implemented password hashing,
128
+ login/logout endpoints, and auth middleware. All tests passing.
129
+ ```
130
+
131
+ **Why it's good:**
132
+ - Clear context on what was built
133
+ - Specific requirements to verify
134
+ - Git range for diff
135
+ - Brief summary of changes
136
+
137
+ ## Review Workflow Examples
138
+
139
+ ### Example 1: Subagent-Driven Development (After Each Task)
140
+
141
+ ```
142
+ [Task 2 completed: Email validation]
143
+
144
+ PM: Let me request code review before proceeding.
145
+
146
+ BASE_SHA=$(git log --oneline | grep "Task 1" | head -1 | awk '{print $1}')
147
+ HEAD_SHA=$(git rev-parse HEAD)
148
+
149
+ [Dispatch code-reviewer subagent]
150
+ WHAT_WAS_IMPLEMENTED: Email validation in User model
151
+ PLAN_OR_REQUIREMENTS: Task 2 from docs/plans/user-system-plan.md
152
+ BASE_SHA: abc123
153
+ HEAD_SHA: def456
154
+ DESCRIPTION: Added validate_email() utility and integrated into User model
155
+
156
+ [Subagent returns]:
157
+ Strengths: Clean validator, good tests
158
+ Issues:
159
+ Important: Missing edge case for emails with + signs
160
+ Minor: Could extract regex to constant
161
+ Assessment: Fix + sign handling, then proceed
162
+
163
+ PM: [Fix + sign edge case]
164
+ [Add test for alice+spam@example.com]
165
+ [Verify all tests pass]
166
+ [Commit fix]
167
+
168
+ PM: Ready to proceed to Task 3
169
+ ```
170
+
171
+ ### Example 2: Before Merging Major Feature
172
+
173
+ ```
174
+ [Feature branch: user-authentication complete]
175
+
176
+ PM: Let me get a final review before merging to main.
177
+
178
+ BASE_SHA=$(git merge-base origin/main HEAD)
179
+ HEAD_SHA=$(git rev-parse HEAD)
180
+
181
+ [Dispatch code-reviewer subagent]
182
+ WHAT_WAS_IMPLEMENTED: Complete user authentication system
183
+ PLAN_OR_REQUIREMENTS: docs/plans/2025-01-15-user-auth.md (all tasks)
184
+ BASE_SHA: a7981ec (merge-base with main)
185
+ HEAD_SHA: 3df7661
186
+ DESCRIPTION: Full auth system: registration, login, JWT, password hashing, session management
187
+
188
+ [Subagent returns]:
189
+ Strengths: Complete implementation, excellent test coverage, secure
190
+ Issues:
191
+ Critical: JWT secret in code, should use environment variable
192
+ Important: No rate limiting on login endpoint
193
+ Minor: Could add password strength requirements
194
+ Assessment: NOT ready to merge - fix Critical immediately
195
+
196
+ PM: [Move JWT secret to environment variable]
197
+ [Add .env.example with JWT_SECRET]
198
+ [Update config to read from env]
199
+ [Verify tests still pass]
200
+ [Commit: "fix: move JWT secret to environment variable"]
201
+
202
+ PM: Rate limiting is Important but can be separate task.
203
+ PM: Password strength can be future enhancement.
204
+
205
+ [Request review again with fix]
206
+ Issues: None
207
+ Assessment: Ready to merge
208
+
209
+ PM: [Merge to main]
210
+ ```
211
+
212
+ ### Example 3: When Stuck (Fresh Perspective)
213
+
214
+ ```
215
+ [Debugging weird test failure for 2 hours]
216
+
217
+ PM: I'm stuck. Let me get a code review for fresh eyes.
218
+
219
+ BASE_SHA=$(git rev-parse HEAD~3) # Before I started debugging
220
+ HEAD_SHA=$(git rev-parse HEAD)
221
+
222
+ [Dispatch code-reviewer subagent]
223
+ WHAT_WAS_IMPLEMENTED: Attempted fix for test_user_creation flakiness
224
+ PLAN_OR_REQUIREMENTS: Test should pass consistently
225
+ BASE_SHA: abc123
226
+ HEAD_SHA: def456
227
+ DESCRIPTION: Test fails intermittently, added logging, tried various fixes
228
+
229
+ [Subagent returns]:
230
+ Issue found: test_user_creation:15 - race condition
231
+ The test creates user and immediately queries, but database write is async
232
+ Fix: Add await or use synchronous test database
233
+
234
+ PM: Ah! That's it. The async write wasn't flushing.
235
+ [Add await db.flush() before query]
236
+ [Test passes consistently]
237
+ ```
238
+
239
+ ## Common Review Scenarios
240
+
241
+ ### Scenario: All Critical Issues
242
+
243
+ ```markdown
244
+ ### Issues
245
+
246
+ #### Critical (Must Fix)
247
+ 1. **SQL injection vulnerability**
248
+ - File: users.py:45
249
+ - Issue: Raw string interpolation in query
250
+ - Fix: Use parameterized query
251
+
252
+ 2. **Plaintext password storage**
253
+ - File: models.py:23
254
+ - Issue: Passwords stored without hashing
255
+ - Fix: Use bcrypt before saving
256
+
257
+ ### Assessment
258
+
259
+ **Ready to merge: NO**
260
+
261
+ **Reasoning:** Critical security issues must be fixed before any deployment.
262
+ ```
263
+
264
+ **Action:** Fix immediately, don't proceed.
265
+
266
+ ### Scenario: Mix of Severities
267
+
268
+ ```markdown
269
+ ### Issues
270
+
271
+ #### Important (Should Fix)
272
+ 1. **Missing error handling**
273
+ - File: api.py:67
274
+ - Issue: Network call can throw, not caught
275
+ - Fix: Wrap in try/except, return 500
276
+
277
+ #### Minor (Nice to Have)
278
+ 1. **Magic number**
279
+ - File: config.py:12
280
+ - Issue: Hardcoded timeout value
281
+ - Fix: Extract to named constant
282
+
283
+ ### Assessment
284
+
285
+ **Ready to merge: With fixes**
286
+
287
+ **Reasoning:** Error handling is important but localized fix. Magic number can be addressed later.
288
+ ```
289
+
290
+ **Action:** Fix Important, note Minor for future, proceed.
291
+
292
+ ### Scenario: Clean Implementation
293
+
294
+ ```markdown
295
+ ### Strengths
296
+ - Excellent test coverage (95%)
297
+ - Clean separation of concerns
298
+ - Good error handling throughout
299
+ - Well-documented edge cases
300
+
301
+ ### Issues
302
+
303
+ #### Minor (Nice to Have)
304
+ 1. **Could add type hints**
305
+ - File: helpers.py
306
+ - Impact: Very low, code is clear
307
+ - Fix: Add -> str type hints
308
+
309
+ ### Recommendations
310
+ - Consider adding performance tests for large datasets
311
+ - Documentation is great, maybe add architecture diagram
312
+
313
+ ### Assessment
314
+
315
+ **Ready to merge: YES**
316
+
317
+ **Reasoning:** Implementation is production-ready. Minor improvements can be separate tasks.
318
+ ```
319
+
320
+ **Action:** Merge, create tickets for nice-to-haves.
321
+
322
+ ## Severity Guidelines
323
+
324
+ ### Critical (Must Fix)
325
+ - Security vulnerabilities
326
+ - Data loss risks
327
+ - Broken core functionality
328
+ - Production crashes
329
+ - Memory leaks
330
+
331
+ **Action:** Stop everything, fix immediately, re-review.
332
+
333
+ ### Important (Should Fix)
334
+ - Missing features from requirements
335
+ - Poor error handling
336
+ - Architectural issues
337
+ - Test coverage gaps
338
+ - Performance problems
339
+
340
+ **Action:** Fix before proceeding to next major task.
341
+
342
+ ### Minor (Nice to Have)
343
+ - Code style inconsistencies
344
+ - Optimization opportunities
345
+ - Documentation improvements
346
+ - Magic numbers
347
+ - Variable naming
348
+
349
+ **Action:** Note for later, proceed if time-constrained.
350
+
351
+ ## Pushing Back on Reviews
352
+
353
+ Sometimes reviewers are wrong. Push back with **technical reasoning**:
354
+
355
+ ### Example: Reviewer Wrong About Performance
356
+
357
+ ```
358
+ Reviewer: "This loop is inefficient, use map() instead"
359
+
360
+ Your response:
361
+ "I tested both approaches with 10k items:
362
+ - Current loop: 45ms
363
+ - Map approach: 43ms (2ms faster)
364
+
365
+ The readability gain of explicit loop outweighs 2ms difference.
366
+ Performance requirement is <100ms, we're at 45ms.
367
+ Keeping current implementation."
368
+ ```
369
+
370
+ ### Example: Reviewer Misunderstood Requirements
371
+
372
+ ```
373
+ Reviewer: "Missing validation for phone numbers"
374
+
375
+ Your response:
376
+ "Plan requirement (docs/plans/user-plan.md:45):
377
+ 'Phone number is optional and will be validated in Phase 2'
378
+
379
+ Current task only requires email validation.
380
+ Phone validation is tracked in Task 7."
381
+ ```
382
+
383
+ ### Example: Reviewer Right, You Missed Something
384
+
385
+ ```
386
+ Reviewer: "No test for empty email"
387
+
388
+ Your response:
389
+ "You're right, I missed that edge case.
390
+ Adding test now:
391
+
392
+ def test_create_user_empty_email():
393
+ with pytest.raises(ValueError, match="Email required"):
394
+ create_user("alice", "")
395
+
396
+ Fixed and committed."
397
+ ```
398
+
399
+ ## Red Flags in Your Own Code
400
+
401
+ Before requesting review, self-check:
402
+
403
+ - [ ] All tests passing locally
404
+ - [ ] No commented-out code
405
+ - [ ] No debug print statements
406
+ - [ ] No hardcoded secrets or credentials
407
+ - [ ] All requirements from plan implemented
408
+ - [ ] Error handling in place
409
+ - [ ] Edge cases tested
410
+ - [ ] Commit messages clear
411
+
412
+ If any ❌, fix before requesting review.
@@ -0,0 +1,251 @@
1
+ ---
2
+ skill_id: stacked-prs
3
+ skill_version: 1.0.0
4
+ description: Create and manage stacked (dependent) pull requests for complex features
5
+ tags: [git, pull-requests, branching, workflow, collaboration]
6
+ related_agents: [version-control]
7
+ ---
8
+
9
+ # Stacked Pull Requests
10
+
11
+ ## Overview
12
+
13
+ Stacked PRs are dependent pull requests where each PR builds on the previous one. Use this pattern for complex features that need logical separation and parallel review.
14
+
15
+ ## When to Use
16
+
17
+ ### ✅ Use Stacked PRs When:
18
+ - User explicitly requests "stacked PRs" or "dependent PRs"
19
+ - Large feature needs to be split into logical phases
20
+ - Each phase has clear dependencies on previous phases
21
+ - User is comfortable with rebase workflows
22
+
23
+ ### ❌ Use Main-Based PRs When (Default):
24
+ - Features are independent
25
+ - Simple bug fixes or enhancements
26
+ - Multiple agents working in parallel
27
+ - User doesn't specify preference
28
+
29
+ **DEFAULT: Always prefer main-based PRs unless user explicitly requests stacking.**
30
+
31
+ ## Branch Naming Convention
32
+
33
+ Use sequential numbering to show dependencies:
34
+
35
+ ```bash
36
+ feature/001-base-authentication # PR-001 (base)
37
+ feature/002-user-profile # PR-002 (depends on 001)
38
+ feature/003-admin-panel # PR-003 (depends on 002)
39
+ ```
40
+
41
+ Alternative patterns:
42
+ ```bash
43
+ auth/01-foundation
44
+ auth/02-user-flow
45
+ auth/03-admin-features
46
+ ```
47
+
48
+ ## Creating Stacked PRs
49
+
50
+ ### Step 1: Create Base PR (PR-001)
51
+
52
+ ```bash
53
+ # Start from main
54
+ git checkout main
55
+ git pull origin main
56
+
57
+ # Create base branch
58
+ git checkout -b feature/001-base-auth
59
+
60
+ # Implement base functionality
61
+ # ... work ...
62
+
63
+ # Push and create PR
64
+ git push -u origin feature/001-base-auth
65
+
66
+ # Create PR in GitHub/GitLab
67
+ # Title: "[1/3] Base authentication foundation"
68
+ # Base: main
69
+ # Description: Include stack overview (see template below)
70
+ ```
71
+
72
+ ### Step 2: Create Dependent PR (PR-002)
73
+
74
+ **CRITICAL: Base on previous feature branch, NOT main**
75
+
76
+ ```bash
77
+ # Start from PR-001's branch
78
+ git checkout feature/001-base-auth
79
+ git pull origin feature/001-base-auth
80
+
81
+ # Create dependent branch
82
+ git checkout -b feature/002-user-profile
83
+
84
+ # Implement dependent functionality
85
+ # ... work ...
86
+
87
+ # Push and create PR
88
+ git push -u origin feature/002-user-profile
89
+
90
+ # Create PR in GitHub/GitLab
91
+ # Title: "[2/3] User profile management"
92
+ # Base: feature/001-base-auth ← NOT main!
93
+ # Description: "Depends on PR #123"
94
+ ```
95
+
96
+ ### Step 3: Create Final PR (PR-003)
97
+
98
+ ```bash
99
+ # Start from PR-002's branch
100
+ git checkout feature/002-user-profile
101
+ git pull origin feature/002-user-profile
102
+
103
+ # Create final branch
104
+ git checkout -b feature/003-admin-panel
105
+
106
+ # Implement final functionality
107
+ # ... work ...
108
+
109
+ # Push and create PR
110
+ git push -u origin feature/003-admin-panel
111
+
112
+ # Create PR in GitHub/GitLab
113
+ # Title: "[3/3] Admin panel with full auth"
114
+ # Base: feature/002-user-profile ← NOT main!
115
+ # Description: "Depends on PR #124"
116
+ ```
117
+
118
+ ## PR Description Template
119
+
120
+ Use this template for stacked PRs:
121
+
122
+ ```markdown
123
+ ## This PR
124
+ [Brief description of changes in THIS PR only]
125
+
126
+ ## Depends On
127
+ - PR #123 (feature/001-base-auth) - Must merge first
128
+ - Builds on top of authentication foundation
129
+
130
+ ## Stack Overview
131
+ 1. PR #123: Base authentication (feature/001-base-auth) ← MERGE FIRST
132
+ 2. PR #124: User profile (feature/002-user-profile) ← THIS PR
133
+ 3. PR #125: Admin panel (feature/003-admin-panel) - Coming next
134
+
135
+ ## Review Guidance
136
+ To see ONLY this PR's changes:
137
+ ```bash
138
+ git diff feature/001-base-auth...feature/002-user-profile
139
+ ```
140
+
141
+ Or on GitHub: Compare `feature/002-user-profile...feature/001-base-auth` (three dots)
142
+
143
+ ## Testing
144
+ - Tested in combination with PR #123
145
+ - Includes tests for user profile functionality
146
+ - Integration tests pass with base auth layer
147
+ ```
148
+
149
+ ## Managing Rebase Chains
150
+
151
+ ### When Base PR Changes (Review Feedback)
152
+
153
+ If PR-001 gets updated, you must rebase dependent PRs:
154
+
155
+ ```bash
156
+ # Update PR-001 (base)
157
+ git checkout feature/001-base-auth
158
+ git pull origin feature/001-base-auth
159
+
160
+ # Rebase PR-002 on updated base
161
+ git checkout feature/002-user-profile
162
+ git rebase feature/001-base-auth
163
+ git push --force-with-lease origin feature/002-user-profile
164
+
165
+ # Rebase PR-003 on updated PR-002
166
+ git checkout feature/003-admin-panel
167
+ git rebase feature/002-user-profile
168
+ git push --force-with-lease origin feature/003-admin-panel
169
+ ```
170
+
171
+ **IMPORTANT: Use `--force-with-lease` not `--force` for safety**
172
+
173
+ ### Merge Strategy
174
+
175
+ **Option A: Sequential Merging (Recommended)**
176
+ 1. Merge PR-001 to main
177
+ 2. Change PR-002's base to main (GitHub: "Edit" button on PR)
178
+ 3. Merge PR-002 to main
179
+ 4. Change PR-003's base to main
180
+ 5. Merge PR-003 to main
181
+
182
+ **Option B: Keep Stack Until End**
183
+ 1. Merge PR-001 to main
184
+ 2. Keep PR-002 based on feature/001 until PR-001 fully merged
185
+ 3. Then rebase PR-002 onto main
186
+ 4. Repeat for PR-003
187
+
188
+ ## Common Pitfalls
189
+
190
+ ### ❌ WRONG: All PRs from main
191
+ ```bash
192
+ git checkout main
193
+ git checkout -b feature/001-base
194
+ # PR: feature/001-base → main
195
+
196
+ git checkout main # ← WRONG
197
+ git checkout -b feature/002-next
198
+ # PR: feature/002-next → main # ← WRONG (independent, not stacked)
199
+ ```
200
+
201
+ ### ✅ CORRECT: Each PR from previous
202
+ ```bash
203
+ git checkout main
204
+ git checkout -b feature/001-base
205
+ # PR: feature/001-base → main
206
+
207
+ git checkout feature/001-base # ← CORRECT
208
+ git checkout -b feature/002-next
209
+ # PR: feature/002-next → feature/001-base # ← CORRECT (stacked)
210
+ ```
211
+
212
+ ## Agent Instructions
213
+
214
+ When delegating stacked PR creation to version-control agent:
215
+
216
+ ```
217
+ Task: Create stacked PR branch structure
218
+
219
+ Stack Sequence:
220
+ 1. PR-001: feature/001-base-auth → main (base layer)
221
+ 2. PR-002: feature/002-user-profile → feature/001-base-auth (depends on 001)
222
+ 3. PR-003: feature/003-admin-panel → feature/002-user-profile (depends on 002)
223
+
224
+ Requirements:
225
+ - Each branch MUST be based on previous feature branch
226
+ - Use sequential numbering (001, 002, 003)
227
+ - Include "depends on" notes in commit messages
228
+ - Create PR description with stack overview
229
+
230
+ CRITICAL: PR-002 bases on feature/001-base-auth, NOT on main
231
+ CRITICAL: PR-003 bases on feature/002-user-profile, NOT on main
232
+ ```
233
+
234
+ ## Verification Checklist
235
+
236
+ Before creating stacked PRs:
237
+
238
+ - [ ] User explicitly requested stacked PRs
239
+ - [ ] Feature has clear logical phases
240
+ - [ ] Each phase has dependency on previous
241
+ - [ ] User understands rebase workflow
242
+ - [ ] Branch names use sequential numbering
243
+ - [ ] Each branch created from correct base (previous feature branch)
244
+ - [ ] PR descriptions include dependency information
245
+ - [ ] Stack overview documented in each PR
246
+
247
+ ## Related Skills
248
+
249
+ - `git-worktrees` - Work on multiple PRs simultaneously
250
+ - `git-workflow` - General git branching patterns
251
+ - `code-review` - Review strategies for stacked PRs