[app/skills] Installed skill-installer helpers lose executable permissions
Installed and source versions
- Codex Desktop app: 26.810.41047, bundle 6570, macOS arm64
- Installed system skill:
/Users/m1/.codex/skills/.system/skill-installer - Compared source:
openai/skillscommit49f948faa9258a0c61caceaf225e179651397431
Reproduction
The installed skill documents direct commands such as:
scripts/list-skills.py
scripts/install-skill-from-github.py ...
Both installed files have mode 0644. From the installed skill root:
scripts/list-skills.py --help
returns exit 126:
permission denied: scripts/list-skills.py
At the compared upstream source commit, both helper entrypoints are mode 0755. Their file contents are runnable through an explicit Python interpreter, so the supported package appears to have lost the executable mode during installation or packaging.
Expected behavior
A helper documented as directly executable should retain its source executable bit in the installed system-skill tree, or the installed documentation should invoke it through a resolved Python interpreter.
Actual behavior
The installed files are non-executable while the installed skill still documents bare execution.
Proposed narrow fix
Preserve executable mode metadata for system-skill entrypoints during packaging. As a portable defense, the skill may also document python3 <absolute-skill-root>/scripts/... rather than depending on mode and current working directory.
Acceptance test
- Package/install the system skills into a temporary Codex home.
- Compare executable mode for declared entrypoints against the source manifest.
- From the installed skill root, run both documented
--helpcommands. - From a different conversation cwd, run the absolute interpreter form.
- Assert both paths exit successfully without network access or installation.
This report does not request editing the installed system-skill tree; the fix belongs in the upstream packaging path.