openai / openai/codex

[app/skills] Installed skill-installer helpers lose executable permissions

Open
#38,740 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug skills
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/skills commit 49f948faa9258a0c61caceaf225e179651397431
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
  1. Package/install the system skills into a temporary Codex home.
  2. Compare executable mode for declared entrypoints against the source manifest.
  3. From the installed skill root, run both documented --help commands.
  4. From a different conversation cwd, run the absolute interpreter form.
  5. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.