From claude-mpm
Agent and skill deployment mechanics for MPM system architecture
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-mpm:mpm-agents-skillsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Category:** Core Knowledge/PM Education
Category: Core Knowledge/PM Education Purpose: Explain agent and skill deployment mechanics to PM Triggers: When PM needs to understand system architecture
This skill provides comprehensive understanding of how Claude MPM's agents and skills actually work under the hood. Essential for PM decision-making about delegation, configuration, and troubleshooting.
Agent Sources (Priority Order):
.claude/agents/ (highest priority)~/.claude-mpm/agents/ (user-created)Directory Structure:
.claude/
└── agents/
├── engineer.md # Claude Code expects flat .md files
├── researcher.md
└── qa.md
.claude-mpm/
└── cache/
└── agents/ # Git sources cached here
├── engineer.md
└── templates/
1. Cache Sync (Git Sources)
GitSourceSyncService downloads from configured repositories.claude-mpm/cache/agents/github.com/bobmatnyc/claude-mpm-agents2. Agent Deployment
AgentDeploymentService.deploy_agents() orchestrates deployment.claude/agents/ (Claude Code expects this location)3. Multi-Source Resolution
configuration.yaml (User Preferences):
agents:
auto_discover: true # Find agents automatically
enabled: ["engineer", "qa"] # Specific agents to deploy
excluded_agents: ["debug"] # Agents to skip/remove
precedence: ["project", "user", "system"] # Resolution order
auto_config.yaml (Deployment Metadata):
# Generated by auto-configure process
toolchain_detected: python
recommended_agents: ["engineer", "testing"]
last_scan: "2024-02-25T10:30:00Z"
deployment_version: "5.9.32"
Key Distinction:
configuration.yaml = User choices and preferencesauto_config.yaml = System-generated analysis and metadataCreation:
AgentTemplateBuilder combines base_agent.md + template.claude/agents/ as markdown fileVersion Management:
AgentVersionManager compares template vs deployed versionsCleanup:
.claude/agents/Skill Sources:
~/.claude/skills/ (Claude Code scans here).claude-mpm/cache/skills/system/Structure Transformation:
# Git Repository Structure (Nested):
collaboration/
dispatching-parallel-agents/SKILL.md
brainstorming/SKILL.md
# Deployed Structure (Flat):
~/.claude/skills/
├── collaboration-dispatching-parallel-agents/SKILL.md
├── collaboration-brainstorming/SKILL.md
1. Git Source Sync
GitSkillSourceManager handles remote skill sources2. Skill Deployment
GitSkillSourceManager.deploy_skills() flattens to Claude Code structure~/.claude/skills/skill-name/SKILL.md3. Selective Deployment
.mpm-deployed-skills.json tracks deployment indexNo Direct Configuration:
Deployment Tracking:
// ~/.claude/skills/.mpm-deployed-skills.json
{
"deployed_skills": {
"systematic-debugging": {
"collection": "claude-mpm-skills",
"deployed_at": "2024-02-25T10:30:00Z"
}
},
"last_sync": "2024-02-25T10:30:00Z"
}
1. .claude-mpm/configuration.yaml
claude-mpm configure or manual editing2. .claude-mpm/auto_config.yaml
claude-mpm auto-configure process3. .claude-mpm/config/agent_sources.yaml
Loading Order:
~/.claude-mpm/configuration.yaml)./claude-mpm/configuration.yaml)Precedence Rules:
# ConfigService loads in this order:
def load_configuration():
config = DefaultConfig()
config.merge(load_global_config()) # ~/.claude-mpm/
config.merge(load_project_config()) # ./.claude-mpm/
config.merge(environment_variables()) # CLAUDE_MPM_*
return config
def startup_agent_deployment():
# 1. Sync git sources to cache
git_sync_service.sync_agents()
# 2. Deploy enabled agents to .claude/agents/
deployment_service.deploy_agents(
deployment_mode="update", # Skip unchanged
config=loaded_config
)
# 3. Remove excluded agents
reconciler.remove_excluded_agents()
def startup_skill_deployment():
# 1. Analyze deployed agents for skill requirements
required_skills = agent_analyzer.get_required_skills()
# 2. Deploy only required skills (with cleanup)
skill_manager.deploy_skills(
skill_filter=required_skills, # Selective deployment
force=False
)
Use for:
claude-mpm configure)claude-mpm init, claude-mpm status)claude-mpm agents deploy)claude-mpm doctor)Characteristics:
/skill-name)Use for:
Characteristics:
Mapping Examples:
claude-mpm configure ↔ /mpm-config (skill explains configuration)claude-mpm agents deploy ↔ No skill equivalent (system operation)claude-mpm status ↔ /mpm-status (skill explains status interpretation)✅ Truth: Auto-configure only updates auto_config.yaml with recommendations. Actual deployment happens during claude-mpm run or explicit deploy commands.
✅ Truth: It specifies preferences. The deployment service reads these preferences and deploys accordingly. The files are still copied from cache to .claude/agents/.
✅ Truth: Skills have no user configuration. They're deployed based on agent requirements analysis, not user preferences.
✅ Truth: Only enabled agents (after filtering by excluded_agents list) are deployed. Multi-source resolution happens first.
✅ Truth: .claude/ is the active deployment directory that Claude Code scans. .claude-mpm/cache/ is the actual cache.
Is agent needed for current project? → Yes
├─ Is it in enabled list or auto_discover=true? → Yes
│ ├─ Is it in excluded_agents list? → No
│ │ └─ ✅ Deploy via configuration
│ └─ Yes → ❌ Remove from excluded list first
└─ No → ❌ Add to excluded_agents to clean up
Agent not appearing in .claude/agents/?
├─ Check cache: `.claude-mpm/cache/agents/` exists? → No
│ └─ Run: claude-mpm agents sync
├─ Check config: In excluded_agents list? → Yes
│ └─ Run: claude-mpm configure (remove exclusion)
└─ Check logs: deployment_service.log for errors
Need to change system state? → Yes
└─ Use CLI command (claude-mpm ...)
Need guidance or information? → Yes
└─ Use skill (/skill-name)
Need to understand how something works? → Yes
└─ Use this skill (/mpm-agents-skills)
.claude/agents/ - Active agent deployment (Claude Code scans).claude/skills/ - Active skill deployment (Claude Code scans).claude-mpm/cache/ - Git sources cache.claude-mpm/configuration.yaml - User preferences.claude-mpm/auto_config.yaml - System metadataGitSourceSyncService - Downloads and caches remote agentsAgentDeploymentService - Deploys agents to .claude/agents/GitSkillSourceManager - Handles skill sync and deploymentDeploymentReconciler - Ensures deployed state matches configclaude-mpm agents sync - Update cache from Git sourcesclaude-mpm agents deploy --force - Force redeploy all agentsclaude-mpm configure - Interactive configuration managementclaude-mpm doctor - Diagnose deployment issuesThis architecture ensures clean separation between user intent (configuration) and system state (deployment) while maintaining flexibility for different deployment scenarios.
npx claudepluginhub bobmatnyc/claude-mpm-marketplace --plugin claude-mpmProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.