Default skill installation strips executable bits and breaks the curated Playwright launcher
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 62/100
Research direction
Start with the installer at codex-rs/skills/src/assets/samples/skill-installer/scripts/install-skill-from-github.py, specifically the ZIP extraction around lines 108-116 where ZipFile.extractall is used. Reproduce with the shell steps in the issue, comparing modes of playwright/scripts/playwright_cli.sh between the auto and git destinations. Done when the downloaded wrapper has the executable bit (755) matching the Git install, with a check that the two install paths give the same modes.
Written by the indexing model from the issue text.
Description
The bundled skill installer reports that the Playwright skill installed successfully, but the wrapper in its quick start cannot be executed. The same upstream script remains executable when the installer uses Git.
Steps to reproduce On Linux x86_64 with Python 3.12.14, from the Codex repository root at de83e7674a69b9ae18544dd1fbf53f31bfe8c640:
dest=$(mktemp -d)
script=codex-rs/skills/src/assets/samples/skill-installer/scripts/install-skill-from-github.py
skill=skills/.curated/playwright
wrapper=playwright/scripts/playwright_cli.sh
python3 "$script" --repo openai/skills --path "$skill" --method auto --dest "$dest/auto"
python3 "$script" --repo openai/skills --path "$skill" --method git --dest "$dest/git"
cmp "$dest/auto/$wrapper" "$dest/git/$wrapper"
stat -c '%a %n' "$dest/auto/$wrapper" "$dest/git/$wrapper"
"$dest/auto/$wrapper" --help
Observed Both installs exit 0 and the two scripts have identical contents. Their modes are 644 (default download path) and 755 (Git). Directly invoking the downloaded script returns Permission denied before Playwright starts. The openai/skills revision used was 49f948faa9258a0c61caceaf225e179651397431.
Expected A tracked executable should remain executable through either install method. The skill's quick start invokes this wrapper directly. Playwright usage
Suggested fix Restore the Git executable bits for regular files when extracting the archive and test mode parity between the download and Git installation paths. The ZIP path currently delegates extraction to ZipFile.extractall. Archive extraction
- Dominant language
- Rust
- Stars
- 135k
- Forks
- 21.4k
- Avg merge
- 1m
- Merged PRs (30d)
- 997
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing 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.
More from openai/codex
-
ImageGen generate-batch aborts valid JSONL jobs containing a Unicode line separator in poster textOpenbug imagen skills
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
gitDiffToRemote fails on an unpushed topic branch when the remote default branch contains a slashOpenapp-server bug CLI
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
bug CLI
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
bug imagen skills
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
Maintainers usually reply within 1 day
-
bug CLI tool-calls
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
Similar issues
-
bug UI
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
wardian-app/Wardian#1746 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
jlcodes99/cockpit-tools#3125 ·
Maintainers usually reply within 2 days
-
bug user-sprint
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Vondor/KassenSturz#967 ·
Maintainers usually reply within 1 day
-
area/ci
Difficulty 1/5 Under an hour Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
[BUG] Incremental sync warns "no stored highest_uid" on every round for folders with no new mailOpenbug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
rustmailer/bichon#411 ·