claude-mpm 0.3.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.

Potentially problematic release.


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

Files changed (159) hide show
  1. claude_mpm/__init__.py +17 -0
  2. claude_mpm/__main__.py +14 -0
  3. claude_mpm/_version.py +32 -0
  4. claude_mpm/agents/BASE_AGENT_TEMPLATE.md +88 -0
  5. claude_mpm/agents/INSTRUCTIONS.md +375 -0
  6. claude_mpm/agents/__init__.py +118 -0
  7. claude_mpm/agents/agent_loader.py +621 -0
  8. claude_mpm/agents/agent_loader_integration.py +229 -0
  9. claude_mpm/agents/agents_metadata.py +204 -0
  10. claude_mpm/agents/base_agent.json +27 -0
  11. claude_mpm/agents/base_agent_loader.py +519 -0
  12. claude_mpm/agents/schema/agent_schema.json +160 -0
  13. claude_mpm/agents/system_agent_config.py +587 -0
  14. claude_mpm/agents/templates/__init__.py +101 -0
  15. claude_mpm/agents/templates/data_engineer_agent.json +46 -0
  16. claude_mpm/agents/templates/documentation_agent.json +45 -0
  17. claude_mpm/agents/templates/engineer_agent.json +49 -0
  18. claude_mpm/agents/templates/ops_agent.json +46 -0
  19. claude_mpm/agents/templates/qa_agent.json +45 -0
  20. claude_mpm/agents/templates/research_agent.json +49 -0
  21. claude_mpm/agents/templates/security_agent.json +46 -0
  22. claude_mpm/agents/templates/update-optimized-specialized-agents.json +374 -0
  23. claude_mpm/agents/templates/version_control_agent.json +46 -0
  24. claude_mpm/agents/test_fix_deployment/.claude-pm/config/project.json +6 -0
  25. claude_mpm/cli.py +655 -0
  26. claude_mpm/cli_main.py +13 -0
  27. claude_mpm/cli_module/__init__.py +15 -0
  28. claude_mpm/cli_module/args.py +222 -0
  29. claude_mpm/cli_module/commands.py +203 -0
  30. claude_mpm/cli_module/migration_example.py +183 -0
  31. claude_mpm/cli_module/refactoring_guide.md +253 -0
  32. claude_mpm/cli_old/__init__.py +1 -0
  33. claude_mpm/cli_old/ticket_cli.py +102 -0
  34. claude_mpm/config/__init__.py +5 -0
  35. claude_mpm/config/hook_config.py +42 -0
  36. claude_mpm/constants.py +150 -0
  37. claude_mpm/core/__init__.py +45 -0
  38. claude_mpm/core/agent_name_normalizer.py +248 -0
  39. claude_mpm/core/agent_registry.py +627 -0
  40. claude_mpm/core/agent_registry.py.bak +312 -0
  41. claude_mpm/core/agent_session_manager.py +273 -0
  42. claude_mpm/core/base_service.py +747 -0
  43. claude_mpm/core/base_service.py.bak +406 -0
  44. claude_mpm/core/config.py +334 -0
  45. claude_mpm/core/config_aliases.py +292 -0
  46. claude_mpm/core/container.py +347 -0
  47. claude_mpm/core/factories.py +281 -0
  48. claude_mpm/core/framework_loader.py +472 -0
  49. claude_mpm/core/injectable_service.py +206 -0
  50. claude_mpm/core/interfaces.py +539 -0
  51. claude_mpm/core/logger.py +468 -0
  52. claude_mpm/core/minimal_framework_loader.py +107 -0
  53. claude_mpm/core/mixins.py +150 -0
  54. claude_mpm/core/service_registry.py +299 -0
  55. claude_mpm/core/session_manager.py +190 -0
  56. claude_mpm/core/simple_runner.py +511 -0
  57. claude_mpm/core/tool_access_control.py +173 -0
  58. claude_mpm/hooks/README.md +243 -0
  59. claude_mpm/hooks/__init__.py +5 -0
  60. claude_mpm/hooks/base_hook.py +154 -0
  61. claude_mpm/hooks/builtin/__init__.py +1 -0
  62. claude_mpm/hooks/builtin/logging_hook_example.py +165 -0
  63. claude_mpm/hooks/builtin/post_delegation_hook_example.py +124 -0
  64. claude_mpm/hooks/builtin/pre_delegation_hook_example.py +125 -0
  65. claude_mpm/hooks/builtin/submit_hook_example.py +100 -0
  66. claude_mpm/hooks/builtin/ticket_extraction_hook_example.py +237 -0
  67. claude_mpm/hooks/builtin/todo_agent_prefix_hook.py +239 -0
  68. claude_mpm/hooks/builtin/workflow_start_hook.py +181 -0
  69. claude_mpm/hooks/hook_client.py +264 -0
  70. claude_mpm/hooks/hook_runner.py +370 -0
  71. claude_mpm/hooks/json_rpc_executor.py +259 -0
  72. claude_mpm/hooks/json_rpc_hook_client.py +319 -0
  73. claude_mpm/hooks/tool_call_interceptor.py +204 -0
  74. claude_mpm/init.py +246 -0
  75. claude_mpm/orchestration/SUBPROCESS_DESIGN.md +66 -0
  76. claude_mpm/orchestration/__init__.py +6 -0
  77. claude_mpm/orchestration/archive/direct_orchestrator.py +195 -0
  78. claude_mpm/orchestration/archive/factory.py +215 -0
  79. claude_mpm/orchestration/archive/hook_enabled_orchestrator.py +188 -0
  80. claude_mpm/orchestration/archive/hook_integration_example.py +178 -0
  81. claude_mpm/orchestration/archive/interactive_subprocess_orchestrator.py +826 -0
  82. claude_mpm/orchestration/archive/orchestrator.py +501 -0
  83. claude_mpm/orchestration/archive/pexpect_orchestrator.py +252 -0
  84. claude_mpm/orchestration/archive/pty_orchestrator.py +270 -0
  85. claude_mpm/orchestration/archive/simple_orchestrator.py +82 -0
  86. claude_mpm/orchestration/archive/subprocess_orchestrator.py +801 -0
  87. claude_mpm/orchestration/archive/system_prompt_orchestrator.py +278 -0
  88. claude_mpm/orchestration/archive/wrapper_orchestrator.py +187 -0
  89. claude_mpm/scripts/__init__.py +1 -0
  90. claude_mpm/scripts/ticket.py +269 -0
  91. claude_mpm/services/__init__.py +10 -0
  92. claude_mpm/services/agent_deployment.py +955 -0
  93. claude_mpm/services/agent_lifecycle_manager.py +948 -0
  94. claude_mpm/services/agent_management_service.py +596 -0
  95. claude_mpm/services/agent_modification_tracker.py +841 -0
  96. claude_mpm/services/agent_profile_loader.py +606 -0
  97. claude_mpm/services/agent_registry.py +677 -0
  98. claude_mpm/services/base_agent_manager.py +380 -0
  99. claude_mpm/services/framework_agent_loader.py +337 -0
  100. claude_mpm/services/framework_claude_md_generator/README.md +92 -0
  101. claude_mpm/services/framework_claude_md_generator/__init__.py +206 -0
  102. claude_mpm/services/framework_claude_md_generator/content_assembler.py +151 -0
  103. claude_mpm/services/framework_claude_md_generator/content_validator.py +126 -0
  104. claude_mpm/services/framework_claude_md_generator/deployment_manager.py +137 -0
  105. claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +106 -0
  106. claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +582 -0
  107. claude_mpm/services/framework_claude_md_generator/section_generators/claude_pm_init.py +97 -0
  108. claude_mpm/services/framework_claude_md_generator/section_generators/core_responsibilities.py +27 -0
  109. claude_mpm/services/framework_claude_md_generator/section_generators/delegation_constraints.py +23 -0
  110. claude_mpm/services/framework_claude_md_generator/section_generators/environment_config.py +23 -0
  111. claude_mpm/services/framework_claude_md_generator/section_generators/footer.py +20 -0
  112. claude_mpm/services/framework_claude_md_generator/section_generators/header.py +26 -0
  113. claude_mpm/services/framework_claude_md_generator/section_generators/orchestration_principles.py +30 -0
  114. claude_mpm/services/framework_claude_md_generator/section_generators/role_designation.py +37 -0
  115. claude_mpm/services/framework_claude_md_generator/section_generators/subprocess_validation.py +111 -0
  116. claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py +89 -0
  117. claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py +39 -0
  118. claude_mpm/services/framework_claude_md_generator/section_manager.py +106 -0
  119. claude_mpm/services/framework_claude_md_generator/version_manager.py +121 -0
  120. claude_mpm/services/framework_claude_md_generator.py +621 -0
  121. claude_mpm/services/hook_service.py +388 -0
  122. claude_mpm/services/hook_service_manager.py +223 -0
  123. claude_mpm/services/json_rpc_hook_manager.py +92 -0
  124. claude_mpm/services/parent_directory_manager/README.md +83 -0
  125. claude_mpm/services/parent_directory_manager/__init__.py +577 -0
  126. claude_mpm/services/parent_directory_manager/backup_manager.py +258 -0
  127. claude_mpm/services/parent_directory_manager/config_manager.py +210 -0
  128. claude_mpm/services/parent_directory_manager/deduplication_manager.py +279 -0
  129. claude_mpm/services/parent_directory_manager/framework_protector.py +143 -0
  130. claude_mpm/services/parent_directory_manager/operations.py +186 -0
  131. claude_mpm/services/parent_directory_manager/state_manager.py +624 -0
  132. claude_mpm/services/parent_directory_manager/template_deployer.py +579 -0
  133. claude_mpm/services/parent_directory_manager/validation_manager.py +378 -0
  134. claude_mpm/services/parent_directory_manager/version_control_helper.py +339 -0
  135. claude_mpm/services/parent_directory_manager/version_manager.py +222 -0
  136. claude_mpm/services/shared_prompt_cache.py +819 -0
  137. claude_mpm/services/ticket_manager.py +213 -0
  138. claude_mpm/services/ticket_manager_di.py +318 -0
  139. claude_mpm/services/ticketing_service_original.py +508 -0
  140. claude_mpm/services/version_control/VERSION +1 -0
  141. claude_mpm/services/version_control/__init__.py +70 -0
  142. claude_mpm/services/version_control/branch_strategy.py +670 -0
  143. claude_mpm/services/version_control/conflict_resolution.py +744 -0
  144. claude_mpm/services/version_control/git_operations.py +784 -0
  145. claude_mpm/services/version_control/semantic_versioning.py +703 -0
  146. claude_mpm/ui/__init__.py +1 -0
  147. claude_mpm/ui/rich_terminal_ui.py +295 -0
  148. claude_mpm/ui/terminal_ui.py +328 -0
  149. claude_mpm/utils/__init__.py +16 -0
  150. claude_mpm/utils/config_manager.py +468 -0
  151. claude_mpm/utils/import_migration_example.py +80 -0
  152. claude_mpm/utils/imports.py +182 -0
  153. claude_mpm/utils/path_operations.py +357 -0
  154. claude_mpm/utils/paths.py +289 -0
  155. claude_mpm-0.3.0.dist-info/METADATA +290 -0
  156. claude_mpm-0.3.0.dist-info/RECORD +159 -0
  157. claude_mpm-0.3.0.dist-info/WHEEL +5 -0
  158. claude_mpm-0.3.0.dist-info/entry_points.txt +4 -0
  159. claude_mpm-0.3.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,229 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Agent Loader Integration
4
+ ========================
5
+
6
+ Integrates the new agent management service with the existing agent loader.
7
+ Provides backward compatibility while enabling advanced features.
8
+ """
9
+
10
+ import logging
11
+ from typing import Optional, Dict, Any
12
+
13
+ from .agent_loader import (
14
+ load_agent_prompt_from_md,
15
+ get_agent_prompt,
16
+ AGENT_MAPPINGS,
17
+ FRAMEWORK_AGENT_ROLES_DIR
18
+ )
19
+ from ..services.agent_management_service import AgentManager
20
+ from ..models.agent_definition import AgentDefinition
21
+
22
+ logger = logging.getLogger(__name__)
23
+
24
+
25
+ class EnhancedAgentLoader:
26
+ """Enhanced agent loader with management capabilities."""
27
+
28
+ def __init__(self):
29
+ """Initialize enhanced loader."""
30
+ self.manager = AgentManager()
31
+
32
+ def get_agent_definition(self, agent_name: str) -> Optional[AgentDefinition]:
33
+ """
34
+ Get full agent definition with structured data.
35
+
36
+ Args:
37
+ agent_name: Agent name (e.g., 'documentation', 'ticketing')
38
+
39
+ Returns:
40
+ AgentDefinition or None
41
+ """
42
+ # Map from old naming to new naming if needed
43
+ md_filename = AGENT_MAPPINGS.get(agent_name, f"{agent_name}.md")
44
+ agent_file_name = md_filename.replace('.md', '')
45
+
46
+ return self.manager.read_agent(agent_file_name)
47
+
48
+ def get_agent_metadata(self, agent_name: str) -> Optional[Dict[str, Any]]:
49
+ """
50
+ Get agent metadata only.
51
+
52
+ Args:
53
+ agent_name: Agent name
54
+
55
+ Returns:
56
+ Metadata dict or None
57
+ """
58
+ agent_def = self.get_agent_definition(agent_name)
59
+ if not agent_def:
60
+ return None
61
+
62
+ return {
63
+ "name": agent_def.name,
64
+ "title": agent_def.title,
65
+ "version": agent_def.metadata.version,
66
+ "type": agent_def.metadata.type.value,
67
+ "model_preference": agent_def.metadata.model_preference,
68
+ "specializations": agent_def.metadata.specializations,
69
+ "last_updated": agent_def.metadata.last_updated.isoformat()
70
+ if agent_def.metadata.last_updated else None
71
+ }
72
+
73
+ def get_agent_capabilities(self, agent_name: str) -> Optional[Dict[str, Any]]:
74
+ """
75
+ Get agent capabilities and permissions.
76
+
77
+ Args:
78
+ agent_name: Agent name
79
+
80
+ Returns:
81
+ Capabilities dict or None
82
+ """
83
+ agent_def = self.get_agent_definition(agent_name)
84
+ if not agent_def:
85
+ return None
86
+
87
+ return {
88
+ "capabilities": agent_def.capabilities,
89
+ "authority": {
90
+ "write_access": agent_def.authority.exclusive_write_access,
91
+ "forbidden": agent_def.authority.forbidden_operations,
92
+ "read_access": agent_def.authority.read_access
93
+ },
94
+ "workflows": [w.name for w in agent_def.workflows],
95
+ "tools_available": bool(agent_def.tools_commands)
96
+ }
97
+
98
+ def get_agent_selection_criteria(self, agent_name: str) -> Optional[Dict[str, Any]]:
99
+ """
100
+ Get agent selection criteria for routing.
101
+
102
+ Args:
103
+ agent_name: Agent name
104
+
105
+ Returns:
106
+ Selection criteria dict or None
107
+ """
108
+ agent_def = self.get_agent_definition(agent_name)
109
+ if not agent_def:
110
+ return None
111
+
112
+ return {
113
+ "when_to_select": agent_def.when_to_use.get("select", []),
114
+ "when_not_to_select": agent_def.when_to_use.get("do_not_select", []),
115
+ "specializations": agent_def.metadata.specializations,
116
+ "dependencies": agent_def.dependencies,
117
+ "escalation_triggers": agent_def.escalation_triggers
118
+ }
119
+
120
+ def update_agent_version(self, agent_name: str) -> bool:
121
+ """
122
+ Increment agent version (serial).
123
+
124
+ Args:
125
+ agent_name: Agent name
126
+
127
+ Returns:
128
+ True if updated, False otherwise
129
+ """
130
+ # Map name
131
+ md_filename = AGENT_MAPPINGS.get(agent_name, f"{agent_name}.md")
132
+ agent_file_name = md_filename.replace('.md', '')
133
+
134
+ result = self.manager.update_agent(agent_file_name, {}, increment_version=True)
135
+ return result is not None
136
+
137
+ def refresh_agent_prompt(self, agent_name: str) -> str:
138
+ """
139
+ Force refresh agent prompt from file.
140
+
141
+ Args:
142
+ agent_name: Agent name
143
+
144
+ Returns:
145
+ Agent prompt with base instructions
146
+ """
147
+ # Use existing loader for backward compatibility
148
+ return get_agent_prompt(agent_name, force_reload=True)
149
+
150
+
151
+ # Global instance for convenience
152
+ _enhanced_loader = None
153
+
154
+
155
+ def get_enhanced_loader() -> EnhancedAgentLoader:
156
+ """Get global enhanced loader instance."""
157
+ global _enhanced_loader
158
+ if _enhanced_loader is None:
159
+ _enhanced_loader = EnhancedAgentLoader()
160
+ return _enhanced_loader
161
+
162
+
163
+ # Convenience functions
164
+ def get_agent_full_definition(agent_name: str) -> Optional[AgentDefinition]:
165
+ """Get complete agent definition."""
166
+ return get_enhanced_loader().get_agent_definition(agent_name)
167
+
168
+
169
+ def get_agent_version(agent_name: str) -> Optional[str]:
170
+ """Get agent version."""
171
+ metadata = get_enhanced_loader().get_agent_metadata(agent_name)
172
+ return metadata["version"] if metadata else None
173
+
174
+
175
+ def check_agent_capability(agent_name: str, capability_keyword: str) -> bool:
176
+ """Check if agent has a specific capability."""
177
+ caps = get_enhanced_loader().get_agent_capabilities(agent_name)
178
+ if not caps:
179
+ return False
180
+
181
+ # Check in capabilities list
182
+ for cap in caps["capabilities"]:
183
+ if capability_keyword.lower() in cap.lower():
184
+ return True
185
+ return False
186
+
187
+
188
+ def should_select_agent(agent_name: str, task_description: str) -> Dict[str, Any]:
189
+ """
190
+ Determine if an agent should be selected for a task.
191
+
192
+ Args:
193
+ agent_name: Agent name
194
+ task_description: Task description
195
+
196
+ Returns:
197
+ Dict with selection recommendation and reasons
198
+ """
199
+ criteria = get_enhanced_loader().get_agent_selection_criteria(agent_name)
200
+ if not criteria:
201
+ return {"should_select": False, "reason": "Agent not found"}
202
+
203
+ task_lower = task_description.lower()
204
+
205
+ # Check positive matches
206
+ positive_matches = []
207
+ for criterion in criteria["when_to_select"]:
208
+ # Extract keywords from criterion
209
+ if "Keywords:" in criterion:
210
+ keywords = criterion.split("Keywords:")[1].strip()
211
+ for keyword in keywords.split(','):
212
+ keyword = keyword.strip().strip('"').strip("'")
213
+ if keyword.lower() in task_lower:
214
+ positive_matches.append(f"Keyword match: {keyword}")
215
+ elif any(word in task_lower for word in criterion.lower().split()):
216
+ positive_matches.append(f"Criterion match: {criterion[:50]}...")
217
+
218
+ # Check negative matches
219
+ negative_matches = []
220
+ for criterion in criteria["when_not_to_select"]:
221
+ if any(word in task_lower for word in criterion.lower().split()[:5]):
222
+ negative_matches.append(f"Exclusion: {criterion[:50]}...")
223
+
224
+ return {
225
+ "should_select": len(positive_matches) > 0 and len(negative_matches) == 0,
226
+ "positive_matches": positive_matches,
227
+ "negative_matches": negative_matches,
228
+ "specializations": criteria["specializations"]
229
+ }
@@ -0,0 +1,204 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Agent Metadata Definitions
4
+ =========================
5
+
6
+ Preserves AGENT_CONFIG metadata for all agents.
7
+ This metadata is used for agent registration, capability tracking, and performance targets.
8
+ """
9
+
10
+ # Documentation Agent Metadata
11
+ DOCUMENTATION_CONFIG = {
12
+ "name": "documentation_agent",
13
+ "version": "1.0.0",
14
+ "type": "core_agent",
15
+ "capabilities": [
16
+ "documentation_analysis",
17
+ "changelog_generation",
18
+ "release_notes",
19
+ "api_documentation",
20
+ "version_documentation",
21
+ "operational_docs",
22
+ "quality_assurance"
23
+ ],
24
+ "primary_interface": "documentation_management",
25
+ "performance_targets": {
26
+ "changelog_generation": "5m",
27
+ "documentation_update": "24h",
28
+ "coverage_target": "90%"
29
+ }
30
+ }
31
+
32
+
33
+ # Version Control Agent Metadata
34
+ VERSION_CONTROL_CONFIG = {
35
+ "name": "version_control_agent",
36
+ "version": "2.0.0",
37
+ "type": "core_agent",
38
+ "capabilities": [
39
+ "git_operations",
40
+ "branch_management",
41
+ "merge_conflict_resolution",
42
+ "semantic_versioning",
43
+ "tag_management",
44
+ "release_coordination",
45
+ "version_file_updates"
46
+ ],
47
+ "primary_interface": "git_cli",
48
+ "performance_targets": {
49
+ "branch_creation": "5s",
50
+ "merge_operation": "30s",
51
+ "version_bump": "10s",
52
+ "conflict_resolution": "5m"
53
+ }
54
+ }
55
+
56
+ # QA Agent Metadata
57
+ QA_CONFIG = {
58
+ "name": "qa_agent",
59
+ "version": "1.0.0",
60
+ "type": "core_agent",
61
+ "capabilities": [
62
+ "test_execution",
63
+ "quality_validation",
64
+ "coverage_analysis",
65
+ "performance_testing",
66
+ "security_testing",
67
+ "regression_testing",
68
+ "test_automation"
69
+ ],
70
+ "primary_interface": "testing_framework",
71
+ "performance_targets": {
72
+ "unit_test_suite": "5m",
73
+ "integration_tests": "15m",
74
+ "full_test_suite": "30m",
75
+ "coverage_target": "80%"
76
+ }
77
+ }
78
+
79
+ # Research Agent Metadata
80
+ RESEARCH_CONFIG = {
81
+ "name": "research_agent",
82
+ "version": "1.0.0",
83
+ "type": "core_agent",
84
+ "capabilities": [
85
+ "technology_research",
86
+ "library_analysis",
87
+ "best_practices_research",
88
+ "performance_analysis",
89
+ "security_research",
90
+ "market_analysis",
91
+ "feasibility_studies"
92
+ ],
93
+ "primary_interface": "research_tools",
94
+ "performance_targets": {
95
+ "quick_research": "15m",
96
+ "deep_analysis": "2h",
97
+ "comprehensive_report": "24h"
98
+ }
99
+ }
100
+
101
+ # Ops Agent Metadata
102
+ OPS_CONFIG = {
103
+ "name": "ops_agent",
104
+ "version": "1.0.0",
105
+ "type": "core_agent",
106
+ "capabilities": [
107
+ "deployment_automation",
108
+ "infrastructure_management",
109
+ "monitoring_setup",
110
+ "ci_cd_pipeline",
111
+ "containerization",
112
+ "cloud_services",
113
+ "performance_optimization"
114
+ ],
115
+ "primary_interface": "deployment_tools",
116
+ "performance_targets": {
117
+ "deployment": "10m",
118
+ "rollback": "5m",
119
+ "infrastructure_update": "30m",
120
+ "monitoring_setup": "1h"
121
+ }
122
+ }
123
+
124
+ # Security Agent Metadata
125
+ SECURITY_CONFIG = {
126
+ "name": "security_agent",
127
+ "version": "1.0.0",
128
+ "type": "core_agent",
129
+ "capabilities": [
130
+ "vulnerability_assessment",
131
+ "security_audit",
132
+ "penetration_testing",
133
+ "code_security_review",
134
+ "dependency_scanning",
135
+ "security_patching",
136
+ "compliance_checking"
137
+ ],
138
+ "primary_interface": "security_tools",
139
+ "performance_targets": {
140
+ "quick_scan": "10m",
141
+ "full_audit": "2h",
142
+ "penetration_test": "4h",
143
+ "dependency_scan": "30m"
144
+ }
145
+ }
146
+
147
+ # Engineer Agent Metadata
148
+ ENGINEER_CONFIG = {
149
+ "name": "engineer_agent",
150
+ "version": "1.0.0",
151
+ "type": "core_agent",
152
+ "capabilities": [
153
+ "code_implementation",
154
+ "feature_development",
155
+ "bug_fixing",
156
+ "code_refactoring",
157
+ "performance_optimization",
158
+ "api_development",
159
+ "database_design"
160
+ ],
161
+ "primary_interface": "development_tools",
162
+ "performance_targets": {
163
+ "feature_implementation": "4h",
164
+ "bug_fix": "1h",
165
+ "code_review": "30m",
166
+ "refactoring": "2h"
167
+ }
168
+ }
169
+
170
+ # Data Engineer Agent Metadata
171
+ DATA_ENGINEER_CONFIG = {
172
+ "name": "data_engineer_agent",
173
+ "version": "1.0.0",
174
+ "type": "core_agent",
175
+ "capabilities": [
176
+ "data_store_management",
177
+ "ai_api_integration",
178
+ "data_pipeline_design",
179
+ "database_optimization",
180
+ "data_migration",
181
+ "api_key_management",
182
+ "data_analytics",
183
+ "schema_design"
184
+ ],
185
+ "primary_interface": "data_management_tools",
186
+ "performance_targets": {
187
+ "pipeline_setup": "2h",
188
+ "data_migration": "4h",
189
+ "api_integration": "1h",
190
+ "schema_update": "30m"
191
+ }
192
+ }
193
+
194
+ # Aggregate all configs for easy access
195
+ ALL_AGENT_CONFIGS = {
196
+ "documentation": DOCUMENTATION_CONFIG,
197
+ "version_control": VERSION_CONTROL_CONFIG,
198
+ "qa": QA_CONFIG,
199
+ "research": RESEARCH_CONFIG,
200
+ "ops": OPS_CONFIG,
201
+ "security": SECURITY_CONFIG,
202
+ "engineer": ENGINEER_CONFIG,
203
+ "data_engineer": DATA_ENGINEER_CONFIG
204
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "version": 2,
3
+ "agent_type": "base",
4
+ "narrative_fields": {
5
+ "instructions": "# Claude MPM Framework Agent\n\nYou are a specialized agent in the Claude MPM framework. Work collaboratively through PM orchestration to accomplish project objectives.\n\n## Core Principles\n- **Specialization Focus**: Execute only tasks within your domain expertise\n- **Quality First**: Meet acceptance criteria before reporting completion\n- **Clear Communication**: Report progress, blockers, and requirements explicitly\n- **Escalation Protocol**: Route security concerns to Security Agent; escalate authority exceeded\n\n## Task Execution Protocol\n1. **Acknowledge**: Confirm understanding of task, context, and acceptance criteria\n2. **Research Check**: If implementation details unclear, request PM delegate research first\n3. **Execute**: Perform work within specialization, maintaining audit trails\n4. **Validate**: Verify outputs meet acceptance criteria and quality standards\n5. **Report**: Provide structured completion report with deliverables and next steps\n\n## Framework Integration\n- **Hierarchy**: Operate within Project → User → System agent discovery\n- **Communication**: Use Task Tool subprocess for PM coordination\n- **Context Awareness**: Acknowledge current date/time in decisions\n- **Handoffs**: Follow structured protocols for inter-agent coordination\n- **Error Handling**: Implement graceful failure with clear error reporting\n\n## Quality Standards\n- Idempotent operations where possible\n- Comprehensive error handling and validation\n- Structured output formats for integration\n- Security-first approach for sensitive operations\n- Performance-conscious implementation choices"
6
+ },
7
+ "configuration_fields": {
8
+ "model": "claude-4-sonnet-20250514",
9
+ "file_access": "project",
10
+ "dangerous_tools": false,
11
+ "review_required": false,
12
+ "team": "mpm-framework",
13
+ "project": "claude-mpm",
14
+ "priority": "high",
15
+ "timeout": 300,
16
+ "memory_limit": 1024,
17
+ "context_isolation": "moderate",
18
+ "preserve_context": true
19
+ },
20
+ "metadata": {
21
+ "created": "2025-07-25",
22
+ "last_updated": "2025-07-25",
23
+ "optimization_level": "v2_claude4",
24
+ "token_efficiency": "optimized",
25
+ "compatibility": ["claude-4-sonnet", "claude-4-opus"]
26
+ }
27
+ }