啟用 Skill
Gemini CLI 啟用 Agent Skill 的方式、技能發現、reload、enable/disable 和驗證是否真正生效。
📖 本篇術語速查表
| 英文 / 縮寫 | 中文 | 一句話解釋 |
|---|---|---|
| 啟用 Skill | activate | 讓 Skill 在會話裡生效。 |
| 自動 vs 手動 | auto/manual | 自動載入還是顯式呼叫。 |
| 除錯 | debug | Skill 沒觸發時怎麼查。 |
不想讀完?把下面這段提示詞丟給 AI 幫你跑完——幫你搞清 Gemini CLI 的 Skill 怎麼啟用、沒觸發時怎麼排查。
你是 Gemini CLI Skill 啟用顧問。
【角色】
Gemini CLI Skill 啟用顧問,按最小夠用、安全優先的原則給可落地方案,每條結論都落到能照做的步驟或示例,不停留在空泛建議。
【輸入】
- 我的 Skill 是否能正常觸發:___
- 期望自動還是手動啟用:___
- 沒觸發時的現象:___
- Skill 的描述寫法:___
- 經驗水平:___
【工作流程】
1. 說明啟用機制(自動 / 手動)
2. 確認 Skill 描述是否利於觸發
3. 排查沒觸發的原因
4. 給手動呼叫方式
5. 給驗證
【輸出規範】
▌一、啟用機制
▌二、描述與觸發匹配
▌三、沒觸發的排查
▌四、手動呼叫 + 驗證
【硬約束】
- 描述準確才能被準確觸發
- 除錯一次只改一個變數
- 不確定的機制查官方文件
- 不要替我臆測情況或編造不存在的能力,資訊不全先問清
- 不確定的設定或介面一律以官方文件為準,禁止照搬過時寫法安裝 Skill 不等於它已經在目前任務中正確生效。你需要確認發現、啟用和 reload 狀態。
看得到 Skill 不等於本次會話已經用了 Skill。真正的證據是觸發了啟用確認,並且輸出遵守 SKILL.md 的流程。
activate_skill 是 Gemini agent 內部呼叫的工具,使用者不能手動執行。它只有一個引數:要啟用的 Skill name。當模型判斷任務匹配某個已發現 Skill 時,會請求啟用;你確認後,Gemini CLI 才會把 Skill 正文和資源目錄加入會話。
常用命令
gemini skills list
gemini skills enable <name>
gemini skills disable <name>互動式會話裡:
/skills reload官方還區分互動命令和終端命令:互動裡可以 /skills list [all] [nodesc]、/skills link <path>、/skills enable、/skills disable、/skills reload;終端裡可以 gemini skills list --all、gemini skills install <path>、gemini skills uninstall <name>。教學要寫清目前命令是在會話裡輸入,還是在 shell 裡執行。
啟用前後發生什麼
啟用前,模型只知道 Skill 的名稱和描述。啟用後,模型會得到:
SKILL.md正文。- Skill 目錄結構。
- 讀取 Skill 目錄內
scripts/、references/、assets/的許可權。 - Skill 中宣告的流程、約束和資源使用方式。
所以“看得到 Skill”只代表發現成功,不代表它已經影響目前回答。真正生效的證據是:本次任務觸發了啟用確認,並且回答遵守 Skill 的流程。
啟用會有 consent 流程,使用者會看到 skill 名稱、用途和目錄訪問範圍。確認後,Gemini CLI 才把正文和資源注入會話。第三方 Skill 的風險也在這裡:一旦確認,模型就能讀取該 Skill 目錄裡的指令碼、參考資料和資源。
驗證方式
skills list能看到。- 狀態是 enabled。
- 目前任務確實觸發了對應 skill。
- 輸出符合 skill 的輸入輸出契約。
- Skill 內指令碼或參考資料按預期被讀取。
排錯
| 現象 | 檢查 |
|---|---|
| list 看不到 | 安裝路徑或 link 路徑 |
| 看得到但不觸發 | 觸發描述是否太模糊 |
| 觸發後輸出亂 | skill 說明是否缺輸入輸出 |
| 和專案規則衝突 | 對齊 GEMINI.md 和 skill 邊界 |
| 驗證層級 | 透過標準 |
|---|---|
| 發現 | /skills list 能看到正確 scope |
| 啟用 | 狀態是 enabled,reload 後仍存在 |
| 觸發 | 明確任務會彈出啟用確認 |
| 生效 | 回答遵守 Skill 流程和輸出格式 |
| 資源 | 需要時能讀取 scripts / references / assets |
觸發除錯方法
先寫一個非常明確的測試 prompt,例如“請使用 code-reviewer skill 審查目前 staged diff”。如果這樣能觸發,說明安裝和 reload 沒問題,後續再最佳化 description 讓自然語言請求也能命中。如果明確點名仍不觸發,先檢查 scope、停用狀態和路徑。
不要透過把大段觸發詞堆進 SKILL.md 正文來解決觸發問題。模型啟用前看不到正文,觸發質量主要由 description 決定。
啟用成功後還要看輸出是否真的改變:有沒有使用 Skill 的固定步驟、是否讀取了需要的參考資料、是否按約定格式收尾。只看到“我會使用這個 Skill”這句話,不算驗收透過。
如果只是想強制使用某個流程,最穩的方法不是堆觸發詞,而是直接點名任務和 Skill 名稱,然後觀察是否出現啟用確認。沒有確認就沒有真正載入;有確認但輸出不按流程走,問題在 SKILL.md 本身。
接下來去哪
Subagents
Skill 是給目前 agent 加能力;複雜委託繼續看 subagents。
Agent Skills
回看 Skill 生命週期、發現層級和管理命令。
Skills 最佳實踐
觸發不穩定時,優先改 description 和邊界。