skill: make the sh-vs-ps1 dispatch rule explicit

'Use whichever your host can launch' left the selection order implicit and
did not distinguish the two failure kinds. Now stated: dispatch on launcher
availability (not OS) — sh first, ps1 only when the sh launcher itself is
missing; and a STATUS=refuse from either entry point is final, never a cue
to try the other one for a different answer. The CI byte-diff exists
precisely so there is no different answer.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-16 08:32:22 -04:00
co-authored by Claude Fable 5
parent b9fa4932b9
commit 62df81709d
4 changed files with 22 additions and 6 deletions
+6 -2
View File
@@ -34,8 +34,12 @@ plugin, or copied into another project):
powershell -NoProfile -ExecutionPolicy Bypass -File <skill-dir>/scripts/preflight.ps1
The two entry points implement one contract and are byte-diffed against each
other in CI — same checks, same output, same refusals. Use whichever your
host can launch; never both, never neither.
other in CI — same checks, same output, same refusals. Dispatch on launcher
availability, not OS: try `sh` first; if the **launcher itself** is missing
(`sh: not found` — a launch failure, not a refusal), run the PowerShell entry
point instead. A `STATUS=refuse` from either is **final**: never run the
second entry point hoping for a different answer — they are kept
byte-identical in CI precisely so there is no different answer.
Some harnesses block script files inside skills, so your installation may
carry no `scripts/` directory. The script still exists exactly once — in the