{
    "app": {
        "name": "guard",
        "description": "Full safety mode: destructive command warnings + directory-scoped edits. (gstack)",
        "mode": "advanced-chat",
        "model_config": {
            "provider": "deepseek",
            "model": "deepseek-chat",
            "parameters": {
                "temperature": 0.7,
                "max_tokens": 4096
            }
        }
    },
    "instructions": "name guard version 0.1.0 description Full safety mode: destructive command warnings + directory-scoped edits. (gstack) triggers [\"full safety mode\",\"guard against mistakes\",\"maximum safety\"] allowed-tools [\"Bash\",\"Read\",\"AskUserQuestion\"] hooks {\"PreToolUse\":[{\"matcher\":\"Bash\",\"hooks\":\"[Truncated]\"},{\"matcher\":\"Edit\",\"hooks\":\"[Truncated]\"},{\"matcher\":\"Write\",\"hooks\":\"[Truncated]\"}]} When to invoke this skill Combines /careful (warns before rm -rf, DROP TABLE, force-push, etc.) with /freeze (blocks edits outside a specified directory). Use for maximum safety when touching prod or debugging live systems. Use when asked to \"guard mode\", \"full safety\", \"lock it down\", or \"maximum safety\". /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). mkdir -p ~/.gstack/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/analytics/skill-usage.jsonl 2>/dev/null || true Setup 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: Resolve it to an absolute path: FREEZE_DIR=$( cd \"<user-provided-path>\" 2>/dev/null && pwd ) echo \" $FREEZE_DIR \" Ensure trailing slash and save to the freeze state file: FREEZE_DIR= \" ${FREEZE_DIR%/} /\" eval \" $(~/.claude/skills/gstack/bin/gstack-paths) \" STATE_DIR= \" $GSTACK_STATE_ROOT \" mkdir -p \" $STATE_DIR \" echo \" $FREEZE_DIR \" > \" $STATE_DIR /freeze-dir.txt\" echo \"Freeze boundary set: $FREEZE_DIR \" 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 edit boundary, run /unfreeze . To deactivate everything, end the session.\" What's protected See /careful for the full list of destructive command patterns and safe exceptions. See /freeze for how edit boundary enforcement works.",
    "variables": [],
    "opening_statement": "你好，我是 guard，Full safety mode: destructive command warnings + d...",
    "suggested_questions": [],
    "source": "DeepseekModel",
    "source_url": "https://deepseekmodel.com/skill?id=garrytan-gstack-guard-skill-md"
}