[app/skills] Installed skill-installer helpers lose executable permissions
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.5k
- PR merge metrics
- PR metrics pending
Description
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.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the upstream packaging path for the system-skill tree and its source manifest, then inspect scripts/list-skills.py and scripts/install-skill-from-github.py at the compared commit. Package the skills into a temporary Codex home and compare declared entrypoint modes. Done means both documented --help commands work without network access, including from a different conversation cwd using the absolute interpreter form.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 65/100