mirror of
https://github.com/Donchitos/Claude-Code-Game-Studios.git
synced 2026-10-16 09:58:36 +00:00
Release 1.1.2 — the default path works end to end
Fix release for 1.1.1: the minimal path end to end, engine commands that run on Godot, Unity and Unreal, hook warnings you can see, and verdicts that say when they could not check. Details in CHANGELOG.md; upgrade steps in UPGRADING.md (v1.1.1 → v1.1.2). Fixes #67 Fixes #131 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WuJn2FdynEybfL5KC697nJ
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
7ed2c3e9c4
commit
b21fa0f7f2
@@ -60,20 +60,42 @@ fi
|
||||
# for either input because rule 1 finds nothing to do on unescaped text.
|
||||
FILE_PATH=$(printf '%s' "$FILE_PATH" | sed 's|\\\\|/|g; s|\\|/|g')
|
||||
|
||||
# Only act on files inside .claude/skills/
|
||||
if ! echo "$FILE_PATH" | grep -qE '(^|/)\.claude/skills/'; then
|
||||
exit 0
|
||||
fi
|
||||
# Make the path project-relative, as validate-assets.sh does. Claude Code sends
|
||||
# it ABSOLUTE, and a match on `/.claude/skills/` anywhere in it also fired on
|
||||
# the user's own skills in ~/.claude/skills/, naming a skill this project does
|
||||
# not have. Strip the project root in either spelling Git Bash gives it; a path
|
||||
# still absolute is outside the project.
|
||||
_VS_ROOT=$(pwd); _VS_ROOT_W=$(pwd -W 2>/dev/null || printf '%s' "$_VS_ROOT")
|
||||
shopt -s nocasematch
|
||||
case "$FILE_PATH" in
|
||||
"$_VS_ROOT"/*) REL_PATH="${FILE_PATH:${#_VS_ROOT}+1}" ;;
|
||||
"$_VS_ROOT_W"/*) REL_PATH="${FILE_PATH:${#_VS_ROOT_W}+1}" ;;
|
||||
/*|[A-Za-z]:/*) exit 0 ;;
|
||||
*) REL_PATH="${FILE_PATH#./}" ;;
|
||||
esac
|
||||
shopt -u nocasematch
|
||||
|
||||
# Only act on files inside this project's .claude/skills/
|
||||
case "$REL_PATH" in
|
||||
.claude/skills/*) ;;
|
||||
*) exit 0 ;;
|
||||
esac
|
||||
|
||||
# Extract skill name from path (.claude/skills/[skill-name]/SKILL.md)
|
||||
SKILL_NAME=$(echo "$FILE_PATH" | grep -oE '\.claude/skills/[^/]+' | sed 's|\.claude/skills/||')
|
||||
SKILL_NAME=$(echo "$REL_PATH" | grep -oE '^\.claude/skills/[^/]+' | sed 's|\.claude/skills/||')
|
||||
|
||||
if [ -z "$SKILL_NAME" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "=== Skill Modified: $SKILL_NAME ===" >&2
|
||||
echo "Run /skill-test static $SKILL_NAME to validate structural compliance." >&2
|
||||
echo "====================================" >&2
|
||||
# Advisory, so exit 0 -- and therefore hook JSON, not stderr, which on exit 0
|
||||
# reaches the debug log only. See hook_warn in yaml-helper.sh.
|
||||
_VS_MSG="Skill modified: $SKILL_NAME. Run /skill-test static $SKILL_NAME to validate structural compliance."
|
||||
[ -f .claude/hooks/yaml-helper.sh ] && . .claude/hooks/yaml-helper.sh 2>/dev/null
|
||||
if command -v hook_warn >/dev/null 2>&1; then
|
||||
hook_warn PostToolUse "$_VS_MSG"
|
||||
else
|
||||
printf '%s\n' "$_VS_MSG" >&2
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user