dsh-superpower:把 obra/superpowers 的 14 个开发技能接入 DeepSeek Harness

前言

用 DeepSeek Harness(DSH)搭编码 Agent 时,一个常见的麻烦是方法论类能力不好复用:需求澄清、TDD、系统化调试这些内容通常以 SKILL.md 技能文件的形式存在,想用起来得自己写装载与注册逻辑,还要处理注入时机、不同预设的兼容问题。已有的做法往往是把技能文件手动拷进每个项目,再各写一遍加载代码。

dsh-superpower 把这件事做成了插件:一条命令安装后,obra/superpowers 的 14 个技能自动进入 DSH 技能注册表,配套的会话纪律也会在合适的时机注入。下面介绍它的功能、安装方式和工作原理。

这是什么

dsh-superpower(pai535Huang/dsh-superpower)是一个 DSH 插件,定位是「DSH plugin bundle for obra/superpowers skills and development workflows」:把 obra/superpowers(Jesse Vincent 维护的一套面向编码 Agent 的开发方法论,含 brainstorming、TDD、systematic-debugging、subagent-driven-development 等 14 个 SKILL.md 技能)打包接入 DeepSeek Harness。采用 MIT 许可证,当前版本 0.1.0,要求 Node >= 20。

实现上它是一个 host 组合行(bundle patch 挂载,patch 文件为 ./cordis.patch.yml):通过 ctx.skills.registerProvider() 把打包技能注册进 DSH 技能注册表,并在每个具有 skill 工具的会话开头注入 using-superpowers 纪律(「1% 规则」)。

核心功能

打包 14 个技能并注册

14 个 SKILL.md 直接随包分发,命名空间已改写(superpowers:<name> → 裸 <name>),上游的平台适配文件 references/dsh-tools.md 也已并入。注册由 lib/index.js 完成:它向注册表挂一个 provider,list() 扫描 skills/ 目录,get() 按需解析 frontmatter 与正文,返回带目录 resource base 的定义。

会话开头的纪律注入

lib/bootstrap.mjs 挂载 agent/pre-step,按 ctx.tools.get('skill', agent) 的可见性决定是否注入。注入规则有三条:

1、using-superpowers 完整正文只在会话首请求注入一次,compaction 后重注一次,不是每轮 prompt 都注入(与上游 SessionStart 语义一致);
2、子代理(delegationDepth > 0)跳过注入;
3、注入正文实时取自注册表,references/dsh-tools.md 从技能 resource base 读取后随信封注入。

预设兼容性

任何提供了技能加载面的预设都能看到捆绑技能,具体行为如下:

会话所在的预设 技能可见 会话开头注入
standard / code / cordis(挂了 tool-skill 是,目录列出全部捆绑技能 是(首次 + compaction 后)
自定义预设(挂 skill_search / skill_load 替代) 是,按需搜索/加载 否,无 skill 工具自然跳过
minimal 否,无 skill 行

无构建步骤,可直接加自定义技能

skills/ 放入新的 <kebab-name>/SKILL.md 即可,插件运行期自动发现,不需要改任何代码。技能文件以 YAML frontmatter 开头,name + description 必填,whenToUse 可选:

---
name: my-review-flow
description: 代码评审场景触发,按检查清单逐项核对
---

触发遵循 description 匹配,目录只展示 name + description。

同名技能就近遮蔽

项目/用户技能根里的同名技能会遮蔽捆绑版(bundled provider rank 低于本地技能根)。这是有意设计:用户意图优先,想覆盖某个捆绑技能时,在本地放同名文件即可。

安装与启用

官方安装命令如下,把 <name> 替换为你的 profile 名:

dsh plugin --profile <name> add github:pai535Huang/dsh-superpower

重启 profile 后,新会话即可使用。

典型用法

上游验收用例记录在 docs/acceptance-test.md:在 standard 预设下输入 “Let’s make a react todo list”,会话先触发 brainstorming 技能澄清需求,再进入写代码环节。该文档同时保留了执行记录与证据清单,可用于自行复验。

想扩展技能集时,按上面的格式往 skills/ 加一个 SKILL.md,无需改代码,provider 会自动发现它。

开发与验证

克隆仓库后执行:

npm ci
npm run check

npm run check 会依次跑测试和校验。细分下来:

1、npm test:单元测试,覆盖 manifest 装载、注册、bootstrap 守卫/频率、迁移清理;
2、npm run validate:skill 集合、frontmatter、manifest 三项一致性校验;
3、docs/acceptance-test.md:上游验收用例的执行记录与证据清单。

devDependencies 只有 js-yaml ^4.1.0,没有构建步骤,源码可以直接通读。

适用场景与注意

适合两类人:已经在用 DSH、想引入 obra/superpowers 方法论但不想手写装载与注入逻辑的开发者;希望技能随插件分发、同时保留本地同名覆盖能力的团队。

安装前有几点需要确认:

1、插件以当前 dsh 进程的权限运行,安装前应检查源码与许可证。本插件及其技能内容均为 MIT(技能内容源自 obra/superpowers,Copyright (c) 2025 Jesse Vincent),详见仓库根目录 LICENSE
2、minimal 预设没有 skill 行,按设计不移入任何技能;如果你的预设没有提供技能加载面,这些技能不会生效;
3、纪律注入只在会话首请求和 compaction 后发生,如果期望每轮 prompt 都强制携带,需要另做处理。

结尾

dsh-superpower 解决的是一个具体问题:把一套成熟的开发方法论技能接进 DSH,免掉装载、注册、注入时机的重复劳动,同时不牺牲本地覆盖和自定义扩展的空间。

  • GitHub 仓库:https://github.com/pai535Huang/dsh-superpower
  • 社区目录页(第三方站点,与 DeepSeek / 幻方无官方从属关系):https://www.skillhub.cn/plugins/pai535Huang/dsh-superpower
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜