🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

工程师技能包 YuKimCai/dsh-mattpocock-skill

DeepSeek Harness
YuKimCai11 天前有提交已提供中文文档扫描:含敏感能力

动手前先拷问需求、拆工单,再按 TDD 实施与复盘

30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/22 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add YuKimCai/dsh-mattpocock-skill
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · skill
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 11 处,展示前 11 条)
  • 读取本地文件
    lib/index.js:52
    return JSON.parse(readFileSync(join(PACKAGE_DIR, 'package.json'), 'utf8')).version ?? '0.0.0'
  • 读取本地文件
    lib/composition.js:381
    text = readFileSync(join(dir, 'agent.cordis.yml'), 'utf8')
  • 读取本地文件
    lib/composition.js:389
    metadata = readPresetMetadata(readFileSync(join(dir, 'preset.yml'), 'utf8'))
  • 读取本地文件
    lib/sync.js:26
    if (!existsSync(dir)) return []
  • 读取本地文件
    lib/sync.js:27
    return readdirSync(dir, { withFileTypes: true })
  • 读取本地文件
    lib/sync.js:35
    return JSON.parse(readFileSync(join(dir, STAMP_FILE), 'utf8'))
  • 读取本地文件
    lib/sync.js:50
    if (!existsSync(source)) return { action: 'missing-source', source, target, skills: [] }
  • 写入本地文件
    lib/sync.js:54
    mkdirSync(target, { recursive: true })
  • 删除本地文件递归
    lib/sync.js:55
    for (const name of listSkillDirs(target)) rmSync(join(target, name), { recursive: true, force: true })
  • 写入本地文件
    lib/sync.js:57
    writeFileSync(join(target, STAMP_FILE), JSON.stringify({
  • 读取本地文件
    lib/sync.js:76
    exists: existsSync(target),
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
展开完整介绍(201 字)↓

Matt Pocock 的 27 个工程技能(grilling 需求拷问、spec/工单拆分、TDD、双轴 code review、领域建模、wayfinder 决策地图、retro 复盘)打包成 DeepSeek Harness 的 Agent 预设。装上即用:模型自主调用 11 个,另 16 个用 /技能名 点名。它解决的不是写代码,是在动手之前把「你到底要什么」问清楚、钉死、拆成可执行的工单。

README

由 DeepSeek 最新模型翻译生成
dsh-mattpocock-skills 本项目封装 mattpocock/skills v1.3.1,并适配 DeepSeek Harness。 27 个技能的正文版权归 Matt Pocock,MIT 许可;本项目新增的是 Agent 预设、插件封装与平台词汇适配。 取用版本、对应 commit、具体改了什么,见 NOTICE.md。 Matt Pocock 的 mattpocock/skills(27 个工程技能)做成 DeepSeek Harness 的 Agent 预设:一个真正的智能体,不是一个技能目录。 装好之后,模式下拉里多出一个 「Matt Pocock 工程师」。选中它开会话,这个会话就带着 27 个技能、配套人格、以及技能流程依赖的完整工具面(bash / 读写文件 / 搜索 / 子智能体 / Web / 提问 / todo)。 文档 - SKILLS.md — 27 个技能按实际用途分类:需求定型 / 可执行化 / 实施 / 识别整理 / 协作 / 入口,含主流程图、接入点、触发方式和一张总表。想搞清楚「这些技能到底能干嘛」读这一份就够。 - NOTICE.md — 上游出处、取用版本与 commit、本项目具体改了什么。二次开发或分发前必读。 - README.md(本文)— 怎么装、装了什么、从 Claude Code 到 DSH 改了什么。
展开完整文档(README 剩余 1 节)
dsh-mattpocock-skills

本项目封装 mattpocock/skills v1.3.1,并适配 DeepSeek Harness。
27 个技能的正文版权归 Matt Pocock,MIT 许可;本项目新增的是 Agent 预设、插件封装与平台词汇适配。
取用版本、对应 commit、具体改了什么,见 NOTICE.md。

Matt Pocock 的 mattpocock/skills(27 个工程技能)做成 DeepSeek Harness 的 Agent 预设:一个真正的智能体,不是一个技能目录。

装好之后,模式下拉里多出一个 「Matt Pocock 工程师」。选中它开会话,这个会话就带着 27 个技能、配套人格、以及技能流程依赖的完整工具面(bash / 读写文件 / 搜索 / 子智能体 / Web / 提问 / todo)。

文档

- SKILLS.md — 27 个技能按实际用途分类:需求定型 / 可执行化 / 实施 / 识别整理 / 协作 / 入口,含主流程图、接入点、触发方式和一张总表。想搞清楚「这些技能到底能干嘛」读这一份就够。
- NOTICE.md — 上游出处、取用版本与 commit、本项目具体改了什么。二次开发或分发前必读。
- README.md(本文)— 怎么装、装了什么、从 Claude Code 到 DSH 改了什么。

它做了什么

| 层 | 内容 |
| Agent 预设 | presets/mattpocock/agent.cordis.yml(20 行插件组合)+ preset.yml(显示名/描述) |
| 人格 | 一段 prefix,把 27 个技能的组织方式和主流程写进去,模型不必先读技能就知道什么时候该用哪个 |
| 技能 | 27 个 skill 全部转换好,放在 skills/,随包发布 |
| 插件 | lib/index.js:落地技能树 + 向 ctx.agentPresets 声明预设 + 暴露状态接口 |
| 状态接口 | GET/POST /mattpocock-skills/status(回环 Web 服务) |

技能清单(27 个)

模型可自主调用(11):code-review、codebase-design、diagnosing-bugs、domain-modeling、grilling、pr、prototype、research、tdd、wizard、writing-for-agents

仅用户点名(16):ask-matt、grill-me、grill-with-docs、handoff、implement、implement-spec、improve-codebase-architecture、retro、setup-matt-pocock-skills、teach、to-questionnaire、to-spec、to-tickets、triage、wait-what、wayfinder

对齐上游的行为:上游 disable-model-invocation: true 的技能,在 DSH 里就是「只在用户输入 /技能名 时注入」,模型侧目录里看不到。这一点是刻意保留的,不是漏配。

安装

方式 A:装进 profile(推荐,随宿主启动自动加载)

在本仓库目录里执行(file:. 会记成你 clone 下来的绝对路径,换机器要重装):

1. 加进 profile 的依赖
dsh plugin --profile web add file:.

2. 把包名加进 profile 的 bundle 列表(~/.dsh/profiles/web/package.json)
"dsh": { "profile": { "bundles": [ ..., "dsh-mattpocock-skills" ] } }

3. 重启宿主

不想动 profile?用 overlay 试跑

仓库根有两个 overlay,路径全部相对它们自己的位置,clone 到哪都能跑:

只挂这个插件(新开一个宿主,不动现有 profile)
dsh --profile web --patch ./overlay.yml --port 3120 --no-open

顺手把默认预设也切过去
dsh --profile web --patch ./overlay.yml --patch ./default-preset.yml --port 3120 --no-open

--patch 的路径是相对你执行命令的目录;overlay 里那条 name: './lib/index.js' 才是相对 overlay 文件自己解析的。两个别搞混。

方式 B:只想要技能,不要智能体

把 skills/ 下的目录拷到 $DSH_HOME/skills/(或项目根的 .dsh/skills/)即可,DSH 原生的 skill 工具和 /技能名 直接可用。

用法

选中「Matt Pocock 工程师」后:

- 模型自主:说「这段 diff review 一下」→ 它自己加载 code-review;说「这个 bug 查不出来」→ diagnosing-bugs。
- 显式点名:输入 /tdd、/to-tickets、/wayfinder。用户点名的技能会作为指令注入,并在同一轮生效。
- 迷茫时:/ask-matt 是上游的路由技能,会告诉该按什么顺序调用其余技能。
- 首次用某仓库:先跑 /setup-matt-pocock-skills,它会把 issue tracker、triage 标签、领域文档布局写进 docs/agents/;后续 /to-spec、/to-tickets、/triage 都读这份配置。

从 Claude Code 到 DSH:改了什么

技能正文是从上游逐字保留的,只做了必要的平台适配:

| 上游 | DSH | 说明 |
| Skill tool | \skill\ 工具 | DSH 的原生技能加载工具 |
| /clear | 「开新会话」 | DSH 没有 /clear 命令;语义等价,旧会话可恢复 |
| disable-model-invocation: true | 同名 frontmatter | DSH 原生支持这个字段 |
| agents/openai.yaml | 删除 | Codex 专用显示元数据,DSH 不读 |

/compact、/handoff、subagent 等在两边的语义一致,保留原文。技能内引用的相对文件(GLOSSARY-FORMAT.md、脚本模板等)全部随技能目录一起搬过来了。

状态接口

curl -s http://127.0.0.1:3080/mattpocock-skills/status | jq

返回包版本、预设是否已声明、是否 broken、技能树落地位置、27 个技能名,以及当前 catalog 里实际能被模型看到的技能。

POST {"action":"resync"} 会强制把包内技能重新拷到 $DSH_HOME/mattpocock-skills/skills。

技能树的位置

技能会被拷到 $DSH_HOME/mattpocock-skills/skills,不是留在 node_modules 里。上游的整个主张就是「这些文件小到你敢改」,锁在 node_modules 里违背这一点。

- 每个包版本覆盖一次;同版本重启不动你的改动。
- 想长期保留改动:把那个技能拷到 $DSH_HOME/skills/(用户根,rank 更高,同名优先)。
- 想强制重置:POST {"action":"resync"} 或把 resyncSkills 设为 true。

目录结构

dsh-mattpocock-skills/
├── package.json # dsh.bundle.patch 指向 cordis.patch.yml ├── cordis.patch.yml # bundle 层:insert 本插件一行(按包名,无路径) ├── overlay.yml # 试用 overlay:不装 profile 直接挂(相对路径) ├── default-preset.yml # 把默认预设切到 mattpocock ├── lib/ │ ├── index.js # 落地技能 + 声明预设 + 状态路由 │ ├── composition.js # 读 agent.cordis.yml / preset.yml 的 YAML 子集解析器 │ └── sync.js # 技能树同步 ├── presets/mattpocock/ │ ├── agent.cordis.yml # 20 行插件组合(人格/工具/技能/压缩/子智能体…)
│ └── preset.yml # 显示名、描述、排序 ├── skills/ # 27 个技能(含各自引用的资源文件) ├── SKILLS.md # 27 个技能按实际用途分类(先读这个) └── scripts/ └── verify-skills.mjs # 27 个技能全量解析自检(任何目录可跑)

自检

27 个技能能否全部被 DSH 的技能 provider 解析(任意目录可跑)
npm run verify
期望: discovered 27 | model-invoked 11 | user-only 16 | failed 0

组合能否被预设注册表接受
node -e "import('./lib/composition.js').then(m=>console.log(m.readPresetDefinition('mattpocock','presets/mattpocock','/tmp').plugins.length))"
期望: 20

来源与许可

| 部分 | 归属 | 许可 |
| skills/ 下 27 个技能正文 | Matt Pocock v1.3.1 | MIT |
| Agent 预设、lib/、overlay、自检脚本、SKILLS.md | 本项目 | MIT |
| 运行平台 | DeepSeek Harness | MIT |

技能正文未作改写,只做了平台词汇替换(Skill tool → skill 工具、/clear → 开新会话)并删除了 Codex 专用的 agents/openai.yaml。
完整出处、上游 commit、二次开发注意事项见 NOTICE.md。
预览分享卡片长什么样 ↓YuKimCai/dsh-mattpocock-skill
分享 · DeepSeek Harness Hub
YuKimCai/dsh-mattpocock-skill

动手前先拷问需求、拆工单,再按 TDD 实施与复盘

回到顶部