claude-mpm 5.4.106__py3-none-any.whl → 5.5.0__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.
- claude_mpm/commands/mpm-config.md +8 -0
- claude_mpm/commands/mpm-doctor.md +8 -0
- claude_mpm/commands/mpm-help.md +8 -0
- claude_mpm/commands/mpm-init.md +8 -0
- claude_mpm/commands/mpm-monitor.md +8 -0
- claude_mpm/commands/mpm-organize.md +8 -0
- claude_mpm/commands/mpm-postmortem.md +8 -0
- claude_mpm/commands/mpm-session-resume.md +8 -0
- claude_mpm/commands/mpm-status.md +8 -0
- claude_mpm/commands/mpm-ticket-view.md +8 -0
- claude_mpm/commands/mpm-version.md +8 -0
- claude_mpm/commands/mpm.md +8 -0
- claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/hook_handler.py +2 -0
- claude_mpm/hooks/claude_hooks/installer.py +69 -5
- claude_mpm/services/pm_skills_deployer.py +84 -6
- claude_mpm/skills/bundled/pm/mpm/SKILL.md +38 -0
- claude_mpm/skills/bundled/pm/mpm-config/SKILL.md +29 -0
- claude_mpm/skills/bundled/pm/mpm-doctor/SKILL.md +53 -0
- claude_mpm/skills/bundled/pm/mpm-help/SKILL.md +35 -0
- claude_mpm/skills/bundled/pm/mpm-init/SKILL.md +125 -0
- claude_mpm/skills/bundled/pm/mpm-monitor/SKILL.md +32 -0
- claude_mpm/skills/bundled/pm/mpm-organize/SKILL.md +121 -0
- claude_mpm/skills/bundled/pm/mpm-postmortem/SKILL.md +22 -0
- claude_mpm/skills/bundled/pm/mpm-session-resume/SKILL.md +31 -0
- claude_mpm/skills/bundled/pm/mpm-status/SKILL.md +37 -0
- claude_mpm/skills/bundled/pm/mpm-ticket-view/SKILL.md +110 -0
- claude_mpm/skills/bundled/pm/mpm-version/SKILL.md +21 -0
- {claude_mpm-5.4.106.dist-info → claude_mpm-5.5.0.dist-info}/METADATA +3 -3
- {claude_mpm-5.4.106.dist-info → claude_mpm-5.5.0.dist-info}/RECORD +35 -23
- {claude_mpm-5.4.106.dist-info → claude_mpm-5.5.0.dist-info}/WHEEL +0 -0
- {claude_mpm-5.4.106.dist-info → claude_mpm-5.5.0.dist-info}/entry_points.txt +0 -0
- {claude_mpm-5.4.106.dist-info → claude_mpm-5.5.0.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-5.4.106.dist-info → claude_mpm-5.5.0.dist-info}/licenses/LICENSE-FAQ.md +0 -0
- {claude_mpm-5.4.106.dist-info → claude_mpm-5.5.0.dist-info}/top_level.txt +0 -0
|
@@ -5,7 +5,15 @@ aliases: [mpm-config]
|
|
|
5
5
|
migration_target: /mpm/config
|
|
6
6
|
category: config
|
|
7
7
|
description: Manage Claude MPM configuration
|
|
8
|
+
deprecated: true
|
|
9
|
+
deprecated_in: "5.5.0"
|
|
10
|
+
replacement: "skill:mpm-config"
|
|
8
11
|
---
|
|
12
|
+
|
|
13
|
+
> **Deprecated:** This command file is deprecated in favor of the `mpm-config` skill.
|
|
14
|
+
> For Claude Code 2.1.3+, use the skill-based `/mpm-config` command instead.
|
|
15
|
+
> This file is kept for backward compatibility with Claude Code < 2.1.3.
|
|
16
|
+
|
|
9
17
|
# /mpm-config
|
|
10
18
|
|
|
11
19
|
Unified configuration management with auto-detection.
|
|
@@ -5,7 +5,15 @@ aliases: [mpm-doctor]
|
|
|
5
5
|
migration_target: /mpm/system:doctor
|
|
6
6
|
category: system
|
|
7
7
|
description: Run diagnostic checks on Claude MPM installation
|
|
8
|
+
deprecated: true
|
|
9
|
+
deprecated_in: "5.5.0"
|
|
10
|
+
replacement: "skill:mpm-doctor"
|
|
8
11
|
---
|
|
12
|
+
|
|
13
|
+
> **Deprecated:** This command file is deprecated in favor of the `mpm-doctor` skill.
|
|
14
|
+
> For Claude Code 2.1.3+, use the skill-based `/mpm-doctor` command instead.
|
|
15
|
+
> This file is kept for backward compatibility with Claude Code < 2.1.3.
|
|
16
|
+
|
|
9
17
|
# /mpm-doctor
|
|
10
18
|
|
|
11
19
|
Run comprehensive diagnostics on Claude MPM installation.
|
claude_mpm/commands/mpm-help.md
CHANGED
|
@@ -5,7 +5,15 @@ aliases: [mpm-help]
|
|
|
5
5
|
migration_target: /mpm/system:help
|
|
6
6
|
category: system
|
|
7
7
|
description: Display help for Claude MPM commands
|
|
8
|
+
deprecated: true
|
|
9
|
+
deprecated_in: "5.5.0"
|
|
10
|
+
replacement: "skill:mpm-help"
|
|
8
11
|
---
|
|
12
|
+
|
|
13
|
+
> **Deprecated:** This command file is deprecated in favor of the `mpm-help` skill.
|
|
14
|
+
> For Claude Code 2.1.3+, use the skill-based `/mpm-help` command instead.
|
|
15
|
+
> This file is kept for backward compatibility with Claude Code < 2.1.3.
|
|
16
|
+
|
|
9
17
|
# /mpm-help
|
|
10
18
|
|
|
11
19
|
Show help for MPM commands. Delegates to PM agent.
|
claude_mpm/commands/mpm-init.md
CHANGED
|
@@ -5,7 +5,15 @@ aliases: [mpm-init]
|
|
|
5
5
|
migration_target: /mpm/system:init
|
|
6
6
|
category: system
|
|
7
7
|
description: Initialize or update project for Claude Code and MPM
|
|
8
|
+
deprecated: true
|
|
9
|
+
deprecated_in: "5.5.0"
|
|
10
|
+
replacement: "skill:mpm-init"
|
|
8
11
|
---
|
|
12
|
+
|
|
13
|
+
> **Deprecated:** This command file is deprecated in favor of the `mpm-init` skill.
|
|
14
|
+
> For Claude Code 2.1.3+, use the skill-based `/mpm-init` command instead.
|
|
15
|
+
> This file is kept for backward compatibility with Claude Code < 2.1.3.
|
|
16
|
+
|
|
9
17
|
# /mpm-init
|
|
10
18
|
|
|
11
19
|
Initialize or intelligently update project for Claude Code and Claude MPM.
|
|
@@ -5,7 +5,15 @@ aliases: [mpm-monitor]
|
|
|
5
5
|
migration_target: /mpm/system:monitor
|
|
6
6
|
category: system
|
|
7
7
|
description: Control monitoring server and dashboard
|
|
8
|
+
deprecated: true
|
|
9
|
+
deprecated_in: "5.5.0"
|
|
10
|
+
replacement: "skill:mpm-monitor"
|
|
8
11
|
---
|
|
12
|
+
|
|
13
|
+
> **Deprecated:** This command file is deprecated in favor of the `mpm-monitor` skill.
|
|
14
|
+
> For Claude Code 2.1.3+, use the skill-based `/mpm-monitor` command instead.
|
|
15
|
+
> This file is kept for backward compatibility with Claude Code < 2.1.3.
|
|
16
|
+
|
|
9
17
|
# /mpm-monitor
|
|
10
18
|
|
|
11
19
|
Manage Socket.IO monitoring server for real-time dashboard.
|
|
@@ -5,7 +5,15 @@ aliases: [mpm-organize]
|
|
|
5
5
|
migration_target: /mpm/system:organize
|
|
6
6
|
category: system
|
|
7
7
|
description: Organize project files with intelligent consolidation
|
|
8
|
+
deprecated: true
|
|
9
|
+
deprecated_in: "5.5.0"
|
|
10
|
+
replacement: "skill:mpm-organize"
|
|
8
11
|
---
|
|
12
|
+
|
|
13
|
+
> **Deprecated:** This command file is deprecated in favor of the `mpm-organize` skill.
|
|
14
|
+
> For Claude Code 2.1.3+, use the skill-based `/mpm-organize` command instead.
|
|
15
|
+
> This file is kept for backward compatibility with Claude Code < 2.1.3.
|
|
16
|
+
|
|
9
17
|
# /mpm-organize
|
|
10
18
|
|
|
11
19
|
Organize ALL project files with intelligent detection, consolidation, and pruning.
|
|
@@ -5,7 +5,15 @@ aliases: [mpm-postmortem]
|
|
|
5
5
|
migration_target: /mpm/analysis:postmortem
|
|
6
6
|
category: analysis
|
|
7
7
|
description: Analyze session errors and suggest improvements
|
|
8
|
+
deprecated: true
|
|
9
|
+
deprecated_in: "5.5.0"
|
|
10
|
+
replacement: "skill:mpm-postmortem"
|
|
8
11
|
---
|
|
12
|
+
|
|
13
|
+
> **Deprecated:** This command file is deprecated in favor of the `mpm-postmortem` skill.
|
|
14
|
+
> For Claude Code 2.1.3+, use the skill-based `/mpm-postmortem` command instead.
|
|
15
|
+
> This file is kept for backward compatibility with Claude Code < 2.1.3.
|
|
16
|
+
|
|
9
17
|
# /mpm-postmortem
|
|
10
18
|
|
|
11
19
|
Analyze session errors and generate improvement suggestions.
|
|
@@ -5,7 +5,15 @@ aliases: [mpm-session-resume]
|
|
|
5
5
|
migration_target: /mpm/session:resume
|
|
6
6
|
category: session
|
|
7
7
|
description: Load context from paused session
|
|
8
|
+
deprecated: true
|
|
9
|
+
deprecated_in: "5.5.0"
|
|
10
|
+
replacement: "skill:mpm-session-resume"
|
|
8
11
|
---
|
|
12
|
+
|
|
13
|
+
> **Deprecated:** This command file is deprecated in favor of the `mpm-session-resume` skill.
|
|
14
|
+
> For Claude Code 2.1.3+, use the skill-based `/mpm-session-resume` command instead.
|
|
15
|
+
> This file is kept for backward compatibility with Claude Code < 2.1.3.
|
|
16
|
+
|
|
9
17
|
# /mpm-session-resume
|
|
10
18
|
|
|
11
19
|
Load and display context from most recent paused session.
|
|
@@ -5,7 +5,15 @@ aliases: [mpm-status]
|
|
|
5
5
|
migration_target: /mpm/system:status
|
|
6
6
|
category: system
|
|
7
7
|
description: Display Claude MPM system status
|
|
8
|
+
deprecated: true
|
|
9
|
+
deprecated_in: "5.5.0"
|
|
10
|
+
replacement: "skill:mpm-status"
|
|
8
11
|
---
|
|
12
|
+
|
|
13
|
+
> **Deprecated:** This command file is deprecated in favor of the `mpm-status` skill.
|
|
14
|
+
> For Claude Code 2.1.3+, use the skill-based `/mpm-status` command instead.
|
|
15
|
+
> This file is kept for backward compatibility with Claude Code < 2.1.3.
|
|
16
|
+
|
|
9
17
|
# /mpm-status
|
|
10
18
|
|
|
11
19
|
Show MPM system status. Delegates to PM agent.
|
|
@@ -5,7 +5,15 @@ aliases: [mpm-ticket-view]
|
|
|
5
5
|
migration_target: /mpm/ticket:view
|
|
6
6
|
category: tickets
|
|
7
7
|
description: Orchestrate ticketing agent for project management workflows
|
|
8
|
+
deprecated: true
|
|
9
|
+
deprecated_in: "5.5.0"
|
|
10
|
+
replacement: "skill:mpm-ticket-view"
|
|
8
11
|
---
|
|
12
|
+
|
|
13
|
+
> **Deprecated:** This command file is deprecated in favor of the `mpm-ticket-view` skill.
|
|
14
|
+
> For Claude Code 2.1.3+, use the skill-based `/mpm-ticket-view` command instead.
|
|
15
|
+
> This file is kept for backward compatibility with Claude Code < 2.1.3.
|
|
16
|
+
|
|
9
17
|
# /mpm-ticket
|
|
10
18
|
|
|
11
19
|
High-level ticketing workflows delegating to ticketing agent.
|
|
@@ -5,7 +5,15 @@ aliases: [mpm-version]
|
|
|
5
5
|
migration_target: /mpm/system:version
|
|
6
6
|
category: system
|
|
7
7
|
description: Show version information
|
|
8
|
+
deprecated: true
|
|
9
|
+
deprecated_in: "5.5.0"
|
|
10
|
+
replacement: "skill:mpm-version"
|
|
8
11
|
---
|
|
12
|
+
|
|
13
|
+
> **Deprecated:** This command file is deprecated in favor of the `mpm-version` skill.
|
|
14
|
+
> For Claude Code 2.1.3+, use the skill-based `/mpm-version` command instead.
|
|
15
|
+
> This file is kept for backward compatibility with Claude Code < 2.1.3.
|
|
16
|
+
|
|
9
17
|
# /mpm-version
|
|
10
18
|
|
|
11
19
|
Display version information for MPM, agents, and skills.
|
claude_mpm/commands/mpm.md
CHANGED
|
@@ -6,7 +6,15 @@ migration_target: /mpm
|
|
|
6
6
|
category: system
|
|
7
7
|
deprecated_aliases: []
|
|
8
8
|
description: Access Claude MPM functionality and manage multi-agent orchestration
|
|
9
|
+
deprecated: true
|
|
10
|
+
deprecated_in: "5.5.0"
|
|
11
|
+
replacement: "skill:mpm"
|
|
9
12
|
---
|
|
13
|
+
|
|
14
|
+
> **Deprecated:** This command file is deprecated in favor of the `mpm` skill.
|
|
15
|
+
> For Claude Code 2.1.3+, use the skill-based `/mpm` command instead.
|
|
16
|
+
> This file is kept for backward compatibility with Claude Code < 2.1.3.
|
|
17
|
+
|
|
10
18
|
# Claude MPM - Multi-Agent Project Manager
|
|
11
19
|
|
|
12
20
|
Access Claude MPM functionality and manage your multi-agent orchestration.
|
|
Binary file
|
|
@@ -111,6 +111,8 @@ WHY version checking:
|
|
|
111
111
|
Security: Version checking prevents execution on incompatible environments.
|
|
112
112
|
"""
|
|
113
113
|
MIN_CLAUDE_VERSION = "1.0.92"
|
|
114
|
+
# Minimum version for user-invocable skills support
|
|
115
|
+
MIN_SKILLS_VERSION = "2.1.3"
|
|
114
116
|
|
|
115
117
|
|
|
116
118
|
def check_claude_version() -> Tuple[bool, Optional[str]]:
|
|
@@ -10,7 +10,7 @@ import os
|
|
|
10
10
|
import re
|
|
11
11
|
import shutil
|
|
12
12
|
import stat
|
|
13
|
-
import subprocess
|
|
13
|
+
import subprocess # nosec B404 - Safe: only uses hardcoded 'claude' CLI command, no user input
|
|
14
14
|
from pathlib import Path
|
|
15
15
|
from typing import Dict, List, Optional, Tuple
|
|
16
16
|
|
|
@@ -194,6 +194,8 @@ main "$@"
|
|
|
194
194
|
MIN_CLAUDE_VERSION = "1.0.92"
|
|
195
195
|
# Minimum version for PreToolUse input modification support
|
|
196
196
|
MIN_PRETOOL_MODIFY_VERSION = "2.0.30"
|
|
197
|
+
# Minimum version for user-invocable skills support
|
|
198
|
+
MIN_SKILLS_VERSION = "2.1.3"
|
|
197
199
|
|
|
198
200
|
def __init__(self):
|
|
199
201
|
"""Initialize the hook installer."""
|
|
@@ -220,7 +222,7 @@ main "$@"
|
|
|
220
222
|
|
|
221
223
|
try:
|
|
222
224
|
# Run claude --version command
|
|
223
|
-
result = subprocess.run(
|
|
225
|
+
result = subprocess.run( # nosec B607 B603 - Safe: hardcoded command, no user input
|
|
224
226
|
["claude", "--version"],
|
|
225
227
|
capture_output=True,
|
|
226
228
|
text=True,
|
|
@@ -331,6 +333,53 @@ main "$@"
|
|
|
331
333
|
|
|
332
334
|
return True
|
|
333
335
|
|
|
336
|
+
def _version_meets_minimum(self, version: str, min_version: str) -> bool:
|
|
337
|
+
"""Check if a version meets minimum requirements.
|
|
338
|
+
|
|
339
|
+
Args:
|
|
340
|
+
version: Current version string (e.g., "2.1.3")
|
|
341
|
+
min_version: Minimum required version string (e.g., "2.1.3")
|
|
342
|
+
|
|
343
|
+
Returns:
|
|
344
|
+
True if version meets or exceeds minimum, False otherwise
|
|
345
|
+
"""
|
|
346
|
+
|
|
347
|
+
def parse_version(v: str) -> List[int]:
|
|
348
|
+
"""Parse semantic version string to list of integers."""
|
|
349
|
+
try:
|
|
350
|
+
return [int(x) for x in v.split(".")]
|
|
351
|
+
except (ValueError, AttributeError):
|
|
352
|
+
return [0]
|
|
353
|
+
|
|
354
|
+
current = parse_version(version)
|
|
355
|
+
required = parse_version(min_version)
|
|
356
|
+
|
|
357
|
+
# Compare versions
|
|
358
|
+
for i in range(max(len(current), len(required))):
|
|
359
|
+
curr_part = current[i] if i < len(current) else 0
|
|
360
|
+
req_part = required[i] if i < len(required) else 0
|
|
361
|
+
|
|
362
|
+
if curr_part < req_part:
|
|
363
|
+
return False
|
|
364
|
+
if curr_part > req_part:
|
|
365
|
+
return True
|
|
366
|
+
|
|
367
|
+
return True
|
|
368
|
+
|
|
369
|
+
def supports_user_invocable_skills(self) -> bool:
|
|
370
|
+
"""Check if Claude Code version supports user-invocable skills.
|
|
371
|
+
|
|
372
|
+
User-invocable skills were added in Claude Code v2.1.3.
|
|
373
|
+
This feature allows users to invoke skills via slash commands.
|
|
374
|
+
|
|
375
|
+
Returns:
|
|
376
|
+
True if version supports user-invocable skills, False otherwise
|
|
377
|
+
"""
|
|
378
|
+
version = self.get_claude_version()
|
|
379
|
+
if not version:
|
|
380
|
+
return False
|
|
381
|
+
return self._version_meets_minimum(version, self.MIN_SKILLS_VERSION)
|
|
382
|
+
|
|
334
383
|
def get_hook_script_path(self) -> Path:
|
|
335
384
|
"""Get the path to the hook handler script based on installation method.
|
|
336
385
|
|
|
@@ -556,7 +605,22 @@ main "$@"
|
|
|
556
605
|
self._cleanup_old_settings()
|
|
557
606
|
|
|
558
607
|
def _install_commands(self) -> None:
|
|
559
|
-
"""Install custom commands for Claude Code.
|
|
608
|
+
"""Install custom commands for Claude Code.
|
|
609
|
+
|
|
610
|
+
For Claude Code >= 2.1.3, commands are deployed as skills via PMSkillsDeployerService.
|
|
611
|
+
This method provides backward compatibility for older versions.
|
|
612
|
+
"""
|
|
613
|
+
# Check if skills-based commands are supported
|
|
614
|
+
if self.supports_user_invocable_skills():
|
|
615
|
+
self.logger.info(
|
|
616
|
+
"Claude Code >= 2.1.3 detected. Commands deployed as skills - "
|
|
617
|
+
"skipping legacy command installation."
|
|
618
|
+
)
|
|
619
|
+
return
|
|
620
|
+
|
|
621
|
+
# Legacy installation for older Claude Code versions
|
|
622
|
+
self.logger.info("Installing legacy commands for Claude Code < 2.1.3")
|
|
623
|
+
|
|
560
624
|
# Find commands directory using proper resource resolution
|
|
561
625
|
try:
|
|
562
626
|
from ...core.unified_paths import get_package_resource_path
|
|
@@ -782,7 +846,7 @@ main "$@"
|
|
|
782
846
|
if "hooks" in settings:
|
|
783
847
|
status["configured_events"] = list(settings["hooks"].keys())
|
|
784
848
|
configured_in_local = True
|
|
785
|
-
except Exception:
|
|
849
|
+
except Exception: # nosec B110 - Intentional: ignore errors reading settings file
|
|
786
850
|
pass
|
|
787
851
|
|
|
788
852
|
# Also check old settings file
|
|
@@ -796,7 +860,7 @@ main "$@"
|
|
|
796
860
|
status["warning"] = (
|
|
797
861
|
"Hooks found in settings.local.json but Claude Code reads from settings.json"
|
|
798
862
|
)
|
|
799
|
-
except Exception:
|
|
863
|
+
except Exception: # nosec B110 - Intentional: ignore errors reading old settings file
|
|
800
864
|
pass
|
|
801
865
|
|
|
802
866
|
status["settings_location"] = (
|
|
@@ -50,9 +50,16 @@ from claude_mpm.core.mixins import LoggerMixin
|
|
|
50
50
|
# Security constants
|
|
51
51
|
MAX_YAML_SIZE = 10 * 1024 * 1024 # 10MB limit to prevent YAML bombs
|
|
52
52
|
|
|
53
|
-
# Required PM skills that MUST be deployed for PM agent to function properly
|
|
54
|
-
# These are framework management skills
|
|
53
|
+
# Tier 1: Required PM skills that MUST be deployed for PM agent to function properly
|
|
54
|
+
# These are core framework management skills for basic PM operation
|
|
55
55
|
REQUIRED_PM_SKILLS = [
|
|
56
|
+
# Core command-based skills (new consolidated CLI)
|
|
57
|
+
"mpm",
|
|
58
|
+
"mpm-init",
|
|
59
|
+
"mpm-status",
|
|
60
|
+
"mpm-help",
|
|
61
|
+
"mpm-doctor",
|
|
62
|
+
# Legacy framework management skills
|
|
56
63
|
"mpm-git-file-tracking",
|
|
57
64
|
"mpm-pr-workflow",
|
|
58
65
|
"mpm-ticketing-integration",
|
|
@@ -66,6 +73,23 @@ REQUIRED_PM_SKILLS = [
|
|
|
66
73
|
"mpm-session-management",
|
|
67
74
|
]
|
|
68
75
|
|
|
76
|
+
# Tier 2: Recommended skills (deployed with standard install)
|
|
77
|
+
# These provide enhanced functionality for common workflows
|
|
78
|
+
RECOMMENDED_PM_SKILLS = [
|
|
79
|
+
"mpm-config",
|
|
80
|
+
"mpm-ticket-view",
|
|
81
|
+
"mpm-session-resume",
|
|
82
|
+
"mpm-postmortem",
|
|
83
|
+
]
|
|
84
|
+
|
|
85
|
+
# Tier 3: Optional skills (deployed with full install)
|
|
86
|
+
# These provide additional features for advanced use cases
|
|
87
|
+
OPTIONAL_PM_SKILLS = [
|
|
88
|
+
"mpm-monitor",
|
|
89
|
+
"mpm-version",
|
|
90
|
+
"mpm-organize",
|
|
91
|
+
]
|
|
92
|
+
|
|
69
93
|
|
|
70
94
|
@dataclass
|
|
71
95
|
class PMSkillInfo:
|
|
@@ -383,17 +407,45 @@ class PMSkillsDeployerService(LoggerMixin):
|
|
|
383
407
|
self.logger.info(f"Discovered {len(skills)} bundled PM skills")
|
|
384
408
|
return skills
|
|
385
409
|
|
|
410
|
+
def _get_skills_for_tier(self, tier: str) -> List[str]:
|
|
411
|
+
"""Get list of skills to deploy based on tier.
|
|
412
|
+
|
|
413
|
+
Args:
|
|
414
|
+
tier: Deployment tier - "minimal", "standard", or "full"
|
|
415
|
+
|
|
416
|
+
Returns:
|
|
417
|
+
List of skill names to deploy
|
|
418
|
+
|
|
419
|
+
Raises:
|
|
420
|
+
ValueError: If tier is invalid
|
|
421
|
+
"""
|
|
422
|
+
if tier == "minimal":
|
|
423
|
+
return REQUIRED_PM_SKILLS
|
|
424
|
+
if tier == "standard":
|
|
425
|
+
return REQUIRED_PM_SKILLS + RECOMMENDED_PM_SKILLS
|
|
426
|
+
if tier == "full":
|
|
427
|
+
return REQUIRED_PM_SKILLS + RECOMMENDED_PM_SKILLS + OPTIONAL_PM_SKILLS
|
|
428
|
+
raise ValueError(
|
|
429
|
+
f"Invalid tier '{tier}'. Must be 'minimal', 'standard', or 'full'"
|
|
430
|
+
)
|
|
431
|
+
|
|
386
432
|
def deploy_pm_skills(
|
|
387
433
|
self,
|
|
388
434
|
project_dir: Path,
|
|
389
435
|
force: bool = False,
|
|
436
|
+
tier: str = "standard",
|
|
390
437
|
progress_callback: Optional[Callable[[str, int, int], None]] = None,
|
|
391
438
|
) -> DeploymentResult:
|
|
392
|
-
"""Deploy bundled PM skills to project directory.
|
|
439
|
+
"""Deploy bundled PM skills to project directory with tier-based selection.
|
|
393
440
|
|
|
394
441
|
Copies PM skills from bundled templates to .claude/skills/{name}/SKILL.md
|
|
395
442
|
and updates registry with version and checksum information.
|
|
396
443
|
|
|
444
|
+
Deployment Tiers:
|
|
445
|
+
- "minimal": Only REQUIRED_PM_SKILLS (Tier 1 - core functionality)
|
|
446
|
+
- "standard": REQUIRED_PM_SKILLS + RECOMMENDED_PM_SKILLS (Tier 1+2 - common workflows)
|
|
447
|
+
- "full": All skills (Tier 1+2+3 - advanced features)
|
|
448
|
+
|
|
397
449
|
Conflict Resolution:
|
|
398
450
|
- mpm-* skills from src WIN (overwrite existing)
|
|
399
451
|
- Non-mpm-* skills in .claude/skills/ are untouched
|
|
@@ -401,16 +453,42 @@ class PMSkillsDeployerService(LoggerMixin):
|
|
|
401
453
|
Args:
|
|
402
454
|
project_dir: Project root directory
|
|
403
455
|
force: If True, redeploy even if skill already exists
|
|
456
|
+
tier: Deployment tier - "minimal", "standard" (default), or "full"
|
|
404
457
|
progress_callback: Optional callback(skill_name, current, total) for progress
|
|
405
458
|
|
|
406
459
|
Returns:
|
|
407
460
|
DeploymentResult with deployment status and details
|
|
408
461
|
|
|
409
462
|
Example:
|
|
410
|
-
>>>
|
|
463
|
+
>>> # Standard deployment (Tier 1 + Tier 2)
|
|
464
|
+
>>> result = deployer.deploy_pm_skills(Path("/project"))
|
|
411
465
|
>>> print(f"Deployed: {len(result.deployed)} to .claude/skills/")
|
|
466
|
+
>>>
|
|
467
|
+
>>> # Minimal deployment (Tier 1 only)
|
|
468
|
+
>>> result = deployer.deploy_pm_skills(Path("/project"), tier="minimal")
|
|
469
|
+
>>>
|
|
470
|
+
>>> # Full deployment (all tiers)
|
|
471
|
+
>>> result = deployer.deploy_pm_skills(Path("/project"), tier="full")
|
|
412
472
|
"""
|
|
413
|
-
|
|
473
|
+
# Get tier-based skill filter
|
|
474
|
+
try:
|
|
475
|
+
tier_skills = self._get_skills_for_tier(tier)
|
|
476
|
+
except ValueError as e:
|
|
477
|
+
return DeploymentResult(
|
|
478
|
+
success=False,
|
|
479
|
+
deployed=[],
|
|
480
|
+
skipped=[],
|
|
481
|
+
errors=[{"skill": "all", "error": str(e)}],
|
|
482
|
+
message=str(e),
|
|
483
|
+
)
|
|
484
|
+
|
|
485
|
+
# Discover all bundled skills, then filter by tier
|
|
486
|
+
all_skills = self._discover_bundled_pm_skills()
|
|
487
|
+
skills = [s for s in all_skills if s["name"] in tier_skills]
|
|
488
|
+
|
|
489
|
+
self.logger.info(
|
|
490
|
+
f"Deploying {len(skills)}/{len(all_skills)} skills for tier '{tier}'"
|
|
491
|
+
)
|
|
414
492
|
deployed = []
|
|
415
493
|
skipped = []
|
|
416
494
|
errors = []
|
|
@@ -526,7 +604,7 @@ class PMSkillsDeployerService(LoggerMixin):
|
|
|
526
604
|
|
|
527
605
|
success = len(errors) == 0
|
|
528
606
|
message = (
|
|
529
|
-
f"Deployed {len(deployed)} skills, skipped {len(skipped)}, "
|
|
607
|
+
f"Deployed {len(deployed)} skills (tier: {tier}), skipped {len(skipped)}, "
|
|
530
608
|
f"{len(errors)} errors"
|
|
531
609
|
)
|
|
532
610
|
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mpm
|
|
3
|
+
description: Access Claude MPM functionality and manage multi-agent orchestration
|
|
4
|
+
user-invocable: true
|
|
5
|
+
version: "1.0.0"
|
|
6
|
+
category: mpm-command
|
|
7
|
+
tags: [mpm-command, system, pm-required]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# /mpm
|
|
11
|
+
|
|
12
|
+
Access Claude MPM functionality and manage your multi-agent orchestration.
|
|
13
|
+
|
|
14
|
+
## Available MPM Commands
|
|
15
|
+
|
|
16
|
+
- `/mpm-agents` - Show available agents and versions
|
|
17
|
+
- `/mpm-doctor` - Run diagnostic checks
|
|
18
|
+
- `/mpm-help` - Show command help
|
|
19
|
+
- `/mpm-status` - Show MPM status
|
|
20
|
+
- `/mpm-ticket` - Ticketing workflow management (organize, proceed, status, update, project)
|
|
21
|
+
- `/mpm-config` - Manage configuration
|
|
22
|
+
- `/mpm-resume` - Create session resume files
|
|
23
|
+
- `/mpm-version` - Display version information for project, agents, and skills
|
|
24
|
+
|
|
25
|
+
## What is Claude MPM?
|
|
26
|
+
|
|
27
|
+
Claude MPM extends Claude Code with:
|
|
28
|
+
- **Multi-agent orchestration** - Delegate work to specialized agents
|
|
29
|
+
- **Project-specific PM instructions** - Tailored guidance for your project
|
|
30
|
+
- **Agent memory management** - Context-aware agent interactions
|
|
31
|
+
- **WebSocket monitoring** - Real-time system monitoring
|
|
32
|
+
- **Hook system for automation** - Automate workflows and tasks
|
|
33
|
+
|
|
34
|
+
## Quick Start
|
|
35
|
+
|
|
36
|
+
Use `/mpm-help` to explore commands or `/mpm-status` to check system health.
|
|
37
|
+
|
|
38
|
+
For more information, use `/mpm-help [command]` for specific command details.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mpm-config
|
|
3
|
+
description: Manage Claude MPM configuration
|
|
4
|
+
user-invocable: true
|
|
5
|
+
version: "1.0.0"
|
|
6
|
+
category: mpm-command
|
|
7
|
+
tags: [mpm-command, config, pm-recommended]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# /mpm-config
|
|
11
|
+
|
|
12
|
+
Unified configuration management with auto-detection.
|
|
13
|
+
|
|
14
|
+
## Usage
|
|
15
|
+
```
|
|
16
|
+
/mpm-config [auto|view|validate|status] [options]
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**Modes:**
|
|
20
|
+
- `auto` (default): Auto-detect toolchain and configure agents/skills
|
|
21
|
+
- `view`: Display current configuration
|
|
22
|
+
- `validate`: Check configuration validity
|
|
23
|
+
- `status`: Show configuration health
|
|
24
|
+
|
|
25
|
+
**Key Options:**
|
|
26
|
+
- `--yes`: Auto-deploy without confirmation
|
|
27
|
+
- `--preview`: Show recommendations only
|
|
28
|
+
|
|
29
|
+
See docs/commands/config.md for full options.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mpm-doctor
|
|
3
|
+
description: Run diagnostic checks on Claude MPM installation
|
|
4
|
+
user-invocable: true
|
|
5
|
+
version: "1.0.0"
|
|
6
|
+
category: mpm-command
|
|
7
|
+
tags: [mpm-command, system, pm-required, diagnostics, troubleshooting]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# /mpm-doctor
|
|
11
|
+
|
|
12
|
+
Run comprehensive diagnostics on Claude MPM installation.
|
|
13
|
+
|
|
14
|
+
## Usage
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
/mpm-doctor [--verbose] [--fix]
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Options
|
|
21
|
+
|
|
22
|
+
- `--verbose`: Show detailed diagnostic output
|
|
23
|
+
- `--fix`: Attempt to automatically fix detected issues
|
|
24
|
+
|
|
25
|
+
## What It Checks
|
|
26
|
+
|
|
27
|
+
- **Installation**: MPM package installation and version
|
|
28
|
+
- **Configuration**: Config file validity and required settings
|
|
29
|
+
- **WebSocket**: WebSocket server connectivity and health
|
|
30
|
+
- **Agents**: Agent availability and configuration
|
|
31
|
+
- **Memory**: Memory system health and accessibility
|
|
32
|
+
- **Hooks**: Hook system setup and functionality
|
|
33
|
+
|
|
34
|
+
## When to Use
|
|
35
|
+
|
|
36
|
+
- After initial MPM installation (verify setup)
|
|
37
|
+
- When experiencing issues with commands or delegation
|
|
38
|
+
- Before reporting bugs (gather diagnostic information)
|
|
39
|
+
- After configuration changes (verify correctness)
|
|
40
|
+
- When WebSocket monitoring isn't working
|
|
41
|
+
|
|
42
|
+
## Example Output
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
✅ MPM Installation: OK (v5.4.105)
|
|
46
|
+
✅ Configuration: Valid
|
|
47
|
+
⚠️ WebSocket Server: Not running (start with /mpm-monitor start)
|
|
48
|
+
✅ Agents: 15 available
|
|
49
|
+
✅ Memory System: Healthy
|
|
50
|
+
✅ Hooks: Configured
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
See docs/commands/doctor.md for details.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mpm-help
|
|
3
|
+
description: Display help for Claude MPM commands
|
|
4
|
+
user-invocable: true
|
|
5
|
+
version: "1.0.0"
|
|
6
|
+
category: mpm-command
|
|
7
|
+
tags: [mpm-command, system, pm-required, documentation]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# /mpm-help
|
|
11
|
+
|
|
12
|
+
Show help for MPM commands. Delegates to PM agent.
|
|
13
|
+
|
|
14
|
+
## Usage
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
/mpm-help [command]
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Examples
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
/mpm-help # Show all available commands
|
|
24
|
+
/mpm-help mpm-init # Show detailed help for mpm-init
|
|
25
|
+
/mpm-help mpm-ticket # Show ticketing workflow help
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## What It Provides
|
|
29
|
+
|
|
30
|
+
- **Command listing**: All available MPM commands
|
|
31
|
+
- **Command details**: Syntax, options, and usage examples
|
|
32
|
+
- **Delegation patterns**: Which agent handles which command
|
|
33
|
+
- **Workflow guidance**: Common command sequences and workflows
|
|
34
|
+
|
|
35
|
+
See docs/commands/help.md for full command reference.
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mpm-init
|
|
3
|
+
description: Initialize or update project for Claude Code and MPM
|
|
4
|
+
user-invocable: true
|
|
5
|
+
version: "1.0.0"
|
|
6
|
+
category: mpm-command
|
|
7
|
+
tags: [mpm-command, system, pm-required, setup]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# /mpm-init
|
|
11
|
+
|
|
12
|
+
Initialize or intelligently update project for Claude Code and Claude MPM.
|
|
13
|
+
|
|
14
|
+
## Usage
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
/mpm-init [update|context|resume|catchup] [options]
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Core Modes
|
|
21
|
+
|
|
22
|
+
### Project Setup
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
/mpm-init # Auto-detect: offer update or create
|
|
26
|
+
/mpm-init update # Quick update (30-day git activity)
|
|
27
|
+
/mpm-init --update # Full documentation refresh
|
|
28
|
+
/mpm-init --force # Force recreate from scratch
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**Delegates to Agentic Coder Optimizer agent** for:
|
|
32
|
+
- CLAUDE.md creation/update (with priority rankings 🔴🟡🟢⚪)
|
|
33
|
+
- AST analysis and code structure docs
|
|
34
|
+
- Single-path workflows (ONE way to do ANYTHING)
|
|
35
|
+
- Tool configuration, memory system, gitignore management
|
|
36
|
+
|
|
37
|
+
**Smart Update Mode:** Auto-detects existing CLAUDE.md and offers update vs recreate.
|
|
38
|
+
|
|
39
|
+
### Context Analysis
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
/mpm-init context [--days N] # Intelligent git history analysis (default: 7 days)
|
|
43
|
+
/mpm-init catchup # Quick commit history (last 25 commits, no analysis)
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**context:** Delegates to Research agent for deep analysis of:
|
|
47
|
+
- Active work streams (from commit patterns)
|
|
48
|
+
- Intent and motivation (from messages)
|
|
49
|
+
- Risks and blockers
|
|
50
|
+
- Recommended next actions
|
|
51
|
+
|
|
52
|
+
**catchup:** Direct CLI execution, instant output.
|
|
53
|
+
|
|
54
|
+
### Resume from Logs
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
/mpm-init resume [--list] [--session-id ID]
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Reads stop event logs from `.claude-mpm/resume-logs/` and `.claude-mpm/responses/` showing:
|
|
61
|
+
- What was being worked on
|
|
62
|
+
- Tasks completed, files modified
|
|
63
|
+
- Next steps, stop reason, token usage
|
|
64
|
+
- Git context (branch, status)
|
|
65
|
+
|
|
66
|
+
## Key Options
|
|
67
|
+
|
|
68
|
+
**Configuration:**
|
|
69
|
+
- `--project-type TYPE`: web, api, cli, library
|
|
70
|
+
- `--framework NAME`: react, django, fastapi, etc.
|
|
71
|
+
- `--ast-analysis` / `--no-ast-analysis`: Enable/disable code analysis
|
|
72
|
+
- `--comprehensive` / `--minimal`: Full setup vs CLAUDE.md only
|
|
73
|
+
|
|
74
|
+
**Organization:**
|
|
75
|
+
- `--organize`: Organize misplaced files
|
|
76
|
+
- `--preserve-custom`: Keep custom sections (default)
|
|
77
|
+
- `--review`: Review without changes
|
|
78
|
+
|
|
79
|
+
## What Gets Created
|
|
80
|
+
|
|
81
|
+
**New Projects:**
|
|
82
|
+
- ✅ CLAUDE.md (priority-ranked instructions)
|
|
83
|
+
- ✅ Single-path workflows (make build/test/deploy)
|
|
84
|
+
- ✅ Tool configs (linting, formatting, testing)
|
|
85
|
+
- ✅ Memory system (.claude-mpm/memories/)
|
|
86
|
+
- ✅ DEVELOPER.md, CODE_STRUCTURE.md (with AST)
|
|
87
|
+
- ✅ .gitignore updates (auto-adds .claude-mpm/)
|
|
88
|
+
|
|
89
|
+
**Updates:**
|
|
90
|
+
- ✅ Smart merging (preserves custom sections)
|
|
91
|
+
- ✅ Automatic archival (docs/_archive/)
|
|
92
|
+
- ✅ Change tracking
|
|
93
|
+
|
|
94
|
+
## Examples
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
# Quick start
|
|
98
|
+
/mpm-init # Auto-detect mode
|
|
99
|
+
|
|
100
|
+
# Quick update (lightweight)
|
|
101
|
+
/mpm-init update # 30-day activity report
|
|
102
|
+
|
|
103
|
+
# Resume work
|
|
104
|
+
/mpm-init context --days 14 # Analyze last 2 weeks
|
|
105
|
+
/mpm-init resume # Show latest session from logs
|
|
106
|
+
/mpm-init catchup # Quick commit history
|
|
107
|
+
|
|
108
|
+
# Full configuration
|
|
109
|
+
/mpm-init --project-type web --framework react --comprehensive
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Implementation Notes
|
|
113
|
+
|
|
114
|
+
**Delegation patterns:**
|
|
115
|
+
- **Project init/update:** → Agentic Coder Optimizer agent
|
|
116
|
+
- **context:** → PM → Research agent (structured analysis)
|
|
117
|
+
- **catchup:** → Direct CLI (git log wrapper)
|
|
118
|
+
- **resume:** → PM (reads logs, no delegation)
|
|
119
|
+
|
|
120
|
+
**Token budgets:**
|
|
121
|
+
- context analysis: 10-30s processing time
|
|
122
|
+
- resume display: ~10-20k tokens
|
|
123
|
+
- catchup: instant, minimal tokens
|
|
124
|
+
|
|
125
|
+
See docs/commands/init.md for comprehensive documentation.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mpm-monitor
|
|
3
|
+
description: Control monitoring server and dashboard
|
|
4
|
+
user-invocable: true
|
|
5
|
+
version: "1.0.0"
|
|
6
|
+
category: mpm-command
|
|
7
|
+
tags: [mpm-command, system, pm-optional]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# /mpm-monitor
|
|
11
|
+
|
|
12
|
+
Manage Socket.IO monitoring server for real-time dashboard.
|
|
13
|
+
|
|
14
|
+
## Usage
|
|
15
|
+
```
|
|
16
|
+
/mpm-monitor [start|stop|restart|status|port] [options]
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**Subcommands:**
|
|
20
|
+
- `start`: Start server (auto-selects port 8765-8785)
|
|
21
|
+
- `stop`: Stop running server
|
|
22
|
+
- `status`: Show server status
|
|
23
|
+
- `port <PORT>`: Start on specific port
|
|
24
|
+
|
|
25
|
+
**Key Options:**
|
|
26
|
+
- `--port PORT`: Specific port
|
|
27
|
+
- `--force`: Force kill to reclaim port
|
|
28
|
+
- `--foreground`: Run in foreground (default: background)
|
|
29
|
+
|
|
30
|
+
Dashboard: http://localhost:8766
|
|
31
|
+
|
|
32
|
+
See docs/commands/monitor.md for details.
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mpm-organize
|
|
3
|
+
description: Organize project files with intelligent consolidation
|
|
4
|
+
user-invocable: true
|
|
5
|
+
version: "1.0.0"
|
|
6
|
+
category: mpm-command
|
|
7
|
+
tags: [mpm-command, system, pm-optional]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# /mpm-organize
|
|
11
|
+
|
|
12
|
+
Organize ALL project files with intelligent detection, consolidation, and pruning.
|
|
13
|
+
|
|
14
|
+
## Usage
|
|
15
|
+
```
|
|
16
|
+
/mpm-organize [--dry-run] [--force] [options]
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**Delegates to Project Organizer agent** for comprehensive file organization.
|
|
20
|
+
|
|
21
|
+
## Scope
|
|
22
|
+
|
|
23
|
+
**Default:** Organizes ALL project files
|
|
24
|
+
- Documentation (.md, .rst, .txt)
|
|
25
|
+
- Source code (proper module structure)
|
|
26
|
+
- Tests (organized test suites)
|
|
27
|
+
- Scripts (scripts/ directory)
|
|
28
|
+
- Configuration (appropriate locations)
|
|
29
|
+
|
|
30
|
+
**Protected files (never moved):** README.md, package.json, pyproject.toml, Makefile, .gitignore, etc.
|
|
31
|
+
|
|
32
|
+
## Key Options
|
|
33
|
+
|
|
34
|
+
**Safety:**
|
|
35
|
+
- `--dry-run`: Preview without changes (recommended first run)
|
|
36
|
+
- `--force`: Proceed with uncommitted changes
|
|
37
|
+
- `--no-backup`: Skip backup (not recommended)
|
|
38
|
+
|
|
39
|
+
**Scope:**
|
|
40
|
+
- `--docs-only`: Only documentation (legacy behavior)
|
|
41
|
+
- `--code-only` / `--tests-only` / `--scripts-only`: Specific file types
|
|
42
|
+
|
|
43
|
+
**Operations:**
|
|
44
|
+
- `--consolidate-only`: Merge duplicates only
|
|
45
|
+
- `--prune-only`: Remove stale files only
|
|
46
|
+
- `--no-prune`: Keep all files (no deletions)
|
|
47
|
+
|
|
48
|
+
## What It Does
|
|
49
|
+
|
|
50
|
+
1. **Pattern Detection:** Scans for existing organization (PROJECT_ORGANIZATION.md, framework conventions)
|
|
51
|
+
2. **Consolidation:** Merges duplicates (READMEs, guides, utilities)
|
|
52
|
+
3. **Pruning:** Archives/removes stale content (>6 months old, empty files)
|
|
53
|
+
4. **Categorization:** Sorts docs into research/user/developer
|
|
54
|
+
5. **Safe Movement:** Uses `git mv` to preserve history
|
|
55
|
+
6. **Backup:** Creates backup_project_YYYYMMDD_HHMMSS.tar.gz
|
|
56
|
+
|
|
57
|
+
## Standard Structure
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
docs/
|
|
61
|
+
├── research/ # Spikes, analysis, notes
|
|
62
|
+
├── user/ # Guides, tutorials, FAQs
|
|
63
|
+
└── developer/ # API docs, architecture, contributing
|
|
64
|
+
|
|
65
|
+
src/<package>/ # Proper module structure
|
|
66
|
+
tests/ # Mirrored source structure
|
|
67
|
+
scripts/ # Automation tools
|
|
68
|
+
config/ # Configuration (if needed)
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Examples
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
# Preview changes (recommended first)
|
|
75
|
+
/mpm-organize --dry-run
|
|
76
|
+
|
|
77
|
+
# Organize everything with backup
|
|
78
|
+
/mpm-organize
|
|
79
|
+
|
|
80
|
+
# Documentation only
|
|
81
|
+
/mpm-organize --docs-only --dry-run
|
|
82
|
+
|
|
83
|
+
# Consolidate without pruning
|
|
84
|
+
/mpm-organize --consolidate-only --no-prune
|
|
85
|
+
|
|
86
|
+
# Save report
|
|
87
|
+
/mpm-organize --report /tmp/organize-report.md
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Expected Output
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
🔍 Analyzing project structure...
|
|
94
|
+
✓ Detected PROJECT_ORGANIZATION.md - using project standards
|
|
95
|
+
✓ Found 23 documentation files, 15 test files, 8 scripts
|
|
96
|
+
|
|
97
|
+
📁 Proposed Changes:
|
|
98
|
+
|
|
99
|
+
Consolidate:
|
|
100
|
+
→ Merge README_OLD.md + README_BACKUP.md → docs/user/README.md
|
|
101
|
+
|
|
102
|
+
Organize:
|
|
103
|
+
docs/research/ ← spike-oauth.md (from root)
|
|
104
|
+
tests/unit/ ← test_auth.py (from root)
|
|
105
|
+
scripts/ ← deploy.sh (from root)
|
|
106
|
+
|
|
107
|
+
Prune:
|
|
108
|
+
✂ Remove TODO_2023.md (stale 18 months)
|
|
109
|
+
|
|
110
|
+
📊 Summary: 8 to move, 2 to merge, 3 to prune
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Safety Features
|
|
114
|
+
|
|
115
|
+
- Full project backup before changes
|
|
116
|
+
- Git integration (preserves history)
|
|
117
|
+
- Import validation (ensures moves won't break code)
|
|
118
|
+
- Protected files never touched
|
|
119
|
+
- Conservative pruning (archive when unsure)
|
|
120
|
+
|
|
121
|
+
See docs/commands/organize.md for full documentation.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mpm-postmortem
|
|
3
|
+
description: Analyze session errors and suggest improvements
|
|
4
|
+
user-invocable: true
|
|
5
|
+
version: "1.0.0"
|
|
6
|
+
category: mpm-command
|
|
7
|
+
tags: [mpm-command, analysis, pm-recommended]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# /mpm-postmortem
|
|
11
|
+
|
|
12
|
+
Analyze session errors and generate improvement suggestions.
|
|
13
|
+
|
|
14
|
+
## Usage
|
|
15
|
+
```
|
|
16
|
+
/mpm-postmortem [--auto-fix] [--create-prs] [--dry-run]
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Analyzes errors from: scripts, skills, agents, user code.
|
|
20
|
+
Generates: fixes, updates, PR recommendations, suggestions.
|
|
21
|
+
|
|
22
|
+
See docs/commands/postmortem.md for details.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mpm-session-resume
|
|
3
|
+
description: Load context from paused session
|
|
4
|
+
user-invocable: true
|
|
5
|
+
version: "1.0.0"
|
|
6
|
+
category: mpm-command
|
|
7
|
+
tags: [mpm-command, session, pm-recommended]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# /mpm-session-resume
|
|
11
|
+
|
|
12
|
+
Load and display context from most recent paused session.
|
|
13
|
+
|
|
14
|
+
## Usage
|
|
15
|
+
```
|
|
16
|
+
/mpm-resume
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**What it shows:**
|
|
20
|
+
- Session summary and time elapsed
|
|
21
|
+
- Completed work and current tasks
|
|
22
|
+
- Git context and recent commits
|
|
23
|
+
- Next recommended actions
|
|
24
|
+
|
|
25
|
+
**Session location:** `.claude-mpm/sessions/session-*.md`
|
|
26
|
+
|
|
27
|
+
**Token usage:** ~20-40k tokens (10-20% of context budget)
|
|
28
|
+
|
|
29
|
+
**Note:** Reads existing sessions (created automatically at 70% context). Does NOT create new files.
|
|
30
|
+
|
|
31
|
+
See docs/features/session-auto-resume.md for details.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mpm-status
|
|
3
|
+
description: Display Claude MPM system status
|
|
4
|
+
user-invocable: true
|
|
5
|
+
version: "1.0.0"
|
|
6
|
+
category: mpm-command
|
|
7
|
+
tags: [mpm-command, system, pm-required, diagnostics]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# /mpm-status
|
|
11
|
+
|
|
12
|
+
Show MPM system status. Delegates to PM agent.
|
|
13
|
+
|
|
14
|
+
## Usage
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
/mpm-status
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## What It Shows
|
|
21
|
+
|
|
22
|
+
Displays comprehensive system information:
|
|
23
|
+
- **Version**: MPM version and installation details
|
|
24
|
+
- **Services**: WebSocket server status, monitoring dashboard
|
|
25
|
+
- **Agents**: Available agents and their versions
|
|
26
|
+
- **Memory**: Memory system statistics and health
|
|
27
|
+
- **Configuration**: Current MPM configuration settings
|
|
28
|
+
- **Project Info**: Project-specific context and setup
|
|
29
|
+
|
|
30
|
+
## When to Use
|
|
31
|
+
|
|
32
|
+
- Check if MPM is properly installed and configured
|
|
33
|
+
- Verify agent availability before delegation
|
|
34
|
+
- Debug system issues or unexpected behavior
|
|
35
|
+
- Get quick overview of system health
|
|
36
|
+
|
|
37
|
+
See docs/commands/status.md for details.
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mpm-ticket-view
|
|
3
|
+
description: Orchestrate ticketing agent for project management workflows
|
|
4
|
+
user-invocable: true
|
|
5
|
+
version: "1.0.0"
|
|
6
|
+
category: mpm-command
|
|
7
|
+
tags: [mpm-command, tickets, pm-recommended]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# /mpm-ticket
|
|
11
|
+
|
|
12
|
+
High-level ticketing workflows delegating to ticketing agent.
|
|
13
|
+
|
|
14
|
+
## Usage
|
|
15
|
+
```
|
|
16
|
+
/mpm-ticket <subcommand> [options]
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**CRITICAL:** PM delegates ALL ticketing operations to ticketing agent. PM NEVER uses MCP tools directly.
|
|
20
|
+
|
|
21
|
+
## Subcommands
|
|
22
|
+
|
|
23
|
+
### /mpm-ticket organize
|
|
24
|
+
Review, transition states, update priorities, identify stale tickets.
|
|
25
|
+
|
|
26
|
+
**MCP Tools (ticketing agent uses):**
|
|
27
|
+
- ticket_list, ticket_read, ticket_comment
|
|
28
|
+
- ticket_transition, ticket_update
|
|
29
|
+
- ticket_find_stale
|
|
30
|
+
|
|
31
|
+
**Output:** Tickets transitioned, priorities updated, stale tickets identified, next actions.
|
|
32
|
+
|
|
33
|
+
### /mpm-ticket proceed
|
|
34
|
+
Analyze project board and recommend next actionable steps.
|
|
35
|
+
|
|
36
|
+
**MCP Tools (ticketing agent uses):**
|
|
37
|
+
- project_status, ticket_list, ticket_search
|
|
38
|
+
- epic_issues, get_available_transitions
|
|
39
|
+
|
|
40
|
+
**Output:** Project health, recommended next actions (top 3), blockers requiring attention.
|
|
41
|
+
|
|
42
|
+
### /mpm-ticket status
|
|
43
|
+
Generate comprehensive status report covering work, tickets, project health.
|
|
44
|
+
|
|
45
|
+
**MCP Tools (ticketing agent uses):**
|
|
46
|
+
- project_status, ticket_list, ticket_search
|
|
47
|
+
- ticket_find_stale, get_my_tickets
|
|
48
|
+
|
|
49
|
+
**Output:** Health metrics, ticket counts, high-priority work, blockers, recent activity, risk assessment.
|
|
50
|
+
|
|
51
|
+
### /mpm-ticket update
|
|
52
|
+
Create project status update (Linear ProjectUpdate).
|
|
53
|
+
|
|
54
|
+
**MCP Tools (ticketing agent uses):**
|
|
55
|
+
- project_status, project_update_create
|
|
56
|
+
- project_update_list, ticket_list
|
|
57
|
+
|
|
58
|
+
**Output:** Update ID, health status, accomplishments, metrics, risks, next sprint focus, published link.
|
|
59
|
+
|
|
60
|
+
### /mpm-ticket project <url>
|
|
61
|
+
Set project URL for context (Linear/GitHub/JIRA).
|
|
62
|
+
|
|
63
|
+
**MCP Tools (ticketing agent uses):**
|
|
64
|
+
- config_set_default_project, epic_get, config_get
|
|
65
|
+
|
|
66
|
+
**Output:** Project context configured, platform/ID/name, access verified, summary.
|
|
67
|
+
|
|
68
|
+
## Delegation Pattern
|
|
69
|
+
|
|
70
|
+
**WRONG ❌:**
|
|
71
|
+
```
|
|
72
|
+
# PM directly using MCP tools
|
|
73
|
+
result = mcp__mcp-ticketer__ticket_list()
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**CORRECT ✅:**
|
|
77
|
+
```
|
|
78
|
+
# PM delegates to ticketing agent
|
|
79
|
+
PM: "I'll have ticketing organize tickets..."
|
|
80
|
+
[PM constructs delegation prompt]
|
|
81
|
+
[Ticketing agent uses MCP tools]
|
|
82
|
+
PM: [Presents results]
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Fallback Strategy
|
|
86
|
+
|
|
87
|
+
If mcp-ticketer unavailable, ticketing agent falls back to aitrackdown CLI:
|
|
88
|
+
```bash
|
|
89
|
+
aitrackdown status tasks
|
|
90
|
+
aitrackdown show TICKET-123
|
|
91
|
+
aitrackdown transition TICKET-123 done
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**PM still delegates** - ticketing agent handles CLI fallback internally.
|
|
95
|
+
|
|
96
|
+
## Example Workflows
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# Organize and analyze
|
|
100
|
+
/mpm-ticket organize # Clean up board
|
|
101
|
+
/mpm-ticket proceed # Get next steps
|
|
102
|
+
|
|
103
|
+
# Weekly update
|
|
104
|
+
/mpm-ticket update # Create status update
|
|
105
|
+
|
|
106
|
+
# Project setup
|
|
107
|
+
/mpm-ticket project https://linear.app/team/project/abc-123
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
See docs/commands/ticket.md for comprehensive documentation.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mpm-version
|
|
3
|
+
description: Show version information
|
|
4
|
+
user-invocable: true
|
|
5
|
+
version: "1.0.0"
|
|
6
|
+
category: mpm-command
|
|
7
|
+
tags: [mpm-command, system, pm-optional]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# /mpm-version
|
|
11
|
+
|
|
12
|
+
Display version information for MPM, agents, and skills.
|
|
13
|
+
|
|
14
|
+
## Usage
|
|
15
|
+
```
|
|
16
|
+
/mpm-version
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Shows project version, build number, all agents (by tier), all skills (by source).
|
|
20
|
+
|
|
21
|
+
See docs/commands/version.md for details.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: claude-mpm
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.5.0
|
|
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
|
|
@@ -108,7 +108,7 @@ Dynamic: license-file
|
|
|
108
108
|
|
|
109
109
|
A powerful orchestration framework for **Claude Code (CLI)** that enables multi-agent workflows, session management, and real-time monitoring through a streamlined Rich-based interface.
|
|
110
110
|
|
|
111
|
-
> **⚠️ Important**: Claude MPM **requires Claude Code CLI** (v2.
|
|
111
|
+
> **⚠️ Important**: Claude MPM **requires Claude Code CLI** (v2.1.3+), not Claude Desktop (app). All MCP integrations work with Claude Code's CLI interface only.
|
|
112
112
|
>
|
|
113
113
|
> **Don't have Claude Code?** Install from: https://docs.anthropic.com/en/docs/claude-code
|
|
114
114
|
>
|
|
@@ -142,7 +142,7 @@ Claude MPM transforms Claude Code into a **multi-agent orchestration platform**
|
|
|
142
142
|
### Prerequisites
|
|
143
143
|
|
|
144
144
|
1. **Python 3.10+** (3.11+ recommended)
|
|
145
|
-
2. **Claude Code CLI v2.
|
|
145
|
+
2. **Claude Code CLI v2.1.3+** (required!)
|
|
146
146
|
|
|
147
147
|
```bash
|
|
148
148
|
# Verify Claude Code is installed
|
|
@@ -150,18 +150,18 @@ claude_mpm/cli_module/args.py,sha256=50_Y3AgMNeidtPjQ5-WZ1o-5Y7G2GAGQwMmllYjVScE
|
|
|
150
150
|
claude_mpm/cli_module/commands.py,sha256=7ZzLm_R0wUkuYV1Hqe1BUDsP8b3BH33i5arkSEugm3U,7013
|
|
151
151
|
claude_mpm/cli_module/migration_example.py,sha256=DtQ59RyoBD6r8FIfrjKXCQ8-xnUiOqP5McBiS6_W1Qc,5183
|
|
152
152
|
claude_mpm/commands/__init__.py,sha256=paX5Ub5-UmRgiQ8UgKWIKwU2-RjLu67OmNJND-fVtjg,588
|
|
153
|
-
claude_mpm/commands/mpm-config.md,sha256=
|
|
154
|
-
claude_mpm/commands/mpm-doctor.md,sha256=
|
|
155
|
-
claude_mpm/commands/mpm-help.md,sha256=
|
|
156
|
-
claude_mpm/commands/mpm-init.md,sha256=
|
|
157
|
-
claude_mpm/commands/mpm-monitor.md,sha256=
|
|
158
|
-
claude_mpm/commands/mpm-organize.md,sha256=
|
|
159
|
-
claude_mpm/commands/mpm-postmortem.md,sha256=
|
|
160
|
-
claude_mpm/commands/mpm-session-resume.md,sha256=
|
|
161
|
-
claude_mpm/commands/mpm-status.md,sha256=
|
|
162
|
-
claude_mpm/commands/mpm-ticket-view.md,sha256=
|
|
163
|
-
claude_mpm/commands/mpm-version.md,sha256=
|
|
164
|
-
claude_mpm/commands/mpm.md,sha256=
|
|
153
|
+
claude_mpm/commands/mpm-config.md,sha256=GMQIsXSzKUmaIpfrohBUA7d4lga4JfYDxJqgqYQV7uM,960
|
|
154
|
+
claude_mpm/commands/mpm-doctor.md,sha256=k5WRirZ7atDpCdeQeGLF33NhdK4xR5CuEavq7f7eUfI,731
|
|
155
|
+
claude_mpm/commands/mpm-help.md,sha256=eirrqODseWpxn_k2oq-krYQL3-FY7BLR18WAe0o8oVE,686
|
|
156
|
+
claude_mpm/commands/mpm-init.md,sha256=wQznhsIznYRjVufUlMbM2Z9fzG66vhDrplUGVyHiS88,3836
|
|
157
|
+
claude_mpm/commands/mpm-monitor.md,sha256=OoYfOsMmERsZu7lU-ap2ETp-hvJWeghLAWjWx3-3sic,1038
|
|
158
|
+
claude_mpm/commands/mpm-organize.md,sha256=fUbrZ6JEqjcDGZhwHCcmJdG6rGmkxdvAjtcj5WL_VKg,3571
|
|
159
|
+
claude_mpm/commands/mpm-postmortem.md,sha256=ugPpSB0R_cAFPC1Juss1w_ScdJqvAFqZYd3aO_hSjtk,842
|
|
160
|
+
claude_mpm/commands/mpm-session-resume.md,sha256=pWBsTfdkPhBjA1A82hggsSNkwo74Q-6m8--bEAAbfHM,1050
|
|
161
|
+
claude_mpm/commands/mpm-status.md,sha256=nSJECNMBPpH4DU__7D1Nl6RJNTMKZt8_CZQHhoZQZmU,687
|
|
162
|
+
claude_mpm/commands/mpm-ticket-view.md,sha256=xf2ZPnC5NlRm9TfSWrI6fYtuKamGUN7tMFMD8SADj_M,3243
|
|
163
|
+
claude_mpm/commands/mpm-version.md,sha256=_qOgk8o7BKq1QOYnMpbANPPEBselaKZw5Q4lX9qjzC0,707
|
|
164
|
+
claude_mpm/commands/mpm.md,sha256=dQ687JrR6tNxZ4saSiHAkPvLapkpPO6bf9JA-3nMCIQ,1257
|
|
165
165
|
claude_mpm/config/__init__.py,sha256=V2dyJQ8_gVCpNiCg8zYTQqE1RSeON5Zm8n5Ndkqhp1g,916
|
|
166
166
|
claude_mpm/config/agent_config.py,sha256=IpHt9jfY335dnWbFbZHz3fBwQr5afQMvQ1c1Uo4zGmA,14862
|
|
167
167
|
claude_mpm/config/agent_presets.py,sha256=XifeOkPwb0BULWDq5aIbhR7n06IOXtVQ-RIxAwRZqNU,15815
|
|
@@ -337,9 +337,9 @@ claude_mpm/hooks/claude_hooks/auto_pause_handler.py,sha256=xDAQZ33I5OhGvtWvA9mxw
|
|
|
337
337
|
claude_mpm/hooks/claude_hooks/connection_pool.py,sha256=vpi-XbVf61GWhh85tHBzubbOgbJly_I-5-QmsleND2M,8658
|
|
338
338
|
claude_mpm/hooks/claude_hooks/correlation_manager.py,sha256=3n-RxzqE8egG4max_NcpJgL9gzrBY6Ti529LrjleI1g,2033
|
|
339
339
|
claude_mpm/hooks/claude_hooks/event_handlers.py,sha256=_GUOe9urO9RVIaOWSNXv2F_di4D7SaePjxONyd37das,47019
|
|
340
|
-
claude_mpm/hooks/claude_hooks/hook_handler.py,sha256=
|
|
340
|
+
claude_mpm/hooks/claude_hooks/hook_handler.py,sha256=9TzVFQ6TCU0M3yQYFoU9lY6qubIIvg50NAAQZMmPf6w,28692
|
|
341
341
|
claude_mpm/hooks/claude_hooks/hook_wrapper.sh,sha256=XYkdYtcM0nfnwYvMdyIFCasr80ry3uI5-fLYsLtDGw4,2214
|
|
342
|
-
claude_mpm/hooks/claude_hooks/installer.py,sha256=
|
|
342
|
+
claude_mpm/hooks/claude_hooks/installer.py,sha256=RTjDGwFJFQaqRuHIG7dPNuyq04rcvadn0RZwYgaTR7M,33088
|
|
343
343
|
claude_mpm/hooks/claude_hooks/memory_integration.py,sha256=73w7A5-3s5i1oYdkbEgw7qhgalQvSuJjfx6OFqfaw64,9963
|
|
344
344
|
claude_mpm/hooks/claude_hooks/response_tracking.py,sha256=bgX4iVQqmX0L3_GHyKs1q4CSIjnavdxYnJZT0GaT4gs,17148
|
|
345
345
|
claude_mpm/hooks/claude_hooks/tool_analysis.py,sha256=3_o2PP9D7wEMwLriCtIBOw0cj2fSZfepN7lI4P1meSQ,7862
|
|
@@ -347,7 +347,7 @@ claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-311.pyc,sha256=EGpgXq
|
|
|
347
347
|
claude_mpm/hooks/claude_hooks/__pycache__/auto_pause_handler.cpython-311.pyc,sha256=X7A8O4KPXkuDaLDFbF7Izi1qVDyS0tQjHVo1xy_HzNQ,21172
|
|
348
348
|
claude_mpm/hooks/claude_hooks/__pycache__/correlation_manager.cpython-311.pyc,sha256=SQX5iiP9bQZkLL-cj_2tlGH7lpAzarO0mYal7btj3tc,3521
|
|
349
349
|
claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-311.pyc,sha256=76VtByCuOr7L1_snjeHo1iWDyD2QyvoMpAj1hrSq4-Q,45735
|
|
350
|
-
claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-311.pyc,sha256=
|
|
350
|
+
claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-311.pyc,sha256=kM0VoT8Z3kJ0F8TNxBIAnuUx40uvItH_VFJjHgrtojk,30702
|
|
351
351
|
claude_mpm/hooks/claude_hooks/__pycache__/installer.cpython-311.pyc,sha256=9mpAKY4gNcbU5VvZ5tGbf2UM0uIEWdreKSUvVr_BKcM,33917
|
|
352
352
|
claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-311.pyc,sha256=YbwauQDKSGvXkT1972faalJLuxwyvq328DYQhkCnel0,10513
|
|
353
353
|
claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-311.pyc,sha256=-L-n4xvi1eHY48MdZ-7v249UaNfkuiIwfwxdPgxwd80,16730
|
|
@@ -400,7 +400,7 @@ claude_mpm/services/memory_hook_service.py,sha256=u0WyZB2oLm_cEungByPNv7SRa-wqyU
|
|
|
400
400
|
claude_mpm/services/monitor_build_service.py,sha256=8gWR9CaqgXdG6-OjOFXGpk28GCcJTlHhojkUYnMCebI,12160
|
|
401
401
|
claude_mpm/services/native_agent_converter.py,sha256=mG9uYZvjP-lAjlwyfE1aRdJc2vN5x-haMwSry0YqP0E,12247
|
|
402
402
|
claude_mpm/services/orphan_detection.py,sha256=cEFE96FhC6EJSa53rUjbgjDj_E1_Ej-0KoYDQST22t0,26339
|
|
403
|
-
claude_mpm/services/pm_skills_deployer.py,sha256
|
|
403
|
+
claude_mpm/services/pm_skills_deployer.py,sha256=11MW83rATVoez9d-XRXjkwU4xoBnTxsI48053dCK5f8,32122
|
|
404
404
|
claude_mpm/services/port_manager.py,sha256=tL5oymXrIRzpkGWLy3g2THhA4wy1U_uZ2VtDE6Bbwck,22840
|
|
405
405
|
claude_mpm/services/profile_manager.py,sha256=L8vuLpFwcHsFUUr8uZwgHBSbqIZPVcUk_hAPrlSWqZU,10991
|
|
406
406
|
claude_mpm/services/project_port_allocator.py,sha256=L_EPuX_vGdv8vWWRVTpRk7F-v7uimaRTlqZP7LtJk7A,19085
|
|
@@ -887,17 +887,29 @@ claude_mpm/skills/bundled/php/espocrm-development/references/development-workflo
|
|
|
887
887
|
claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md,sha256=0h1VohuIr-El_Rj9wWWPluRynQqi2B8i0-xTaPdkGBY,17519
|
|
888
888
|
claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md,sha256=2KwnVcf5s1TCAo1GMdbLitJMVbi7cdYfDK_M5C4oBtI,20820
|
|
889
889
|
claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md,sha256=9TVZk_ZTez65kzx2R8nG-8fn9V_pIT5oTLsFQdPk2zQ,18250
|
|
890
|
+
claude_mpm/skills/bundled/pm/mpm/SKILL.md,sha256=F2IDXlaZa8bRVIhs3zlTvKGLtVbKft9kZUEjx2jJwII,1298
|
|
890
891
|
claude_mpm/skills/bundled/pm/mpm-agent-update-workflow/SKILL.md,sha256=Y-0wxWgiAaDShQkoqJd9p_4WL-tiwOvLqKPcDsQY67A,2231
|
|
891
892
|
claude_mpm/skills/bundled/pm/mpm-bug-reporting/SKILL.md,sha256=mDjGQd9ALSZ0jsuWyXSVT6_GxTudzAVTkasqwnf4zJE,6494
|
|
892
893
|
claude_mpm/skills/bundled/pm/mpm-circuit-breaker-enforcement/SKILL.md,sha256=G8HQH00z_JiIqgL5B5k7RAxRLN7cf8bFK8RkiekYU20,17791
|
|
894
|
+
claude_mpm/skills/bundled/pm/mpm-config/SKILL.md,sha256=J8WpSpCkUsXoK41_T6LOMRCjXfkhCG27LHN4Gnp0VPE,665
|
|
893
895
|
claude_mpm/skills/bundled/pm/mpm-delegation-patterns/SKILL.md,sha256=kdFyy5T_70vw5XpGexlXr18VdQWIFD59A8pLmmcWiVA,5388
|
|
896
|
+
claude_mpm/skills/bundled/pm/mpm-doctor/SKILL.md,sha256=E-6BkOXqLSfjH8jrIAbsuiu0sVXgqLs0zRveAH2weEo,1355
|
|
894
897
|
claude_mpm/skills/bundled/pm/mpm-git-file-tracking/SKILL.md,sha256=bnmO9Wzoe0AYJ72yKBO_FqtxsfjIkYhUHlosPRrYgTM,3607
|
|
898
|
+
claude_mpm/skills/bundled/pm/mpm-help/SKILL.md,sha256=kRTsbN3DUlRyoX7zzxqsfvsQrqMnu6GN5hnbplCCBA0,790
|
|
899
|
+
claude_mpm/skills/bundled/pm/mpm-init/SKILL.md,sha256=HG5kaYPJJSfvU0y0rtiODQQidHTojfZYFtRw3MtH7i0,3552
|
|
900
|
+
claude_mpm/skills/bundled/pm/mpm-monitor/SKILL.md,sha256=_FINCFTvgDgqv-u7ex3fTdLGCz4jWCx95BFhqBQ7W-s,728
|
|
901
|
+
claude_mpm/skills/bundled/pm/mpm-organize/SKILL.md,sha256=eMUxGO24f9FyaxAV_BvN0T-6tzE4CBCidMZviEy4ZLU,3256
|
|
902
|
+
claude_mpm/skills/bundled/pm/mpm-postmortem/SKILL.md,sha256=OjswFa5mRvlHpioAN02sjKISL1RJR4u4pVlfj-Hsuhc,516
|
|
895
903
|
claude_mpm/skills/bundled/pm/mpm-pr-workflow/SKILL.md,sha256=HSeVxw_znHqiPA95gpHnPKavNkSgSLTKuVaHqV976Ao,3369
|
|
896
904
|
claude_mpm/skills/bundled/pm/mpm-session-management/SKILL.md,sha256=GcGbCPoVs-N4MHZIoLf7q3EK1Noy4DLoCGvs3dVfZq4,8341
|
|
905
|
+
claude_mpm/skills/bundled/pm/mpm-session-resume/SKILL.md,sha256=7O1iu6qORTglX1VlAy4da_oEGvBwZ53Vmg6yBc02DqY,722
|
|
906
|
+
claude_mpm/skills/bundled/pm/mpm-status/SKILL.md,sha256=9cj2l-aEdQ7_pTqTjTn7_EZe-CyzM9ab8vzWpX62LFY,906
|
|
897
907
|
claude_mpm/skills/bundled/pm/mpm-teaching-mode/SKILL.md,sha256=SRhxpc6EyiO-hH5pQ7FcxNDUaaj5pfTEV9FwkjxfCA4,17761
|
|
908
|
+
claude_mpm/skills/bundled/pm/mpm-ticket-view/SKILL.md,sha256=KiIVuPjSJ5BmDU_fn4P3puKY52MLw27SYaEK7nU9IKI,2930
|
|
898
909
|
claude_mpm/skills/bundled/pm/mpm-ticketing-integration/SKILL.md,sha256=bPQZuMztenS5jEHidliwzYULAmH-L72iA4_sH28O1WU,4458
|
|
899
910
|
claude_mpm/skills/bundled/pm/mpm-tool-usage-guide/SKILL.md,sha256=w6m_E-0rkI_vpKRPVQPQDXpSSP5kv_1duq8Mohjd6os,14014
|
|
900
911
|
claude_mpm/skills/bundled/pm/mpm-verification-protocols/SKILL.md,sha256=ROTcT_tpXzHIli-1BT0FSGzMycU7c7GVif4eE98lr2A,6620
|
|
912
|
+
claude_mpm/skills/bundled/pm/mpm-version/SKILL.md,sha256=w6CEigamtBWfIsAxQrX9E5cm8gUuMQp1tafCmDBwN_4,397
|
|
901
913
|
claude_mpm/skills/bundled/react/flexlayout-react.md,sha256=uJF_kNuqerR5PXTAcO7H6WwAsI16IdSy5R8iIgGzRec,18327
|
|
902
914
|
claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md,sha256=vaOgYEeW8m2HY5q0NOHYVTcfdmNUGvMdqowfwQd7PyM,10441
|
|
903
915
|
claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md,sha256=ec_1mqn120NOhh2R5gjS8m7SQwSr7q8AlZN0pEr3sUc,22009
|
|
@@ -998,10 +1010,10 @@ claude_mpm/utils/subprocess_utils.py,sha256=D0izRT8anjiUb_JG72zlJR_JAw1cDkb7kalN
|
|
|
998
1010
|
claude_mpm/validation/__init__.py,sha256=YZhwE3mhit-lslvRLuwfX82xJ_k4haZeKmh4IWaVwtk,156
|
|
999
1011
|
claude_mpm/validation/agent_validator.py,sha256=GprtAvu80VyMXcKGsK_VhYiXWA6BjKHv7O6HKx0AB9w,20917
|
|
1000
1012
|
claude_mpm/validation/frontmatter_validator.py,sha256=YpJlYNNYcV8u6hIOi3_jaRsDnzhbcQpjCBE6eyBKaFY,7076
|
|
1001
|
-
claude_mpm-5.
|
|
1002
|
-
claude_mpm-5.
|
|
1003
|
-
claude_mpm-5.
|
|
1004
|
-
claude_mpm-5.
|
|
1005
|
-
claude_mpm-5.
|
|
1006
|
-
claude_mpm-5.
|
|
1007
|
-
claude_mpm-5.
|
|
1013
|
+
claude_mpm-5.5.0.dist-info/licenses/LICENSE,sha256=ca3y_Rk4aPrbF6f62z8Ht5MJM9OAvbGlHvEDcj9vUQ4,3867
|
|
1014
|
+
claude_mpm-5.5.0.dist-info/licenses/LICENSE-FAQ.md,sha256=TxfEkXVCK98RzDOer09puc7JVCP_q_bN4dHtZKHCMcM,5104
|
|
1015
|
+
claude_mpm-5.5.0.dist-info/METADATA,sha256=sglqU1SwgdVHfsxLeHQ0fCrXVK4L_Z1QR6VGH5x7gS4,14346
|
|
1016
|
+
claude_mpm-5.5.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
1017
|
+
claude_mpm-5.5.0.dist-info/entry_points.txt,sha256=n-Uk4vwHPpuvu-g_I7-GHORzTnN_m6iyOsoLveKKD0E,228
|
|
1018
|
+
claude_mpm-5.5.0.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
|
|
1019
|
+
claude_mpm-5.5.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|