gongyijie85 / mattpocock-skills-dsh

Listed

Matt Pocock's skills for DeepSeek Harness (DSH): grilling, writing-for-agents, wait-what, TDD and more — 25 skills adapted from mattpocock/skills (MIT)

mainSkill View source

Installation

npm install -g @deepseek-ai/dsh

This command is generated from the GitHub repository address. Inspect the upstream README and source before running it; pin a release or commit when reproducibility matters.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit e354feeSynced Aug 18, 2026

mattpocock-skills-dsh

npm version GitHub release CI License: MIT

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原文对照中文
0This 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把大工作拆成可评审的切片
4Sandcastle , to run AFK agents somewhere safe在安全的地方跑挂机(AFK)agent(外部工具,不在本包)
5/code-review , so each run teaches the next one每一次评审,都让下一次运行变得更好
6The 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-mewait-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 解析出 namedescriptionwhenToUsedisable-model-invocation
    • get() 按需读取候选技能正文,返回完整技能定义,resourceBase 指向 技能所在目录,使相对引用可以正确解析。
  • 零运行时依赖 —— 插件只使用 Node 内置模块,消费注入的 ctx.skills 服务接口。

添加自己的技能

往包里放一个新的 skills/<kebab-name>/SKILL.md 即可——它必须以 YAML frontmatter 开头(name + description,可选 whenToUsedisable-model-invocation)。无需改任何代码:list() 会自动发现它。

许可证

MIT。技能内容改编自 mattpocock/skills(MIT),© Matt Pocock;DSH 移植部分 © mattpocock-skills-dsh contributors。见 LICENSE

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

TestsDetected

Repository information

Language
Shell
License
MIT
Latest release
v0.1.2
Last updated
Aug 16, 2026, 7:37 AM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.