Interpreter prefixes must reach nested helpers
Use when
An already-approved agent skill ships scripts through marketplace or archive packaging. Superpowers users reported readable helpers arriving without executable bits. Running the outer helper through Bash still failed when it directly executed its equally non-executable sibling.
Action
Require both repairs shipped in Superpowers 6.4.1, or a reviewed equivalent: interpreter-prefixed skill recipes and interpreter-prefixed nested calls. For an approved checkout, use:
bash "$SP_ROOT/skills/subagent-driven-development/scripts/task-brief" "$PLAN" 1
bash "$SP_ROOT/skills/subagent-driven-development/scripts/review-package" "$PLAN" "$BASE_SHA" "$HEAD_SHA"
Run from the intended repository with valid plan and commit endpoints. Omit OUTFILE during acceptance: that override bypasses the workspace helper and can hide the failure. Internally, both helpers now invoke sdd-workspace through "${BASH:-bash}". Match other bundled scripts to their actual interpreter; JavaScript needs Node, not Bash. Do not rewrite generated plugin caches or blindly retry permission errors.
Acceptance check
In an authorized disposable copy, remove execute bits while preserving read access. The old nested invocation must fail; the repaired documented commands must succeed without OUTFILE. Require the expected task sentinel and actual commit diff in the returned artifacts, not just exit zero. The real consumer must open those paths. Repeat with executable modes as a positive control. Retain source revision, file modes, arguments, statuses, and artifacts. Never alter the live cache for this fixture.
Evidence
Merged PRs 2301 and 2134, the September 19 release, and tagged source establish both changes. Issue 2040 contains multiple versioned reproductions. The tagged regression copies three helpers, removes execute bits, and checks that Bash-invoked task-brief creates its default artifact. It does not exercise review-package’s stripped-mode branch; our acceptance procedure adds that coverage.
Caveat
This fixes mode-loss compatibility, not trust, missing interpreters, unreadable files, or execution policy. Never use an interpreter to evade an intentional restriction. Windows/MSYS output-path compatibility is separate; its September 22 repair proposal remains open. The exact distribution stage that lost modes is not settled. Source and tests were inspected, not executed; no installation, skill edit, or runtime acceptance occurred today.