feat: add active-platform skill (Win/Linux/macOS switcher)

- skills/active-platform/SKILL.md: default = Windows/PowerShell; trigger
  phrases in RU+EN switch the active platform for the session; per-platform
  conventions (chaining, paths, env vars, install scripts) documented
- dist/active-platform.skill: built archive
- .wiki/source/active-platform-decision.md: rationale (skill chosen over
  global CLAUDE.md / project memory; user wanted a discoverable, iterable
  artifact)
- scripts/build.sh: fix PS arg-passing — single-quotes were leaking into
  -Names value, so multi-arg builds on Windows were rejected with
  "not found in skills/"

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-28 11:00:23 +03:00
parent 9f54068de0
commit 125007a35e
6 changed files with 130 additions and 2 deletions

View File

@@ -40,8 +40,8 @@ elif command -v powershell.exe >/dev/null 2>&1; then
if [ "$#" -eq 0 ]; then
powershell.exe -NoProfile -ExecutionPolicy Bypass -File "$(cygpath -w "$ps1" 2>/dev/null || echo "$ps1")"
else
# Build a comma-separated PS argument list.
joined=$(printf ",'%s'" "$@")
# PS array via -File: comma-separated, no extra quoting (bash arg becomes one PS token).
joined=$(printf ",%s" "$@")
joined="${joined:1}"
powershell.exe -NoProfile -ExecutionPolicy Bypass -File "$(cygpath -w "$ps1" 2>/dev/null || echo "$ps1")" -Names "$joined"
fi