claude-mpm 4.21.3__py3-none-any.whl → 5.1.9__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (517) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/agents/BASE_PM.md +12 -0
  3. claude_mpm/agents/{OUTPUT_STYLE.md → CLAUDE_MPM_OUTPUT_STYLE.md} +3 -48
  4. claude_mpm/agents/CLAUDE_MPM_TEACHER_OUTPUT_STYLE.md +2002 -0
  5. claude_mpm/agents/PM_INSTRUCTIONS.md +1239 -674
  6. claude_mpm/agents/WORKFLOW.md +75 -2
  7. claude_mpm/agents/__init__.py +6 -0
  8. claude_mpm/agents/agent_loader.py +1 -4
  9. claude_mpm/agents/base_agent.json +6 -3
  10. claude_mpm/agents/base_agent_loader.py +10 -35
  11. claude_mpm/agents/frontmatter_validator.py +69 -1
  12. claude_mpm/agents/templates/circuit-breakers.md +1254 -0
  13. claude_mpm/agents/templates/context-management-examples.md +544 -0
  14. claude_mpm/agents/templates/{pm_red_flags.md → pm-red-flags.md} +89 -19
  15. claude_mpm/agents/templates/pr-workflow-examples.md +427 -0
  16. claude_mpm/agents/templates/research-gate-examples.md +669 -0
  17. claude_mpm/agents/templates/structured-questions-examples.md +615 -0
  18. claude_mpm/agents/templates/ticket-completeness-examples.md +139 -0
  19. claude_mpm/agents/templates/ticketing-examples.md +277 -0
  20. claude_mpm/cli/__init__.py +37 -2
  21. claude_mpm/cli/commands/__init__.py +2 -0
  22. claude_mpm/cli/commands/agent_source.py +774 -0
  23. claude_mpm/cli/commands/agent_state_manager.py +188 -30
  24. claude_mpm/cli/commands/agents.py +1128 -36
  25. claude_mpm/cli/commands/agents_cleanup.py +210 -0
  26. claude_mpm/cli/commands/agents_discover.py +338 -0
  27. claude_mpm/cli/commands/aggregate.py +1 -1
  28. claude_mpm/cli/commands/analyze.py +3 -3
  29. claude_mpm/cli/commands/auto_configure.py +537 -239
  30. claude_mpm/cli/commands/cleanup.py +1 -1
  31. claude_mpm/cli/commands/config.py +7 -4
  32. claude_mpm/cli/commands/configure.py +935 -45
  33. claude_mpm/cli/commands/configure_agent_display.py +4 -4
  34. claude_mpm/cli/commands/configure_navigation.py +63 -46
  35. claude_mpm/cli/commands/debug.py +12 -12
  36. claude_mpm/cli/commands/doctor.py +10 -2
  37. claude_mpm/cli/commands/hook_errors.py +277 -0
  38. claude_mpm/cli/commands/local_deploy.py +1 -4
  39. claude_mpm/cli/commands/mcp_install_commands.py +1 -1
  40. claude_mpm/cli/commands/mpm_init/core.py +50 -2
  41. claude_mpm/cli/commands/mpm_init/git_activity.py +10 -10
  42. claude_mpm/cli/commands/mpm_init/prompts.py +6 -6
  43. claude_mpm/cli/commands/postmortem.py +401 -0
  44. claude_mpm/cli/commands/run.py +125 -167
  45. claude_mpm/cli/commands/skill_source.py +694 -0
  46. claude_mpm/cli/commands/skills.py +757 -20
  47. claude_mpm/cli/executor.py +78 -3
  48. claude_mpm/cli/interactive/agent_wizard.py +1032 -47
  49. claude_mpm/cli/parsers/agent_source_parser.py +171 -0
  50. claude_mpm/cli/parsers/agents_parser.py +310 -4
  51. claude_mpm/cli/parsers/auto_configure_parser.py +13 -0
  52. claude_mpm/cli/parsers/base_parser.py +53 -0
  53. claude_mpm/cli/parsers/config_parser.py +96 -43
  54. claude_mpm/cli/parsers/skill_source_parser.py +169 -0
  55. claude_mpm/cli/parsers/skills_parser.py +145 -0
  56. claude_mpm/cli/parsers/source_parser.py +138 -0
  57. claude_mpm/cli/startup.py +564 -108
  58. claude_mpm/cli/startup_display.py +480 -0
  59. claude_mpm/cli/utils.py +1 -1
  60. claude_mpm/cli_module/commands.py +1 -1
  61. claude_mpm/commands/{mpm-auto-configure.md → mpm-agents-auto-configure.md} +9 -0
  62. claude_mpm/commands/mpm-agents-detect.md +9 -0
  63. claude_mpm/commands/{mpm-agents.md → mpm-agents-list.md} +9 -0
  64. claude_mpm/commands/mpm-agents-recommend.md +9 -0
  65. claude_mpm/commands/{mpm-config.md → mpm-config-view.md} +9 -0
  66. claude_mpm/commands/mpm-doctor.md +9 -0
  67. claude_mpm/commands/mpm-help.md +14 -2
  68. claude_mpm/commands/mpm-init.md +27 -2
  69. claude_mpm/commands/mpm-monitor.md +9 -0
  70. claude_mpm/commands/mpm-postmortem.md +123 -0
  71. claude_mpm/commands/{mpm-resume.md → mpm-session-resume.md} +9 -0
  72. claude_mpm/commands/mpm-status.md +9 -0
  73. claude_mpm/commands/{mpm-organize.md → mpm-ticket-organize.md} +9 -0
  74. claude_mpm/commands/mpm-ticket-view.md +552 -0
  75. claude_mpm/commands/mpm-version.md +9 -0
  76. claude_mpm/commands/mpm.md +10 -0
  77. claude_mpm/config/agent_presets.py +488 -0
  78. claude_mpm/config/agent_sources.py +325 -0
  79. claude_mpm/config/skill_presets.py +392 -0
  80. claude_mpm/config/skill_sources.py +590 -0
  81. claude_mpm/constants.py +13 -0
  82. claude_mpm/core/api_validator.py +1 -1
  83. claude_mpm/core/claude_runner.py +19 -35
  84. claude_mpm/core/config.py +24 -0
  85. claude_mpm/core/constants.py +1 -1
  86. claude_mpm/core/framework/__init__.py +3 -16
  87. claude_mpm/core/framework/loaders/file_loader.py +54 -101
  88. claude_mpm/core/framework/loaders/instruction_loader.py +25 -5
  89. claude_mpm/core/framework/processors/metadata_processor.py +1 -1
  90. claude_mpm/core/hook_error_memory.py +381 -0
  91. claude_mpm/core/hook_manager.py +41 -2
  92. claude_mpm/core/interactive_session.py +131 -10
  93. claude_mpm/core/logger.py +3 -1
  94. claude_mpm/core/oneshot_session.py +110 -8
  95. claude_mpm/core/output_style_manager.py +173 -43
  96. claude_mpm/core/protocols/__init__.py +23 -0
  97. claude_mpm/core/protocols/runner_protocol.py +103 -0
  98. claude_mpm/core/protocols/session_protocol.py +131 -0
  99. claude_mpm/core/shared/singleton_manager.py +11 -4
  100. claude_mpm/core/system_context.py +38 -0
  101. claude_mpm/core/unified_agent_registry.py +129 -1
  102. claude_mpm/core/unified_config.py +22 -0
  103. claude_mpm/dashboard/static/css/activity.css +69 -69
  104. claude_mpm/dashboard/static/css/connection-status.css +10 -10
  105. claude_mpm/dashboard/static/css/dashboard.css +15 -15
  106. claude_mpm/dashboard/static/js/components/activity-tree.js +178 -178
  107. claude_mpm/dashboard/static/js/components/agent-hierarchy.js +101 -101
  108. claude_mpm/dashboard/static/js/components/agent-inference.js +31 -31
  109. claude_mpm/dashboard/static/js/components/build-tracker.js +59 -59
  110. claude_mpm/dashboard/static/js/components/code-simple.js +107 -107
  111. claude_mpm/dashboard/static/js/components/connection-debug.js +101 -101
  112. claude_mpm/dashboard/static/js/components/diff-viewer.js +113 -113
  113. claude_mpm/dashboard/static/js/components/event-viewer.js +12 -12
  114. claude_mpm/dashboard/static/js/components/file-change-tracker.js +57 -57
  115. claude_mpm/dashboard/static/js/components/file-change-viewer.js +74 -74
  116. claude_mpm/dashboard/static/js/components/file-tool-tracker.js +6 -6
  117. claude_mpm/dashboard/static/js/components/file-viewer.js +42 -42
  118. claude_mpm/dashboard/static/js/components/module-viewer.js +27 -27
  119. claude_mpm/dashboard/static/js/components/session-manager.js +14 -14
  120. claude_mpm/dashboard/static/js/components/socket-manager.js +1 -1
  121. claude_mpm/dashboard/static/js/components/ui-state-manager.js +14 -14
  122. claude_mpm/dashboard/static/js/components/unified-data-viewer.js +110 -110
  123. claude_mpm/dashboard/static/js/components/working-directory.js +8 -8
  124. claude_mpm/dashboard/static/js/connection-manager.js +76 -76
  125. claude_mpm/dashboard/static/js/dashboard.js +76 -58
  126. claude_mpm/dashboard/static/js/extension-error-handler.js +22 -22
  127. claude_mpm/dashboard/static/js/socket-client.js +138 -121
  128. claude_mpm/dashboard/templates/code_simple.html +23 -23
  129. claude_mpm/dashboard/templates/index.html +18 -18
  130. claude_mpm/experimental/cli_enhancements.py +1 -5
  131. claude_mpm/hooks/claude_hooks/event_handlers.py +3 -1
  132. claude_mpm/hooks/claude_hooks/hook_handler.py +24 -7
  133. claude_mpm/hooks/claude_hooks/installer.py +45 -0
  134. claude_mpm/hooks/claude_hooks/memory_integration.py +12 -1
  135. claude_mpm/hooks/failure_learning/__init__.py +2 -8
  136. claude_mpm/hooks/failure_learning/failure_detection_hook.py +1 -6
  137. claude_mpm/hooks/failure_learning/fix_detection_hook.py +1 -6
  138. claude_mpm/hooks/failure_learning/learning_extraction_hook.py +1 -6
  139. claude_mpm/hooks/kuzu_response_hook.py +1 -5
  140. claude_mpm/hooks/templates/pre_tool_use_simple.py +78 -0
  141. claude_mpm/hooks/templates/pre_tool_use_template.py +323 -0
  142. claude_mpm/models/agent_definition.py +7 -0
  143. claude_mpm/models/git_repository.py +198 -0
  144. claude_mpm/scripts/claude-hook-handler.sh +3 -3
  145. claude_mpm/scripts/start_activity_logging.py +3 -1
  146. claude_mpm/services/agents/agent_builder.py +45 -9
  147. claude_mpm/services/agents/agent_preset_service.py +238 -0
  148. claude_mpm/services/agents/agent_selection_service.py +484 -0
  149. claude_mpm/services/agents/auto_deploy_index_parser.py +569 -0
  150. claude_mpm/services/agents/cache_git_manager.py +621 -0
  151. claude_mpm/services/agents/deployment/agent_deployment.py +126 -2
  152. claude_mpm/services/agents/deployment/agent_discovery_service.py +105 -73
  153. claude_mpm/services/agents/deployment/agent_format_converter.py +1 -1
  154. claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +1 -5
  155. claude_mpm/services/agents/deployment/agent_metrics_collector.py +3 -3
  156. claude_mpm/services/agents/deployment/agent_restore_handler.py +1 -4
  157. claude_mpm/services/agents/deployment/agent_template_builder.py +236 -15
  158. claude_mpm/services/agents/deployment/agents_directory_resolver.py +101 -15
  159. claude_mpm/services/agents/deployment/async_agent_deployment.py +2 -1
  160. claude_mpm/services/agents/deployment/facade/deployment_facade.py +3 -3
  161. claude_mpm/services/agents/deployment/multi_source_deployment_service.py +225 -18
  162. claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +2 -2
  163. claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +1 -4
  164. claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +557 -0
  165. claude_mpm/services/agents/deployment/single_agent_deployer.py +2 -2
  166. claude_mpm/services/agents/deployment/system_instructions_deployer.py +168 -46
  167. claude_mpm/services/agents/deployment/validation/deployment_validator.py +2 -2
  168. claude_mpm/services/agents/git_source_manager.py +629 -0
  169. claude_mpm/services/agents/loading/framework_agent_loader.py +9 -12
  170. claude_mpm/services/agents/local_template_manager.py +50 -10
  171. claude_mpm/services/agents/single_tier_deployment_service.py +696 -0
  172. claude_mpm/services/agents/sources/__init__.py +13 -0
  173. claude_mpm/services/agents/sources/agent_sync_state.py +516 -0
  174. claude_mpm/services/agents/sources/git_source_sync_service.py +1087 -0
  175. claude_mpm/services/agents/startup_sync.py +239 -0
  176. claude_mpm/services/agents/toolchain_detector.py +474 -0
  177. claude_mpm/services/analysis/__init__.py +25 -0
  178. claude_mpm/services/analysis/postmortem_reporter.py +474 -0
  179. claude_mpm/services/analysis/postmortem_service.py +765 -0
  180. claude_mpm/services/cli/session_pause_manager.py +1 -1
  181. claude_mpm/services/cli/unified_dashboard_manager.py +1 -1
  182. claude_mpm/services/command_deployment_service.py +200 -6
  183. claude_mpm/services/core/base.py +7 -2
  184. claude_mpm/services/core/interfaces/__init__.py +1 -3
  185. claude_mpm/services/core/interfaces/health.py +1 -4
  186. claude_mpm/services/core/models/__init__.py +2 -11
  187. claude_mpm/services/diagnostics/checks/__init__.py +4 -0
  188. claude_mpm/services/diagnostics/checks/agent_check.py +0 -2
  189. claude_mpm/services/diagnostics/checks/agent_sources_check.py +577 -0
  190. claude_mpm/services/diagnostics/checks/instructions_check.py +1 -2
  191. claude_mpm/services/diagnostics/checks/mcp_check.py +0 -1
  192. claude_mpm/services/diagnostics/checks/mcp_services_check.py +7 -15
  193. claude_mpm/services/diagnostics/checks/monitor_check.py +0 -1
  194. claude_mpm/services/diagnostics/checks/skill_sources_check.py +587 -0
  195. claude_mpm/services/diagnostics/diagnostic_runner.py +9 -0
  196. claude_mpm/services/diagnostics/doctor_reporter.py +40 -10
  197. claude_mpm/services/event_bus/direct_relay.py +3 -3
  198. claude_mpm/services/event_bus/event_bus.py +36 -3
  199. claude_mpm/services/events/consumers/logging.py +1 -2
  200. claude_mpm/services/git/__init__.py +21 -0
  201. claude_mpm/services/git/git_operations_service.py +494 -0
  202. claude_mpm/services/github/__init__.py +21 -0
  203. claude_mpm/services/github/github_cli_service.py +397 -0
  204. claude_mpm/services/infrastructure/monitoring/__init__.py +1 -5
  205. claude_mpm/services/infrastructure/monitoring/aggregator.py +1 -6
  206. claude_mpm/services/infrastructure/monitoring/resources.py +1 -1
  207. claude_mpm/services/instructions/__init__.py +9 -0
  208. claude_mpm/services/instructions/instruction_cache_service.py +374 -0
  209. claude_mpm/services/local_ops/__init__.py +3 -13
  210. claude_mpm/services/local_ops/health_checks/__init__.py +1 -3
  211. claude_mpm/services/local_ops/health_manager.py +1 -4
  212. claude_mpm/services/local_ops/process_manager.py +1 -1
  213. claude_mpm/services/local_ops/resource_monitor.py +2 -2
  214. claude_mpm/services/mcp_config_manager.py +75 -145
  215. claude_mpm/services/mcp_gateway/config/configuration.py +1 -1
  216. claude_mpm/services/mcp_gateway/core/process_pool.py +22 -16
  217. claude_mpm/services/mcp_gateway/server/mcp_gateway.py +1 -6
  218. claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -2
  219. claude_mpm/services/mcp_gateway/tools/document_summarizer.py +1 -1
  220. claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +6 -2
  221. claude_mpm/services/mcp_service_verifier.py +6 -3
  222. claude_mpm/services/memory/optimizer.py +1 -1
  223. claude_mpm/services/model/model_router.py +8 -9
  224. claude_mpm/services/monitor/daemon.py +29 -9
  225. claude_mpm/services/monitor/daemon_manager.py +96 -19
  226. claude_mpm/services/monitor/server.py +2 -2
  227. claude_mpm/services/native_agent_converter.py +356 -0
  228. claude_mpm/services/port_manager.py +1 -1
  229. claude_mpm/services/pr/__init__.py +14 -0
  230. claude_mpm/services/pr/pr_template_service.py +329 -0
  231. claude_mpm/services/project/documentation_manager.py +2 -1
  232. claude_mpm/services/project/project_organizer.py +4 -0
  233. claude_mpm/services/project/toolchain_analyzer.py +3 -1
  234. claude_mpm/services/runner_configuration_service.py +17 -3
  235. claude_mpm/services/self_upgrade_service.py +165 -7
  236. claude_mpm/services/session_management_service.py +16 -4
  237. claude_mpm/services/skills/__init__.py +18 -0
  238. claude_mpm/services/skills/git_skill_source_manager.py +1169 -0
  239. claude_mpm/services/skills/skill_discovery_service.py +568 -0
  240. claude_mpm/services/skills_config.py +547 -0
  241. claude_mpm/services/skills_deployer.py +955 -0
  242. claude_mpm/services/socketio/handlers/connection.py +1 -1
  243. claude_mpm/services/socketio/handlers/git.py +2 -2
  244. claude_mpm/services/socketio/server/core.py +1 -4
  245. claude_mpm/services/socketio/server/main.py +1 -3
  246. claude_mpm/services/system_instructions_service.py +1 -3
  247. claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +0 -3
  248. claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +0 -1
  249. claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +1 -1
  250. claude_mpm/services/unified/deployment_strategies/vercel.py +1 -5
  251. claude_mpm/services/unified/unified_deployment.py +1 -5
  252. claude_mpm/services/version_control/conflict_resolution.py +6 -4
  253. claude_mpm/services/visualization/__init__.py +1 -5
  254. claude_mpm/services/visualization/mermaid_generator.py +2 -3
  255. claude_mpm/skills/bundled/infrastructure/env-manager/scripts/validate_env.py +576 -0
  256. claude_mpm/skills/bundled/performance-profiling.md +6 -0
  257. claude_mpm/skills/bundled/testing/webapp-testing/scripts/with_server.py +2 -2
  258. claude_mpm/skills/skills_registry.py +0 -1
  259. claude_mpm/templates/questions/__init__.py +38 -0
  260. claude_mpm/templates/questions/base.py +193 -0
  261. claude_mpm/templates/questions/pr_strategy.py +311 -0
  262. claude_mpm/templates/questions/project_init.py +385 -0
  263. claude_mpm/templates/questions/ticket_mgmt.py +394 -0
  264. claude_mpm/tools/__main__.py +8 -8
  265. claude_mpm/tools/code_tree_analyzer/analysis.py +1 -1
  266. claude_mpm/utils/agent_dependency_loader.py +80 -13
  267. claude_mpm/utils/agent_filters.py +288 -0
  268. claude_mpm/utils/dependency_cache.py +3 -1
  269. claude_mpm/utils/gitignore.py +244 -0
  270. claude_mpm/utils/log_cleanup.py +3 -3
  271. claude_mpm/utils/migration.py +372 -0
  272. claude_mpm/utils/progress.py +387 -0
  273. claude_mpm/utils/robust_installer.py +3 -5
  274. claude_mpm/utils/structured_questions.py +619 -0
  275. {claude_mpm-4.21.3.dist-info → claude_mpm-5.1.9.dist-info}/METADATA +496 -65
  276. {claude_mpm-4.21.3.dist-info → claude_mpm-5.1.9.dist-info}/RECORD +284 -443
  277. claude_mpm/agents/templates/.claude-mpm/memories/README.md +0 -17
  278. claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md +0 -3
  279. claude_mpm/agents/templates/agent-manager.json +0 -273
  280. claude_mpm/agents/templates/agentic-coder-optimizer.json +0 -248
  281. claude_mpm/agents/templates/api_qa.json +0 -180
  282. claude_mpm/agents/templates/circuit_breakers.md +0 -638
  283. claude_mpm/agents/templates/clerk-ops.json +0 -235
  284. claude_mpm/agents/templates/code_analyzer.json +0 -101
  285. claude_mpm/agents/templates/content-agent.json +0 -358
  286. claude_mpm/agents/templates/dart_engineer.json +0 -307
  287. claude_mpm/agents/templates/data_engineer.json +0 -225
  288. claude_mpm/agents/templates/documentation.json +0 -211
  289. claude_mpm/agents/templates/engineer.json +0 -210
  290. claude_mpm/agents/templates/gcp_ops_agent.json +0 -253
  291. claude_mpm/agents/templates/golang_engineer.json +0 -270
  292. claude_mpm/agents/templates/imagemagick.json +0 -264
  293. claude_mpm/agents/templates/java_engineer.json +0 -346
  294. claude_mpm/agents/templates/local_ops_agent.json +0 -1840
  295. claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md +0 -39
  296. claude_mpm/agents/templates/logs/prompts/agent_engineer_20250901_010124_142.md +0 -400
  297. claude_mpm/agents/templates/memory_manager.json +0 -158
  298. claude_mpm/agents/templates/nextjs_engineer.json +0 -285
  299. claude_mpm/agents/templates/ops.json +0 -185
  300. claude_mpm/agents/templates/php-engineer.json +0 -287
  301. claude_mpm/agents/templates/product_owner.json +0 -338
  302. claude_mpm/agents/templates/project_organizer.json +0 -140
  303. claude_mpm/agents/templates/prompt-engineer.json +0 -737
  304. claude_mpm/agents/templates/python_engineer.json +0 -387
  305. claude_mpm/agents/templates/qa.json +0 -242
  306. claude_mpm/agents/templates/react_engineer.json +0 -238
  307. claude_mpm/agents/templates/refactoring_engineer.json +0 -276
  308. claude_mpm/agents/templates/research.json +0 -188
  309. claude_mpm/agents/templates/ruby-engineer.json +0 -280
  310. claude_mpm/agents/templates/rust_engineer.json +0 -275
  311. claude_mpm/agents/templates/security.json +0 -202
  312. claude_mpm/agents/templates/svelte-engineer.json +0 -225
  313. claude_mpm/agents/templates/ticketing.json +0 -177
  314. claude_mpm/agents/templates/typescript_engineer.json +0 -285
  315. claude_mpm/agents/templates/vercel_ops_agent.json +0 -412
  316. claude_mpm/agents/templates/version_control.json +0 -157
  317. claude_mpm/agents/templates/web_qa.json +0 -399
  318. claude_mpm/agents/templates/web_ui.json +0 -189
  319. claude_mpm/commands/mpm-tickets.md +0 -102
  320. claude_mpm/dashboard/.claude-mpm/socketio-instances.json +0 -1
  321. claude_mpm/dashboard/react/components/DataInspector/DataInspector.module.css +0 -188
  322. claude_mpm/dashboard/react/components/EventViewer/EventViewer.module.css +0 -156
  323. claude_mpm/dashboard/react/components/shared/ConnectionStatus.module.css +0 -38
  324. claude_mpm/dashboard/react/components/shared/FilterBar.module.css +0 -92
  325. claude_mpm/dashboard/static/archive/activity_dashboard_fixed.html +0 -248
  326. claude_mpm/dashboard/static/archive/activity_dashboard_test.html +0 -61
  327. claude_mpm/dashboard/static/archive/test_activity_connection.html +0 -179
  328. claude_mpm/dashboard/static/archive/test_claude_tree_tab.html +0 -68
  329. claude_mpm/dashboard/static/archive/test_dashboard.html +0 -409
  330. claude_mpm/dashboard/static/archive/test_dashboard_fixed.html +0 -519
  331. claude_mpm/dashboard/static/archive/test_dashboard_verification.html +0 -181
  332. claude_mpm/dashboard/static/archive/test_file_data.html +0 -315
  333. claude_mpm/dashboard/static/archive/test_file_tree_empty_state.html +0 -243
  334. claude_mpm/dashboard/static/archive/test_file_tree_fix.html +0 -234
  335. claude_mpm/dashboard/static/archive/test_file_tree_rename.html +0 -117
  336. claude_mpm/dashboard/static/archive/test_file_tree_tab.html +0 -115
  337. claude_mpm/dashboard/static/archive/test_file_viewer.html +0 -224
  338. claude_mpm/dashboard/static/archive/test_final_activity.html +0 -220
  339. claude_mpm/dashboard/static/archive/test_tab_fix.html +0 -139
  340. claude_mpm/dashboard/static/built/assets/events.DjpNxWNo.css +0 -1
  341. claude_mpm/dashboard/static/built/components/activity-tree.js +0 -2
  342. claude_mpm/dashboard/static/built/components/agent-hierarchy.js +0 -777
  343. claude_mpm/dashboard/static/built/components/agent-inference.js +0 -2
  344. claude_mpm/dashboard/static/built/components/build-tracker.js +0 -333
  345. claude_mpm/dashboard/static/built/components/code-simple.js +0 -857
  346. claude_mpm/dashboard/static/built/components/code-tree/tree-breadcrumb.js +0 -353
  347. claude_mpm/dashboard/static/built/components/code-tree/tree-constants.js +0 -235
  348. claude_mpm/dashboard/static/built/components/code-tree/tree-search.js +0 -409
  349. claude_mpm/dashboard/static/built/components/code-tree/tree-utils.js +0 -435
  350. claude_mpm/dashboard/static/built/components/code-tree.js +0 -2
  351. claude_mpm/dashboard/static/built/components/code-viewer.js +0 -2
  352. claude_mpm/dashboard/static/built/components/connection-debug.js +0 -654
  353. claude_mpm/dashboard/static/built/components/diff-viewer.js +0 -891
  354. claude_mpm/dashboard/static/built/components/event-processor.js +0 -2
  355. claude_mpm/dashboard/static/built/components/event-viewer.js +0 -2
  356. claude_mpm/dashboard/static/built/components/export-manager.js +0 -2
  357. claude_mpm/dashboard/static/built/components/file-change-tracker.js +0 -443
  358. claude_mpm/dashboard/static/built/components/file-change-viewer.js +0 -690
  359. claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -2
  360. claude_mpm/dashboard/static/built/components/file-viewer.js +0 -2
  361. claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -2
  362. claude_mpm/dashboard/static/built/components/hud-manager.js +0 -2
  363. claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -2
  364. claude_mpm/dashboard/static/built/components/module-viewer.js +0 -2
  365. claude_mpm/dashboard/static/built/components/nav-bar.js +0 -145
  366. claude_mpm/dashboard/static/built/components/page-structure.js +0 -429
  367. claude_mpm/dashboard/static/built/components/session-manager.js +0 -2
  368. claude_mpm/dashboard/static/built/components/socket-manager.js +0 -2
  369. claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -2
  370. claude_mpm/dashboard/static/built/components/unified-data-viewer.js +0 -2
  371. claude_mpm/dashboard/static/built/components/working-directory.js +0 -2
  372. claude_mpm/dashboard/static/built/connection-manager.js +0 -536
  373. claude_mpm/dashboard/static/built/dashboard.js +0 -2
  374. claude_mpm/dashboard/static/built/extension-error-handler.js +0 -164
  375. claude_mpm/dashboard/static/built/react/events.js +0 -30
  376. claude_mpm/dashboard/static/built/shared/dom-helpers.js +0 -396
  377. claude_mpm/dashboard/static/built/shared/event-bus.js +0 -330
  378. claude_mpm/dashboard/static/built/shared/event-filter-service.js +0 -540
  379. claude_mpm/dashboard/static/built/shared/logger.js +0 -385
  380. claude_mpm/dashboard/static/built/shared/page-structure.js +0 -249
  381. claude_mpm/dashboard/static/built/shared/tooltip-service.js +0 -253
  382. claude_mpm/dashboard/static/built/socket-client.js +0 -2
  383. claude_mpm/dashboard/static/built/tab-isolation-fix.js +0 -185
  384. claude_mpm/dashboard/static/dist/assets/events.DjpNxWNo.css +0 -1
  385. claude_mpm/dashboard/static/dist/components/activity-tree.js +0 -2
  386. claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -2
  387. claude_mpm/dashboard/static/dist/components/code-tree.js +0 -2
  388. claude_mpm/dashboard/static/dist/components/code-viewer.js +0 -2
  389. claude_mpm/dashboard/static/dist/components/event-processor.js +0 -2
  390. claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -2
  391. claude_mpm/dashboard/static/dist/components/export-manager.js +0 -2
  392. claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -2
  393. claude_mpm/dashboard/static/dist/components/file-viewer.js +0 -2
  394. claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -2
  395. claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -2
  396. claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -2
  397. claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -2
  398. claude_mpm/dashboard/static/dist/components/session-manager.js +0 -2
  399. claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -2
  400. claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -2
  401. claude_mpm/dashboard/static/dist/components/unified-data-viewer.js +0 -2
  402. claude_mpm/dashboard/static/dist/components/working-directory.js +0 -2
  403. claude_mpm/dashboard/static/dist/dashboard.js +0 -2
  404. claude_mpm/dashboard/static/dist/react/events.js +0 -30
  405. claude_mpm/dashboard/static/dist/socket-client.js +0 -2
  406. claude_mpm/dashboard/static/events.html +0 -607
  407. claude_mpm/dashboard/static/index.html +0 -635
  408. claude_mpm/dashboard/static/js/shared/dom-helpers.js +0 -396
  409. claude_mpm/dashboard/static/js/shared/event-bus.js +0 -330
  410. claude_mpm/dashboard/static/js/shared/logger.js +0 -385
  411. claude_mpm/dashboard/static/js/shared/tooltip-service.js +0 -253
  412. claude_mpm/dashboard/static/js/stores/dashboard-store.js +0 -562
  413. claude_mpm/dashboard/static/legacy/activity.html +0 -736
  414. claude_mpm/dashboard/static/legacy/agents.html +0 -786
  415. claude_mpm/dashboard/static/legacy/files.html +0 -747
  416. claude_mpm/dashboard/static/legacy/tools.html +0 -831
  417. claude_mpm/dashboard/static/monitors.html +0 -431
  418. claude_mpm/dashboard/static/production/events.html +0 -659
  419. claude_mpm/dashboard/static/production/main.html +0 -698
  420. claude_mpm/dashboard/static/production/monitors.html +0 -483
  421. claude_mpm/dashboard/static/test-archive/dashboard.html +0 -635
  422. claude_mpm/dashboard/static/test-archive/debug-events.html +0 -147
  423. claude_mpm/dashboard/static/test-archive/test-navigation.html +0 -256
  424. claude_mpm/dashboard/static/test-archive/test-react-exports.html +0 -180
  425. claude_mpm/dashboard/static/test-archive/test_debug.html +0 -25
  426. claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +0 -79
  427. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +0 -178
  428. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +0 -577
  429. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +0 -467
  430. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +0 -537
  431. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +0 -730
  432. claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +0 -112
  433. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +0 -146
  434. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +0 -412
  435. claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +0 -81
  436. claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +0 -362
  437. claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +0 -312
  438. claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +0 -152
  439. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +0 -668
  440. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +0 -587
  441. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +0 -438
  442. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +0 -391
  443. claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +0 -119
  444. claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +0 -148
  445. claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +0 -483
  446. claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +0 -452
  447. claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +0 -449
  448. claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +0 -411
  449. claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +0 -14
  450. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +0 -58
  451. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +0 -68
  452. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +0 -69
  453. claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +0 -131
  454. claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +0 -325
  455. claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +0 -490
  456. claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +0 -425
  457. claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +0 -499
  458. claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +0 -86
  459. claude_mpm/skills/bundled/main/internal-comms/SKILL.md +0 -43
  460. claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +0 -47
  461. claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +0 -65
  462. claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +0 -30
  463. claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +0 -16
  464. claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +0 -160
  465. claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +0 -412
  466. claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +0 -602
  467. claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +0 -915
  468. claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +0 -916
  469. claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +0 -752
  470. claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +0 -1237
  471. claude_mpm/skills/bundled/main/skill-creator/SKILL.md +0 -189
  472. claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +0 -500
  473. claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +0 -464
  474. claude_mpm/skills/bundled/main/skill-creator/references/examples.md +0 -619
  475. claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +0 -437
  476. claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +0 -231
  477. claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +0 -170
  478. claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +0 -602
  479. claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +0 -821
  480. claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +0 -742
  481. claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +0 -726
  482. claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +0 -764
  483. claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +0 -831
  484. claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +0 -226
  485. claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +0 -901
  486. claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +0 -901
  487. claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +0 -775
  488. claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +0 -937
  489. claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +0 -770
  490. claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +0 -961
  491. claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +0 -119
  492. claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +0 -253
  493. claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +0 -145
  494. claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +0 -543
  495. claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +0 -741
  496. claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +0 -470
  497. claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +0 -458
  498. claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +0 -639
  499. claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +0 -140
  500. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +0 -572
  501. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +0 -411
  502. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +0 -569
  503. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +0 -695
  504. claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +0 -184
  505. claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +0 -459
  506. claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +0 -479
  507. claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +0 -687
  508. claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +0 -758
  509. claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +0 -868
  510. /claude_mpm/agents/templates/{git_file_tracking.md → git-file-tracking.md} +0 -0
  511. /claude_mpm/agents/templates/{pm_examples.md → pm-examples.md} +0 -0
  512. /claude_mpm/agents/templates/{response_format.md → response-format.md} +0 -0
  513. /claude_mpm/agents/templates/{validation_templates.md → validation-templates.md} +0 -0
  514. {claude_mpm-4.21.3.dist-info → claude_mpm-5.1.9.dist-info}/WHEEL +0 -0
  515. {claude_mpm-4.21.3.dist-info → claude_mpm-5.1.9.dist-info}/entry_points.txt +0 -0
  516. {claude_mpm-4.21.3.dist-info → claude_mpm-5.1.9.dist-info}/licenses/LICENSE +0 -0
  517. {claude_mpm-4.21.3.dist-info → claude_mpm-5.1.9.dist-info}/top_level.txt +0 -0
@@ -1,65 +0,0 @@
1
- ## Instructions
2
- You are being asked to write a company-wide newsletter update. You are meant to summarize the past week/month of a company in the form of a newsletter that the entire company will read. It should be maybe ~20-25 bullet points long. It will be sent via Slack and email, so make it consumable for that.
3
-
4
- Ideally it includes the following attributes:
5
- - Lots of links: pulling documents from Google Drive that are very relevant, linking to prominent Slack messages in announce channels and from executives, perhgaps referencing emails that went company-wide, highlighting significant things that have happened in the company.
6
- - Short and to-the-point: each bullet should probably be no longer than ~1-2 sentences
7
- - Use the "we" tense, as you are part of the company. Many of the bullets should say "we did this" or "we did that"
8
-
9
- ## Tools to use
10
- If you have access to the following tools, please try to use them. If not, you can also let the user know directly that their responses would be better if they gave them access.
11
-
12
- - Slack: look for messages in channels with lots of people, with lots of reactions or lots of responses within the thread
13
- - Email: look for things from executives that discuss company-wide announcements
14
- - Calendar: if there were meetings with large attendee lists, particularly things like All-Hands meetings, big company announcements, etc. If there were documents attached to those meetings, those are great links to include.
15
- - Documents: if there were new docs published in the last week or two that got a lot of attention, you can link them. These should be things like company-wide vision docs, plans for the upcoming quarter or half, things authored by critical executives, etc.
16
- - External press: if you see references to articles or press we've received over the past week, that could be really cool too.
17
-
18
- If you don't have access to any of these things, you can ask the user for things they want to cover. In this case, you'll mostly just be polishing up and fitting to this format more directly.
19
-
20
- ## Sections
21
- The company is pretty big: 1000+ people. There are a variety of different teams and initiatives going on across the company. To make sure the update works well, try breaking it into sections of similar things. You might break into clusters like {product development, go to market, finance} or {recruiting, execution, vision}, or {external news, internal news} etc. Try to make sure the different areas of the company are highlighted well.
22
-
23
- ## Prioritization
24
- Focus on:
25
- - Company-wide impact (not team-specific details)
26
- - Announcements from leadership
27
- - Major milestones and achievements
28
- - Information that affects most employees
29
- - External recognition or press
30
-
31
- Avoid:
32
- - Overly granular team updates (save those for 3Ps)
33
- - Information only relevant to small groups
34
- - Duplicate information already communicated
35
-
36
- ## Example Formats
37
-
38
- :megaphone: Company Announcements
39
- - Announcement 1
40
- - Announcement 2
41
- - Announcement 3
42
-
43
- :dart: Progress on Priorities
44
- - Area 1
45
- - Sub-area 1
46
- - Sub-area 2
47
- - Sub-area 3
48
- - Area 2
49
- - Sub-area 1
50
- - Sub-area 2
51
- - Sub-area 3
52
- - Area 3
53
- - Sub-area 1
54
- - Sub-area 2
55
- - Sub-area 3
56
-
57
- :pillar: Leadership Updates
58
- - Post 1
59
- - Post 2
60
- - Post 3
61
-
62
- :thread: Social Updates
63
- - Update 1
64
- - Update 2
65
- - Update 3
@@ -1,30 +0,0 @@
1
- ## Instructions
2
- You are an assistant for answering questions that are being asked across the company. Every week, there are lots of questions that get asked across the company, and your goal is to try to summarize what those questions are. We want our company to be well-informed and on the same page, so your job is to produce a set of frequently asked questions that our employees are asking and attempt to answer them. Your singular job is to do two things:
3
-
4
- - Find questions that are big sources of confusion for lots of employees at the company, generally about things that affect a large portion of the employee base
5
- - Attempt to give a nice summarized answer to that question in order to minimize confusion.
6
-
7
- Some examples of areas that may be interesting to folks: recent corporate events (fundraising, new executives, etc.), upcoming launches, hiring progress, changes to vision or focus, etc.
8
-
9
-
10
- ## Tools Available
11
- You should use the company's available tools, where communication and work happens. For most companies, it looks something like this:
12
- - Slack: questions being asked across the company - it could be questions in response to posts with lots of responses, questions being asked with lots of reactions or thumbs up to show support, or anything else to show that a large number of employees want to ask the same things
13
- - Email: emails with FAQs written directly in them can be a good source as well
14
- - Documents: docs in places like Google Drive, linked on calendar events, etc. can also be a good source of FAQs, either directly added or inferred based on the contents of the doc
15
-
16
- ## Formatting
17
- The formatting should be pretty basic:
18
-
19
- - *Question*: [insert question - 1 sentence]
20
- - *Answer*: [insert answer - 1-2 sentence]
21
-
22
- ## Guidance
23
- Make sure you're being holistic in your questions. Don't focus too much on just the user in question or the team they are a part of, but try to capture the entire company. Try to be as holistic as you can in reading all the tools available, producing responses that are relevant to all at the company.
24
-
25
- ## Answer Guidelines
26
- - Base answers on official company communications when possible
27
- - If information is uncertain, indicate that clearly
28
- - Link to authoritative sources (docs, announcements, emails)
29
- - Keep tone professional but approachable
30
- - Flag if a question requires executive input or official response
@@ -1,16 +0,0 @@
1
- ## Instructions
2
- You are being asked to write internal company communication that doesn't fit into the standard formats (3P
3
- updates, newsletters, or FAQs).
4
-
5
- Before proceeding:
6
- 1. Ask the user about their target audience
7
- 2. Understand the communication's purpose
8
- 3. Clarify the desired tone (formal, casual, urgent, informational)
9
- 4. Confirm any specific formatting requirements
10
-
11
- Use these general principles:
12
- - Be clear and concise
13
- - Use active voice
14
- - Put the most important information first
15
- - Include relevant links and references
16
- - Match the company's communication style
@@ -1,160 +0,0 @@
1
- ---
2
- name: mcp-builder
3
- description: Create high-quality MCP servers that enable LLMs to effectively interact with external services. Use when building MCP integrations for APIs or services in Python (FastMCP) or Node/TypeScript (MCP SDK).
4
- license: Complete terms in LICENSE.txt
5
- progressive_disclosure:
6
- entry_point:
7
- summary: "Build agent-friendly MCP servers through research-driven design, thoughtful implementation, and evaluation-based iteration"
8
- when_to_use: "When integrating external APIs/services via MCP protocol. Prioritize agent workflows over API wrappers, optimize for context efficiency, design actionable errors."
9
- quick_start: "1. Research protocol & API docs 2. Plan agent-centric tools 3. Implement with validation 4. Create evaluations 5. Iterate based on agent feedback"
10
- references:
11
- - design_principles.md
12
- - workflow.md
13
- - mcp_best_practices.md
14
- - python_mcp_server.md
15
- - node_mcp_server.md
16
- - evaluation.md
17
- ---
18
-
19
- # MCP Server Development Guide
20
-
21
- ## Overview
22
-
23
- Build high-quality MCP (Model Context Protocol) servers that enable LLMs to accomplish real-world tasks through well-designed tools. Quality is measured not by API coverage, but by how effectively agents can use your tools to complete realistic workflows.
24
-
25
- **Core insight:** MCP servers expose tools for AI agents, not human users. Design for agent constraints (limited context, no visual UI, workflow-oriented) rather than human convenience.
26
-
27
- ## When to Use This Skill
28
-
29
- Activate when:
30
- - Building MCP servers for external API integration
31
- - Adding tools to existing MCP servers
32
- - Improving MCP server tool design for better agent usability
33
- - Creating evaluations to test MCP server effectiveness
34
- - Debugging why agents struggle with your MCP tools
35
-
36
- **Language Support:**
37
- - Python: FastMCP framework (recommended for rapid development)
38
- - Node/TypeScript: MCP SDK (recommended for production services)
39
-
40
- ## The Iron Law
41
-
42
- ```
43
- DESIGN FOR AGENTS, NOT HUMANS
44
-
45
- Every tool must optimize for:
46
- - Context efficiency (agents have limited tokens)
47
- - Workflow completion (not just API calls)
48
- - Actionable errors (guide agents to success)
49
- - Natural task subdivision (how agents think)
50
- ```
51
-
52
- If your tools are just thin API wrappers, you're violating the Iron Law.
53
-
54
- ## Core Principles
55
-
56
- 1. **Agent-Centric Design First**: Study design principles before coding. Tools should enable workflows, not mirror APIs.
57
-
58
- 2. **Research-Driven Planning**: Load MCP docs, SDK docs, and exhaustive API documentation before writing code.
59
-
60
- 3. **Evaluation-Based Iteration**: Create realistic evaluations early. Let agent feedback drive improvements.
61
-
62
- 4. **Context Optimization**: Every response token matters. Default to concise, offer detailed when needed.
63
-
64
- 5. **Actionable Errors**: Error messages should teach agents correct usage patterns.
65
-
66
- ## Quick Start
67
-
68
- ### Phase 1: Research and Planning (40% of effort)
69
- 1. **Study Design Principles**: Load [design_principles.md](./reference/design_principles.md) to understand agent-centric design
70
- 2. **Load Protocol Docs**: Fetch `https://modelcontextprotocol.io/llms-full.txt` for MCP specification
71
- 3. **Study SDK Docs**: Load Python or TypeScript SDK documentation from GitHub
72
- 4. **Study API Exhaustively**: Read ALL API documentation, endpoints, authentication, rate limits
73
- 5. **Create Implementation Plan**: Define tools, shared utilities, pagination strategy, error handling
74
-
75
- See [workflow.md](./reference/workflow.md) for complete Phase 1 steps.
76
-
77
- ### Phase 2: Implementation (30% of effort)
78
- 1. **Setup Project**: Create structure following language-specific guide
79
- 2. **Build Shared Utilities**: API helpers, error handlers, formatters BEFORE tools
80
- 3. **Implement Tools**: Use Pydantic (Python) or Zod (TypeScript) for validation
81
- 4. **Follow Best Practices**: Load language-specific guide for patterns
82
-
83
- See [workflow.md](./reference/workflow.md) for complete Phase 2 steps and language guides.
84
-
85
- ### Phase 3: Review and Refine (15% of effort)
86
- 1. **Code Quality Review**: Check DRY, composability, consistency, type safety
87
- 2. **Test Build**: Verify syntax, imports, build process
88
- 3. **Quality Checklist**: Use language-specific checklist
89
-
90
- See [workflow.md](./reference/workflow.md) for complete Phase 3 steps.
91
-
92
- ### Phase 4: Create Evaluations (15% of effort)
93
- 1. **Understand Purpose**: Evaluations test if agents can answer realistic questions using your tools
94
- 2. **Create 10 Questions**: Complex, read-only, independent, verifiable questions
95
- 3. **Verify Answers**: Solve yourself to ensure stability and correctness
96
- 4. **Run Evaluation**: Use provided scripts to test agent effectiveness
97
-
98
- See [evaluation.md](./reference/evaluation.md) for complete evaluation guidelines.
99
-
100
- ## Navigation
101
-
102
- ### Core Design and Workflow
103
- - **[🎯 Design Principles](./reference/design_principles.md)** - Agent-centric design philosophy: workflows over APIs, context optimization, actionable errors, natural task subdivision. Read FIRST before implementation.
104
-
105
- - **[🔄 Complete Workflow](./reference/workflow.md)** - Detailed 4-phase development process with step-by-step instructions, decision trees, and when to load each reference file.
106
-
107
- ### Universal MCP Guidelines
108
- - **[📋 MCP Best Practices](./reference/mcp_best_practices.md)** - Naming conventions, response formats, pagination, character limits, security, tool annotations, error handling. Applies to all MCP servers.
109
-
110
- ### Language-Specific Implementation
111
- - **[🐍 Python Implementation](./reference/python_mcp_server.md)** - FastMCP patterns, Pydantic validation, async/await, complete examples, quality checklist. Load during Phase 2 for Python servers.
112
-
113
- - **[⚡ TypeScript Implementation](./reference/node_mcp_server.md)** - MCP SDK patterns, Zod validation, project structure, complete examples, quality checklist. Load during Phase 2 for TypeScript servers.
114
-
115
- ### Evaluation and Testing
116
- - **[✅ Evaluation Guide](./reference/evaluation.md)** - Creating realistic questions, answer verification, XML format, running evaluations, interpreting results. Load during Phase 4.
117
-
118
- ## Key Reminders
119
-
120
- - **Research First**: Spend 40% of time researching before coding
121
- - **Agent-Centric**: Design for AI workflows, not API completeness
122
- - **Context Efficient**: Every token counts - default concise, offer detailed
123
- - **Actionable Errors**: Guide agents to correct usage
124
- - **Shared Utilities**: Extract common code - avoid duplication
125
- - **Evaluation-Driven**: Create evals early, iterate based on feedback
126
- - **MCP Servers Block**: Never run servers directly - use evaluation harness or tmux
127
-
128
- ## Red Flags - STOP
129
-
130
- If you catch yourself:
131
- - "Just wrapping these API endpoints directly"
132
- - "Returning all available data fields"
133
- - "Error message just says what failed" (not how to fix)
134
- - Starting implementation without reading design principles
135
- - Coding before loading MCP protocol documentation
136
- - Creating tools without knowing agent use cases
137
- - Skipping evaluation creation
138
- - Running `python server.py` directly (will hang forever)
139
-
140
- **ALL of these mean: STOP. Return to design principles and workflow.**
141
-
142
- ## Integration with Other Skills
143
-
144
- - **systematic-debugging**: Debug MCP server issues methodically
145
- - **test-driven-development**: Create failing tests before implementation
146
- - **verification-before-completion**: Verify build succeeds before claiming completion
147
- - **defense-in-depth**: Add input validation at multiple layers
148
-
149
- ## Real-World Impact
150
-
151
- From MCP server development experience:
152
- - Well-designed servers: 80-90% task completion rate by agents
153
- - API wrapper approach: 30-40% task completion rate
154
- - Context-optimized responses: 3x more information in same token budget
155
- - Actionable errors: 60% reduction in agent retry attempts
156
- - Evaluation-driven iteration: 2-3x improvement in agent success rate
157
-
158
- ---
159
-
160
- **Remember:** The quality of an MCP server is measured by how well it enables LLMs to accomplish realistic tasks, not by how comprehensively it wraps an API.
@@ -1,412 +0,0 @@
1
- # Agent-Centric Design Principles for MCP Servers
2
-
3
- ## Overview
4
-
5
- Before implementing any MCP server, understand how to design tools for AI agents. Agents are fundamentally different users than humans - they have limited context, no visual UI, and think in terms of workflows rather than API calls.
6
-
7
- **Core Philosophy:** Build thoughtful, high-impact workflow tools, not API endpoint wrappers.
8
-
9
- ---
10
-
11
- ## Why Agent-Centric Design Matters
12
-
13
- MCP servers expose tools that AI agents use to accomplish tasks. The quality of your server is measured by how effectively agents complete realistic workflows, not by API coverage.
14
-
15
- **Key Differences from Human-Oriented Design:**
16
-
17
- | Human Users | AI Agents |
18
- |-------------|-----------|
19
- | Visual UI navigation | No visual interface |
20
- | Unlimited attention | Limited context window |
21
- | Can ask clarifying questions | Must work with available information |
22
- | Tolerate verbose responses | Need concise, high-signal data |
23
- | Learn from documentation | Learn from tool descriptions and errors |
24
-
25
- ---
26
-
27
- ## The Five Design Principles
28
-
29
- ### 1. Build for Workflows, Not Just API Endpoints
30
-
31
- **The Problem:**
32
- Directly wrapping API endpoints creates tools that are too granular for agents to use effectively. Agents must make many calls to accomplish simple tasks.
33
-
34
- **The Solution:**
35
- Consolidate related operations into workflow-oriented tools that accomplish complete tasks.
36
-
37
- **Examples:**
38
-
39
- ❌ **Poor Design (API Wrapper):**
40
- ```
41
- check_calendar_availability(date, time)
42
- create_calendar_event(date, time, title, description)
43
- send_notification(user_id, message)
44
- ```
45
- Agent must: Check availability → Create event → Send notification (3 separate calls)
46
-
47
- ✅ **Good Design (Workflow-Oriented):**
48
- ```
49
- schedule_event(date, time, title, description, attendees)
50
- - Checks availability automatically
51
- - Creates event if slot is free
52
- - Notifies attendees
53
- - Returns single consolidated result
54
- ```
55
- Agent makes 1 call to complete the workflow.
56
-
57
- **Guidelines:**
58
- - Identify common multi-step workflows users perform
59
- - Combine related operations that always happen together
60
- - Provide atomic operations for complex use cases
61
- - Let tools handle internal coordination and error recovery
62
-
63
- ### 2. Optimize for Limited Context
64
-
65
- **The Problem:**
66
- Agents have constrained context windows. Verbose responses waste precious tokens and reduce what agents can accomplish.
67
-
68
- **The Solution:**
69
- Return high-signal information by default. Provide options for detail levels.
70
-
71
- **Examples:**
72
-
73
- ❌ **Poor Design (Information Dump):**
74
- ```json
75
- {
76
- "user": {
77
- "id": "U123456",
78
- "name": "John Doe",
79
- "email": "john@example.com",
80
- "profile": {
81
- "avatar_urls": {
82
- "small": "https://...",
83
- "medium": "https://...",
84
- "large": "https://...",
85
- "xlarge": "https://..."
86
- },
87
- "bio": "Lorem ipsum...",
88
- "location": "San Francisco",
89
- "timezone": "America/Los_Angeles",
90
- "created_at": 1609459200,
91
- "updated_at": 1609459200,
92
- "preferences": {...},
93
- "settings": {...}
94
- }
95
- }
96
- }
97
- ```
98
- 15+ fields returned when agent only needs name and email.
99
-
100
- ✅ **Good Design (High-Signal Default):**
101
- ```json
102
- {
103
- "user": {
104
- "id": "U123456",
105
- "name": "John Doe",
106
- "email": "john@example.com"
107
- }
108
- }
109
- ```
110
- Concise by default. Add `detail_level="full"` parameter for complete data when needed.
111
-
112
- **Guidelines:**
113
- - Default to concise responses with essential information
114
- - Provide `response_format` parameter: "concise" vs "detailed"
115
- - Use human-readable identifiers (names) over technical codes (IDs) when possible
116
- - Support Markdown for human readability, JSON for programmatic processing
117
- - Implement character limits (typically 25,000) with truncation guidance
118
- - Respect pagination limits strictly - never load all results
119
-
120
- ### 3. Design Actionable Error Messages
121
-
122
- **The Problem:**
123
- Generic error messages tell agents what failed but not how to fix it. Agents get stuck or waste attempts guessing.
124
-
125
- **The Solution:**
126
- Every error should guide agents toward correct usage with specific next steps.
127
-
128
- **Examples:**
129
-
130
- ❌ **Poor Design (Diagnostic Only):**
131
- ```
132
- "Error: Invalid parameters"
133
- "Error: Request failed"
134
- "Error: Too many results"
135
- ```
136
- Tells what failed, not how to fix it.
137
-
138
- ✅ **Good Design (Actionable Guidance):**
139
- ```
140
- "Error: Query too broad - returned 1,247 results. Try adding filters:
141
- use 'team:marketing' to filter by team, or 'status:active'
142
- to filter by status. Or use limit=50 with offset for pagination."
143
-
144
- "Error: Date format invalid. Expected YYYY-MM-DD (e.g., '2024-01-15'),
145
- received '01/15/2024'. Please use ISO format."
146
-
147
- "Error: Missing required field 'project_id'. To find project IDs,
148
- use list_projects(team='your-team') first."
149
- ```
150
- Each error teaches correct usage patterns.
151
-
152
- **Guidelines:**
153
- - Explain what's wrong and why
154
- - Suggest specific fixes or alternative parameters
155
- - Reference other tools when needed ("use X tool to find Y first")
156
- - Include examples of correct usage in error messages
157
- - Guide agents through multi-step corrections
158
- - Make errors educational, not just diagnostic
159
-
160
- ### 4. Follow Natural Task Subdivisions
161
-
162
- **The Problem:**
163
- Tool organization that mirrors API structure doesn't match how agents think about tasks.
164
-
165
- **The Solution:**
166
- Organize and name tools around natural task categories that align with agent reasoning.
167
-
168
- **Examples:**
169
-
170
- ❌ **Poor Design (API Structure):**
171
- ```
172
- api_users_get(id)
173
- api_users_list(filters)
174
- api_users_create(data)
175
- api_projects_get(id)
176
- api_projects_list(filters)
177
- ```
178
- Tool names reflect internal API, not user tasks.
179
-
180
- ✅ **Good Design (Task-Oriented):**
181
- ```
182
- search_users(query, team, status)
183
- get_user_details(user_id)
184
- create_user_account(name, email, team)
185
-
186
- find_projects(name, status, team)
187
- get_project_info(project_id)
188
- create_project(name, team, deadline)
189
- ```
190
- Tool names reflect what agents want to accomplish.
191
-
192
- **Guidelines:**
193
- - Use action verbs that describe tasks: search, find, create, update, analyze
194
- - Group related tools with consistent prefixes for discoverability
195
- - Include service prefix to prevent conflicts: `slack_send_message` not `send_message`
196
- - Name tools how humans would describe the task
197
- - Use consistent naming patterns within your server
198
-
199
- ### 5. Use Evaluation-Driven Development
200
-
201
- **The Problem:**
202
- Building without testing against realistic agent use cases leads to tools that seem correct but fail in practice.
203
-
204
- **The Solution:**
205
- Create evaluation scenarios early and iterate based on actual agent performance.
206
-
207
- **Examples:**
208
-
209
- **Evaluation-First Workflow:**
210
- 1. **Before Implementation**: Define 10 realistic questions agents should answer
211
- 2. **Prototype Quickly**: Build minimal tool set to attempt evaluations
212
- 3. **Run Evaluations**: See where agents struggle
213
- 4. **Iterate**: Improve tools based on agent feedback
214
- 5. **Repeat**: Until agents successfully complete 80%+ of evaluations
215
-
216
- **Common Discoveries from Evaluations:**
217
- - Agents couldn't find information → Add search/filter tools
218
- - Agents made too many calls → Consolidate into workflow tools
219
- - Agents got confused → Improve tool descriptions and error messages
220
- - Agents ran out of context → Reduce response verbosity
221
- - Agents used tools incorrectly → Add actionable error guidance
222
-
223
- **Guidelines:**
224
- - Write evaluations before implementing all tools
225
- - Use realistic, complex questions requiring multiple tool calls
226
- - Let agent failures drive tool design decisions
227
- - Iterate based on evaluation results, not assumptions
228
- - Aim for 80%+ agent success rate on evaluations
229
-
230
- ---
231
-
232
- ## Applying These Principles: A Case Study
233
-
234
- **Scenario:** Building an MCP server for a project management API.
235
-
236
- ### ❌ API Wrapper Approach (Poor)
237
-
238
- ```python
239
- @mcp.tool()
240
- async def get_task(task_id: str):
241
- """Get a task by ID."""
242
- return api.tasks.get(task_id)
243
-
244
- @mcp.tool()
245
- async def list_tasks(project_id: str):
246
- """List all tasks in a project."""
247
- return api.tasks.list(project_id)
248
-
249
- @mcp.tool()
250
- async def get_user(user_id: str):
251
- """Get user by ID."""
252
- return api.users.get(user_id)
253
-
254
- @mcp.tool()
255
- async def update_task_status(task_id: str, status: str):
256
- """Update task status."""
257
- return api.tasks.update(task_id, {"status": status})
258
- ```
259
-
260
- **Problems:**
261
- - Too granular - agent needs many calls for simple workflows
262
- - Returns all fields - wastes context on unnecessary data
263
- - No guidance on valid statuses or error handling
264
- - Agent must know IDs before making calls
265
- - Mirrors API structure, not task structure
266
-
267
- ### ✅ Agent-Centric Approach (Good)
268
-
269
- ```python
270
- @mcp.tool()
271
- async def search_tasks(
272
- query: str,
273
- project: Optional[str] = None,
274
- status: Optional[str] = None,
275
- assignee: Optional[str] = None,
276
- limit: int = 20,
277
- response_format: str = "markdown"
278
- ) -> str:
279
- """Search for tasks across projects with flexible filtering.
280
-
281
- Finds tasks by name, description, or tags. Returns concise results
282
- by default - use response_format='json' for full data.
283
-
284
- Common workflows:
285
- - Find all bugs: search_tasks(query="bug", status="open")
286
- - Find your tasks: search_tasks(assignee="your-name")
287
- - Find by project: search_tasks(project="website-redesign")
288
-
289
- Error guidance:
290
- - If too many results: Add more filters or use limit parameter
291
- - If no results: Try broader query or check project name spelling
292
- - To find project names: Use list_projects() first
293
- """
294
- # Implementation with:
295
- # - Concise markdown by default
296
- # - Full JSON if requested
297
- # - Actionable errors with examples
298
- # - Character limit enforcement
299
-
300
- @mcp.tool()
301
- async def complete_task(
302
- task_id: str,
303
- completion_note: Optional[str] = None,
304
- notify_team: bool = True
305
- ) -> str:
306
- """Mark a task complete and optionally notify the team.
307
-
308
- This is a workflow tool that:
309
- 1. Validates task can be completed (not blocked, has assignee)
310
- 2. Updates task status to 'completed'
311
- 3. Adds completion note to task history
312
- 4. Sends notifications to team members (if notify_team=True)
313
- 5. Updates project progress metrics
314
-
315
- Returns: Success message with task name and updated project status
316
-
317
- Error guidance:
318
- - "Task is blocked": Lists blocking tasks with IDs
319
- - "Task has no assignee": Suggests using assign_task(task_id, user)
320
- - "Invalid task_id": Suggests using search_tasks() to find task
321
- """
322
- # Implementation handles entire workflow
323
-
324
- @mcp.tool()
325
- async def get_project_status(
326
- project_name: str,
327
- include_tasks: bool = False
328
- ) -> str:
329
- """Get project overview with completion metrics.
330
-
331
- Returns concise summary by default:
332
- - Total tasks, completed, in-progress, blocked
333
- - Recent activity
334
- - Team members
335
- - Due date and status
336
-
337
- Use include_tasks=True to also list all tasks (uses more context).
338
-
339
- Error guidance:
340
- - "Project not found": Lists similar project names
341
- - "Access denied": Explains permission requirements
342
- """
343
- # Returns high-signal summary
344
- ```
345
-
346
- **Improvements:**
347
- - **Workflow-oriented**: `complete_task` handles entire workflow, not just status update
348
- - **Context-efficient**: Concise by default, detailed on request
349
- - **Actionable errors**: Guides agents to correct usage
350
- - **Natural naming**: Search, complete, get_status (task-oriented, not API-oriented)
351
- - **Flexible search**: One tool handles multiple search scenarios
352
- - **Human-readable**: Uses project names, not just IDs
353
-
354
- ---
355
-
356
- ## Pre-Implementation Checklist
357
-
358
- Before writing any code, ensure you understand:
359
-
360
- - [ ] What workflows will agents actually need to accomplish?
361
- - [ ] What's the minimum information needed for each workflow?
362
- - [ ] What errors will agents encounter and how can I guide them?
363
- - [ ] How can I consolidate related operations into single tools?
364
- - [ ] What evaluation scenarios will test if this works?
365
- - [ ] Are tool names task-oriented or API-oriented?
366
- - [ ] Do tools default to concise responses?
367
- - [ ] Do errors teach correct usage?
368
-
369
- ---
370
-
371
- ## Common Anti-Patterns to Avoid
372
-
373
- ### Anti-Pattern 1: CRUD Over Everything
374
- Creating separate create/read/update/delete tools for every resource.
375
-
376
- **Instead:** Create workflow tools that combine operations intelligently.
377
-
378
- ### Anti-Pattern 2: The Everything Tool
379
- One tool that takes 15+ parameters and tries to do everything.
380
-
381
- **Instead:** Multiple focused tools, each solving one clear workflow.
382
-
383
- ### Anti-Pattern 3: ID-Only Interfaces
384
- Requiring agents to have IDs before calling any tools.
385
-
386
- **Instead:** Search/find tools that work with human-readable names.
387
-
388
- ### Anti-Pattern 4: Silent Truncation
389
- Cutting off results without telling the agent.
390
-
391
- **Instead:** Clear truncation messages with guidance on filtering.
392
-
393
- ### Anti-Pattern 5: Error Code Responses
394
- Returning `ERR_401`, `ERR_404` without explanation.
395
-
396
- **Instead:** Actionable error messages with specific next steps.
397
-
398
- ---
399
-
400
- ## Next Steps
401
-
402
- After understanding these principles:
403
-
404
- 1. **Review Real Examples**: Look at well-designed MCP servers in the wild
405
- 2. **Start Planning**: Create your implementation plan with these principles in mind
406
- 3. **Load Workflow Guide**: See [workflow.md](./workflow.md) for step-by-step implementation
407
- 4. **Reference Best Practices**: Use [mcp_best_practices.md](./mcp_best_practices.md) for technical details
408
- 5. **Create Evaluations Early**: Don't wait until implementation is complete
409
-
410
- ---
411
-
412
- **Remember:** Agents are your users. Design for their constraints, optimize for their workflows, and guide them to success through every interaction.