$
npx openpersona install garrytan/gstack#unfreezeSKILL.mdView on GitHub
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.
GSTACK_STATE_ROOT=$(~/.claude/skills/gstack/bin/gstack-paths --get GSTACK_STATE_ROOT); : "${GSTACK_STATE_ROOT:?gstack-paths failed; reinstall with ./setup or /gstack-upgrade}"
mkdir -p "$GSTACK_STATE_ROOT"/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_STATE_ROOT"/analytics/skill-usage.jsonl 2>/dev/null || true
Clear the boundary
bash "$HOME/.claude/skills/gstack/freeze/bin/freeze-state.sh" clear
This is explicit user-requested removal, not investigation cleanup. The shared writer serializes it with acquisition, replacement and owner-checked release. On FREEZE_BUSY or unexpected state, leave everything untouched and report recovery; never delete state or a possibly active mutation lock directly.
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.