From 66bdc47ecb7eb6bc9648d5688f2ecd3188058686 Mon Sep 17 00:00:00 2001 From: lucy beck Date: Wed, 24 Jun 2026 11:37:25 -0500 Subject: [PATCH] Update Claude manifest validation path --- mcp_host_skills_tests.py | 13 +++++++++---- package_validation_tests.py | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/mcp_host_skills_tests.py b/mcp_host_skills_tests.py index e6daed5..e99cba4 100644 --- a/mcp_host_skills_tests.py +++ b/mcp_host_skills_tests.py @@ -53,7 +53,7 @@ } MANIFEST_PATHS = { - "claude": Path("claude/plugin.json"), + "claude": Path("claude/.claude-plugin/plugin.json"), "codex": Path("codex/.codex-plugin/plugin.json"), } @@ -62,15 +62,20 @@ def _read_json(path: Path) -> dict[str, object]: return json.loads((PLUGIN_ROOT / path).read_text()) +def _manifest_skill_path(mcp_host_root: Path, raw_path: str) -> Path: + skill_path = (mcp_host_root / raw_path.removeprefix("./")).resolve() + if skill_path.name != "SKILL.md": + skill_path /= "SKILL.md" + return skill_path + + def _manifest_skill_paths(mcp_host: str) -> list[Path]: manifest = _read_json(MANIFEST_PATHS[mcp_host]) skills = manifest.get("skills", []) mcp_host_root = PLUGIN_ROOT / mcp_host if isinstance(skills, list): - return [ - (mcp_host_root / skill.removeprefix("./")).resolve() for skill in skills - ] + return [_manifest_skill_path(mcp_host_root, skill) for skill in skills] if isinstance(skills, str): skill_dir = mcp_host_root / skills.removeprefix("./") diff --git a/package_validation_tests.py b/package_validation_tests.py index 5cd024f..4d01c9d 100644 --- a/package_validation_tests.py +++ b/package_validation_tests.py @@ -20,7 +20,7 @@ } MANIFEST_PATHS = [ - Path("claude/plugin.json"), + Path("claude/.claude-plugin/plugin.json"), Path("codex/.codex-plugin/plugin.json"), ]