Bundle
mattpocock-skills-for-dsh
Matt Pocock Skills for the DeepSeek Harness: grilling, spec/ticket flows, TDD, and review as an installable bundle plus a portable agent preset.
- Source
- Meteor-system
- License
- MIT
- Updated
- Updated 21 hours ago
Readme
# Matt Pocock Skills for DSH 这是 [Matt Pocock 的技能集](https://github.com/mattpocock/skills) 的 DSH 移植版:grilling、spec/ticket 流程、TDD、code review。做成一个可安装的 bundle + 一个独立 Agent 预设,可以和 Superpowers 并存。 English: [README.en.md](README.en.md) ## 安装 ### 1. 装 bundle(把 25 个技能注册到全局技能层) ```powershell npx @deepseek-ai/dsh plugin --profile web add github:Meteor-system/mattpocock-skills-for-dsh ``` 也可以从本地 clone 装: ```powershell git clone https://github.com/Meteor-system/mattpocock-skills-for-dsh.git npx @deepseek-ai/dsh plugin --profile web add C:\path\to\mattpocock-skills-for-dsh ``` ### 2. 装预设模板 在本仓库目录里跑: ```bash node scripts/install-preset.mjs ``` 预设会装到 `%USERPROFILE%\.dsh\.agent-presets\mattpocock-skills`。已有同名预设时加 `--force`,脚本会先备份一份带时间戳的旧版。 ### 3. 重启,新开会话 bundle 在 profile 启动时挂载。**重启 DSH**,刷新页面,新开一个会话,预设选 **Matt Pocock Skills**。旧会话保留原来那代预设,不能拿来验收。 进新仓库之后先跑一次 `/setup-matt-pocock-skills`,它会配置这个仓库的 issue tracker、triage 标签和 `CONTEXT.md` 布局。后面一堆工程技能都要读 `docs/agents/*.md`,缺了它模型会停下来让你手动跑,不会自作主张。 ## 怎么用 25 个技能就分两类,区别只在于**谁能启动**: | 类型 | 启动方式 | 模型目录里看得见吗 | |---|---|---| | **User-invoked** | 你自己在输入框打 `/技能名` | 看不见,打斜杠时 DSH 会把完整指令注入 | | **Model-invoked** | 你打 `/名`,或者模型觉得合适时用 `skill` 工具加载 | 看得见 | 一条硬规则:user-invoked 可以调 model-invoked;反过来不行,model-invoked 之间也不能替你把 user-invoked 拉起来。所以缺 setup 的时候,模型只会提醒你手动跑。 另外说清楚:这里没有 Superpowers 那种「每句话之前先 load 一个 skill」的规定。 ### 主流程:想法 → 上线 在正经的代码仓库里,按这个顺序走: 1. 先 `/grill-with-docs`,把需求一层层问透。问的过程中它顺手把术语沉淀进 `CONTEXT.md`,把关键决定写成 ADR。 2. 有那种纸上谈不拢的设计问题(状态机、交互),`/handoff` 把上下文打包,开个新会话跑 `/prototype` 验证一下,再 handoff 回来。 3. 一次会话装得下的活,直接 `/implement`。装不下的,先 `/to-spec` 整理成规格文档,再 `/to-tickets` 拆成一张张带依赖关系的工单,然后每张工单开个新会话 `/implement`。 4. `/implement` 内部会自动走 `tdd`,收尾自动跑 `code-review`,通过之后才提交。 不知道现在该走哪条,就 `/ask-matt`,它会告诉你。 不在仓库里、只想把脑子里的方案逼问清楚:用 `/grill-me`,同一套拷问,但不落盘。只要在仓库里,就优先 `/grill-with-docs`。 ### 其他入口 | 你现在的处境 | 该用什么 | |---|---| | tracker 里堆了一堆别人提的 bug 和需求 | `/triage` | | bug 很难复现、性能莫名变慢、回归查不出 | 直接描述症状,模型会去加载 `diagnosing-bugs` | | 活大到一次会话根本铺不开(新项目、巨型功能) | `/wayfinder`,地图理清之后再 `/to-spec` | | 想顺手让代码结构更清晰、更好测试、更好给 AI 导航 | `/improve-codebase-architecture` | | 上一句话没接住,想让模型换个说法再讲一遍 | `/wait-what` | | 要换目录、换工具、交接给别人 | `/handoff` | | 卡点在别人脑子里,需要找人来填一份问卷 | `/to-questionnaire` | | 只有人类能操作:配密钥、点第三方后台、一次性迁移 | 模型会加载 `wizard` | ## 25 个技能一览 ### 工程 · 人来触发 | 技能 | 做什么 | 什么时候用 | |---|---|---| | `/ask-matt` | 路由:看你现在的处境,指出该走哪条流程 | 不知道从哪下手 | | `/setup-matt-pocock-skills` | 配置当前仓库的 issue tracker、triage 标签、领域文档布局 | **每个仓库一次**,其他工程技能的前置 | | `/grill-with-docs` | 刨根问底的访谈,边问边写 `CONTEXT.md` 和 ADR | 在仓库里,需要把一件事彻底对齐 | | `/to-spec` | 把**已经聊完**的内容整理成规格,发到 tracker,不再重新访谈 | grill 或 wayfinder 之后,准备开工 | | `/to-tickets` | 把计划/规格拆成带阻塞依赖的工单 | 规格有了,要拆成能排队、能并行的活 | | `/implement` | 按规格或工单实现;内部走 TDD,收尾 code-review,然后提交 | 要写的活已经定义清楚 | | `/triage` | 把外来 issue/PR 过一遍状态机,写成 agent 能直接接的 brief | 处理别人提的活,`/to-tickets` 的产物不用再过 | | `/wayfinder` | 把超大规模的工作在 tracker 上铺成**决策地图**,一张一张定 | 目标太远、一轮会话望不到头;产出是决策不是代码 | | `/improve-codebase-architecture` | 扫一遍代码,找出哪些模块太浅、值得加深,输出 HTML 报告,再对你选的那个深入 grilling | 想做架构级维护,不是加新功能 | ### 工程 · 模型可调用 这几个会出现在 DSH 的 `available_skills` 里,任务对得上时模型会自己加载,你也可以直接打 `/名`。 | 技能 | 做什么 | 什么时候用 | |---|---|---| | `tdd` | 红-绿循环,一次一条垂直切片 | 测试先行、提到 red-green-refactor、要写集成测试。`/implement` 内部会调 | | `code-review` | 相对某个提交点做两轴审查:规范(Standards)+ 规格(Spec),并行开子代理 | 审分支、PR、未提交的改动。`/implement` 收尾会跑 | | `diagnosing-bugs` | 先搭一个能稳定复现这个 bug 的反馈环,再缩小范围、假设、打点、修复、回归 | 疑难 bug、性能回退、偶发失败 | | `research` | 让后台代理去查一手资料,整理成带引用的 Markdown | 需要查文档/API 事实,同时自己接着干活 | | `prototype` | 搭一次性原型回答一个设计问题:逻辑用单个 HTML 验证,UI 做可切换的变体 | 光靠想拿不准,得看见或者跑起来 | | `domain-modeling` | 打磨领域语言:挑战模糊术语、写 ADR、维护 `CONTEXT.md` | 在聊术语、改词汇表的时候。`/grill-with-docs` 内部会调 | | `codebase-design` | 设计词汇表:module、interface、depth、seam、adapter | 设计接口、找加深点、让代码可测试。`tdd` 和架构扫描都依赖它 | | `resolving-merge-conflicts` | 按双方意图逐 hunk 解 merge/rebase 冲突,解完继续,绝不 `--abort` | 已经卡在冲突里 | | `wizard` | 生成交互式 bash 向导,领着人走完只有人能做的步骤 | 开通基础设施、填密钥、点陌生后台、一次性切换。Windows 上生成的脚本要放 Git Bash 或 WSL 里跑 | ### 效率 · 人来触发 | 技能 | 做什么 | 什么时候用 | |---|---|---| | `/grill-me` | 和 `/grill-with-docs` 同一套访谈,**不写本地文档** | 不在仓库里,只想把方案问透 | | `/handoff` | 把当前对话压成一份交接文档,给另一个 agent 接着干 | 换工具、换目录、交给同事、中途拆出去做旁路 | | `/teach` | 在当前目录里跨多轮教会一个概念 | 想学新东西,并留下学习记录 | | `/to-questionnaire` | 把问题做成问卷发给**别人**填;它审的是「发给谁、要什么」,不是题目本身 | 卡点不在你、不在代码,而在别人脑子里的信息 | | `/wait-what` | 用 `CONTEXT.md` 的词汇、用大白话把上一条重新讲一遍 | 任何时候觉得话没接上,直接打 | ### 效率 · 模型可调用 | 技能 | 做什么 | 什么时候用 | |---|---|---| | `grilling` | 访谈原语:把决策树一轮一轮问干净 | `/grill-me`、`/grill-with-docs`、`/triage`、`/wayfinder`、架构扫描的底层引擎。单独加载它 = 只要访谈,不要外壳 | | `writing-for-agents` | 写给 agent 看的文档:skill、`AGENTS.md` / `CLAUDE.md` | 在写或改这些文件 | ## 和 Superpowers 的关系 两个预设可以共存。一次会话只挂一个预设,工具和 prompt 不会互相叠加。 两边的技能都以 host 插件的形式全局注册,所以: - Superpowers 会话的技能目录里会看到本套的 11 个 model-invoked 技能名(`tdd`、`grilling`…); - Matt Pocock 会话的目录里会看到 Superpowers 那 14 个名字。 各自的 bootstrap 会让模型忽略对方的名字。user-invoked 技能(那 14 个斜杠)两边都不会进模型目录,只有人打 `/名` 才出现。 本预设自己关掉了默认技能根(`includeDefaultRoots: false`),不会去扫 `~/.agents/skills` 之类的个人目录。 想让目录彻底干净,只能二选一:不装其中一套的 host 插件,或者接受「名字在、不 follow」。 ## 校验 ```bash node scripts/verify.mjs ``` ## 上游 技能内容来自 mattpocock/skills,钉在 `1.2.3` / `3cca18b`,详见 [UPSTREAM.md](UPSTREAM.md)。技能正文 MIT,版权归 Matt Pocock;DSH 这边的接线和文档是这个仓库自己写的。
Install
dsh plugin --profile web add github:Meteor-system/mattpocock-skills-for-dsh#bfc71dc7a6f03463c585a1acf7336df1276a19c9
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install mattpocock-skills-for-dsh from the hub