claude-mpm 5.4.97__py3-none-any.whl → 5.4.98__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/VERSION +1 -1
- claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/auto_pause_handler.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/correlation_manager.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/installer.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-311.pyc +0 -0
- claude_mpm/services/skills/skill_discovery_service.py +57 -3
- {claude_mpm-5.4.97.dist-info → claude_mpm-5.4.98.dist-info}/METADATA +1 -1
- {claude_mpm-5.4.97.dist-info → claude_mpm-5.4.98.dist-info}/RECORD +23 -9
- {claude_mpm-5.4.97.dist-info → claude_mpm-5.4.98.dist-info}/WHEEL +0 -0
- {claude_mpm-5.4.97.dist-info → claude_mpm-5.4.98.dist-info}/entry_points.txt +0 -0
- {claude_mpm-5.4.97.dist-info → claude_mpm-5.4.98.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-5.4.97.dist-info → claude_mpm-5.4.98.dist-info}/licenses/LICENSE-FAQ.md +0 -0
- {claude_mpm-5.4.97.dist-info → claude_mpm-5.4.98.dist-info}/top_level.txt +0 -0
claude_mpm/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
5.4.
|
|
1
|
+
5.4.98
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -163,10 +163,22 @@ class SkillDiscoveryService:
|
|
|
163
163
|
skill_md_files = list(self.skills_dir.rglob("SKILL.md"))
|
|
164
164
|
|
|
165
165
|
# Also find legacy *.md files in top-level directory for backward compatibility
|
|
166
|
+
# Exclude common non-skill documentation files
|
|
167
|
+
excluded_filenames = {
|
|
168
|
+
"skill.md", # Case variations of SKILL.md
|
|
169
|
+
"readme.md",
|
|
170
|
+
"claude.md",
|
|
171
|
+
"contributing.md",
|
|
172
|
+
"changelog.md",
|
|
173
|
+
"license.md",
|
|
174
|
+
"authors.md",
|
|
175
|
+
"code_of_conduct.md",
|
|
176
|
+
}
|
|
177
|
+
|
|
166
178
|
legacy_md_files = [
|
|
167
179
|
f
|
|
168
180
|
for f in self.skills_dir.glob("*.md")
|
|
169
|
-
if f.name
|
|
181
|
+
if f.name.lower() not in excluded_filenames
|
|
170
182
|
]
|
|
171
183
|
|
|
172
184
|
all_skill_files = skill_md_files + legacy_md_files
|
|
@@ -255,7 +267,35 @@ class SkillDiscoveryService:
|
|
|
255
267
|
try:
|
|
256
268
|
frontmatter, body = self._extract_frontmatter(content)
|
|
257
269
|
except Exception as e:
|
|
258
|
-
|
|
270
|
+
# Only log as debug for documentation files to reduce noise
|
|
271
|
+
# Common documentation files (CLAUDE.md, README.md) are expected to lack skill frontmatter
|
|
272
|
+
relative_path = (
|
|
273
|
+
skill_file.relative_to(self.skills_dir)
|
|
274
|
+
if skill_file.is_relative_to(self.skills_dir)
|
|
275
|
+
else skill_file
|
|
276
|
+
)
|
|
277
|
+
|
|
278
|
+
# Check if this looks like a documentation file
|
|
279
|
+
is_documentation = any(
|
|
280
|
+
doc_pattern in skill_file.name.lower()
|
|
281
|
+
for doc_pattern in [
|
|
282
|
+
"readme",
|
|
283
|
+
"claude",
|
|
284
|
+
"contributing",
|
|
285
|
+
"changelog",
|
|
286
|
+
"license",
|
|
287
|
+
]
|
|
288
|
+
)
|
|
289
|
+
|
|
290
|
+
if is_documentation:
|
|
291
|
+
self.logger.debug(
|
|
292
|
+
f"Skipping documentation file {relative_path} (no skill frontmatter): {e}"
|
|
293
|
+
)
|
|
294
|
+
else:
|
|
295
|
+
# For actual skill files with invalid YAML, use warning level
|
|
296
|
+
self.logger.warning(
|
|
297
|
+
f"Failed to parse skill frontmatter in {relative_path}: {e}"
|
|
298
|
+
)
|
|
259
299
|
return None
|
|
260
300
|
|
|
261
301
|
# Validate required fields
|
|
@@ -354,10 +394,24 @@ class SkillDiscoveryService:
|
|
|
354
394
|
frontmatter_text = match.group(1)
|
|
355
395
|
body = match.group(2)
|
|
356
396
|
|
|
357
|
-
# Parse YAML
|
|
397
|
+
# Parse YAML with improved error handling
|
|
358
398
|
try:
|
|
359
399
|
frontmatter = yaml.safe_load(frontmatter_text)
|
|
360
400
|
except yaml.YAMLError as e:
|
|
401
|
+
# Provide more specific error message with context
|
|
402
|
+
error_line = getattr(e, "problem_mark", None)
|
|
403
|
+
if error_line:
|
|
404
|
+
line_num = error_line.line + 1
|
|
405
|
+
col_num = error_line.column + 1
|
|
406
|
+
# Extract problematic line for context
|
|
407
|
+
lines = frontmatter_text.split("\n")
|
|
408
|
+
problem_line = (
|
|
409
|
+
lines[error_line.line] if error_line.line < len(lines) else ""
|
|
410
|
+
)
|
|
411
|
+
raise ValueError(
|
|
412
|
+
f"Invalid YAML in frontmatter at line {line_num}, column {col_num}: {e.problem}\n"
|
|
413
|
+
f" Problematic line: {problem_line.strip()}"
|
|
414
|
+
) from e
|
|
361
415
|
raise ValueError(f"Invalid YAML in frontmatter: {e}") from e
|
|
362
416
|
|
|
363
417
|
if not isinstance(frontmatter, dict):
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
claude_mpm/BUILD_NUMBER,sha256=9JfxhnDtr-8l3kCP2U5TVXSErptHoga8m7XA8zqgGOc,4
|
|
2
|
-
claude_mpm/VERSION,sha256=
|
|
2
|
+
claude_mpm/VERSION,sha256=z19R3si2Jp-yEU6HDQz48V2xNInMNgau-vPD8A98zac,7
|
|
3
3
|
claude_mpm/__init__.py,sha256=AGfh00BHKvLYD-UVFw7qbKtl7NMRIzRXOWw7vEuZ-h4,2214
|
|
4
4
|
claude_mpm/__main__.py,sha256=Ro5UBWBoQaSAIoSqWAr7zkbLyvi4sSy28WShqAhKJG0,723
|
|
5
5
|
claude_mpm/constants.py,sha256=pz3lTrZZR5HhV3eZzYtIbtBwWo7iM6pkBHP_ixxmI6Y,6827
|
|
@@ -343,12 +343,26 @@ claude_mpm/hooks/claude_hooks/installer.py,sha256=VbvVGMcrmCXQB3Pf9zOdjeGET2AFqb
|
|
|
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
|
|
346
|
+
claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-311.pyc,sha256=EGpgXqhPM0iRRZtCqHaLVQ6wDH42OH_M7Gt5GiFLyro,346
|
|
347
|
+
claude_mpm/hooks/claude_hooks/__pycache__/auto_pause_handler.cpython-311.pyc,sha256=X7A8O4KPXkuDaLDFbF7Izi1qVDyS0tQjHVo1xy_HzNQ,21172
|
|
348
|
+
claude_mpm/hooks/claude_hooks/__pycache__/correlation_manager.cpython-311.pyc,sha256=SQX5iiP9bQZkLL-cj_2tlGH7lpAzarO0mYal7btj3tc,3521
|
|
349
|
+
claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-311.pyc,sha256=YXRFrqgSXTixzi59oYYwFi0dd_EMQ5yeFnsOPaW-F90,44311
|
|
350
|
+
claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-311.pyc,sha256=ehLm68zhDmqOwzr1Di6xYjGuE9SRg0mvKePQfepuuQ4,30577
|
|
351
|
+
claude_mpm/hooks/claude_hooks/__pycache__/installer.cpython-311.pyc,sha256=9mpAKY4gNcbU5VvZ5tGbf2UM0uIEWdreKSUvVr_BKcM,33917
|
|
352
|
+
claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-311.pyc,sha256=YbwauQDKSGvXkT1972faalJLuxwyvq328DYQhkCnel0,10513
|
|
353
|
+
claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-311.pyc,sha256=-L-n4xvi1eHY48MdZ-7v249UaNfkuiIwfwxdPgxwd80,16730
|
|
354
|
+
claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-311.pyc,sha256=ZjcNfNY5Ht6FhalPeh7M7OzMffcey5iF4AVjDDg9kak,10694
|
|
346
355
|
claude_mpm/hooks/claude_hooks/services/__init__.py,sha256=OIYOKsUNw1BHYawOCp-KFK5kmQKuj92cCqCEPO0nwo0,585
|
|
347
356
|
claude_mpm/hooks/claude_hooks/services/connection_manager.py,sha256=6MhoPiSQSkG5Xsb9KjPk_eu60h6-v5uNXjn6ry255aA,10452
|
|
348
357
|
claude_mpm/hooks/claude_hooks/services/connection_manager_http.py,sha256=7YKEsD45us5SNnj-jpSyFBYbU0KrZ8FWoIdZDUeU2gI,7795
|
|
349
358
|
claude_mpm/hooks/claude_hooks/services/duplicate_detector.py,sha256=Fh9LmEMsVmQM9t0U1v2l_fuBwvNpVkl_0EF8Wu5KLHQ,3882
|
|
350
359
|
claude_mpm/hooks/claude_hooks/services/state_manager.py,sha256=QB0JPJQThTVg0TGRO3Dc_3y3bac-hkulgMqqzo_71ng,11189
|
|
351
360
|
claude_mpm/hooks/claude_hooks/services/subagent_processor.py,sha256=nJw1ERCMxq23ioZ5DKwprmwO0fuvuqpdFHJ03XaMiDo,16052
|
|
361
|
+
claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-311.pyc,sha256=xBfLBSqnpcKfcQBWfh7xUm454g1lq1LvbO7SxGvcOPc,644
|
|
362
|
+
claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-311.pyc,sha256=xN6QYqLTQ9I9qPDKsSikhAhncXrxYemjfQp4wLiiq9M,9774
|
|
363
|
+
claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-311.pyc,sha256=Yy_REAUhJCiFjOhxeDb4v0qyEvEbUtCmXD9PAz40dhw,5321
|
|
364
|
+
claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-311.pyc,sha256=TPkEc-Zi3oNS5dCXBpGbSZwg_8RQvzNzd4pVx9B3WeM,12364
|
|
365
|
+
claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-311.pyc,sha256=WffRFbZrgwiOypPUMgcm_LT18AtyGckgDny5IXhkogg,15554
|
|
352
366
|
claude_mpm/hooks/failure_learning/__init__.py,sha256=iJ80AKFHiT8DjIH2a72DQVJvL6nAFrizNA2yTKwZ4rw,1805
|
|
353
367
|
claude_mpm/hooks/failure_learning/failure_detection_hook.py,sha256=KENoB5N-dBm5hb0SxeIZtCvNKbmG2BKHOJSrSO-3Z_I,7500
|
|
354
368
|
claude_mpm/hooks/failure_learning/fix_detection_hook.py,sha256=XUk1bnBVLdfhQ9AMQSvGsTSeFQsKsVud2wbWX-Jjor8,7164
|
|
@@ -704,7 +718,7 @@ claude_mpm/services/shared/service_factory.py,sha256=9yvnD62urrNQCGmtk_3OcR5tVUC
|
|
|
704
718
|
claude_mpm/services/skills/__init__.py,sha256=X1fPRCGZjteLd35HlhWv2M6tAJ_WbYrEv84kbaqBAiU,742
|
|
705
719
|
claude_mpm/services/skills/git_skill_source_manager.py,sha256=q8pKRLBza7Uh3vEpCXuQKdp1pF0b9P1CTUzUkL5VBJA,51623
|
|
706
720
|
claude_mpm/services/skills/selective_skill_deployer.py,sha256=yUiciVynJ3WDTO-l7Oz6_y9NaqeQS4xwNVp3KXDOtgA,29565
|
|
707
|
-
claude_mpm/services/skills/skill_discovery_service.py,sha256=
|
|
721
|
+
claude_mpm/services/skills/skill_discovery_service.py,sha256=guul1xME46hzHqTRIJeTDIKQz55AQlOX1CRALWvfnoI,22403
|
|
708
722
|
claude_mpm/services/skills/skill_to_agent_mapper.py,sha256=4PRwcSDSNGS55lg4t-VmBK2ottE_cGFq1zsvjiumAlI,14847
|
|
709
723
|
claude_mpm/services/socketio/__init__.py,sha256=PS-2twllga-2mhSfKdu4MgpikfKp_730gMLAqU_9YX4,556
|
|
710
724
|
claude_mpm/services/socketio/client_proxy.py,sha256=DFPO5OIl-cHusldHPYWKSbnL0dxSLz8h07D9307FfzY,8853
|
|
@@ -983,10 +997,10 @@ claude_mpm/utils/subprocess_utils.py,sha256=D0izRT8anjiUb_JG72zlJR_JAw1cDkb7kalN
|
|
|
983
997
|
claude_mpm/validation/__init__.py,sha256=YZhwE3mhit-lslvRLuwfX82xJ_k4haZeKmh4IWaVwtk,156
|
|
984
998
|
claude_mpm/validation/agent_validator.py,sha256=GprtAvu80VyMXcKGsK_VhYiXWA6BjKHv7O6HKx0AB9w,20917
|
|
985
999
|
claude_mpm/validation/frontmatter_validator.py,sha256=YpJlYNNYcV8u6hIOi3_jaRsDnzhbcQpjCBE6eyBKaFY,7076
|
|
986
|
-
claude_mpm-5.4.
|
|
987
|
-
claude_mpm-5.4.
|
|
988
|
-
claude_mpm-5.4.
|
|
989
|
-
claude_mpm-5.4.
|
|
990
|
-
claude_mpm-5.4.
|
|
991
|
-
claude_mpm-5.4.
|
|
992
|
-
claude_mpm-5.4.
|
|
1000
|
+
claude_mpm-5.4.98.dist-info/licenses/LICENSE,sha256=ca3y_Rk4aPrbF6f62z8Ht5MJM9OAvbGlHvEDcj9vUQ4,3867
|
|
1001
|
+
claude_mpm-5.4.98.dist-info/licenses/LICENSE-FAQ.md,sha256=TxfEkXVCK98RzDOer09puc7JVCP_q_bN4dHtZKHCMcM,5104
|
|
1002
|
+
claude_mpm-5.4.98.dist-info/METADATA,sha256=jE_K6msFV1hDsphBCY0z60AJDyA0sIilYQei0HDiLig,14349
|
|
1003
|
+
claude_mpm-5.4.98.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
1004
|
+
claude_mpm-5.4.98.dist-info/entry_points.txt,sha256=n-Uk4vwHPpuvu-g_I7-GHORzTnN_m6iyOsoLveKKD0E,228
|
|
1005
|
+
claude_mpm-5.4.98.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
|
|
1006
|
+
claude_mpm-5.4.98.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|