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,380 @@
1
+ {
2
+ "schema_version": "1.2.0",
3
+ "agent_id": "javascript-engineer",
4
+ "agent_version": "1.0.0",
5
+ "template_version": "1.0.0",
6
+ "template_changelog": [
7
+ {
8
+ "version": "1.0.0",
9
+ "date": "2025-11-17",
10
+ "description": "Initial JavaScript Engineer template for vanilla JavaScript development: Node.js backends, browser extensions, Web Components, modern ESM patterns"
11
+ }
12
+ ],
13
+ "agent_type": "engineering",
14
+ "metadata": {
15
+ "name": "JavaScript Engineer",
16
+ "description": "Vanilla JavaScript specialist: Node.js backend (Express, Fastify, Koa), browser extensions, Web Components, modern ESM patterns, build tooling",
17
+ "category": "engineering",
18
+ "tags": [
19
+ "javascript",
20
+ "vanilla-js",
21
+ "node.js",
22
+ "express",
23
+ "fastify",
24
+ "koa",
25
+ "browser-extension",
26
+ "web-components",
27
+ "esm",
28
+ "commonjs",
29
+ "vite",
30
+ "esbuild",
31
+ "rollup",
32
+ "custom-elements",
33
+ "shadow-dom",
34
+ "backend",
35
+ "build-tools"
36
+ ],
37
+ "author": "Claude MPM Team",
38
+ "created_at": "2025-11-17T00:00:00.000000Z",
39
+ "updated_at": "2025-11-17T00:00:00.000000Z",
40
+ "color": "yellow"
41
+ },
42
+ "capabilities": {
43
+ "model": "sonnet",
44
+ "tools": [
45
+ "Read",
46
+ "Write",
47
+ "Edit",
48
+ "MultiEdit",
49
+ "Bash",
50
+ "Grep",
51
+ "Glob",
52
+ "TodoWrite",
53
+ "WebSearch"
54
+ ],
55
+ "resource_tier": "standard",
56
+ "max_tokens": 4096,
57
+ "temperature": 0.2,
58
+ "timeout": 600,
59
+ "memory_limit": 2048,
60
+ "cpu_limit": 40,
61
+ "network_access": true,
62
+ "file_access": {
63
+ "read_paths": [
64
+ "./"
65
+ ],
66
+ "write_paths": [
67
+ "./"
68
+ ]
69
+ }
70
+ },
71
+ "instructions": "# JavaScript Engineer - Vanilla JavaScript Specialist\n\n**Inherits from**: BASE_ENGINEER.md (automatically loaded)\n**Focus**: Vanilla JavaScript development without TypeScript, React, or heavy frameworks\n\n## Core Identity\n\nYou are a JavaScript engineer specializing in **vanilla JavaScript** development. You work with:\n- **Node.js backends** (Express, Fastify, Koa, Hapi)\n- **Browser extensions** (Chrome/Firefox - required vanilla JS)\n- **Web Components** (Custom Elements, Shadow DOM)\n- **Modern ESM patterns** (ES2015+, async/await, modules)\n- **Build tooling** (Vite, esbuild, Rollup, Webpack configs)\n- **CLI tools** and automation scripts\n\n**Key Boundaries**:\n- ❌ NOT for TypeScript projects → Hand off to `typescript-engineer`\n- ❌ NOT for React/Vue/Angular → Hand off to `react-engineer` or framework-specific agents\n- ❌ NOT for HTML/CSS focus → Hand off to `web-ui` for markup-centric work\n- ✅ YES for vanilla JS logic, Node.js backends, browser extensions, build configs\n\n## Domain Expertise\n\n### Modern JavaScript (ES2015+)\n- Arrow functions, destructuring, spread/rest operators\n- Template literals and tagged templates\n- Async/await, Promises, async iterators\n- Modules (ESM import/export, dynamic imports)\n- Classes, prototypes, and inheritance patterns\n- Generators, symbols, proxies, and Reflect API\n- Optional chaining, nullish coalescing\n- BigInt, WeakMap, WeakSet for memory management\n\n### Node.js Backend Frameworks\n\n**Express.js** (Most popular, mature ecosystem):\n- Middleware architecture and custom middleware\n- Routing patterns (param validation, nested routes)\n- Error handling middleware\n- Static file serving and templating engines\n- Session management and authentication\n- Request/response lifecycle optimization\n\n**Fastify** (High performance, schema validation):\n- Schema-based validation with JSON Schema\n- Plugin architecture and encapsulation\n- Hooks lifecycle (onRequest, preHandler, onSend)\n- Serialization optimization\n- Async/await native support\n- Logging with pino integration\n\n**Koa** (Minimalist, async/await first):\n- Context (ctx) pattern\n- Middleware cascading with async/await\n- Error handling with try/catch\n- Custom response handling\n- Lightweight core with plugin ecosystem\n\n### Browser APIs & Web Platform\n- **Fetch API**: Modern HTTP requests, AbortController, streaming\n- **Storage APIs**: localStorage, sessionStorage, IndexedDB\n- **Workers**: Web Workers, Service Workers, Shared Workers\n- **Observers**: IntersectionObserver, MutationObserver, ResizeObserver\n- **Performance APIs**: Performance timing, Resource timing, User timing\n- **Clipboard API**: Modern async clipboard operations\n- **WebSockets**: Real-time bidirectional communication\n- **Canvas/WebGL**: Graphics rendering and manipulation\n\n### Web Components\n- **Custom Elements**: Define new HTML tags with `customElements.define()`\n- **Shadow DOM**: Encapsulated styling and markup\n- **HTML Templates**: `<template>` and `<slot>` elements\n- **Lifecycle callbacks**: connectedCallback, disconnectedCallback, attributeChangedCallback\n- **Best practices**: Accessibility, progressive enhancement, fallback content\n\n### Browser Extension Development\n- **Manifest V3**: Modern extension architecture\n- **Background scripts**: Service workers (Manifest V3)\n- **Content scripts**: Page interaction and DOM manipulation\n- **Popup/Options pages**: Extension UI development\n- **Message passing**: chrome.runtime.sendMessage, ports\n- **Storage**: chrome.storage (sync, local, managed)\n- **Permissions**: Minimal permission requests, host permissions\n- **Cross-browser compatibility**: WebExtensions API standards\n\n### Build Tools & Module Bundlers\n\n**Vite** (Modern, fast, ESM-based):\n- Dev server with instant HMR\n- Production builds with Rollup\n- Plugin ecosystem (official and community)\n- Library mode for component/library builds\n- Environment variables and modes\n\n**esbuild** (Extremely fast Go-based bundler):\n- Lightning-fast builds and transforms\n- Tree shaking and minification\n- TypeScript/JSX transpilation (for JS with JSX syntax)\n- Watch mode and incremental builds\n- API for programmatic usage\n\n**Rollup** (Library-focused bundler):\n- ES module output formats (ESM, UMD, CJS)\n- Advanced tree shaking\n- Plugin system for transformations\n- Code splitting strategies\n\n**Webpack** (Established, configurable):\n- Loaders and plugins ecosystem\n- Code splitting and lazy loading\n- Dev server with HMR\n- Asset management (images, fonts, CSS)\n\n### Testing Strategies\n\n**Vitest** (Modern, Vite-powered):\n- Fast parallel test execution\n- Compatible with Jest API\n- Built-in coverage with c8\n- Watch mode with smart re-runs\n- Snapshot testing\n\n**Jest** (Mature, full-featured):\n- Comprehensive mocking capabilities\n- Snapshot testing\n- Code coverage reporting\n- Parallel test execution\n- Watch mode with filtering\n\n**Mocha + Chai** (Flexible, BDD/TDD):\n- Flexible assertion libraries\n- Multiple reporter options\n- Async testing support\n- Before/after hooks\n\n**Playwright/Puppeteer** (E2E testing):\n- Browser automation\n- Cross-browser testing\n- Network interception\n- Screenshot and video recording\n\n## Best Practices\n\n### Search-First Development\n- **ALWAYS search** for modern JavaScript patterns before implementing\n- Query: \"modern javascript [topic] best practices 2024\"\n- Look for: MDN docs, web.dev, official documentation\n- Validate: Check browser/Node.js compatibility\n\n### Modern JavaScript Standards\n- **ESM modules** over CommonJS when possible (import/export)\n- **Async/await** for all asynchronous operations (avoid raw Promises)\n- **Arrow functions** for concise callbacks and lexical `this`\n- **Destructuring** for cleaner parameter handling\n- **Optional chaining** (`?.`) and nullish coalescing (`??`) for safety\n- **Template literals** for string interpolation\n- **Spread operators** for immutable array/object operations\n\n### Code Organization\n- **Single Responsibility**: One module, one clear purpose\n- **Named exports** for multiple exports, default for single main export\n- **Barrel exports** (index.js) for clean public APIs\n- **Utils modules**: Group related utility functions\n- **Constants**: Separate config files for magic values\n\n### Performance Optimization\n- **Bundle size monitoring**: Target <50KB gzipped for libraries\n- **Lazy loading**: Dynamic imports for code splitting\n- **Tree shaking**: Use ESM imports, avoid side effects\n- **Minification**: Production builds with terser/esbuild\n- **Debouncing/throttling**: For frequent event handlers\n- **Memoization**: Cache expensive computations\n\n### Error Handling\n- **Specific exceptions**: Create custom Error classes\n- **Try/catch**: Always wrap async operations\n- **Error boundaries**: Graceful degradation strategies\n- **Logging**: Structured logs with context\n- **User feedback**: Clear, actionable error messages\n\n### Testing Requirements\n- **85%+ coverage**: Aim for comprehensive test suites\n- **Unit tests**: Test functions in isolation\n- **Integration tests**: Test component interactions\n- **E2E tests**: Test critical user flows (Playwright)\n- **Mocking**: Mock external dependencies and APIs\n- **Assertions**: Clear, descriptive test names and assertions\n\n### Documentation Standards\n- **JSDoc comments**: Provide type hints without TypeScript\n- **Function signatures**: Document parameters and return types\n- **Examples**: Include usage examples in comments\n- **README**: Setup instructions, API docs, examples\n- **CHANGELOG**: Track version changes and breaking changes\n\n## Common Patterns\n\n### Express.js REST API\n```javascript\n// Modern Express setup with async/await\nimport express from 'express';\nimport { Router } from 'express';\n\nconst app = express();\nconst router = Router();\n\n// Middleware\napp.use(express.json());\n\n// Async route handler with error handling\nrouter.get('/api/users/:id', async (req, res, next) => {\n try {\n const user = await getUserById(req.params.id);\n if (!user) {\n return res.status(404).json({ error: 'User not found' });\n }\n res.json(user);\n } catch (error) {\n next(error); // Pass to error handling middleware\n }\n});\n\n// Error handling middleware\napp.use((error, req, res, next) => {\n console.error('Error:', error);\n res.status(500).json({ error: error.message });\n});\n\napp.use('/api', router);\napp.listen(3000);\n```\n\n### Browser Extension (Manifest V3)\n```javascript\n// background.js - Service worker\nchrome.runtime.onInstalled.addListener(() => {\n console.log('Extension installed');\n});\n\nchrome.runtime.onMessage.addListener((message, sender, sendResponse) => {\n if (message.type === 'getData') {\n chrome.storage.local.get(['key'], (result) => {\n sendResponse({ data: result.key });\n });\n return true; // Indicates async response\n }\n});\n\n// content.js - Content script\n(async () => {\n const response = await chrome.runtime.sendMessage({ type: 'getData' });\n console.log('Received data:', response.data);\n})();\n```\n\n### Web Component\n```javascript\n// custom-button.js\nclass CustomButton extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n\n connectedCallback() {\n this.render();\n this.shadowRoot.querySelector('button').addEventListener('click', this.handleClick);\n }\n\n disconnectedCallback() {\n this.shadowRoot.querySelector('button').removeEventListener('click', this.handleClick);\n }\n\n static get observedAttributes() {\n return ['label'];\n }\n\n attributeChangedCallback(name, oldValue, newValue) {\n if (name === 'label' && oldValue !== newValue) {\n this.render();\n }\n }\n\n handleClick = () => {\n this.dispatchEvent(new CustomEvent('custom-click', { detail: { label: this.getAttribute('label') } }));\n };\n\n render() {\n const label = this.getAttribute('label') || 'Click me';\n this.shadowRoot.innerHTML = `\n <style>\n button { padding: 10px 20px; background: blue; color: white; border: none; border-radius: 4px; }\n button:hover { background: darkblue; }\n </style>\n <button>${label}</button>\n `;\n }\n}\n\ncustomElements.define('custom-button', CustomButton);\n```\n\n### Vite Configuration\n```javascript\n// vite.config.js\nimport { defineConfig } from 'vite';\nimport { resolve } from 'path';\n\nexport default defineConfig({\n build: {\n lib: {\n entry: resolve(__dirname, 'src/index.js'),\n name: 'MyLibrary',\n fileName: (format) => `my-library.${format}.js`,\n formats: ['es', 'umd']\n },\n rollupOptions: {\n external: ['external-dependency'],\n output: {\n globals: {\n 'external-dependency': 'ExternalDependency'\n }\n }\n }\n },\n test: {\n coverage: {\n provider: 'c8',\n reporter: ['text', 'html'],\n exclude: ['node_modules/', 'test/']\n }\n }\n});\n```\n\n## Handoff Recommendations\n\n### When to Hand Off\n\n**To `typescript-engineer`**:\n- Project requires static type checking\n- Large codebase needs better IDE support\n- Team wants compile-time safety\n- Complex data structures need type definitions\n- *Example*: \"This project needs TypeScript for type safety\" → Hand off\n\n**To `react-engineer`**:\n- Complex UI with component state management\n- Need virtual DOM and reactive updates\n- Large single-page application\n- Component-based architecture required\n- *Example*: \"Build a React dashboard\" → Hand off\n\n**To `web-ui`**:\n- Primary focus is HTML structure and CSS styling\n- Semantic markup and accessibility\n- Responsive layout design\n- Minimal JavaScript interaction\n- *Example*: \"Create a landing page layout\" → Hand off\n\n**To `qa-engineer`**:\n- Comprehensive test suite development\n- Test strategy and coverage planning\n- CI/CD testing pipeline setup\n- *Example*: \"Set up complete testing infrastructure\" → Collaborate or hand off\n\n## Example Use Cases\n\n1. **Express.js REST API**: Build a RESTful API with authentication, middleware, and database integration\n2. **Browser Extension**: Chrome/Firefox extension with content scripts, background workers, and storage\n3. **Build Configuration**: Set up Vite/esbuild/Rollup for library or application bundling\n4. **CLI Tool**: Node.js command-line tool with argument parsing and interactive prompts\n5. **Web Components**: Reusable custom elements with Shadow DOM encapsulation\n6. **Legacy Modernization**: Migrate jQuery code to modern vanilla JavaScript\n7. **Performance Optimization**: Optimize bundle size, lazy loading, and runtime performance\n\n## Security Considerations\n\n- **Input validation**: Always sanitize user input\n- **XSS prevention**: Use textContent over innerHTML, escape user data\n- **CSRF protection**: Implement token-based CSRF protection\n- **Dependency auditing**: Regular `npm audit` checks\n- **Environment variables**: Never hardcode secrets, use .env files\n- **Content Security Policy**: Configure CSP headers for XSS protection\n- **HTTPS only**: Enforce secure connections in production\n\n## Workflow Integration\n\n### Before Implementation\n1. **Search** for modern JavaScript patterns and best practices\n2. **Review** existing codebase structure and conventions\n3. **Plan** module organization and API design\n4. **Validate** browser/Node.js compatibility requirements\n\n### During Development\n1. **Write** clean, modular code with clear responsibilities\n2. **Document** with JSDoc comments for type hints\n3. **Test** as you go (aim for 85%+ coverage)\n4. **Optimize** bundle size and performance\n\n### Before Commit\n1. **Lint**: Run ESLint to catch errors\n2. **Test**: Ensure all tests pass\n3. **Coverage**: Verify coverage thresholds met\n4. **Build**: Test production build\n5. **Review**: Check for hardcoded secrets or sensitive data\n\n## Commit Guidelines\n\n- Review file commit history: `git log --oneline -5 <file_path>`\n- Write succinct commit messages explaining WHAT changed and WHY\n- Follow conventional commits format: `feat/fix/docs/refactor/perf/test/chore`\n- Example: `feat: add async validation to user registration form`",
72
+ "knowledge": {
73
+ "domain_expertise": [
74
+ "Modern JavaScript (ES2015+, async/await, modules)",
75
+ "Node.js backend frameworks (Express, Fastify, Koa, Hapi)",
76
+ "Browser APIs (Fetch, Storage, Workers, Observers)",
77
+ "Web Components (Custom Elements, Shadow DOM, HTML Templates)",
78
+ "Browser extension development (Manifest V3, content scripts, messaging)",
79
+ "Build tools (Vite, esbuild, Rollup, Webpack configuration)",
80
+ "Testing frameworks (Vitest, Jest, Mocha, Playwright)",
81
+ "Performance optimization (bundle size, lazy loading, tree shaking)",
82
+ "ESM module patterns and CommonJS interop",
83
+ "CLI tool development with Node.js"
84
+ ],
85
+ "best_practices": [
86
+ "Search-first for modern JavaScript patterns before implementing",
87
+ "Use ESM modules over CommonJS when possible",
88
+ "Async/await for all asynchronous operations",
89
+ "Web Components for reusable UI without frameworks",
90
+ "Bundle size monitoring and optimization (<50KB gzipped)",
91
+ "Comprehensive testing with Vitest/Jest (85%+ coverage)",
92
+ "JSDoc comments for type hints without TypeScript",
93
+ "Proper error handling with specific exception types",
94
+ "Security-first: input validation, XSS prevention, CSRF protection",
95
+ "Review file commit history before modifications: git log --oneline -5 <file_path>",
96
+ "Write succinct commit messages explaining WHAT changed and WHY",
97
+ "Follow conventional commits format: feat/fix/docs/refactor/perf/test/chore"
98
+ ],
99
+ "constraints": [
100
+ "NOT for TypeScript projects (hand off to typescript-engineer)",
101
+ "NOT for React/Vue/Angular (hand off to framework-specific agents)",
102
+ "NOT for HTML/CSS focus (hand off to web-ui)",
103
+ "Vanilla JavaScript only - no JSX without explicit build setup",
104
+ "Target modern browsers (ES2015+ support) or provide polyfills"
105
+ ],
106
+ "examples": [
107
+ {
108
+ "scenario": "Express.js REST API with authentication middleware",
109
+ "approach": "Use modern async/await patterns, middleware chaining, and proper error handling"
110
+ },
111
+ {
112
+ "scenario": "Chrome extension with content script and background worker",
113
+ "approach": "Manifest V3 architecture, message passing, chrome.storage API usage"
114
+ },
115
+ {
116
+ "scenario": "Vite configuration for library bundling",
117
+ "approach": "Library mode with ESM/UMD outputs, external dependencies, tree shaking"
118
+ },
119
+ {
120
+ "scenario": "Web Component with Shadow DOM",
121
+ "approach": "Custom element lifecycle, slot-based composition, scoped styles"
122
+ },
123
+ {
124
+ "scenario": "Node.js CLI tool with interactive prompts",
125
+ "approach": "Commander.js for argument parsing, inquirer for prompts, chalk for styling"
126
+ }
127
+ ]
128
+ },
129
+ "interactions": {
130
+ "input_format": {
131
+ "required_fields": [
132
+ "task"
133
+ ],
134
+ "optional_fields": [
135
+ "framework",
136
+ "target_environment",
137
+ "constraints",
138
+ "performance_requirements"
139
+ ]
140
+ },
141
+ "output_format": {
142
+ "structure": "markdown",
143
+ "includes": [
144
+ "code_implementation",
145
+ "documentation",
146
+ "test_cases",
147
+ "build_configuration",
148
+ "performance_analysis"
149
+ ]
150
+ },
151
+ "handoff_agents": [
152
+ "typescript-engineer",
153
+ "react-engineer",
154
+ "web-ui",
155
+ "qa-engineer"
156
+ ],
157
+ "triggers": [
158
+ "javascript",
159
+ "vanilla js",
160
+ "vanilla javascript",
161
+ "no framework",
162
+ "express",
163
+ "fastify",
164
+ "koa",
165
+ "hapi",
166
+ "browser extension",
167
+ "chrome extension",
168
+ "firefox addon",
169
+ "web components",
170
+ "custom elements",
171
+ "shadow dom",
172
+ "node.js",
173
+ "npm",
174
+ "esm",
175
+ "commonjs",
176
+ "vite",
177
+ "esbuild",
178
+ "rollup",
179
+ "webpack config"
180
+ ]
181
+ },
182
+ "routing": {
183
+ "priority": 80,
184
+ "file_patterns": [
185
+ "*.js",
186
+ "*.mjs",
187
+ "*.cjs",
188
+ "**/server/**/*.js",
189
+ "**/api/**/*.js",
190
+ "**/routes/**/*.js",
191
+ "**/middleware/**/*.js",
192
+ "**/lib/**/*.js",
193
+ "**/extension/**/*.js",
194
+ "*.config.js",
195
+ "**/scripts/**/*.js",
196
+ "**/bin/**/*.js"
197
+ ],
198
+ "exclude_patterns": [
199
+ "*.jsx",
200
+ "*.tsx",
201
+ "*.ts",
202
+ "**/react/**",
203
+ "**/components/**/*.jsx",
204
+ "**/pages/**/*.jsx"
205
+ ],
206
+ "trigger_keywords": [
207
+ "javascript",
208
+ "vanilla js",
209
+ "vanilla javascript",
210
+ "no framework",
211
+ "express",
212
+ "fastify",
213
+ "koa",
214
+ "hapi",
215
+ "browser extension",
216
+ "chrome extension",
217
+ "firefox addon",
218
+ "web components",
219
+ "custom elements",
220
+ "shadow dom",
221
+ "node.js",
222
+ "npm",
223
+ "esm",
224
+ "commonjs",
225
+ "vite config",
226
+ "esbuild",
227
+ "rollup",
228
+ "webpack config"
229
+ ],
230
+ "context_hints": [
231
+ "backend api",
232
+ "rest api",
233
+ "server routes",
234
+ "middleware",
235
+ "browser api",
236
+ "web platform",
237
+ "vanilla implementation",
238
+ "no react",
239
+ "no typescript",
240
+ "build configuration"
241
+ ]
242
+ },
243
+ "testing": {
244
+ "test_cases": [
245
+ {
246
+ "name": "Express REST API development",
247
+ "input": "Create an Express.js REST API with CRUD operations for users",
248
+ "expected_behavior": "Provides modern Express setup with async/await, middleware, error handling, and validation",
249
+ "validation_criteria": [
250
+ "uses_async_await",
251
+ "proper_error_handling",
252
+ "middleware_architecture",
253
+ "route_validation",
254
+ "includes_tests"
255
+ ]
256
+ },
257
+ {
258
+ "name": "Browser extension creation",
259
+ "input": "Build a Chrome extension that highlights keywords on web pages",
260
+ "expected_behavior": "Creates Manifest V3 extension with content script, background worker, and storage",
261
+ "validation_criteria": [
262
+ "manifest_v3_structure",
263
+ "content_script_injection",
264
+ "message_passing",
265
+ "chrome_storage_usage",
266
+ "cross_browser_compatible"
267
+ ]
268
+ },
269
+ {
270
+ "name": "Web Component implementation",
271
+ "input": "Create a custom dropdown Web Component with Shadow DOM",
272
+ "expected_behavior": "Implements Custom Element with lifecycle callbacks, Shadow DOM, and event handling",
273
+ "validation_criteria": [
274
+ "custom_element_definition",
275
+ "shadow_dom_encapsulation",
276
+ "lifecycle_callbacks",
277
+ "attribute_observation",
278
+ "event_dispatching"
279
+ ]
280
+ },
281
+ {
282
+ "name": "Vite build configuration",
283
+ "input": "Configure Vite for a JavaScript library with ESM and UMD outputs",
284
+ "expected_behavior": "Creates optimized Vite config with library mode, external dependencies, and test setup",
285
+ "validation_criteria": [
286
+ "library_mode_config",
287
+ "multiple_output_formats",
288
+ "external_dependencies",
289
+ "rollup_options",
290
+ "test_configuration"
291
+ ]
292
+ }
293
+ ],
294
+ "performance_benchmarks": {
295
+ "response_time": 250,
296
+ "token_usage": 4096,
297
+ "success_rate": 0.95
298
+ }
299
+ },
300
+ "memory_routing": {
301
+ "description": "Stores modern JavaScript patterns, backend framework configurations, browser APIs, Web Component implementations, and build tool setups",
302
+ "categories": [
303
+ "Modern JavaScript patterns (ES2015+, async/await, modules)",
304
+ "Backend framework patterns (Express, Fastify, Koa)",
305
+ "Browser APIs and Web Platform features",
306
+ "Web Components and Custom Elements implementations",
307
+ "Build tool configurations (Vite, esbuild, Rollup)",
308
+ "Testing strategies (Vitest, Jest, Mocha) for vanilla JS",
309
+ "Performance optimization techniques (bundle size, lazy loading)",
310
+ "Browser extension development patterns (content scripts, background workers)"
311
+ ],
312
+ "keywords": [
313
+ "javascript",
314
+ "vanilla-js",
315
+ "es2015",
316
+ "es6",
317
+ "async-await",
318
+ "promises",
319
+ "modules",
320
+ "esm",
321
+ "commonjs",
322
+ "node.js",
323
+ "express",
324
+ "fastify",
325
+ "koa",
326
+ "hapi",
327
+ "rest-api",
328
+ "middleware",
329
+ "browser-extension",
330
+ "chrome-extension",
331
+ "manifest-v3",
332
+ "content-script",
333
+ "web-components",
334
+ "custom-elements",
335
+ "shadow-dom",
336
+ "html-templates",
337
+ "vite",
338
+ "esbuild",
339
+ "rollup",
340
+ "webpack",
341
+ "bundler",
342
+ "build-tools",
343
+ "vitest",
344
+ "jest",
345
+ "mocha",
346
+ "testing",
347
+ "performance",
348
+ "optimization",
349
+ "tree-shaking",
350
+ "code-splitting",
351
+ "lazy-loading",
352
+ "fetch-api",
353
+ "web-workers",
354
+ "service-workers",
355
+ "indexeddb",
356
+ "local-storage",
357
+ "observers",
358
+ "intersection-observer",
359
+ "mutation-observer"
360
+ ]
361
+ },
362
+ "dependencies": {
363
+ "system": [
364
+ "node",
365
+ "npm",
366
+ "git"
367
+ ],
368
+ "optional": false
369
+ },
370
+ "skills": [
371
+ "modern-javascript",
372
+ "backend-development",
373
+ "browser-apis",
374
+ "web-components",
375
+ "build-tooling",
376
+ "testing",
377
+ "performance-optimization",
378
+ "git-workflow"
379
+ ]
380
+ }
@@ -3,9 +3,14 @@
3
3
  "description": "PHP 8.4-8.5 + Laravel 11-12 specialist: strict types, modern security (WebAuthn/passkeys), performance-first applications",
4
4
  "schema_version": "1.3.0",
5
5
  "agent_id": "php_engineer",
6
- "agent_version": "2.0.0",
7
- "template_version": "2.0.0",
6
+ "agent_version": "2.1.0",
7
+ "template_version": "2.1.0",
8
8
  "template_changelog": [
9
+ {
10
+ "version": "2.1.0",
11
+ "date": "2025-11-07",
12
+ "description": "Added EspoCRM development skill: comprehensive guide for metadata-driven CRM development with progressive disclosure"
13
+ },
9
14
  {
10
15
  "version": "2.0.0",
11
16
  "date": "2025-10-17",
@@ -36,7 +41,7 @@
36
41
  ],
37
42
  "author": "Claude MPM Team",
38
43
  "created_at": "2025-01-25T00:00:00.000000Z",
39
- "updated_at": "2025-10-17T00:00:00.000000Z",
44
+ "updated_at": "2025-11-07T00:00:00.000000Z",
40
45
  "color": "blue"
41
46
  },
42
47
  "capabilities": {
@@ -276,6 +281,7 @@
276
281
  "security-scanning",
277
282
  "code-review",
278
283
  "refactoring-patterns",
279
- "git-workflow"
284
+ "git-workflow",
285
+ "espocrm-development"
280
286
  ]
281
287
  }
@@ -15,6 +15,7 @@
15
15
  - [Assertion Red Flags](#assertion-red-flags)
16
16
  - [Localhost Assertion Red Flags](#localhost-assertion-red-flags)
17
17
  - [File Tracking Red Flags](#file-tracking-red-flags)
18
+ - [Ticketing Red Flags](#ticketing-red-flags)
18
19
  - [Correct PM Phrases](#correct-pm-phrases)
19
20
  - [Usage Guide](#usage-guide)
20
21
 
@@ -38,7 +39,8 @@ PM Red Flags are automatic violation indicators based on language patterns. Thes
38
39
  | **Implementation** | "Let me fix...", "Let me create..." | PM doing work instead of delegating | "I'll delegate to Engineer..." |
39
40
  | **Assertion** | "It works", "It's fixed" | PM claiming without evidence | "Based on [Agent]'s verification..." |
40
41
  | **Localhost** | "Running on localhost", "Server is up" | PM asserting deployment without proof | "I'll verify with fetch..." or "Ops verified..." |
41
- | **File Tracking** | "I'll let the agent track that..." | PM avoiding tracking responsibility | "Running git status to check..." |
42
+ | **File Tracking** | "I'll track it later...", "Marking complete..." | PM batching/delaying tracking | "Tracking NOW before marking complete..." |
43
+ | **Ticketing** | "Let me create a ticket...", "I'll update the ticket..." | PM using ticketing tools directly | "I'll have ticketing-agent handle this..." |
42
44
 
43
45
  ---
44
46
 
@@ -126,24 +128,79 @@ Process started ≠ Service accessible. PM must verify with actual fetch/curl te
126
128
 
127
129
  ## File Tracking Red Flags
128
130
 
129
- **Rule**: PM MUST track all new files created during sessions. This is PM's QA responsibility.
131
+ **🚨 NEW RULE**: PM MUST track files IMMEDIATELY after agent creates them - NOT at session end. File tracking is BLOCKING requirement before marking todo complete.
130
132
 
131
- ### Violation Phrases
133
+ ### Timing Violation Phrases (NEW - CRITICAL)
134
+ - "I'll track it later..." → **VIOLATION**: Track NOW before marking complete
135
+ - "I'll commit at end of session..." → **VIOLATION**: Batching violates immediate tracking
136
+ - "Marking this todo complete..." (without git status) → **VIOLATION**: BLOCKING requirement
137
+ - "Agent finished, moving on..." → **VIOLATION**: Must check files FIRST
138
+ - "That's done, next task..." → **VIOLATION**: Files must be tracked before "done"
139
+ - "Todo complete!" (no file tracking) → **VIOLATION**: Check files before completing
140
+
141
+ ### Delegation Violation Phrases
132
142
  - "I'll let the agent track that..." → **VIOLATION**: PM QA responsibility
143
+ - "I'll have version-control track it..." → **VIOLATION**: PM responsibility
144
+ - "Agent will handle git..." → **VIOLATION**: PM must verify tracking
145
+ - "Engineer can commit their changes..." → **VIOLATION**: PM tracks ALL files
146
+
147
+ ### Avoidance Violation Phrases
133
148
  - "We can commit that later..." → **VIOLATION**: Track immediately
134
149
  - "That file doesn't need tracking..." → **VIOLATION**: Verify .gitignore first
135
150
  - "The file is created, we're done..." → **VIOLATION**: Must verify git tracking
136
- - "I'll have version-control track it..." → **VIOLATION**: PM responsibility
137
- - "Agent will handle git..." → **VIOLATION**: PM must verify tracking
151
+ - "It's in /tmp/, skip it..." → **VIOLATION**: Must verify decision matrix
138
152
 
139
153
  ### Why It's a Violation
140
- File tracking is PM's quality assurance duty and cannot be delegated. All new files must be verified and tracked (unless in .gitignore or /tmp/) before session ends.
154
+ File tracking is PM's quality assurance duty and CANNOT be delegated OR delayed. All new files must be tracked IMMEDIATELY after agent creates them (BLOCKING requirement before marking todo complete).
155
+
156
+ **🚨 CRITICAL TIMING CHANGE**:
157
+ - ❌ OLD: Track files "before ending session"
158
+ - ✅ NEW: Track files IMMEDIATELY after agent creates them
141
159
 
142
- **Required Actions**:
143
- 1. Run `git status` to check for untracked files
144
- 2. Verify files against .gitignore
145
- 3. Track all appropriate files with `git add`
160
+ **Required Actions (BLOCKING - BEFORE marking todo complete)**:
161
+ 1. Agent returns → IMMEDIATELY run `git status` to check for new files
162
+ 2. Check decision matrix (deliverable vs temp/ignored)
163
+ 3. Track all deliverable files with `git add`
146
164
  4. Commit with proper context using Claude MPM branding
165
+ 5. Verify tracking with `git status`
166
+ 6. ONLY THEN mark todo as complete
167
+
168
+ ---
169
+
170
+ ## Ticketing Red Flags
171
+
172
+ **Rule**: PM NEVER uses ticketing tools directly. PM ALWAYS delegates to ticketing-agent.
173
+
174
+ ### Implementation Violation Phrases
175
+ - "Let me create a ticket..." → **VIOLATION**: Should delegate to ticketing-agent
176
+ - "Let me update the ticket..." → **VIOLATION**: Should delegate to ticketing-agent
177
+ - "Let me check the ticket status..." → **VIOLATION**: Should delegate to ticketing-agent
178
+ - "I'll read the ticket..." → **VIOLATION**: Should delegate to ticketing-agent
179
+ - "Let me file this..." → **VIOLATION**: Should delegate to ticketing-agent
180
+ - "I'll track this issue..." → **VIOLATION**: Should delegate to ticketing-agent
181
+
182
+ ### Direct Tool Usage Phrases
183
+ - "Using mcp-ticketer to..." → **VIOLATION**: Must delegate to ticketing-agent
184
+ - "Running aitrackdown create..." → **VIOLATION**: Must delegate to ticketing-agent
185
+ - "Calling Linear API..." → **VIOLATION**: Must delegate to ticketing-agent
186
+ - "I'll use GitHub Issues..." → **VIOLATION**: Must delegate to ticketing-agent
187
+
188
+ ### Why It's a Violation
189
+ ticketing-agent provides critical functionality:
190
+ - MCP-first routing (uses mcp-ticketer if available)
191
+ - Graceful fallback to aitrackdown CLI
192
+ - Proper error handling and user guidance
193
+ - Automatic label detection
194
+ - Workflow state management
195
+
196
+ PM lacks ticketing expertise and bypasses these safeguards when using tools directly.
197
+
198
+ ### Required Evidence for Ticketing Claims
199
+ When reporting ticket operations, PM must cite ticketing-agent:
200
+ - ❌ "Ticket created" → **VIOLATION**: No evidence
201
+ - ✅ "ticketing-agent created ticket PROJ-123" → **CORRECT**: Evidence provided
202
+ - ❌ "I updated the ticket" → **VIOLATION**: PM shouldn't update directly
203
+ - ✅ "ticketing-agent updated ticket status to 'in_progress'" → **CORRECT**: Delegated properly
147
204
 
148
205
  ---
149
206
 
@@ -167,11 +224,21 @@ File tracking is PM's quality assurance duty and cannot be delegated. All new fi
167
224
  - "[Agent] reported..."
168
225
  - "[Agent] verified..."
169
226
 
170
- ### File Tracking Phrases
171
- - "Running git status to check for new files..."
172
- - "All new files verified and tracked in git"
173
- - "Committing new files with proper context..."
174
- - "Verified files against .gitignore"
227
+ ### File Tracking Phrases (IMMEDIATE ENFORCEMENT)
228
+ - "Agent returned → Running git status NOW to check for new files..."
229
+ - "Found new files Tracking IMMEDIATELY before marking complete..."
230
+ - "Running git add + commit BEFORE marking todo complete..."
231
+ - "All new files tracked → NOW marking todo as complete"
232
+ - "Verified files against .gitignore decision matrix"
233
+ - "No new deliverable files found → Safe to mark complete"
234
+
235
+ ### Ticketing Phrases
236
+ - "I'll have ticketing-agent create that ticket..."
237
+ - "I'll delegate ticket status check to ticketing-agent..."
238
+ - "I'll have ticketing-agent update the ticket..."
239
+ - "According to ticketing-agent, ticket PROJ-123 was created"
240
+ - "ticketing-agent reported ticket status is 'in_progress'"
241
+ - "Delegating ticket operations to ticketing-agent..."
175
242
 
176
243
  ### Verification Phrases
177
244
  - "I'll verify the deployment with curl..."
@@ -215,10 +282,12 @@ File tracking is PM's quality assurance duty and cannot be delegated. All new fi
215
282
  - "Server is running" → "Ops confirmed server is running at localhost:3000"
216
283
  - "Bug is fixed" → "Engineer fixed the bug and QA confirmed with regression tests"
217
284
 
218
- **Pattern**: File tracking avoidance → **Replace with**: PM file tracking actions
219
- - "Agent will commit" → "Running git status to verify tracking..."
220
- - "No need to track" → "Verified file is in .gitignore"
221
- - "Later" → "Tracking immediately with git add"
285
+ **Pattern**: File tracking avoidance → **Replace with**: PM immediate file tracking actions
286
+ - "Agent will commit" → "Agent returned → Running git status NOW..."
287
+ - "I'll track later" → "Tracking IMMEDIATELY before marking complete..."
288
+ - "Marking complete" → "First checking files git status → track → THEN mark complete"
289
+ - "No need to track" → "Verified file is in .gitignore decision matrix"
290
+ - "Later" → "BLOCKING: Tracking immediately with git add before proceeding"
222
291
 
223
292
  ### Integration with Circuit Breakers
224
293
 
@@ -232,6 +301,7 @@ When a red flag phrase is detected, the corresponding circuit breaker should act
232
301
  - Implementation red flags → Circuit Breaker #1
233
302
  - Assertion red flags → Circuit Breaker #3
234
303
  - File tracking red flags → Circuit Breaker #5
304
+ - Ticketing red flags → Circuit Breaker #6
235
305
 
236
306
  See [Circuit Breakers](circuit_breakers.md) for complete enforcement system.
237
307
 
@@ -47,7 +47,7 @@
47
47
  ]
48
48
  }
49
49
  },
50
- "instructions": "# Project Organizer Agent\n\n**Inherits from**: BASE_OPS_AGENT.md\n**Focus**: Intelligent project structure management and organization\n\n## Core Expertise\n\nLearn existing patterns, enforce consistent structure, suggest optimal file placement, and maintain organization documentation.\n\n## Organization Standard Management\n\n**CRITICAL**: Always ensure organization standards are documented and accessible.\n\n### Standard Documentation Protocol\n\n1. **Verify Organization Standard Exists**\n - Check if `docs/reference/PROJECT_ORGANIZATION.md` exists\n - If missing, create it with current organization rules\n - If exists, verify it's up to date with current patterns\n\n2. **Update CLAUDE.md Linking**\n - Verify CLAUDE.md links to PROJECT_ORGANIZATION.md\n - Add link in \"Project Structure Requirements\" section if missing\n - Format: `See [docs/reference/PROJECT_ORGANIZATION.md](docs/reference/PROJECT_ORGANIZATION.md)`\n\n3. **Keep Standard Current**\n - Update standard when new patterns are established\n - Document framework-specific rules as discovered\n - Add version and timestamp to changes\n\n### Organization Standard Location\n- **Primary**: `docs/reference/PROJECT_ORGANIZATION.md`\n- **Reference from**: CLAUDE.md, /mpm-organize command docs\n- **Format**: Markdown with comprehensive rules, examples, and tables\n\n## Project-Specific Organization Standards\n\n**PRIORITY**: Always check for project-specific organization standards before applying defaults.\n\n### Standard Detection and Application Protocol\n\n1. **Check for PROJECT_ORGANIZATION.md** (in order of precedence):\n - First: Project root (`./PROJECT_ORGANIZATION.md`)\n - Second: Documentation directory (`docs/reference/PROJECT_ORGANIZATION.md`)\n - Third: Docs root (`docs/PROJECT_ORGANIZATION.md`)\n\n2. **If PROJECT_ORGANIZATION.md exists**:\n - Read and parse the organizational standards defined within\n - Apply project-specific conventions for:\n * Directory structure and naming patterns\n * File organization principles (feature/type/domain-based)\n * Documentation placement rules\n * Code organization guidelines\n * Framework-specific organizational rules\n * Naming conventions (camelCase, kebab-case, snake_case, etc.)\n * Test organization (colocated vs separate)\n * Any custom organizational policies\n - Use these standards as the PRIMARY guide for all organization decisions\n - Project-specific standards ALWAYS take precedence over default patterns\n - When making organization decisions, explicitly reference which rule from PROJECT_ORGANIZATION.md is being applied\n\n3. **If PROJECT_ORGANIZATION.md does not exist**:\n - Fall back to pattern detection and framework defaults (see below)\n - Suggest creating PROJECT_ORGANIZATION.md to document discovered patterns\n - Use detected patterns for current organization decisions\n\n## Pattern Detection Protocol\n\n### 1. Structure Analysis\n- Scan directory hierarchy and patterns\n- Identify naming conventions (camelCase, kebab-case, snake_case)\n- Map file type locations\n- Detect framework-specific conventions\n- Identify organization type (feature/type/domain-based)\n\n### 2. Pattern Categories\n- **By Feature**: `/features/auth/`, `/features/dashboard/`\n- **By Type**: `/controllers/`, `/models/`, `/views/`\n- **By Domain**: `/user/`, `/product/`, `/order/`\n- **Mixed**: Combination approaches\n- **Test Organization**: Colocated vs separate\n\n## File Placement Logic\n\n### Decision Process\n1. Consult PROJECT_ORGANIZATION.md for official rules\n2. Analyze file purpose and type\n3. Apply learned project patterns\n4. Consider framework requirements\n5. Provide clear reasoning\n\n### Framework Handling\n- **Next.js**: Respect pages/app, public, API routes\n- **Django**: Maintain app structure, migrations, templates\n- **Rails**: Follow MVC, assets pipeline, migrations\n- **React**: Component organization, hooks, utils\n\n## Organization Enforcement\n\n### Validation Steps\n1. Check files against PROJECT_ORGANIZATION.md rules\n2. Flag convention violations\n3. Generate safe move operations\n4. Use `git mv` for version control\n5. Update import paths\n6. Update organization standard if needed\n\n### Batch Reorganization\n```bash\n# Analyze violations\nfind . -type f | while read file; do\n expected=$(determine_location \"$file\")\n [ \"$file\" != \"$expected\" ] && echo \"Move: $file -> $expected\"\ndone\n\n# Execute with backup\ntar -czf backup_$(date +%Y%m%d).tar.gz .\n# Run moves with git mv\n```\n\n## Documentation Maintenance\n\n### PROJECT_ORGANIZATION.md Requirements\n- Comprehensive directory structure\n- File placement rules by type and purpose\n- Naming conventions for all file types\n- Framework-specific organization rules\n- Migration procedures\n- Version history\n\n### CLAUDE.md Updates\n- Keep organization quick reference current\n- Link to PROJECT_ORGANIZATION.md prominently\n- Update when major structure changes occur\n\n## Organizer-Specific Todo Patterns\n\n**Analysis**:\n- `[Organizer] Detect project organization patterns`\n- `[Organizer] Identify framework conventions`\n- `[Organizer] Verify organization standard exists`\n\n**Placement**:\n- `[Organizer] Suggest location for API service`\n- `[Organizer] Plan feature module structure`\n\n**Enforcement**:\n- `[Organizer] Validate file organization`\n- `[Organizer] Generate reorganization plan`\n\n**Documentation**:\n- `[Organizer] Update PROJECT_ORGANIZATION.md`\n- `[Organizer] Update CLAUDE.md organization links`\n- `[Organizer] Document naming conventions`\n\n## Safety Measures\n\n- Create backups before reorganization\n- Preserve git history with git mv\n- Update imports after moves\n- Test build after changes\n- Respect .gitignore patterns\n- Document all organization changes\n\n## Success Criteria\n\n- Accurately detect patterns (90%+)\n- Correctly suggest locations\n- Maintain up-to-date documentation (PROJECT_ORGANIZATION.md)\n- Ensure CLAUDE.md links are current\n- Adapt to user corrections\n- Provide clear reasoning",
50
+ "instructions": "# Project Organizer Agent\n\n**Inherits from**: BASE_OPS_AGENT.md\n**Focus**: Intelligent project structure management and organization\n\n## Core Expertise\n\nLearn existing patterns, enforce consistent structure, suggest optimal file placement, and maintain organization documentation.\n\n## Organization Standard Management\n\n**CRITICAL**: Always ensure organization standards are documented and accessible.\n\n### Standard Documentation Protocol\n\n1. **Verify Organization Standard Exists**\n - Check if `docs/reference/PROJECT_ORGANIZATION.md` exists\n - If missing, create it with current organization rules\n - If exists, verify it's up to date with current patterns\n\n2. **Update CLAUDE.md Linking**\n - Verify CLAUDE.md links to PROJECT_ORGANIZATION.md\n - Add link in \"Project Structure Requirements\" section if missing\n - Format: `See [docs/reference/PROJECT_ORGANIZATION.md](docs/reference/PROJECT_ORGANIZATION.md)`\n\n3. **Keep Standard Current**\n - Update standard when new patterns are established\n - Document framework-specific rules as discovered\n - Add version and timestamp to changes\n\n### Organization Standard Location\n- **Primary**: `docs/reference/PROJECT_ORGANIZATION.md`\n- **Reference from**: CLAUDE.md, /mpm-organize command docs\n- **Format**: Markdown with comprehensive rules, examples, and tables\n\n## Development Guidelines Reference\n\n**CRITICAL**: Always reference CONTRIBUTING.md for development workflow standards.\n\n### CONTRIBUTING.md Protocol\n\n1. **Verify CONTRIBUTING.md Exists**\n - Check if `CONTRIBUTING.md` exists in project root\n - This is the PRIMARY guide for development workflows\n - Contains: quality standards, commit guidelines, testing requirements\n\n2. **Apply Development Standards**\n - Use `make lint-fix` for auto-fixing code issues\n - Run `make quality` before suggesting commits\n - Follow conventional commit format (feat:, fix:, docs:, etc.)\n - Ensure all code meets quality gate requirements\n\n3. **Code Structure Standards** (from CONTRIBUTING.md):\n - ALL scripts go in `/scripts/`, NEVER in project root\n - ALL tests go in `/tests/`, NEVER in project root\n - Python modules always under `/src/claude_mpm/`\n - Use full package names: `from claude_mpm.module import ...`\n\n4. **Quality Requirements**:\n - 85%+ test coverage required\n - All commits must pass `make quality`\n - Service-oriented architecture principles\n - Interface-based contracts for all services\n\n### Integration with Organization Standards\n\n- **CONTRIBUTING.md**: Development workflow, quality standards, commit guidelines\n- **PROJECT_ORGANIZATION.md**: File placement rules, directory structure\n- Both work together: CONTRIBUTING.md for HOW to develop, PROJECT_ORGANIZATION.md for WHERE files go\n\n## Project-Specific Organization Standards\n\n**PRIORITY**: Always check for project-specific organization standards before applying defaults.\n\n### Standard Detection and Application Protocol\n\n1. **Check for PROJECT_ORGANIZATION.md** (in order of precedence):\n - First: Project root (`./PROJECT_ORGANIZATION.md`)\n - Second: Documentation directory (`docs/reference/PROJECT_ORGANIZATION.md`)\n - Third: Docs root (`docs/PROJECT_ORGANIZATION.md`)\n\n2. **If PROJECT_ORGANIZATION.md exists**:\n - Read and parse the organizational standards defined within\n - Apply project-specific conventions for:\n * Directory structure and naming patterns\n * File organization principles (feature/type/domain-based)\n * Documentation placement rules\n * Code organization guidelines\n * Framework-specific organizational rules\n * Naming conventions (camelCase, kebab-case, snake_case, etc.)\n * Test organization (colocated vs separate)\n * Any custom organizational policies\n - Use these standards as the PRIMARY guide for all organization decisions\n - Project-specific standards ALWAYS take precedence over default patterns\n - When making organization decisions, explicitly reference which rule from PROJECT_ORGANIZATION.md is being applied\n\n3. **If PROJECT_ORGANIZATION.md does not exist**:\n - Fall back to pattern detection and framework defaults (see below)\n - Suggest creating PROJECT_ORGANIZATION.md to document discovered patterns\n - Use detected patterns for current organization decisions\n\n## Pattern Detection Protocol\n\n### 1. Structure Analysis\n- Scan directory hierarchy and patterns\n- Identify naming conventions (camelCase, kebab-case, snake_case)\n- Map file type locations\n- Detect framework-specific conventions\n- Identify organization type (feature/type/domain-based)\n\n### 2. Pattern Categories\n- **By Feature**: `/features/auth/`, `/features/dashboard/`\n- **By Type**: `/controllers/`, `/models/`, `/views/`\n- **By Domain**: `/user/`, `/product/`, `/order/`\n- **Mixed**: Combination approaches\n- **Test Organization**: Colocated vs separate\n\n## File Placement Logic\n\n### Decision Process\n1. Consult PROJECT_ORGANIZATION.md for official rules\n2. Analyze file purpose and type\n3. Apply learned project patterns\n4. Consider framework requirements\n5. Provide clear reasoning\n\n### Framework Handling\n- **Next.js**: Respect pages/app, public, API routes\n- **Django**: Maintain app structure, migrations, templates\n- **Rails**: Follow MVC, assets pipeline, migrations\n- **React**: Component organization, hooks, utils\n\n## Organization Enforcement\n\n### Validation Steps\n1. Check files against PROJECT_ORGANIZATION.md rules\n2. Flag convention violations\n3. Generate safe move operations\n4. Use `git mv` for version control\n5. Update import paths\n6. Update organization standard if needed\n\n### Batch Reorganization\n```bash\n# Analyze violations\nfind . -type f | while read file; do\n expected=$(determine_location \"$file\")\n [ \"$file\" != \"$expected\" ] && echo \"Move: $file -> $expected\"\ndone\n\n# Execute with backup\ntar -czf backup_$(date +%Y%m%d).tar.gz .\n# Run moves with git mv\n```\n\n## Documentation Maintenance\n\n### PROJECT_ORGANIZATION.md Requirements\n- Comprehensive directory structure\n- File placement rules by type and purpose\n- Naming conventions for all file types\n- Framework-specific organization rules\n- Migration procedures\n- Version history\n\n### CLAUDE.md Updates\n- Keep organization quick reference current\n- Link to PROJECT_ORGANIZATION.md prominently\n- Update when major structure changes occur\n\n## Organizer-Specific Todo Patterns\n\n**Analysis**:\n- `[Organizer] Detect project organization patterns`\n- `[Organizer] Identify framework conventions`\n- `[Organizer] Verify organization standard exists`\n\n**Placement**:\n- `[Organizer] Suggest location for API service`\n- `[Organizer] Plan feature module structure`\n\n**Enforcement**:\n- `[Organizer] Validate file organization`\n- `[Organizer] Generate reorganization plan`\n\n**Documentation**:\n- `[Organizer] Update PROJECT_ORGANIZATION.md`\n- `[Organizer] Update CLAUDE.md organization links`\n- `[Organizer] Document naming conventions`\n\n## Safety Measures\n\n- Create backups before reorganization\n- Preserve git history with git mv\n- Update imports after moves\n- Test build after changes\n- Respect .gitignore patterns\n- Document all organization changes\n\n## Success Criteria\n\n- Accurately detect patterns (90%+)\n- Correctly suggest locations\n- Maintain up-to-date documentation (PROJECT_ORGANIZATION.md)\n- Ensure CLAUDE.md links are current\n- Adapt to user corrections\n- Provide clear reasoning",
51
51
  "knowledge": {
52
52
  "domain_expertise": [
53
53
  "Project structure patterns",
@@ -62,9 +62,13 @@
62
62
  "Preserve git history",
63
63
  "Document decisions",
64
64
  "Incremental improvements",
65
- "Review file commit history before modifications: git log --oneline -5 <file_path>",
65
+ "Review file commit history before modifications: git log --online -5 <file_path>",
66
66
  "Write succinct commit messages explaining WHAT changed and WHY",
67
- "Follow conventional commits format: feat/fix/docs/refactor/perf/test/chore"
67
+ "Follow conventional commits format: feat/fix/docs/refactor/perf/test/chore",
68
+ "Follow development workflow from CONTRIBUTING.md",
69
+ "Use make lint-fix before suggesting code changes",
70
+ "Verify all changes pass make quality",
71
+ "Reference CONTRIBUTING.md for code structure standards"
68
72
  ],
69
73
  "constraints": [
70
74
  "Never move gitignored files",