前言¶
Matt Pocock 的 agent skills 是智能體開發中的常用參考集。將這套 35 個技能(上游版本 1.2.3)集成到 DeepSeek Harness (DSH) 中,需要解決一個核心問題:上游技能是爲 Claude Code 設計的,其命令機制與 DSH 不同。
DSH 中 /name 是用戶命令,模型無法直接執行;DSH 中某些限制(如 disable-model-invocation)會導致模型加載失敗。該插件通過一個適配層,將上游技能轉換爲 DSH 可識別的格式,並提供了一套運行指南。
核心功能¶
該插件將上游技能打包爲自包含的 DSH 插件,主要包含以下組件:
- 技能本體:35 個上游技能,逐字節保留在
skills/目錄中。 - 適配層:58 條手寫規則用於語義轉換,29 條機械斜槓規範化用於語法修正。適配層在加載時校驗,確保邏輯一致性。
- 只讀 Provider:通過
ctx.skills註冊,作爲單一插件行管理技能,避免技能文件散落在用戶目錄。 - 運行指南:提供一個模型可調用的
dsh-workflow技能,說明技能在 DSH 中的調用邏輯、權限歸屬及流程交接。
安裝與啓用¶
從 GitHub 克隆倉庫後,使用 link: 方式安裝以支持實時更新。安裝後需將插件加入 dsh.profile.bundles 並重啓宿主。
git clone https://github.com/NmouZh/dsh-mattpocock-skills.git ~/dsh-mattpocock-skills
cd /root/.dsh/profiles/web
pnpm add "dsh-mattpocock-skills@link:$HOME/dsh-mattpocock-skills"
修改 package.json,在 dsh.profile.bundles 中添加該插件名稱,並重啓 DSH 宿主。
配置與使用¶
在 profile 的 cordis.patch.yml 中按 id: mattpocock-skills 進行配置。
基礎配置¶
- id: mattpocock-skills
config:
enabled: true
rank: 450
enabled:控制整個插件是否生效。rank:同名技能去重優先級,數值越小越優先。
提升模型權限¶
默認情況下,20 個技能僅限用戶發起。若需讓模型加載這些技能(例如 implement),需在 promote 列表中聲明:
- id: mattpocock-skills
config:
promote: [implement, to-spec]
注意:提升技能會將其描述詞加入模型每次請求的技能目錄,佔用提示詞預算。
適配層說明¶
上游技能與 DSH 的差異通過 overlay/patches.json 處理:
- 命令映射:將模型可執行的“加載技能”轉換爲 DSH 的
skill工具調用。 - 錯誤處理:將
disable-model-invocation: true的技能標記爲不可調用,避免模型報錯。 - 指令修正:移除 DSH 不支持的命令(如
/clear),替換爲會話新建;修正git-guardrails的 hooks 位置。
維護與升級¶
維護適配層涉及兩套腳本:
vendor/gen-slash-rules.mjs:根據手寫規則自動生成機械斜槓規範化規則。vendor/overlay-report.mjs:校驗適配規則是否命中預期次數及錨點是否存在。
升級上游技能後,運行 vendor/vendor-skills.mjs --check 檢查文件完整性及適配層是否仍能應用。
診斷與自檢¶
插件提供診斷接口和日誌摘要:
node /root/dsh-mattpocock-skills/dsh-mattpocock-skills/test/bundle.test.js
node vendor/vendor-skills.mjs --check
宿主日誌會輸出註冊摘要,例如:
mattpocock-skills: 36 skill(s) from …/skills (packaged) + 1 from the DSH overlay; 16 model-invocable, 20 user-invocable only, 16 adapted by 49 rule(s)
適用場景與注意¶
該插件適合希望在 DSH 中使用 Matt Pocock 標準技能集的開發者。使用前需滿足 Node.js 環境要求(^22.19.0 || >=24.0.0)。
- 權限注意:插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證。
- 配置生效:修改
dsh.profile.bundles必須重啓宿主;修改cordis.patch.yml支持熱重載。
總結¶
該插件解決了上游技能與 DSH 機制不兼容的問題,通過精細的適配層和明確的權限劃分,讓模型開發者能安全地複用成熟的技能集。完整文檔與源碼可訪問 GitHub。