本頁譯自英文文件。指令、識別名稱與範例保持原樣。執行環境 7.24.4 · SDK 2.6.7。 英文原文
技能/外掛目錄
狀態:現行 範圍:公開、現行狀態 上次審閱:2026-08-12 負責人:AX Code runtime
內建技能的可探索登錄,以及如何新增專案技能。
預設的 / 選單是控制平面(/plan、/review、/debug、/status、/model)。較舊的內建技能仍僅限代理程式(技能工具)。後端可靠性套件也列為斜線指令。
內建技能(隨 packages/ax-code/skills/ 發行)
| 技能 | 用途 | 斜線 |
|---|---|---|
debug-n-fix |
先除錯再修正,並加以驗證 | 使用 /debug |
debug-only |
不變更程式碼的調查 | 僅限代理程式 |
improve-overall |
廣泛的品質改進 | 僅限代理程式 |
improve-security |
以安全性為重點的改進 | 僅限代理程式 |
mcp |
MCP 設定指引 | 使用 /mcp |
run |
啟動並觀察應用程式 | 僅限代理程式 |
simplify |
收緊最近變更的程式碼 | 僅限代理程式 |
verify |
執行環境驗證報告 | 僅限代理程式 |
verified-change |
只在失敗訊號之後編輯,然後重跑同一項檢查 | /verified-change |
safe-db-migration |
擴充/回填/收縮結構描述變更,並附回滾說明 | /safe-db-migration |
api-contract |
以加法為先的公開 API/結構描述演進 | /api-contract |
incident-observability |
修補之前先以證據為先的事件診斷 | /incident-observability |
auth-boundaries |
身分驗證/授權、租戶隔離、負向測試 | /auth-boundaries |
queue-worker |
冪等的佇列/工作者變更與重複投遞 | /queue-worker |
ruby-on-rails |
不啟動 Rails 處理程序的 Rails 慣例 | 僅限代理程式 |
技能使用 SKILL.md,並帶有 YAML 前言(name、description、選用的 paths、allowed-tools)。
專案技能
技能可放在下列任一處:
.ax-code/skill/<name>/SKILL.md或.ax-code/skills/<name>/SKILL.md.agents/skills/<name>/SKILL.md(Agents/Codex 相容).claude/skills/<name>/SKILL.md(Claude Code 相容).opencode/skills/<name>/SKILL.md
列出並驗證:
ax-code # TUI skill dialog
# or use the skill tool from a session
叫用控制
AX Code 在探索技能時讀取這些選用控制:
| 位置 | 欄位 | 效果 |
|---|---|---|
SKILL.md 前言 |
disable-model-invocation: true |
保留明確的 /skill-name 指令,但把技能排除在模型探索與模型直接載入工具之外。 |
SKILL.md 前言 |
user-invocable: false |
從斜線指令中省略該技能;除非另外停用,模型叫用仍然可用。 |
同層的 agents/openai.yaml |
policy.allow_implicit_invocation: false |
要求明確的斜線叫用,包括經由 .agents/skills 匯入的技能。 |
請使用 YAML 布林值 true 與 false。缺少控制時保留預設。若多個來源不一致,較嚴格的宣告勝出。無效的控制型別或格式錯誤的側車原則會停用兩種叫用模式,並在技能清冊與執行環境日誌中產生叫用診斷。使用技能之前請修正中繼資料。選用側車必須小於 64 KiB;該處不支援 YAML 文件分隔符與別名。
這些控制管理技能叫用,獨立於既有的代理程式權限。以自然語言提到僅限手動的技能,並不授權模型載入它;請叫用它的斜線指令。宣告的 allowed-tools 仍是工作流程指示,不會授予權限。
有界限的探索
模型一開始收到的是技能摘要,不是完整指示。系統提示與工具描述中的每個技能中繼資料區塊有 8,000 個字元的預算。描述會先縮短,然後才省略項目;清單仍超過預算時,檔案相符的建議優先。省略通知會說明如何取得更多摘要。這是字元上限,不是 token 數,也不是效能保證。
skill 工具有兩種互斥模式:
{"name":"api-contract"}透過既有的權限檢查載入技能。{"query":"database"}搜尋符合資格的名稱與描述,而不載入技能本文。{"query":"","offset":20}使用前一個結果中確切的nextOffset繼續列出。
搜尋是字面且不區分大小寫。空白查詢會列出符合資格的技能。請跟隨 nextOffset,直到它不存在。僅限手動與權限被拒的技能會排除在模型探索之外。過大的個別中繼資料項目會略過並附通知。名稱與來源優先順序維持不變。
外掛
在 ax-code.json 中設定外掛:
{
"plugin": ["file:///absolute/path/to/plugin.js"]
}
外掛實作 @ax-code/plugin 鉤子(tool.execute.before、tool.execute.after、shell.env、驗證等)。
回呼存續期間
外掛工廠在輸入中收到選用的 lifecycle。執行個體被處置或外掛退役時,lifecycle.signal 會中止。請以 lifecycle.onDispose(cleanup) 登錄計時器、監看器與訂閱。回傳的函式會取消該清理的登錄。登錄最多執行一次;處置之後才登錄會立刻開始清理。清理回呼以登錄的相反順序開始,每個有一秒預算,並且可以並行完成。
轉換鉤子收到選用的第三個引數 { signal };設定與事件鉤子把它當作第二個引數。這個訊號會在回呼尚待完成時取消工作;對於超出單次回呼、由外掛擁有的工作,請使用 lifecycle.signal。把訊號傳給可中止的操作。初始化、設定、事件與轉換回呼有 15 秒期限。逾時會讓該執行個體的外掛退役,並中止其存續期間。既有工廠與兩個引數的轉換鉤子仍可運作。自訂工具執行與互動式驗證保留既有的執行契約。
轉換輸入是純資料的唯讀觀察。請變更輸出草稿,並在回傳前等待所有變更。成功的輸出變更依登錄順序變得可見;失敗或過晚的變更會被捨棄。事件承載的變更從不發布。權限拒絕仍然是拒絕,失敗或已退役的權限鉤子必須詢問,除非拒絕已經存在。
陣列與純物件會從執行環境狀態分離。結構描述、函式與類別執行個體保留身分,必須視為唯讀。外掛仍是在執行環境處理程序中執行的受信任 JavaScript:取消是合作式的,不能停止同步的無限迴圈,也不能復原外部效果。
鉤子套件
請見鉤子,了解五個官方生命週期套件(format-after-edit、block-force-push、require-tests-on-stop、protect-env-files、log-bash-commands)。
評估管控
執行代理式執行環境閘門套件與多模式集成原則套件:
cd packages/ax-code
pnpm exec vitest run test/harness/agentic-runtime-eval.test.ts
pnpm exec vitest run test/harness/multi-mode-ensemble-eval.test.ts
另見執行模式,了解本機/雲端/混合/council/arena。