‹ 首页

phx-freeze

@oliver-kriska · 收录于 1 周前 · 上游提交 3 天前

Scope or freeze which files Claude can edit during debugging, a refactor, or review. Use when edits should stay in specific dirs, or for a read-only investigate lock. Backed by a sentinel + PreToolUse hook.

适合你,如果调试或审查时只想让AI修改特定目录的文件

/ 通过 npx 安装 校验哈希
npx oh-my-skill add oliver-kriska/claude-elixir-phoenix/phx-freeze
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- oliver-kriska/claude-elixir-phoenix/phx-freeze
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify oliver-kriska/claude-elixir-phoenix/phx-freeze
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
485GitHub stars
~670上下文体积 · 单文件
索引托管

怎么用

技能原文 SKILL.md作者撰写 · MIT · d6b21b5

Freeze — scoped edit lock

Toggle a project-local edit lock so Claude can only modify the files you intend during a focused task (debugging, a tight refactor, a review pass). Enforced by the freeze-gate.sh PreToolUse hook, which denies Edit/Write/NotebookEdit outside the allow-list. No sentinel = no lock; the hook stays dormant.

The lock lives in .claude/.freeze — one allowed path prefix per line, project-relative. Empty file = freeze everything.

Usage

/phx:freeze [args] — resolve $ARGUMENTS and run the matching Bash branch.

| Invocation | Effect | |------------|--------| | /phx:freeze | Freeze ALL edits — read-only investigation mode | | /phx:freeze lib/app_web priv/repo | Allow edits only under these dirs | | /phx:freeze status | Show current lock state | | /phx:freeze off | Lift the lock (delete the sentinel) |

Freeze all edits (investigation mode)
mkdir -p .claude && : > .claude/.freeze
echo "Freeze ON — all edits blocked. Lift with /phx:freeze off"
Scope edits to specific directories
mkdir -p .claude
printf '%s\n' lib/app_web priv/repo > .claude/.freeze
echo "Freeze ON — edits limited to: lib/app_web priv/repo"

Map $ARGUMENTS to the dirs the user named. Include any directory you still need to write to — e.g. add .claude if progress/scratchpad logging must continue.

Show status
if [ -f .claude/.freeze ]; then
  if [ -s .claude/.freeze ]; then echo "Freeze ON — limited to:"; cat .claude/.freeze
  else echo "Freeze ON — ALL edits blocked"; fi
else echo "Freeze OFF — no edit lock"; fi
Lift the lock
rm -f .claude/.freeze && echo "Freeze OFF — edits unlocked"
Iron Laws
  1. MANAGE the sentinel via Bash only (:>, printf, rm) — NEVER via Edit/Write. The freeze hook gates Edit/Write and would block you from re-scoping or clearing the lock.
  2. NEVER leave a freeze active across unrelated tasks — it persists until /phx:freeze off, including into later sessions. Clear it when the task ends.
  3. PATHS ARE PROJECT-RELATIVE PREFIXES, one per linelib/foo allows lib/foo and everything under it; it does NOT allow lib/foobar.
Notes
  • The hook denies with a reason and tells Claude not to retry, so a frozen edit surfaces clearly instead of failing silently.
  • Pairs with /phx:investigate (freeze all while root-causing) and /phx:work (scope to the plan's dirs). The lock is advisory tooling, not a security boundary — anyone can run /phx:freeze off.
按 MIT 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。