**Problem:**
When running gstack skills in zsh, users see this error:
(eval):22: no matches found: /Users/.../.gstack/analytics/.pending-*
**Root Cause:**
The Preamble code in gen-skill-docs.ts (line 167) contains:
for _PF in ~/.gstack/analytics/.pending-*; do ...
In zsh, glob patterns that don't match any files cause an error:
'no matches found: pattern'
In bash, the loop simply iterates zero times. This breaks all gstack
skills for zsh users (common on macOS).
**Solution:**
Check if any .pending-* files exist BEFORE attempting the for loop:
[ -n "$(ls ~/.gstack/analytics/.pending-* 2>/dev/null)" ] && for ...
This approach:
- ✅ Works in both bash and zsh
- ✅ Silently skips the loop when no pending files exist (normal case)
- ✅ Executes the loop when pending files are present
- ✅ Uses ls with error suppression (2>/dev/null) for portability
**Testing:**
- ✅ No pending files: loop skipped, no error
- ✅ Pending files exist: loop runs normally
- ✅ Compatible with bash and zsh
- ✅ TypeScript syntax check passes
**Impact:**
Fixes all gstack skills for zsh users (macOS default shell).
Fixes#313