跳到正文
cccskills
免费在 GitHub 公开

freeze

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.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md2.8 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

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.

InvocationEffect
/phx:freezeFreeze ALL edits — read-only investigation mode
/phx:freeze lib/app_web priv/repoAllow edits only under these dirs
/phx:freeze statusShow current lock state
/phx:freeze offLift 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 line — lib/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.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

analyze

免费

Analyze a legacy app in any language before rewriting it in Elixir: inventory, features as goals, why each mechanism exists, runtime topology, external contracts. Use to start or refresh a rewrite.

中文简介正在准备中。当前显示原文说明。

oliver-kriska/claude-elixir-phoenix5692026年10月20日 更新

architect

免费

Design the idiomatic Elixir architecture for a rewrite: set the compatibility bar (ADR-000), consult phx specialists on open questions, then build contexts, ledger and ADRs. Use after /rewrite:analyze.

中文简介正在准备中。当前显示原文说明。

oliver-kriska/claude-elixir-phoenix5692026年10月20日 更新

Ash Framework — resources, actions, policies, aggregates; Use when generating resources via mix ash.codegen, editing…

中文简介正在准备中。当前显示原文说明。

oliver-kriska/claude-elixir-phoenix5692026年10月20日 更新

Ash Framework — resources, actions, policies, aggregates, calculations, AshPhoenix.Form, LiveView, migrations. Use when generating resources via mix ash.codegen, editing changes, checks, types, validations, or domain code interfaces.

中文简介正在准备中。当前显示原文说明。

oliver-kriska/claude-elixir-phoenix5692026年10月20日 更新

assigns

免费

Compatibility alias for the Elixir/Phoenix plugin's LiveView assigns audit. Invoke explicitly with /lv:assigns.

中文简介正在准备中。当前显示原文说明。

oliver-kriska/claude-elixir-phoenix5692026年10月20日 更新

Inspect LiveView socket assigns for memory bloat — missing temporary_assigns, unused assigns, unbounded lists needing streams, memory estimates. Use when LiveView memory grows or you need to add temporary_assigns.

中文简介正在准备中。当前显示原文说明。

oliver-kriska/claude-elixir-phoenix5692026年10月20日 更新

查看 oliver-kriska 的全部技能

报告此技能的问题