前言¶
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。