#2700
Well-known archive installs drop the executable bit
Installing from a well-known index (type: "archive", zip or tar.gz) writes every file as 0644. An executable script in the archive loses its +x, so a skill that runs ./scripts/run.sh fails with "permission denied" after install. Git sources keep the mode.
Repro (skills 1.7.6, Linux):
- Make an archive with
SKILL.mdandscripts/run.sh(mode0755), served from/.well-known/agent-skills/index.json. npx skills add <url> -g -yls -l ~/.agents/skills/<name>/scripts/run.shgives-rw-r--r--.
Cause: the zip reader reads each entry's external attributes, but only to reject links. The extracted files map keeps bytes only, so the mode never reaches the write. The tar.gz path ignores the header mode the same way.
Suggested fix: keep the executable bit from the zip external attributes (>>> 16) and the tar header mode, and apply it on write. Only 0755 vs 0644 is needed, never setuid or other bits.
Activity
0No activity yet.