M

git-guardrails-claude-code

作者 mattpocock

git-guardrails-claude-code 會加入一個 PreToolUse hook,在 Claude Code 執行前先攔截危險的 git 指令。安裝後可防止破壞性 push、hard reset、強制清理與刪除分支,並可針對單一專案或所有專案做範圍控管。當你需要在 Claude Code 的 Access Control 邊界上使用 git-guardrails-claude-code 時特別有用。

Stars66k
收藏0
評論0
加入時間2026年5月8日
分類存取控制
安裝指令
npx skills add mattpocock/skills --skill git-guardrails-claude-code
編輯評分

這個技能評分 78/100,屬於 Agent Skills Finder 中相當值得收錄的項目:它為 directory 使用者提供了一套具體可行的安全流程,用來在 Claude Code 中阻擋具破壞性的 git 指令,且具備足夠的實作細節,能直接安裝與使用,不必從零開始。它確實實用,但使用者在採用前仍應確認範圍設定與環境相容性。

78/100
亮點
  • 觸發條件與目的明確:在 Claude Code 中阻擋危險的 git 指令,包括 push、reset --hard、clean -f 與 branch -D。
  • 操作性高:提供逐步設定流程,並附上可直接使用的 hook 腳本 `scripts/block-dangerous-git.sh`。
  • 對 agent 很友善:使用 PreToolUse hook,並示範專案或全域安裝時所需的 `settings.json` 範例。
注意事項
  • 部分設定預設使用者熟悉 shell 與工具鏈:需要複製腳本、執行 `chmod +x`,並正確編輯 Claude 設定。
  • 文件節錄對攔截行為說明充分,但對邊界情境與驗證步驟著墨較少,因此實際導入可能需要一些試誤。
總覽

git-guardrails-claude-code 技能概覽

git-guardrails-claude-code 的用途

git-guardrails-claude-code 技能會為 Claude Code 加上 hooks,在危險的 git 指令執行前先擋下來。它是給團隊或個人使用者的強制防線,而不只是口頭提醒,特別適合阻止像 git push --forcegit reset --hardgit clean -fgit branch -D 這類破壞性操作。

適合安裝這個 git-guardrails-claude-code 技能的人

如果你在的 repositories 裡,真的有機會發生誤刪資料、誤推送,或是把本機歷史強制改寫的風險,就很適合安裝這個 git-guardrails-claude-code 技能。當你希望 Claude Code 在更安全的 Access Control 邊界內運作,而且這些邊界需要穩定、一致地被執行時,它特別有用。

這個技能的差異在哪裡

和只靠 prompt 提醒注意安全不同,這個技能會安裝一個 PreToolUse hook,直接在指令執行前攔下它。也就是說,這道防線是實際生效的,不只是建議性提醒。主要取捨是:它只會保護它有匹配到的指令,所以它比較適合明確、已知有風險的 git 操作,而不是拿來做通用的政策管控。

如何使用 git-guardrails-claude-code 技能

安裝 git-guardrails-claude-code 技能並選擇適用範圍

安裝指令如下:
npx skills add mattpocock/skills --skill git-guardrails-claude-code

第一個要決定的是範圍:只裝在目前專案,還是套用到所有專案。如果你想先在單一 repo 測試這個 hook,專案範圍會更安全;如果你的工作流程就是要在所有 Claude Code 情境下都擋掉這些指令,那全域範圍更合適。

先看對的檔案

先從 SKILL.md 開始,了解整個設定流程,再看 scripts/block-dangerous-git.sh,因為真正的強制邏輯在那裡。如果你要調整行為,script 比說明文字更重要。對實務上的 git-guardrails-claude-code 使用者來說,這是最快的閱讀路徑。

怎麼提出一個好的需求

這個技能最有效的用法,是把適用範圍和你認定危險的操作講清楚。好的需求像是:「把 git-guardrails-claude-code 裝到目前專案,只阻擋 push、reset --hard、clean -fd 和 branch -D。」像「讓 git 更安全」這種說法就太模糊,範圍和政策都不夠清楚,沒辦法順利安裝。

驗證並自訂 hook

把 hook 複製到 .claude/hooks/block-dangerous-git.sh~/.claude/hooks/block-dangerous-git.sh 之後,記得讓它可執行,並在對應的 settings.json 裡註冊。接著在安全的 repo 裡測試一個會被擋下來的指令,確認 Claude 真的會收到拒絕訊息。如果你的團隊還會用到其他高風險指令,應該直接擴充 script 裡的 pattern 清單,不要只靠 prompt 文字。

git-guardrails-claude-code 技能 FAQ

這可以取代 git 權限嗎?

不行。git-guardrails-claude-code 是本機端的 Claude Code 防線,不是伺服器端的 Access Control 系統。它可以阻止 Claude 執行符合條件的指令,但不能取代 branch protection、repo permissions、review 規則或遠端政策。

什麼情況下不適合用?

如果你需要不受限制的 git 自動化,或你的工作流程本來就依賴像 git clean -fdgit branch -D 這類合法指令,就不建議使用。這些情況下,太廣的封鎖反而會增加摩擦,可能更適合改成較窄的規則集。

這對初學者友善嗎?

算是友善,只要你能照著簡單的安裝步驟做,並編輯 JSON 就行。概念本身不複雜,但要得到好的效果,重點是先清楚知道哪些指令要擋、hook 要放在哪裡。初學者通常最容易卡在範圍選擇,而不是 hook 本身。

只靠一般的 prompt engineering 能達到一樣效果嗎?

不能。你可以透過 prompting 要 Claude 謹慎一點,但沒辦法可靠地強制封鎖指令。當你需要在模型原本可能會照做的情況下,仍然確實阻止某個指令執行時,git-guardrails-claude-code 技能就很有價值。

如何改進 git-guardrails-claude-code 技能

收緊被封鎖的指令清單

品質提升最大的地方,是讓規則更貼近你實際的風險樣貌。先檢查團隊到底只需要擋 git pushgit reset --hard,還是也應該把 git clean -fgit checkout .git restore . 一起擋掉。輸入條件越精準,誤判就越少,漏網也越少。

範圍要有意識地選

如果是試驗、共享 repo 的導入流程,或是敏感 codebase 的一次性保護,請用專案範圍。如果你很確定同一套政策應該一路跟著你走,再考慮全域範圍。這是影響 git-guardrails-claude-code 安裝成功率的主要決策。

測試失敗情境

安裝完成後,實際試一個應該被擋下來的指令,確認拒絕訊息清楚而且立即。若 hook 太寬鬆,就把 pattern 清單收緊;若擋太多,就縮小 patterns,或把專案專屬規則和個人規則分開。第一次執行應該當成驗證,不是最終定稿。

評分與評論

尚無評分
分享你的評論
登入後即可為這項技能評分並留言。
G
0/10000
最新評論
儲存中...