guard
作者 garrytanguard 是 Workflow Automation 的完整安全模式,結合了危險指令警告與以目錄為範圍的編輯限制。當你在接近 production 或 live data 的環境工作時,可使用 guard 技能來防範誤操作、鎖定編輯,並阻擋像 `rm -rf` 或 force-push 這類高風險命令。
這個技能評分為 68/100,代表值得列入但需附帶說明:它確實提供可觸發的安全工作流程,不過使用者應了解它依賴其他 sibling skills,且缺乏更完整的導入支援。對目錄使用者來說,如果想要針對危險命令與以目錄為範圍的編輯套上強制防護,這是一個實用的安裝候選。
- 對安全相關需求的觸發範圍清楚:"full safety mode"、"guard against mistakes"、"maximum safety"。
- 作業行為具體:hooks 會檢查 Bash 中的危險命令,並以 freeze-boundary 檢查來管制 Edit/Write 動作。
- 安全用途明確:同時提供「先警告再避免破壞」與「以目錄為範圍的編輯」,比單純的提示詞更能讓 agents 發揮作用。
- 相依風險:這個技能明確引用 sibling /careful 與 /freeze 目錄,因此並非獨立可用。
- 導入說明不足:沒有 support files、install command 或額外參考資料,讓使用者難以快速驗證是否設定正確。
guard 技能概覽
guard 的作用
guard 技能是 Workflow Automation 的完整安全模式:它把破壞性指令警示和以目錄範圍為基礎的編輯限制結合在一起。實務上,它能幫助 agent 在執行像 rm -rf、強制推送,或在允許資料夾以外做未預期寫入這類高風險動作前先停下來。
適合誰安裝
如果你經常接觸正式環境、實際資料,或邊界很明確的程式碼區域,而且希望 agent 預設採取保守行為,就應該安裝 guard。當你想要的是能支援「guard mode」、「maximum safety」或「鎖定」這類行為的技能,而不是只靠一段通用提示詞時,它特別有用。
為什麼它特別
guard 不只是提醒你小心而已。它透過 hooks 在工具使用當下強制執行安全檢查,因此限制是實際生效的操作規則,而不只是對話中的口頭約束。當你需要的是可重複套用的 Workflow Automation 防護機制,而不是一次性的警告時,它會更適合。
如何使用 guard 技能
安裝與相依性檢查
先依照父層堆疊的 guard 安裝流程安裝,接著確認支援技能都已存在。guard 依賴同層的 /careful 和 /freeze 技能目錄,因為它的 hooks 會呼叫這兩個地方的腳本。若少了它們,安全檢查就無法如預期運作。
給 agent 一個有明確邊界的任務
最好的 guard 用法,會從清楚的範圍開始,例如:「只在 services/api/ 內更新 deployment script,任何破壞性指令前都先提醒我。」把目錄邊界、變更類型,以及你希望的謹慎程度都寫清楚,才能讓技能有足夠上下文去套用正確限制。
先讀這些檔案
先從 SKILL.md 和 SKILL.md.tmpl 開始。前者說明實際啟用時的行為;後者則能幫助你理解產生出來的技能是怎麼組成的。因為這個 repo 在 guard 資料夾裡沒有額外規則、參考資料或 helper scripts,這兩個檔案就是最主要的真實來源。
有效的提示詞模式
好的請求會同時明確描述動作與安全條件。例如:「在 Workflow Automation 中使用 guard,只編輯 infra/prod/,任何破壞性的 Bash command 都先警告我,而且如果某一步會寫到該資料夾外就立刻停止。」這比單純說「小心一點」有效得多,因為它明確定義了邊界與預期行為。
guard 技能 FAQ
guard 只適合進階使用者嗎?
不一定,但當出錯代價很高時,它最有價值。初學者也可以把它當作安全外層,特別是在不確定某個 command 或編輯是否有風險時。
guard 和一般 prompt 有什麼不同?
一般 prompt 可以要求謹慎,但 guard 會透過 hooks 加上強制檢查。當你要的是 agent 真正擋下不安全動作,而不只是口頭說明會小心時,這一點就很重要。
什麼情況下不該使用 guard?
如果你需要跨很多資料夾進行大範圍、探索式編輯,或者任務本來就是破壞性操作,而且已經先審核過,就不適合用 guard。以目錄為範圍的行為會拖慢那些不需要嚴格邊界的工作。
使用時我應該期待什麼?
你應該會在破壞性指令前看到警示,並在對允許目錄以外的編輯或寫入前看到檢查。如果任務超出已設定的邊界,workflow 應該先停下來,而不是直接繼續執行。
如何改進 guard 技能
在執行前先收緊範圍
最能提升品質的做法,是直接指定你要的精確目錄、檔案和結果。像「只修正 apps/web/src/ 裡的 auth migration」會比「讓 app 更安全」有更好的結果,因為技能可以據此強制正確的 freeze 邊界。
把安全變更和高風險變更分開
如果你的 workflow 同時包含例行編輯和危險操作,就請 agent 分階段處理。例如,先要求只讀檢查與規劃,再核准最小寫入範圍,最後才在確認之後處理任何破壞性動作。這樣也更容易驗證 guard 技能的行為。
注意邊界不一致的情況
最常見的失敗模式,是任務描述太寬,和 freeze 範圍互相衝突。如果 agent 一直停下來,就把目標路徑縮小,或重寫請求,讓預期要處理的檔案明確落在受保護區域內。
用明確的 guardrails 反覆調整
第一次執行後,再把你想保護的精確 commands、資料夾或失敗條件補進提示詞。好的 guard 用法本來就是迭代式的:你的限制與核准規則越具體,技能需要猜測的部分就越少,automation 也會越穩定。
