claude-mpm 5.4.55__py3-none-any.whl → 5.4.85__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/agents/CLAUDE_MPM_FOUNDERS_OUTPUT_STYLE.md +405 -0
  3. claude_mpm/agents/CLAUDE_MPM_OUTPUT_STYLE.md +63 -241
  4. claude_mpm/agents/CLAUDE_MPM_TEACHER_OUTPUT_STYLE.md +109 -1925
  5. claude_mpm/agents/PM_INSTRUCTIONS.md +36 -9
  6. claude_mpm/cli/__init__.py +5 -1
  7. claude_mpm/cli/commands/agents.py +2 -4
  8. claude_mpm/cli/commands/agents_reconcile.py +197 -0
  9. claude_mpm/cli/commands/configure.py +620 -21
  10. claude_mpm/cli/commands/skills.py +166 -14
  11. claude_mpm/cli/executor.py +1 -0
  12. claude_mpm/cli/interactive/__init__.py +10 -0
  13. claude_mpm/cli/interactive/agent_wizard.py +30 -50
  14. claude_mpm/cli/interactive/questionary_styles.py +65 -0
  15. claude_mpm/cli/interactive/skill_selector.py +481 -0
  16. claude_mpm/cli/parsers/base_parser.py +5 -0
  17. claude_mpm/cli/startup.py +223 -388
  18. claude_mpm/constants.py +1 -0
  19. claude_mpm/core/claude_runner.py +2 -2
  20. claude_mpm/core/interactive_session.py +7 -7
  21. claude_mpm/core/output_style_manager.py +21 -13
  22. claude_mpm/core/unified_config.py +50 -8
  23. claude_mpm/core/unified_paths.py +30 -13
  24. claude_mpm/scripts/start_activity_logging.py +0 -0
  25. claude_mpm/services/agents/deployment/agent_template_builder.py +8 -0
  26. claude_mpm/services/agents/deployment/deployment_reconciler.py +577 -0
  27. claude_mpm/services/agents/deployment/startup_reconciliation.py +138 -0
  28. claude_mpm/services/agents/sources/git_source_sync_service.py +7 -4
  29. claude_mpm/services/agents/startup_sync.py +5 -2
  30. claude_mpm/services/pm_skills_deployer.py +4 -0
  31. claude_mpm/services/skills/git_skill_source_manager.py +24 -8
  32. claude_mpm/services/skills/selective_skill_deployer.py +82 -83
  33. claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +79 -0
  34. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +178 -0
  35. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +577 -0
  36. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +467 -0
  37. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +537 -0
  38. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +730 -0
  39. claude_mpm/skills/bundled/collaboration/git-worktrees.md +317 -0
  40. claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +112 -0
  41. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +146 -0
  42. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +412 -0
  43. claude_mpm/skills/bundled/collaboration/stacked-prs.md +251 -0
  44. claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +81 -0
  45. claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +362 -0
  46. claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +312 -0
  47. claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +152 -0
  48. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +668 -0
  49. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +587 -0
  50. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +438 -0
  51. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +391 -0
  52. claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +119 -0
  53. claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +148 -0
  54. claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +483 -0
  55. claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +452 -0
  56. claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +449 -0
  57. claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +411 -0
  58. claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +14 -0
  59. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +58 -0
  60. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +68 -0
  61. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +69 -0
  62. claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +131 -0
  63. claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +325 -0
  64. claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +490 -0
  65. claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +425 -0
  66. claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +499 -0
  67. claude_mpm/skills/bundled/infrastructure/env-manager/INTEGRATION.md +611 -0
  68. claude_mpm/skills/bundled/infrastructure/env-manager/README.md +596 -0
  69. claude_mpm/skills/bundled/infrastructure/env-manager/SKILL.md +260 -0
  70. claude_mpm/skills/bundled/infrastructure/env-manager/examples/nextjs-env-structure.md +315 -0
  71. claude_mpm/skills/bundled/infrastructure/env-manager/references/frameworks.md +436 -0
  72. claude_mpm/skills/bundled/infrastructure/env-manager/references/security.md +433 -0
  73. claude_mpm/skills/bundled/infrastructure/env-manager/references/synchronization.md +452 -0
  74. claude_mpm/skills/bundled/infrastructure/env-manager/references/troubleshooting.md +404 -0
  75. claude_mpm/skills/bundled/infrastructure/env-manager/references/validation.md +420 -0
  76. claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +86 -0
  77. claude_mpm/skills/bundled/main/internal-comms/SKILL.md +43 -0
  78. claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +47 -0
  79. claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +65 -0
  80. claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +30 -0
  81. claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +16 -0
  82. claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +160 -0
  83. claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +412 -0
  84. claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +602 -0
  85. claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +915 -0
  86. claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +916 -0
  87. claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +752 -0
  88. claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +1237 -0
  89. claude_mpm/skills/bundled/main/skill-creator/SKILL.md +189 -0
  90. claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +500 -0
  91. claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +464 -0
  92. claude_mpm/skills/bundled/main/skill-creator/references/examples.md +619 -0
  93. claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +437 -0
  94. claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +231 -0
  95. claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +170 -0
  96. claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +602 -0
  97. claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +821 -0
  98. claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +742 -0
  99. claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +726 -0
  100. claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +764 -0
  101. claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +831 -0
  102. claude_mpm/skills/bundled/pm/pm-bug-reporting/pm-bug-reporting.md +248 -0
  103. claude_mpm/skills/bundled/pm/pm-delegation-patterns/SKILL.md +167 -0
  104. claude_mpm/skills/bundled/pm/pm-git-file-tracking/SKILL.md +113 -0
  105. claude_mpm/skills/bundled/pm/pm-pr-workflow/SKILL.md +124 -0
  106. claude_mpm/skills/bundled/pm/pm-teaching-mode/SKILL.md +657 -0
  107. claude_mpm/skills/bundled/pm/pm-ticketing-integration/SKILL.md +154 -0
  108. claude_mpm/skills/bundled/pm/pm-verification-protocols/SKILL.md +198 -0
  109. claude_mpm/skills/bundled/react/flexlayout-react.md +742 -0
  110. claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +226 -0
  111. claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +901 -0
  112. claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +901 -0
  113. claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +775 -0
  114. claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +937 -0
  115. claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +770 -0
  116. claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +961 -0
  117. claude_mpm/skills/bundled/tauri/tauri-async-patterns.md +495 -0
  118. claude_mpm/skills/bundled/tauri/tauri-build-deploy.md +599 -0
  119. claude_mpm/skills/bundled/tauri/tauri-command-patterns.md +535 -0
  120. claude_mpm/skills/bundled/tauri/tauri-error-handling.md +613 -0
  121. claude_mpm/skills/bundled/tauri/tauri-event-system.md +648 -0
  122. claude_mpm/skills/bundled/tauri/tauri-file-system.md +673 -0
  123. claude_mpm/skills/bundled/tauri/tauri-frontend-integration.md +767 -0
  124. claude_mpm/skills/bundled/tauri/tauri-performance.md +669 -0
  125. claude_mpm/skills/bundled/tauri/tauri-state-management.md +573 -0
  126. claude_mpm/skills/bundled/tauri/tauri-testing.md +384 -0
  127. claude_mpm/skills/bundled/tauri/tauri-window-management.md +628 -0
  128. claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +119 -0
  129. claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +253 -0
  130. claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +145 -0
  131. claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +543 -0
  132. claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +741 -0
  133. claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +470 -0
  134. claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +458 -0
  135. claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +639 -0
  136. claude_mpm/skills/bundled/testing/test-quality-inspector/SKILL.md +458 -0
  137. claude_mpm/skills/bundled/testing/test-quality-inspector/examples/example-inspection-report.md +411 -0
  138. claude_mpm/skills/bundled/testing/test-quality-inspector/references/assertion-quality.md +317 -0
  139. claude_mpm/skills/bundled/testing/test-quality-inspector/references/inspection-checklist.md +270 -0
  140. claude_mpm/skills/bundled/testing/test-quality-inspector/references/red-flags.md +436 -0
  141. claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +140 -0
  142. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +572 -0
  143. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +411 -0
  144. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +569 -0
  145. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +695 -0
  146. claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +184 -0
  147. claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +459 -0
  148. claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +479 -0
  149. claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +687 -0
  150. claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +758 -0
  151. claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +868 -0
  152. claude_mpm/utils/agent_dependency_loader.py +103 -4
  153. claude_mpm/utils/robust_installer.py +45 -24
  154. {claude_mpm-5.4.55.dist-info → claude_mpm-5.4.85.dist-info}/METADATA +47 -23
  155. {claude_mpm-5.4.55.dist-info → claude_mpm-5.4.85.dist-info}/RECORD +159 -47
  156. claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-311.pyc +0 -0
  157. claude_mpm/hooks/claude_hooks/__pycache__/correlation_manager.cpython-311.pyc +0 -0
  158. claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-311.pyc +0 -0
  159. claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-311.pyc +0 -0
  160. claude_mpm/hooks/claude_hooks/__pycache__/installer.cpython-311.pyc +0 -0
  161. claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-311.pyc +0 -0
  162. claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-311.pyc +0 -0
  163. claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-311.pyc +0 -0
  164. claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-311.pyc +0 -0
  165. claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-311.pyc +0 -0
  166. claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-311.pyc +0 -0
  167. claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-311.pyc +0 -0
  168. claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-311.pyc +0 -0
  169. {claude_mpm-5.4.55.dist-info → claude_mpm-5.4.85.dist-info}/WHEEL +0 -0
  170. {claude_mpm-5.4.55.dist-info → claude_mpm-5.4.85.dist-info}/entry_points.txt +0 -0
  171. {claude_mpm-5.4.55.dist-info → claude_mpm-5.4.85.dist-info}/licenses/LICENSE +0 -0
  172. {claude_mpm-5.4.55.dist-info → claude_mpm-5.4.85.dist-info}/licenses/LICENSE-FAQ.md +0 -0
  173. {claude_mpm-5.4.55.dist-info → claude_mpm-5.4.85.dist-info}/top_level.txt +0 -0
@@ -65,6 +65,7 @@ class AgentDependencyLoader:
65
65
  self.deployment_state_file = (
66
66
  Path.cwd() / ".claude" / "agents" / ".mpm_deployment_state"
67
67
  )
68
+ self.is_uv_tool = self._check_uv_tool_installation()
68
69
 
69
70
  def discover_deployed_agents(self) -> Dict[str, Path]:
70
71
  """
@@ -191,9 +192,42 @@ class AgentDependencyLoader:
191
192
  logger.debug(f"Loaded dependencies for {len(agent_dependencies)} agents")
192
193
  return agent_dependencies
193
194
 
195
+ def _check_uv_tool_installation(self) -> bool:
196
+ """
197
+ Check if running in UV tool environment (no pip available).
198
+
199
+ WHY: UV tool environments don't have pip installed. The executable
200
+ path typically contains ".local/share/uv/tools/" and the UV_TOOL_DIR
201
+ environment variable is set. In such environments, we need to use
202
+ 'uv pip' instead of 'python -m pip'.
203
+
204
+ Returns:
205
+ True if UV tool environment, False otherwise
206
+ """
207
+ import os
208
+
209
+ # Check UV_TOOL_DIR environment variable
210
+ uv_tool_dir = os.environ.get("UV_TOOL_DIR", "")
211
+ if uv_tool_dir and "claude-mpm" in uv_tool_dir:
212
+ logger.debug(f"UV tool environment detected via UV_TOOL_DIR: {uv_tool_dir}")
213
+ return True
214
+
215
+ # Check executable path for UV tool patterns
216
+ executable = sys.executable
217
+ if ".local/share/uv/tools/" in executable or "/uv/tools/" in executable:
218
+ logger.debug(
219
+ f"UV tool environment detected via executable path: {executable}"
220
+ )
221
+ return True
222
+
223
+ return False
224
+
194
225
  def check_python_dependency(self, package_spec: str) -> Tuple[bool, Optional[str]]:
195
226
  """
196
- Check if a Python package dependency is satisfied.
227
+ Check if a Python package dependency is satisfied in the TARGET environment.
228
+
229
+ WHY: UV tool environments use a separate Python installation. We must check
230
+ packages in the same environment where they would be installed/used.
197
231
 
198
232
  Args:
199
233
  package_spec: Package specification (e.g., "pandas>=2.0.0")
@@ -221,7 +255,70 @@ class AgentDependencyLoader:
221
255
  )
222
256
  return True, "optional-skipped"
223
257
 
224
- # Try to import and check version
258
+ # For UV tool environments, check via UV's Python
259
+ if self.is_uv_tool:
260
+ try:
261
+ verify_cmd = [
262
+ "uv",
263
+ "run",
264
+ "--no-project",
265
+ "python",
266
+ "-c",
267
+ f"import importlib.metadata; print(importlib.metadata.version('{package_name}'))",
268
+ ]
269
+ result = subprocess.run(
270
+ verify_cmd, capture_output=True, timeout=30, check=False
271
+ )
272
+ if result.returncode == 0:
273
+ version = result.stdout.decode().strip()
274
+ self.checked_packages.add(package_name)
275
+ if req.specifier.contains(version):
276
+ logger.debug(
277
+ f"Package {package_name} {version} satisfied in UV environment"
278
+ )
279
+ return True, version
280
+ logger.debug(
281
+ f"{package_name} {version} does not satisfy {req.specifier}"
282
+ )
283
+ return False, version
284
+ # Check alternatives for optional packages
285
+ if package_name in self.OPTIONAL_DB_PACKAGES:
286
+ for alternative in self.OPTIONAL_DB_PACKAGES[package_name]:
287
+ alt_cmd = [
288
+ "uv",
289
+ "run",
290
+ "--no-project",
291
+ "python",
292
+ "-c",
293
+ f"import importlib.metadata; print(importlib.metadata.version('{alternative}'))",
294
+ ]
295
+ alt_result = subprocess.run(
296
+ alt_cmd, capture_output=True, timeout=30, check=False
297
+ )
298
+ if alt_result.returncode == 0:
299
+ alt_version = alt_result.stdout.decode().strip()
300
+ logger.info(
301
+ f"Using {alternative} as alternative to {package_name}"
302
+ )
303
+ self.checked_packages.add(package_name)
304
+ return True, f"{alternative}:{alt_version}"
305
+ # If no alternatives work, mark as optional failure
306
+ self.optional_failed[package_name] = "No alternatives available"
307
+ logger.warning(
308
+ f"Optional package {package_name} not found, marking as optional"
309
+ )
310
+ return True, "optional-not-found"
311
+ return False, None
312
+ except subprocess.TimeoutExpired:
313
+ logger.warning(f"Timeout checking {package_name} in UV environment")
314
+ return False, None
315
+ except Exception as e:
316
+ logger.debug(
317
+ f"Error checking {package_name} in UV environment: {e}"
318
+ )
319
+ return False, None
320
+
321
+ # For normal Python, try to import and check version
225
322
  try:
226
323
  import importlib.metadata
227
324
 
@@ -671,8 +768,10 @@ class AgentDependencyLoader:
671
768
  )
672
769
 
673
770
  if is_uv_tool:
674
- cmd = ["uv", "pip", "install"]
675
- logger.debug("Using 'uv pip install' for UV tool environment")
771
+ cmd = ["uv", "pip", "install", "--python", sys.executable]
772
+ logger.debug(
773
+ f"Using 'uv pip install --python {sys.executable}' for UV tool environment"
774
+ )
676
775
  else:
677
776
  cmd = [sys.executable, "-m", "pip", "install"]
678
777
 
@@ -332,10 +332,12 @@ class RobustPackageInstaller:
332
332
  Returns:
333
333
  Command as list of arguments
334
334
  """
335
- # UV tool environments don't have pip; use uv pip instead
335
+ # UV tool environments don't have pip; use uv pip install --python instead
336
336
  if self.is_uv_tool:
337
- base_cmd = ["uv", "pip", "install"]
338
- logger.debug("Using 'uv pip install' for UV tool environment")
337
+ base_cmd = ["uv", "pip", "install", "--python", sys.executable]
338
+ logger.debug(
339
+ f"Using 'uv pip install --python {sys.executable}' for UV tool environment"
340
+ )
339
341
  else:
340
342
  base_cmd = [sys.executable, "-m", "pip", "install"]
341
343
 
@@ -478,42 +480,56 @@ class RobustPackageInstaller:
478
480
 
479
481
  def _verify_installation(self, package_spec: str) -> bool:
480
482
  """
481
- Verify that a package was successfully installed.
483
+ Verify that a package was successfully installed in the TARGET environment.
484
+
485
+ WHY: UV installs packages to its own Python environment, not the current process.
486
+ We must verify in the same environment where packages were installed.
482
487
 
483
488
  Args:
484
489
  package_spec: Package specification
485
490
 
486
491
  Returns:
487
- True if package is installed and importable
492
+ True if package is installed and importable in the target environment
488
493
  """
489
494
  package_name = self._extract_package_name(package_spec)
490
495
 
491
- # Convert package name to import name (e.g., tree-sitter-ruby -> tree_sitter_ruby)
492
- import_name = package_name.replace("-", "_")
493
-
494
496
  try:
495
- # Check if package is installed
497
+ if self.is_uv_tool:
498
+ # For UV tool, verify via UV's Python environment
499
+ verify_cmd = [
500
+ "uv",
501
+ "run",
502
+ "--no-project",
503
+ "python",
504
+ "-c",
505
+ f"import importlib.metadata; print(importlib.metadata.version('{package_name}'))",
506
+ ]
507
+ result = subprocess.run(
508
+ verify_cmd, capture_output=True, timeout=30, check=False
509
+ )
510
+ if result.returncode == 0:
511
+ logger.debug(
512
+ f"Package {package_name} verified in UV environment: {result.stdout.decode().strip()}"
513
+ )
514
+ return True
515
+ logger.debug(
516
+ f"Package {package_name} not found in UV environment: {result.stderr.decode().strip()}"
517
+ )
518
+ return False
519
+ # For normal Python, use importlib.metadata in current process
496
520
  import importlib.metadata
497
521
 
498
522
  try:
499
523
  version = importlib.metadata.version(package_name)
500
524
  logger.debug(f"Package {package_name} version {version} is installed")
501
-
502
- # For tree-sitter packages, don't try to import (they have C extensions)
503
- if package_name.startswith("tree-sitter-"):
504
- return True
505
-
506
- # Try to import the package
507
- try:
508
- __import__(import_name)
509
- return True
510
- except ImportError:
511
- # Some packages have different import names, that's OK
512
- return True
525
+ return True
513
526
 
514
527
  except importlib.metadata.PackageNotFoundError:
515
528
  return False
516
529
 
530
+ except subprocess.TimeoutExpired:
531
+ logger.warning(f"Verification timeout for {package_name}")
532
+ return False
517
533
  except ImportError:
518
534
  # Fallback for older Python versions
519
535
  try:
@@ -523,6 +539,9 @@ class RobustPackageInstaller:
523
539
  return True
524
540
  except pkg_resources.DistributionNotFound:
525
541
  return False
542
+ except Exception as e:
543
+ logger.debug(f"Verification error for {package_name}: {e}")
544
+ return False
526
545
 
527
546
  def _is_retryable_error(self, error: Optional[str]) -> bool:
528
547
  """
@@ -687,10 +706,12 @@ class RobustPackageInstaller:
687
706
  Tuple of (success, error_message)
688
707
  """
689
708
  try:
690
- # UV tool environments don't have pip; use uv pip instead
709
+ # UV tool environments don't have pip; use uv pip install --python instead
691
710
  if self.is_uv_tool:
692
- cmd = ["uv", "pip", "install"]
693
- logger.debug("Using 'uv pip install' for batch installation")
711
+ cmd = ["uv", "pip", "install", "--python", sys.executable]
712
+ logger.debug(
713
+ f"Using 'uv pip install --python {sys.executable}' for batch installation"
714
+ )
694
715
  else:
695
716
  cmd = [sys.executable, "-m", "pip", "install"]
696
717
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-mpm
3
- Version: 5.4.55
3
+ Version: 5.4.85
4
4
  Summary: Claude Multi-Agent Project Manager - Orchestrate Claude with agent delegation and ticket tracking
5
5
  Author-email: Bob Matsuoka <bob@matsuoka.com>
6
6
  Maintainer: Claude MPM Team
@@ -116,7 +116,13 @@ A powerful orchestration framework for **Claude Code (CLI)** that enables multi-
116
116
  > - Minimum: v1.0.92 (hooks support)
117
117
  > - Recommended: v2.0.30+ (latest features)
118
118
 
119
- > **Quick Start**: See [docs/user/getting-started.md](docs/user/getting-started.md) to get running in 5 minutes!
119
+ > **Quick Start**: See [docs/user/getting-started.md](docs/getting-started/README.md) to get running in 5 minutes!
120
+
121
+ ---
122
+
123
+ > **🆕 NEW for Founders!** Not a software engineer? **[Start with our Absolute Beginner's Guide](docs/absolute-beginners-guide.md)** — designed specifically for non-technical founders and business leaders who want to understand and oversee their technical projects. No coding experience required!
124
+
125
+ ---
120
126
 
121
127
  ## 🚀 What's New in v5.0
122
128
 
@@ -153,13 +159,16 @@ claude-mpm agent-source list
153
159
  **Agents** (47+ agents):
154
160
  - 🏢 System: `bobmatnyc/claude-mpm-agents` - Core agent templates
155
161
 
156
- **Skills** (hundreds of skills):
157
- - 🏢 System: `bobmatnyc/claude-mpm-skills` - Community skills
158
- - 🎯 Official: `anthropics/skills` - Anthropic's official skills (14+ skills)
162
+ **Skills** (17 bundled, optional external):
163
+ - 📦 **Bundled**: 17 skills included in core installation (no external repo)
164
+ - 🏢 **Optional**: `bobmatnyc/claude-mpm-skills` - Community skills (not enabled by default)
165
+ - 🔧 **Custom**: Add your own via `~/.claude/skills/` or `.claude/skills/`
159
166
 
160
167
  **What This Means:**
161
- - ✅ **Automatic Setup**: Everything deploys on first run
162
- - ✅ **Always Updated**: Git repositories sync on startup
168
+ - ✅ **Bundled Skills**: Work immediately, no external dependencies
169
+ - ✅ **Offline Support**: Core skills work without internet
170
+ - ✅ **Automatic Setup**: Agents deploy from Git on first run
171
+ - ✅ **Always Updated**: Agent repositories sync on startup
163
172
  - ✅ **Nested Support**: Repositories with subdirectories are automatically flattened
164
173
  - ✅ **Template Inheritance**: BASE-AGENT.md files cascade from parent directories
165
174
  - ✅ **Priority System**: Control which sources win when multiple repos provide the same agent/skill
@@ -201,12 +210,13 @@ See [docs/features/hierarchical-base-agents.md](docs/features/hierarchical-base-
201
210
 
202
211
  ### 🎯 Skills System
203
212
 
204
- - **Hundreds of Skills**: Comprehensive skill library from curated repositories
205
- - **Official Skills**: 14+ skills from Anthropic's official repository
213
+ - **17 Bundled Skills**: Production-ready skills included in core installation (no external repo required)
214
+ - **Custom Skills**: Add your own project-specific or user-level skills locally
206
215
  - **Three-Tier Organization**: Bundled/user/project skills with priority resolution
207
216
  - **Auto-Linking**: Skills automatically linked to relevant agents
208
217
  - **Interactive Configuration**: Skills wizard via `claude-mpm configure`
209
218
  - **Version Tracking**: Semantic versioning for all skills
219
+ - **Community Contributions**: Submit PRs to add skills to the bundled collection
210
220
 
211
221
  ### 🔌 Advanced Integration
212
222
 
@@ -230,7 +240,7 @@ See [docs/features/hierarchical-base-agents.md](docs/features/hierarchical-base-
230
240
 
231
241
  **Before installing Claude MPM**, ensure you have:
232
242
 
233
- 1. **Python 3.11+** (required for kuzu-memory dependency)
243
+ 1. **Python 3.10+** (3.11+ recommended for optimal compatibility)
234
244
  2. **Claude Code CLI v1.0.92+** (required!)
235
245
 
236
246
  ```bash
@@ -243,19 +253,18 @@ claude --version
243
253
 
244
254
  ### Install Claude MPM
245
255
 
256
+ Choose your preferred installation method:
257
+
258
+ **Homebrew (macOS):**
246
259
  ```bash
247
260
  # Basic installation
248
- pip install claude-mpm
249
-
250
- # Or with uv (faster)
251
- uv tool install claude-mpm
261
+ brew install claude-mpm
252
262
 
253
263
  # Install with monitoring dashboard (recommended)
254
- pip install "claude-mpm[monitor]"
255
- uv tool install "claude-mpm[monitor]"
264
+ brew install claude-mpm --with-monitor
256
265
  ```
257
266
 
258
- Or with pipx/uvx (recommended for isolated installation):
267
+ **pipx/uvx (recommended for isolated installation):**
259
268
  ```bash
260
269
  # Basic installation
261
270
  pipx install claude-mpm
@@ -271,6 +280,19 @@ pipx install "claude-mpm[monitor]"
271
280
  uv tool install "claude-mpm[monitor]"
272
281
  ```
273
282
 
283
+ **pip/uv (system-wide installation):**
284
+ ```bash
285
+ # Basic installation
286
+ pip install claude-mpm
287
+
288
+ # Or with uv (faster)
289
+ uv tool install claude-mpm
290
+
291
+ # Install with monitoring dashboard (recommended)
292
+ pip install "claude-mpm[monitor]"
293
+ uv tool install "claude-mpm[monitor]"
294
+ ```
295
+
274
296
  ### Verify Installation
275
297
 
276
298
  ```bash
@@ -283,21 +305,23 @@ claude-mpm doctor
283
305
 
284
306
  # Verify Git repositories are synced
285
307
  ls ~/.claude/agents/ # Should show 47+ agents
286
- ls ~/.claude/skills/ # Should show hundreds of skills
308
+
309
+ # Bundled skills are in Python package (always available)
310
+ # Custom skills go in ~/.claude/skills/ or .claude/skills/
287
311
 
288
312
  # Check agent sources
289
313
  claude-mpm agent-source list
290
314
 
291
- # Check skill sources
315
+ # Check skill sources (only if you've added external sources)
292
316
  claude-mpm skill-source list
293
317
  ```
294
318
 
295
319
  **What You Should See:**
296
320
  - ✅ 47+ agents deployed to `~/.claude/agents/`
297
- - ✅ Hundreds of skills deployed to `~/.claude/skills/`
298
- - ✅ Two agent sources configured (system + official)
299
- - ✅ Two skill sources configured (system + official)
300
- - ✅ Progress bars showing sync and deployment phases
321
+ - ✅ 17 bundled skills (in Python package, no separate deployment needed)
322
+ - ✅ Agent sources configured (system repositories)
323
+ - ✅ Skill sources empty by default (bundled skills only)
324
+ - ✅ Progress bars showing sync and deployment phases for agents
301
325
 
302
326
  **💡 Optional Dependencies**:
303
327
  - `[monitor]` - Full monitoring dashboard with Socket.IO and async web server components