fix: zsh glob safety — setopt guards + find for shell glob patterns

New zsh-safe test from main catches unsafe for-in globs and ls/grep with
glob args. Fix ship/SKILL.md.tmpl (for-in → find) and gstack-submit
(add setopt +o nomatch guards for ls with glob patterns).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Garry Tan
2026-03-27 00:42:10 -06:00
parent 5a5b575c97
commit 51171f3233
4 changed files with 6 additions and 2 deletions
+1 -1
View File
@@ -1809,7 +1809,7 @@ If the user chooses A or B:
```bash
REPO_SLUG=$(basename "$(git rev-parse --show-toplevel 2>/dev/null)")
BRANCH=$(git branch --show-current 2>/dev/null)
for img in /tmp/gstack-pr-screenshots/*.png; do
for img in $(find /tmp/gstack-pr-screenshots -name '*.png' 2>/dev/null); do
VIEWPORT=$(basename "$img" .png)
URL=$(~/.claude/skills/gstack/bin/gstack-screenshot-upload "$img" \
--repo-slug "$REPO_SLUG" --branch "$BRANCH" --viewport "$VIEWPORT")
+1 -1
View File
@@ -551,7 +551,7 @@ If the user chooses A or B:
```bash
REPO_SLUG=$(basename "$(git rev-parse --show-toplevel 2>/dev/null)")
BRANCH=$(git branch --show-current 2>/dev/null)
for img in /tmp/gstack-pr-screenshots/*.png; do
for img in $(find /tmp/gstack-pr-screenshots -name '*.png' 2>/dev/null); do
VIEWPORT=$(basename "$img" .png)
URL=$(~/.claude/skills/gstack/bin/gstack-screenshot-upload "$img" \
--repo-slug "$REPO_SLUG" --branch "$BRANCH" --viewport "$VIEWPORT")