Files
gstack/unfreeze/SKILL.md
Garry Tan 5a8a602df4 feat: remove trigger guard + proactive opt-out prompt
Remove "MANUAL TRIGGER ONLY" injection from all skill descriptions. This
frees 59 chars per skill from the 1024-char Codex description budget and
lets skills auto-fire based on semantic matching.

Merge auto-fire control into the existing `proactive` setting — when false,
Claude won't auto-invoke skills or suggest them. Users are prompted once
about this preference (chains after the telemetry prompt, fires on second
skill run).

Also trims the root gstack description by removing the skill catalog
(already in the body), saving ~500 chars.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 12:32:02 -07:00

1.3 KiB

name, version, description, allowed-tools
name version description allowed-tools
unfreeze 0.1.0 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".
Bash
Read

/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 || true

Clear the boundary

STATE_DIR="${CLAUDE_PLUGIN_DATA:-$HOME/.gstack}"
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.