Skip to main content

freeze

Scope-lock file editing to a specific glob pattern. Only files matching the pattern can be edited until /unfreeze is called.

Source facts

Repository
bdfinst/agentic-dev-team
Last source activity
August 5, 2026 at 19:33
Detected SKILL.md language
English
Stars
299
Forks
36

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
freeze
description
Scope-lock file editing to a specific glob pattern. Only files matching the pattern can be edited until /unfreeze is called.
argument-hint
<glob-pattern>
user-invocable
true
allowed-tools
Write, Read
# Freeze Role: worker. This command restricts Write/Edit operations to files matching a glob pattern. You have been invoked with the `/freeze` command. ## Worker constraints 1. Write only the freeze-state file; do not edit source. 2. Do not enforce the lock yourself — the pre-tool-guard hook does. 3. **Be concise.** Confirm the locked scope in one line. ## Parse Arguments Arguments: $ARGUMENTS - Positional: `<glob-pattern>` (required) — glob pattern for files that ARE allowed to be edited (e.g., `src/auth/**`, `*.test.ts`) If no pattern is provided, display usage and exit: > Usage: `/freeze <glob-pattern>` > Example: `/freeze src/auth/**` — only files under `src/auth/` can be edited. ## Steps ### 1. Write freeze state Write the following JSON to `.claude/hooks/freeze-state.json` (relative to the current repo root — **not** `hooks/freeze-state.json`, which would sit inside the plugin's own shared install/cache directory and scope-lock every other concurrently-running session, worktree, and project on the machine; see issue #1890): ```json { "active": true, "allowed_patterns": ["<glob-pattern>"], "frozen_at": "<ISO timestamp>" } ``` ### 2. Confirm Display: > Scope locked to `<pattern>`. Only matching files can be edited. > Use `/unfreeze` to lift the restriction. ## Notes - The `hooks/pre_tool_guard.py` hook resolves this same path per invoking repo via `hooks/lib/artifact_paths.py`'s `resolve_file("hooks", "freeze-state.json")` — the same `.claude/`-scoped convention `.review-passed` and other per-repo runtime state already use — and blocks Write/Edit to files that do NOT match the allowed patterns. - Freeze state persists across tool calls within a session, and is scoped to the repo it was activated in. - If a session crashes while frozen, use `/unfreeze` in the next session to clear stale state. - Multiple patterns can be provided as comma-separated: `/freeze src/auth/**,src/middleware/**` - `/build` can also engage this same `.claude/hooks/freeze-state.json` contract automatically, per slice, when a plan opts into `**Scope enforcement:** freeze` and declares slice-level `**Files:**` (issue #865) — see `scripts/build_slice_scope.py` and the `build` skill's "Slice dispatch bookkeeping" section. That path is opt-in metadata, not a manual `/freeze` invocation, but writes/clears the identical file this command does.
View on GitHub