指令與 Skills
兩者都是「把重複提示詞寫成檔案」,觸發方式不同:
- Command:你在 TUI 打
/名稱,立刻送出範本。 - Skill:出現在
skill工具清單裡,agent 判斷需要才載入全文,比較不占起始上下文。
自訂指令
專案指令放 .opencode/commands/,全域放 ~/.config/opencode/commands/。test.md 就對應 /test。也可寫在 opencode.json 的 command。
範本可用:
$ARGUMENTS或$1、$2:你打在指令後面的參數- 在範本裡寫
!加上 shell 指令(例如npm test):先跑指令,把輸出嵌進提示 @src/app.ts:帶入檔案內容
可指定 agent、model。設 subtask: true 會當 subagent 跑,避免污染主對話。自訂名稱若與內建相同,會蓋掉內建指令。
Skills
每個 skill 一個資料夾,裡面放 SKILL.md。OpenCode 會搜:
.opencode/skills/<name>/SKILL.md~/.config/opencode/skills/<name>/SKILL.md- 相容路徑:
.claude/skills/、.agents/skills/以及對應的家目錄
Front matter 一定要有 name 與 description。name 必須小寫、數字與單一連字號,且與資料夾名相同。
---
name: git-release
description: 依已合併的 PR 草擬版本號、changelog 與 gh release 指令
---
## 什麼時候用
準備打 tag、發 GitHub Release 時載入。版本規則不清楚就先問。
Agent 只先看到名稱與描述,呼叫 skill({ name: "git-release" }) 才讀全文。因此 description 要寫到「何時該用」,不要只寫「一個 git skill」。
權限在 opencode.json:
載入不到時檢查:檔名必須是 SKILL.md、front matter 欄位齊、名稱不重複、沒有被 deny。
怎麼選
| 你想要… | 用 |
|---|---|
| 自己一鍵觸發(跑測試、開 PR) | Command |
| 流程長、只在相關任務才需要 | Skill |
| 整個專案每次都要遵守 | AGENTS.md |
相關資料
推薦影音
Rules、Skills 與 MCP 實作
約 20 分鐘,示範規則層、Skills、MCP 怎麼一起用,以及用 Plan 把功能做完。適合看完本頁後對照實作。