From 53f2d1d4792ca7e597a269cc86551f5672fb115e Mon Sep 17 00:00:00 2001 From: Swastik Bhat Date: Sat, 15 Aug 2026 13:14:16 -0400 Subject: [PATCH] Fix quick_validate UTF-8 decoding crash on Windows read_text() uses the locale default encoding, which is cp1252 on Windows; reading a UTF-8 SKILL.md (e.g. the claude-api skill, which contains emoji) raised UnicodeDecodeError and crashed the validator. Read explicitly as UTF-8, per the spec. --- skills/skill-creator/scripts/quick_validate.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/skills/skill-creator/scripts/quick_validate.py b/skills/skill-creator/scripts/quick_validate.py index ed8e1ddd..36291408 100755 --- a/skills/skill-creator/scripts/quick_validate.py +++ b/skills/skill-creator/scripts/quick_validate.py @@ -19,7 +19,9 @@ def validate_skill(skill_path): return False, "SKILL.md not found" # Read and validate frontmatter - content = skill_md.read_text() + # Explicit UTF-8: read_text() uses the locale default encoding, which is + # cp1252 on Windows and crashes on UTF-8 SKILL.md files (e.g. emoji). + content = skill_md.read_text(encoding='utf-8') if not content.startswith('---'): return False, "No YAML frontmatter found"