
Unfreeze
- 196 installs
- 126k repo stars
- Updated July 15, 2026
- garrytan/gstack
Recover gstack browser sessions stuck in frozen, paused, or hung states so agent automation can resume navigation, scraping, or UI testing without restarting the full stack.
About
Garry Tan gstack skill that unfreezes stuck browser automation sessions used by coding agents. It helps recover hung Playwright-style runs, resume paused navigation, and clear blocking freeze states so authenticated web workflows continue without tearing down the entire agent environment.
- Resumes paused or hung gstack browser automation
- Avoids full stack restarts for stuck agent sessions
- Restores navigation after freeze during long UI runs
- Keeps agent tooling productive during live debugging
Unfreeze by the numbers
- 196 all-time installs (skills.sh)
- Ranked #174 of 596 Debugging skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/garrytan/gstack --skill unfreezeAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 196 |
|---|---|
| repo stars | ★ 126k |
| Last updated | July 15, 2026 |
| Repository | garrytan/gstack ↗ |
What it does
Recover gstack browser sessions stuck in frozen, paused, or hung states so agent automation can resume navigation, scraping, or UI testing without restarting the full stack.
Files
<!-- AUTO-GENERATED from SKILL.md.tmpl — do not edit directly --> <!-- Regenerate: bun run gen:skill-docs -->
When to invoke this skill
Use when you want to widen edit scope without ending the session. Use when asked to "unfreeze", "unlock edits", "remove freeze", or "allow all edits".
/unfreeze — Clear Freeze Boundary
Remove the edit restriction set by /freeze, allowing edits to all directories.
mkdir -p ~/.gstack/analytics
echo '{"skill":"unfreeze","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","repo":"'$(basename "$(git rev-parse --show-toplevel 2>/dev/null)" 2>/dev/null || echo "unknown")'"}' >> ~/.gstack/analytics/skill-usage.jsonl 2>/dev/null || trueClear the boundary
eval "$(~/.claude/skills/gstack/bin/gstack-paths)"
STATE_DIR="$GSTACK_STATE_ROOT"
if [ -f "$STATE_DIR/freeze-dir.txt" ]; then
PREV=$(cat "$STATE_DIR/freeze-dir.txt")
rm -f "$STATE_DIR/freeze-dir.txt"
echo "Freeze boundary cleared (was: $PREV). Edits are now allowed everywhere."
else
echo "No freeze boundary was set."
fiTell the user the result. Note that /freeze hooks are still registered for the session — they will just allow everything since no state file exists. To re-freeze, run /freeze again.
---
name: unfreeze
version: 0.1.0
description: |
Clear the freeze boundary set by /freeze, allowing edits to all directories
again. Use when you want to widen edit scope without ending the session.
Use when asked to "unfreeze", "unlock edits", "remove freeze", or
"allow all edits". (gstack)
triggers:
- unfreeze edits
- unlock all directories
- remove edit restrictions
allowed-tools:
- Bash
- Read
sensitive: true
---
# /unfreeze — Clear Freeze Boundary
Remove the edit restriction set by `/freeze`, allowing edits to all directories.
```bash
mkdir -p ~/.gstack/analytics
echo '{"skill":"unfreeze","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","repo":"'$(basename "$(git rev-parse --show-toplevel 2>/dev/null)" 2>/dev/null || echo "unknown")'"}' >> ~/.gstack/analytics/skill-usage.jsonl 2>/dev/null || true
```
## Clear the boundary
```bash
eval "$(~/.claude/skills/gstack/bin/gstack-paths)"
STATE_DIR="$GSTACK_STATE_ROOT"
if [ -f "$STATE_DIR/freeze-dir.txt" ]; then
PREV=$(cat "$STATE_DIR/freeze-dir.txt")
rm -f "$STATE_DIR/freeze-dir.txt"
echo "Freeze boundary cleared (was: $PREV). Edits are now allowed everywhere."
else
echo "No freeze boundary was set."
fi
```
Tell the user the result. Note that `/freeze` hooks are still registered for the
session — they will just allow everything since no state file exists. To re-freeze,
run `/freeze` again.