Matt Pocock 完整发布技能集(25 个 SKILL.md)的 DSH 移植。
安装
# npm 包(预构建)
dsh plugin --profile web add mattpocock-skills-dsh
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:gongyijie85/mattpocock-skills-dsh
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
English | 简体中文
为 DeepSeek Harness (DSH) 打造的 Matt Pocock 技能插件包:把 mattpocock/skills(来自 aihero.dev/skills 的"真实工程师"技能集) 移植到 DSH 的 Cordis 插件架构上。
插件会向 ctx.skills 注册表的 host 层 注册一个技能提供者,因此每个
agent preset 的作用域链都会合并这些技能。技能正文随包分发
(skills/<name>/SKILL.md),通过 import.meta.url 定位——这是包的
组装事实,不需要任何用户配置。
非官方移植:技能内容改编自 mattpocock/skills(MIT, © Matt Pocock)。上游以 Claude Code 插件格式发布;本包做的是 DSH 适配。
快速上手:七课工作流(中英对照)
出自 Matt Pocock 的 skills 邮件——整包技能的正确打开方式,就是按下面 这条工作流从头跑到尾。
Sandcastle为外部工具,不在本包内。
Prompts are disposable. Workflows are reusable. That is the whole difference, and these seven lessons are one workflow in the order you would actually run it:
提示词用过即弃,工作流可以复用——全部区别就在于此。而这七课,合起来 就是一条按真实执行顺序运行的工作流:
| Step | 原文 | 对照中文 |
|---|---|---|
| 0 | This email. Pick your path. | 这封邮件就是起点:选一条路。 |
| 1 | /grill-with-docs , so the agent is not building from fog |
先把想法拷问清楚,agent 才不会在迷雾中开工 |
| 2 | /prototype and /handoff , to test the uncertain part in a toy version |
用玩具原型验证不确定的部分,并留好交接 |
| 3 | /to-spec and /to-tickets , to break big work into reviewable slices |
把大工作拆成可评审的切片 |
| 4 | Sandcastle , to run AFK agents somewhere safe |
在安全的地方跑挂机(AFK)agent(外部工具,不在本包) |
| 5 | /code-review , so each run teaches the next one |
每一次评审,都让下一次运行变得更好 |
| 6 | The full loop, start to finish | 从起点到终点,跑完整条循环 |
在 DeepSeek Harness 中安装与使用
这是 DeepSeek Harness 的插件包。安装后会把技能注册进 host 技能注册表,
你 profile 里的每个 agent 会话都能在技能目录中看到它们,并可用 skill
工具加载。
前置条件
已安装 DeepSeek Harness,并且有 pnpm ——
dsh plugin命令内部调用 pnpm(用pnpm --version检查;没有的话到 https://pnpm.io 安装)dsh命令行。它随 Harness 一起提供,通常以npx @deepseek-ai/dsh web方式启动。要么把它装成全局命令,要么在所有命令前加npx:# 方式一:全局安装 dsh,永久可用(推荐) npm install -g @deepseek-ai/dsh dsh --version # 方式二:不安装,所有命令用 npx 形式 npx @deepseek-ai/dsh --version下文所有
dsh ...示例都可以等价写成npx @deepseek-ai/dsh ...。
最简单:一条命令(从 GitHub 安装)
npx @deepseek-ai/dsh plugin --profile web add github:gongyijie85/mattpocock-skills-dsh
从本地文件夹安装(开发阶段)
# 任意目录下执行;文件夹安装是链接方式,改完重启 profile 即生效
dsh plugin --profile web add D:\plugins\mattpocock-skills-dsh
让 DeepSeek Harness 帮你安装
打开 DeepSeek Harness(Web 界面),新建对话,把下面这句话发给它:
帮我安装这个链接里边的插件:https://github.com/gongyijie85/mattpocock-skills-dsh
Agent 会自动完成安装(dsh plugin add → 重启 profile → 验证技能注册)。
重启并验证
bundle 层在 profile 启动时挂载,所以需要重启 profile(停掉后重新运行
dsh web / npx @deepseek-ai/dsh web,再刷新浏览器)。确认层已组合:
dsh --profile web --dump-config # 必须出现 `mattpocock-skills-dsh` 行
之后技能会出现在 agent 技能目录中,可以用 skill 工具加载。
卸载
dsh plugin --profile web remove mattpocock-skills-dsh
# 卸载后同样需要重启 profile
技能列表(全量 25 个 = 上游 promoted 集)
productivity(7)
| 技能 | 用途(官方描述对照翻译,见 aihero.dev/skills) | 调用方式 |
|---|---|---|
| grill-me | 把一个模糊的想法拷问成你能承诺的东西——以"轮"提问,每轮只问前置条件已定的完整前沿(frontier) | 用户调用(指向 grilling) |
| grilling | 在任何人行动之前压力测试计划/决策/想法的面试循环:把主题映射成设计树,逐支问到底,直到没有默认假设残留 | 模型/用户调用 |
| handoff | 把当前对话压缩成交接文档——写到系统临时目录(而非工作区)的单个 Markdown 文件,新 agent 读它即可接手 | 用户调用 |
| teach | 把所在目录变成常驻教学空间,跨多个会话用短小的自包含 HTML 课程教一个主题 | 用户调用 |
| to-questionnaire | 把一个人定不了的决策变成问卷——交给掌握缺失信息的人异步填,或开会一起过 | 用户调用 |
| wait-what | 消息没接住时输入它:agent 重讲一遍刚才的话,补上缺失的上下文、用平实的英语、采用项目 CONTEXT.md 的词汇 |
用户调用 |
| writing-for-agents | 写 agent 消费文档的参考(skill、AGENTS.md/CLAUDE.md、spec、运行时提示词、README):包装不同,写法相同 |
模型/用户调用 |
engineering(18)
| 技能 | 用途(官方描述对照翻译,见 aihero.dev/skills) | 调用方式 |
|---|---|---|
| ask-matt | 全仓库技能的路由器:描述你的处境,它给出匹配的技能或技能序列,以及其中人类决策的位置 | 用户调用 |
| code-review | 按两个轴评审 HEAD 与指定基点的 diff:Standards(是否符合本仓库写法)+ Spec(是否实现了源头 issue/spec),两轴各由独立子代理运行 |
模型/用户调用 |
| codebase-design | 固定模块设计词汇:module、interface、depth、seam、adapter、leverage、locality,逐一精确定义并禁用松散替身词 | 模型/用户调用 |
| diagnosing-bugs | 对硬 bug 或性能回归跑六阶段诊断:复现→最小化→假设排序→插桩→带回归测试修复→清理 | 模型/用户调用 |
| domain-modeling | 设计过程中构建并打磨项目的通用语言:挑战与词汇表冲突的术语、逼出精确词、用具体场景压力测试关系 | 模型/用户调用 |
| grill-with-docs | 拷问计划/设计直到共享理解,同时把词汇与硬决策写进仓库(ADR + 词汇表);与 grill-me 同款面试,面向代码库 | 用户调用 |
| implement | 构建已决策的工作:指向 ticket/spec/刚谈定的计划,写代码、在接缝处驱动 tdd、边写边类型检查、末尾跑 code-review 并提交 | 用户调用 |
| improve-codebase-architecture | 扫描代码库找加深机会(浅模块→深模块),写成自包含 HTML 报告,然后拷问你选中的那个 | 用户调用 |
| prototype | 写一次性代码回答问题——状态模型对不对、界面该长什么样;问题先行,答错问题就是纯浪费 | 模型/用户调用 |
| research | 只从一手资料(官方文档/源码/spec/官方 API)读答案,在仓库留下带引用的 Markdown;每条结论追到拥有它的源头 | 模型/用户调用 |
| resolving-merge-conflicts | 逐块解决进行中的 git merge/rebase 冲突,跑项目自己的检查,提交收尾 | 模型/用户调用 |
| setup-matt-pocock-skills | 回答一个仓库的三个问题(issue 放哪、triage 标签叫什么、领域文档在哪),以 docs/agents/ 下的 markdown 记录 |
用户调用 |
| tdd | 测试先行构建功能/修 bug:一个失败测试→刚好能过的代码→下一个行为;并携带让测试套件值得保留的标准 | 模型/用户调用 |
| to-spec | 把刚谈完的对话变成 spec,作为单个 issue 发布到 issue tracker | 用户调用 |
| to-tickets | 把计划/spec/对话拆成一组 ticket,每个声明阻塞边(必须先行完成的其它 ticket) | 用户调用 |
| triage | 把 tracker 上的 issue 逐个走完 triage 角色状态机,留下 agent-ready 简报、给报告人的具体问题、或带原因关闭的 issue | 用户调用 |
| wayfinder | 把超过一个 agent 会话的大工程画成 issue tracker 上的决策票据地图,逐条解决直到路清晰 | 用户调用 |
| wizard | 生成交互式 bash 脚本,一步步带人走手动流程(接三方服务/一次性迁移):打开 URL、说清点哪复制什么、捕获结果写入 .env 与 GitHub secrets |
模型/用户调用 |
说明:
/clear、/compact是上游引用的 Claude Code 原生命令,非本包技能; DSH 中对应"开新会话"与"手动摘要续接",详见skills/ask-matt/PHASE-BOUNDARIES.md的移植注记。
移植说明(对比上游 mattpocock/skills)
- 格式:上游即标准
SKILL.md(YAML frontmatter:name+description,可选whenToUse),DSH 可直接消费,正文基本零改动。 - 调用语义:上游
disable-model-invocation: true(仅用户可调,如grill-me、wait-what)映射为 DSH 的invocation.modelInvocable: false, 保留原意图;其余技能模型/用户均可调用。 - 工具名适配:
grill-me原文 "Call the Skill tool with 'grilling'" 的 Claude Code 工具名改为 DSH 的skill工具;grilling中的"dispatch a sub-agent"对应 DSH 的subagent工具,原文措辞通用,未改动。 - 未移植的辅助文件:各技能目录下的
agents/openai.yaml是 Codex 的 调用策略,DSH 不需要,已剔除;writing-for-agents的相对引用SKILL-MECHANICS.md随包保留,由resourceBase解析。 - 相对引用:技能目录内相对文件(如
SKILL-MECHANICS.md)通过resourceBase指向技能所在目录,可正常加载。
工作原理
- Bundle 层 ——
cordis.patch.yml在 dsh-base 层之上插入一行 (- id: mattpocock-skills-dsh, name: mattpocock-skills-dsh)。后面的层 (profile 的cordis.patch.yml、--patch叠加)仍可按 id 定位这一行。 - 提供者 ——
lib/index.js调用ctx.skills.registerProvider(...):list()扫描包内skills/目录,把每个<name>/SKILL.md作为候选, 从 YAML frontmatter 解析出name、description、whenToUse与disable-model-invocation。get()按需读取候选技能正文,返回完整技能定义,resourceBase指向 技能所在目录,使相对引用可以正确解析。
- 零运行时依赖 —— 插件只使用 Node 内置模块,消费注入的
ctx.skills服务接口。
添加自己的技能
往包里放一个新的 skills/<kebab-name>/SKILL.md 即可——它必须以 YAML
frontmatter 开头(name + description,可选 whenToUse 与
disable-model-invocation)。无需改任何代码:list() 会自动发现它。
许可证
MIT。技能内容改编自 mattpocock/skills(MIT),© Matt Pocock;DSH 移植部分 © mattpocock-skills-dsh contributors。见 LICENSE。
链接
同类插件
GanyuanRan/Aegis★ 1023
面向编码 Agent 的软件工程方法包,提供基线优先规划、系统化调试、提示词卫生、完成前验证,以及修复/退役双轨跟踪技能。
superdesigndev/superdesign-skill★ 417
在 Superdesign 画布上做 UI 与营销图的设计技能:先读代码库拿上下文、抽取现有设计系统,再通过 Superdesign CLI 生成并迭代可分支的设计稿、流程页与可复用组件。
Ikalus1988/MisakaNet★ 389
失败恢复记忆库:从真实工程会话中搜索和记录失败恢复教训,支持 BM25 + 语义 RAG 检索和知识库管理。
Vladimir-Human/humanizer-ru#dsh★ 100
清理俄语文本中的 AI 痕迹:识别聊天机器人复制粘贴残留(ChatGPT、Gemini、Grok、Perplexity、DeepSeek),并按需改写为自然行文;39 个正则标记配证据登记表,离线运行,纯文本 bundle。
dhicoc/dsh-reverse-skill★ 18
完整 reverse-skill(85 个 SKILL.md)的 DeepSeek Harness 插件:逆向工程、授权渗透测试与安全研究的技能路由包。
zhaiyateng/dsh-design-skills★ 10
设计美学技能包:10 种风格(深色 SaaS、极简白、新拟态、粗野主义、毛玻璃、日式极简、便当盒、赛博朋克、蒸汽波、装饰艺术),每种含 token、组件规则、禁用清单与验收清单,附可运行落地页 demo。