guard
The facts
Its description
Full safety mode: destructive command warnings + directory-scoped edits. (gstack) Triggers: full safety mode; guard against mistakes; maximum safety
The description the agent reads to decide when to use it. Phrases the author says should start it.
When it starts
A person asks for maximum safety or "full safety mode" — wanting both destructive-command warnings and edits confined to one directory — usually before risky work. The name and description alone are enough for the agent to pick it.
Things a person might say (the model's guesses)
- “Turn on full safety mode for this session.”
- “I want maximum safety while I clean up this repo.”
- “Guard against mistakes — I'm about to do some risky refactoring.”
A model's summary of when it is used.
Tools it may use, or may not
allowed-tools: Bash, Read, AskUserQuestion
Tools it may use while it runs without asking you first.
Runs scripts
bin/gstack-paths, bin/freeze-state.sh
Scripts the text names. Found by matching words, so treat them as pointers.
Stops for a person
1 line stops to ask a person
Lines that stop and wait for a person before going on. Found by matching words, so treat them as pointers.
Runs automatically at certain moments
Runs commands automatically at set moments
Hooks run commands at moments such as before a tool is used. The linked line shows them as written.
What it leads to
- hands off to unfreeze to remove the persistent edit boundary line 79
- calls careful line 47
- calls freeze line 47
Other skills this one hands off to, calls, requires or offers instead, as a model read them.
What leads to it
- gstack hands off to this PROACTIVE all, or user names it gstack, line 222
Other skills that hand off to this one, call it, require it or offer it instead, as a model read them.
Licence
MIT, from LICENSE
The terms its author shares it under, which let it be shown here.
Other settings
version: 0.1.0
More settings at the top of the file, shown as written.
The text
Most marks come from matching words in the file, so treat them as pointers.
<!-- AUTO-GENERATED from SKILL.md.tmpl — do not edit directly --> <!-- Regenerate: bun run gen:skill-docs -->
/guard — Full Safety Mode
Activates both destructive command warnings and directory-scoped edit restrictions. This is the combination of /careful + /freeze in a single command.
Dependency note: This skill references hook scripts from the sibling /careful and /freeze skill directories. Both must be installed (they are installed together by the gstack setup script).
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":"guard","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 || trueRaw lines 1 to 58Setup
Ask the user which directory to restrict edits to. Use AskUserQuestion:
- Question: "Guard mode: which directory should edits be restricted to? Destructive command warnings are always on. Files outside the chosen path will be blocked from editing."
- Text input (not multiple choice) — the user types a path.
Once the user provides a directory path:
Set the user-selected boundary with the shared writer, which resolves a physical absolute path and serializes replacement with investigation cleanup:
bash "$HOME/.claude/skills/gstack/freeze/bin/freeze-state.sh" set "<user-provided-path>"On helper failure, do not claim the boundary is active. Preserve the state and report recovery; never bypass the shared writer with a direct write or deletion.
Tell the user:
- "Guard mode active. Two protections are now running:"
- "1. Destructive command guard — rm -rf, DROP TABLE, force-push, etc. warn before executing (overridable); catastrophic shapes (recursive delete of / or ~, force-push to the default branch) are hard-denied"
- "2. Edit boundary — file edits restricted to
<path>/. Edits outside this directory are blocked." - "To remove the persistent edit boundary, run
/unfreeze. Ending the session stops its hooks but does not delete that boundary."
What's protected
See /careful for the full list of destructive command patterns and safe exceptions. See /freeze for how edit boundary enforcement works.
From garrytan/gstack at 3f79d81, 2026-11-01. Skills read by DeepSeek V4.1 Flash on 2026-11-04. Summary and techniques by Claude Opus 5.5 on 2026-11-06.