From 70697d0b51f6f76996f9fc9158d87cbac98be001 Mon Sep 17 00:00:00 2001 From: Watermelcn Date: Tue, 19 May 2026 16:29:58 +0800 Subject: [PATCH] fix: normalize SKILL.md filename case-insensitively Fixes #458 --- .../domain/skill/validation/SkillPackagePolicy.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/server/skillhub-domain/src/main/java/com/iflytek/skillhub/domain/skill/validation/SkillPackagePolicy.java b/server/skillhub-domain/src/main/java/com/iflytek/skillhub/domain/skill/validation/SkillPackagePolicy.java index eab8d2e2..6ace64ad 100644 --- a/server/skillhub-domain/src/main/java/com/iflytek/skillhub/domain/skill/validation/SkillPackagePolicy.java +++ b/server/skillhub-domain/src/main/java/com/iflytek/skillhub/domain/skill/validation/SkillPackagePolicy.java @@ -64,6 +64,15 @@ public final class SkillPackagePolicy { throw new IllegalArgumentException("Package entry path must be normalized: " + rawPath); } + // Normalize SKILL.md basename case-insensitively + int lastSlash = canonical.lastIndexOf('/'); + String fileName = lastSlash >= 0 ? canonical.substring(lastSlash + 1) : canonical; + if (fileName.equalsIgnoreCase(SKILL_MD_PATH)) { + canonical = lastSlash >= 0 + ? canonical.substring(0, lastSlash + 1) + SKILL_MD_PATH + : SKILL_MD_PATH; + } + return canonical; }