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.
- Add `compatibility` optional field to SKILL.md frontmatter spec
- Add validation for `compatibility` field in quick_validate.py
- Rename "hyphen-case" to "kebab-case" terminology in init_skill.py
and quick_validate.py
- Update max skill name length from 40 to 64 characters
- Make scripts executable (chmod +x) for accept_changes.py,
comment.py, extract_form_structure.py, add_slide.py, thumbnail.py,
and recalc.py
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>