@hawk2048/oh-my-dsh 0.2.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +246 -206
  3. package/README.zh.md +246 -0
  4. package/agent.cordis.yml +288 -0
  5. package/commands/omd-commands.mjs +150 -141
  6. package/cordis.patch.yml +20 -20
  7. package/index.js +8 -8
  8. package/install.ps1 +92 -0
  9. package/install.sh +81 -0
  10. package/package.json +44 -35
  11. package/preset.yml +2 -0
  12. package/skills/omd-ai-slop-cleaner/SKILL.md +43 -43
  13. package/skills/omd-autopilot/SKILL.md +51 -51
  14. package/skills/omd-autoresearch/SKILL.md +45 -45
  15. package/skills/omd-cancel/SKILL.md +36 -36
  16. package/skills/omd-debug/SKILL.md +35 -35
  17. package/skills/omd-deep-analyze/SKILL.md +36 -36
  18. package/skills/omd-deep-interview/SKILL.md +68 -68
  19. package/skills/omd-deepsearch/SKILL.md +36 -36
  20. package/skills/omd-doctor/SKILL.md +39 -39
  21. package/skills/omd-execute/SKILL.md +41 -41
  22. package/skills/omd-external-context/SKILL.md +36 -36
  23. package/skills/omd-help/SKILL.md +35 -35
  24. package/skills/omd-hud/SKILL.md +80 -79
  25. package/skills/omd-minimal-code-discipline/SKILL.md +36 -36
  26. package/skills/omd-plan/SKILL.md +51 -51
  27. package/skills/omd-pyramid/SKILL.md +121 -0
  28. package/skills/omd-ralph/SKILL.md +62 -62
  29. package/skills/omd-ralplan/SKILL.md +45 -45
  30. package/skills/omd-release/SKILL.md +36 -36
  31. package/skills/omd-remember/SKILL.md +35 -35
  32. package/skills/omd-research/SKILL.md +40 -38
  33. package/skills/omd-review/SKILL.md +47 -45
  34. package/skills/omd-skillify/SKILL.md +36 -36
  35. package/skills/omd-tdd/SKILL.md +37 -37
  36. package/skills/omd-team/SKILL.md +96 -96
  37. package/skills/omd-ultragoal/SKILL.md +46 -46
  38. package/skills/omd-ultrathink/SKILL.md +39 -39
  39. package/skills/omd-verify/SKILL.md +44 -44
  40. package/skills/omd-visual-verdict/SKILL.md +36 -36
  41. package/skills/omd-wiki/SKILL.md +36 -36
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 oh-my-dsh contributors
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2025 oh-my-dsh contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,206 +1,246 @@
1
- # oh-my-dsh
2
-
3
- **面向 DeepSeek Harness (DSH) 的多智能体编排层** —— 把 [oh-my-claudecode](https://github.com/Yeachan-Heo/oh-my-claudecode) 的编排模式,映射到 DSH 原生原语(`workflow` / `subagent` / `ralph` / `goal`)之上。
4
-
5
- > 两种触发方式:**自然语言**(29 个随 preset 打包的编排 skill,代理自动加载)+ **斜杠命令**(12 条,敲 `/omd` 即弹出候选)。启动一次会话,编排能力就位。
6
-
7
- ## 快速开始
8
-
9
- 一条命令装好全部 29 个 skill + 12 条 `/omd-*` 命令(等价 OMC 的插件市场安装):
10
-
11
- ```sh
12
- dsh plugin --profile web add github:hawk2048/oh-my-dsh
13
- ```
14
-
15
- 装完重启 profile,敲 `/omd` 弹出命令候选;或直接用自然语言(「先规划一下」「autopilot 搭个 API」)触发对应 skill。完整说明见下方[安装 / 使用](#安装--使用)。
16
-
17
- ## 与 oh-my-claudecode 的对应关系
18
-
19
- 对齐 OMC **v5.3.0** 的命令面(核心流水线 `plan → execute → review → verify` + 保留模式):
20
-
21
- | OMC 工作流 | oh-my-dsh skill | DSH 原生载体 |
22
- |-----------|-----------------|--------------|
23
- | Plan(规划) | [`omd-plan`](skills/omd-plan/SKILL.md) | 只读探索 + `subagent` 并行调研 |
24
- | Execute(执行) | [`omd-execute`](skills/omd-execute/SKILL.md) | `subagent` 并行 + `todo_write` |
25
- | Review(评审) | [`omd-review`](skills/omd-review/SKILL.md) | `subagent_fork` 独立评审 |
26
- | Verify(验证) | [`omd-verify`](skills/omd-verify/SKILL.md) | `pwsh`/`bash` 测试 + `subagent` 复核 |
27
- | Team(分阶段流水线) | [`omd-team`](skills/omd-team/SKILL.md) | `workflow` + `subagent` |
28
- | Autopilot(自动驾驶) | [`omd-autopilot`](skills/omd-autopilot/SKILL.md) | `goal` + `todo` + `subagent` |
29
- | Ralph(持久验证循环) | [`omd-ralph`](skills/omd-ralph/SKILL.md) | `ralph` + `goal` 验证循环 |
30
- | Deep Interview(需求澄清) | [`omd-deep-interview`](skills/omd-deep-interview/SKILL.md) | `ask_user_question` |
31
- | Ralplan(共识规划) | [`omd-ralplan`](skills/omd-ralplan/SKILL.md) | 并行 `subagent` 草案 + 仲裁收敛 |
32
- | Research(有据调研) | [`omd-research`](skills/omd-research/SKILL.md) | `web_search`/`web_fetch` + 并行 `subagent` |
33
- | Autoresearch(评估驱动改进) | [`omd-autoresearch`](skills/omd-autoresearch/SKILL.md) | `goal` + 评估子代理循环 |
34
- | Ultragoal(持久多目标) | [`omd-ultragoal`](skills/omd-ultragoal/SKILL.md) | `goal` + `todo_write` + checkpoint 工件 |
35
- | HUD(状态栏) | [`omd-hud`](skills/omd-hud/SKILL.md) | `dsh-ui` 内联仪表盘(genui) |
36
-
37
- **提示词触发 + 工具 skill**(自然语言触发,无独立斜杠命令):
38
-
39
- | OMC 触发 | oh-my-dsh skill | DSH 原生载体 |
40
- |----------|-----------------|--------------|
41
- | tdd(测试驱动) | [`omd-tdd`](skills/omd-tdd/SKILL.md) | `pwsh`/`bash` 测试 + red-green-refactor |
42
- | deepsearch(代码检索) | [`omd-deepsearch`](skills/omd-deepsearch/SKILL.md) | `grep`/`glob`/`read` 本地定位 |
43
- | deep-analyze(深度分析) | [`omd-deep-analyze`](skills/omd-deep-analyze/SKILL.md) | 并行 `subagent` 多视角 |
44
- | ultrathink(深度推理) | [`omd-ultrathink`](skills/omd-ultrathink/SKILL.md) | 纯推理(先不动工具) |
45
- | ai-slop-cleaner(去废话) | [`omd-ai-slop-cleaner`](skills/omd-ai-slop-cleaner/SKILL.md) | `review`/`edit` 精简 |
46
- | omc-doctor(自检) | [`omd-doctor`](skills/omd-doctor/SKILL.md) | 安装/挂载诊断 |
47
- | debug(调试) | [`omd-debug`](skills/omd-debug/SKILL.md) | 复现→定位→最小修复→回归 |
48
- | release(发布) | [`omd-release`](skills/omd-release/SKILL.md) | git + 测试 + changelog + tag |
49
- | remember(跨会话记忆) | [`omd-remember`](skills/omd-remember/SKILL.md) | 工作区记忆文件 |
50
- | cancel(取消模式) | [`omd-cancel`](skills/omd-cancel/SKILL.md) | goal pause + interrupt_agent + job_kill |
51
- | minimal-code-discipline(最小改动) | [`omd-minimal-code-discipline`](skills/omd-minimal-code-discipline/SKILL.md) | YAGNI 阶梯 |
52
- | external-context(外部上下文) | [`omd-external-context`](skills/omd-external-context/SKILL.md) | `web_fetch`/`read` |
53
- | visual-verdict(视觉 QA) | [`omd-visual-verdict`](skills/omd-visual-verdict/SKILL.md) | `read_image` 对比 |
54
- | skillify(提取 skill) | [`omd-skillify`](skills/omd-skillify/SKILL.md) | 写 `SKILL.md` |
55
- | wiki(知识库) | [`omd-wiki`](skills/omd-wiki/SKILL.md) | 工作区 markdown |
56
- | omc-help(使用指南) | [`omd-help`](skills/omd-help/SKILL.md) | 实时列 skill/命令索引 |
57
-
58
- > **`ultrawork` 已退役**:OMC 在 5.0.0 删除了 `ultrawork`(以及 `ultraqa`/`swarm`/`pipeline` 等),oh-my-dsh 同步移除;其"最大并行扇出"能力已并入 `execute`/`team`/`ralph` 的内部并行纪律。
59
-
60
- 关键差异:OMC 的 HUD 是 CLI 状态栏,而 oh-my-dsh 的 HUD 是**内联在回答正文里的 `dsh-ui` 仪表盘**(stat/progress/timeline/table),因为 DSH 的 Web GUI 本身就在渲染结构化 UI。
61
-
62
- ## 目录结构
63
-
64
- ```
65
- oh-my-dsh/
66
- ├── package.json # dsh.bundle manifest(组合包安装入口)
67
- ├── cordis.patch.yml # 组合包 patch 层(全局命令 + 全局 skill 挂载)
68
- ├── index.js # 组合包模块入口
69
- ├── agent.cordis.yml # agent preset 组合文件(= standard + persona + skill + 命令)
70
- ├── preset.yml # preset 显示元数据
71
- ├── install.ps1 / install.sh # preset 手动安装脚本
72
- ├── LICENSE
73
- ├── commands/
74
- │ └── omd-commands.mjs # 斜杠命令生产者(ESM 插件)
75
- ├── skills/
76
- │ ├── omd-plan/SKILL.md
77
- │ ├── omd-execute/SKILL.md
78
- │ ├── omd-review/SKILL.md
79
- │ ├── omd-verify/SKILL.md
80
- │ ├── omd-team/SKILL.md
81
- │ ├── omd-autopilot/SKILL.md
82
- │ ├── omd-ralph/SKILL.md
83
- │ ├── omd-deep-interview/SKILL.md
84
- │ ├── omd-ralplan/SKILL.md
85
- │ ├── omd-research/SKILL.md
86
- │ ├── omd-autoresearch/SKILL.md
87
- │ ├── omd-ultragoal/SKILL.md
88
- │ ├── omd-tdd/SKILL.md
89
- │ ├── omd-deepsearch/SKILL.md
90
- │ ├── omd-deep-analyze/SKILL.md
91
- │ ├── omd-ultrathink/SKILL.md
92
- │ ├── omd-ai-slop-cleaner/SKILL.md
93
- │ ├── omd-doctor/SKILL.md
94
- │ ├── omd-debug/SKILL.md
95
- │ ├── omd-release/SKILL.md
96
- │ ├── omd-remember/SKILL.md
97
- │ ├── omd-cancel/SKILL.md
98
- │ ├── omd-minimal-code-discipline/SKILL.md
99
- │ ├── omd-external-context/SKILL.md
100
- │ ├── omd-visual-verdict/SKILL.md
101
- │ ├── omd-skillify/SKILL.md
102
- │ ├── omd-wiki/SKILL.md
103
- │ ├── omd-help/SKILL.md
104
- │ └── omd-hud/SKILL.md
105
- └── docs/
106
- ├── ARCHITECTURE.md
107
- └── RELEASE.md
108
- ```
109
-
110
- ## 安装 / 使用
111
-
112
- 两种安装方式,**任选其一即可**(bundle 装全局、preset 按会话选)。
113
-
114
- **方式 A:组合包 bundle(主要,等价 OMC 的插件市场安装)** —— 全局装好 `/omd-*` 命令与 29 个 skill,profile 里所有会话可见:
115
-
116
- ```sh
117
- # git 源码安装(纯 JS/Markdown,零构建,无需 allowBuilds 授权;用 @<tag> 可锁定版本)
118
- dsh plugin --profile web add github:hawk2048/oh-my-dsh
119
-
120
- # 或从 npm 安装(等价 OMC 的 npm i -g)
121
- dsh plugin --profile web add @hawk2048/oh-my-dsh
122
- ```
123
-
124
- 装完重启 profile 即可。用户全程只敲一条命令,由 pnpm 拉取,**不手动下载压缩包**。
125
-
126
- **方式 B:agent preset(可选,按会话选择)** —— 含 persona 与编排工具集的全量会话:
127
-
128
- ```sh
129
- # Windows
130
- .\install.ps1
131
- # macOS / Linux
132
- ./install.sh
133
- ```
134
-
135
- 然后在 DSH 里**新建会话时选择 "oh-my-dsh 编排"** preset(或把它设为 `agent-presets.default`)。详见 [docs/RELEASE.md](docs/RELEASE.md)。
136
-
137
- ## 怎么用(会话内)
138
-
139
- 两种方式,效果一样:
140
-
141
- **方式一:自然语言**(代理自动加载对应 skill)
142
-
143
- - `先规划一下怎么实现 X` → `omd-plan`
144
- - `按计划实现` → `omd-execute`
145
- - `评审一下刚才的改动` → `omd-review`
146
- - `验证一下,测试要全绿` → `omd-verify`
147
- - `用 team 做一个任务管理应用` → `omd-team`
148
- - `autopilot:搭一个 REST API` → `omd-autopilot`
149
- - `ralph 重构认证,必须测试全绿` → `omd-ralph`
150
- - `先深度访谈,我想做个 xx` → `omd-deep-interview`
151
- - `ralplan:多角度论证一下这个架构选型` → `omd-ralplan`
152
- - `调研一下 X 的最佳实践,要带来源` → `omd-research`
153
- - `autoresearch:把这份报告打磨到达标` → `omd-autoresearch`
154
- - `ultragoal:这个长期目标拆成子目标推进` → `omd-ultragoal`
155
- - `tdd:先写失败测试再实现` → `omd-tdd`
156
- - `deepsearch:定位谁调用了这个函数` → `omd-deepsearch`
157
- - `deep-analyze:深度分析一下这块架构` → `omd-deep-analyze`
158
- - `ultrathink:想清楚再动手` → `omd-ultrathink`
159
- - `去 AI 废话,精简这段` → `omd-ai-slop-cleaner`
160
- - `自检一下 oh-my-dsh 装好没` → `omd-doctor`
161
- - `debug:排查这个报错` → `omd-debug`
162
- - `发布 v1.2,写 changelog` → `omd-release`
163
- - `记住这个决定,下个会话还要用` → `omd-remember`
164
- - `停掉正在跑的 autopilot` → `omd-cancel`
165
- - `最小改动,别过度设计` → `omd-minimal-code-discipline`
166
- - `看下这个 issue/链接` → `omd-external-context`
167
- - `对比这两张截图` → `omd-visual-verdict`
168
- - `把这段流程沉淀成 skill` → `omd-skillify`
169
- - `记到知识库/更新文档` → `omd-wiki`
170
- - `omd 能做什么 / 有哪些命令` → `omd-help`
171
-
172
- **方式二:斜杠命令**(在输入框敲 `/omd` 弹出候选)
173
-
174
- | 命令 | 等价 skill |
175
- |------|-----------|
176
- | `/omd-plan <任务>` | `omd-plan` |
177
- | `/omd-execute <任务>` | `omd-execute` |
178
- | `/omd-review <任务>` | `omd-review` |
179
- | `/omd-verify <任务>` | `omd-verify` |
180
- | `/omd-team <任务>` | `omd-team` |
181
- | `/omd-autopilot <目标>` | `omd-autopilot` |
182
- | `/omd-ralph <目标>` | `omd-ralph` |
183
- | `/omd-deep-interview <主题>` | `omd-deep-interview` |
184
- | `/omd-ralplan <描述>` | `omd-ralplan` |
185
- | `/omd-research <问题>` | `omd-research` |
186
- | `/omd-autoresearch <任务>` | `omd-autoresearch` |
187
- | `/omd-ultragoal <目标>` | `omd-ultragoal` |
188
-
189
- 代理会加载对应的 skill,按该模式编排,并用 HUD 实时汇报进度。
190
-
191
- ## 为什么是 skill + bundle/preset,而不是新工具
192
-
193
- DSH 的原生多智能体原语(`workflow` 的流水线/并行、`subagent` 的扇出、`ralph` 的 fresh-agent 循环、`goal` 的跨轮目标)**已经覆盖了 OMC 的编排语义**。oh-my-dsh 因此不引入新的宿主工具或运行时,而是把「什么时候用哪个原语、怎么编排、怎么收尾」沉淀成可复用的 skill。
194
-
195
- 分发也复用 DSH 原生机制:`cordis.patch.yml` + `package.json` 的 `dsh.bundle` manifest 让 `dsh plugin add` 装成**组合包**(全局命令 + 全局 skill),`agent.cordis.yml` 让它作为**agent preset** 按会话挂载(persona + 命令 + skill)。斜杠命令的 `commands/omd-commands.mjs` 是一个 ESM 插件,注入 DSH 自带的 `commands` 服务注册命令——零运行时风险,升级 DSH 不受影响。
196
-
197
- ## 扩展
198
-
199
- - **加模式**:在 `skills/` 下新增 `omd-xxx/SKILL.md`(YAML frontmatter 写 `name` + `description`)。
200
- - **加命令**:在 `commands/omd-commands.mjs` 的 `MODES` 数组里追加一条。
201
- - **改 persona**:编辑 `agent.cordis.yml` 顶部的 `persona` 行。
202
- - **把 skill 做成全局**:走 bundle(`dsh plugin add`),见上文方式 A;或把 `skills/*` 复制到 `${DSH_HOME}/skills/`。
203
-
204
- ## 许可
205
-
206
- MIT。灵感来自 [oh-my-claudecode](https://github.com/Yeachan-Heo/oh-my-claudecode)。
1
+ # oh-my-dsh
2
+
3
+ [![npm version](https://img.shields.io/npm/v/@hawk2048/oh-my-dsh?color=cb3837)](https://www.npmjs.com/package/@hawk2048/oh-my-dsh)
4
+ [![GitHub stars](https://img.shields.io/github/stars/hawk2048/oh-my-dsh?style=flat&color=yellow)](https://github.com/hawk2048/oh-my-dsh/stargazers)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
6
+ [![dsh-plugin](https://img.shields.io/badge/dsh-plugin-orange)](https://github.com/topics/dsh-plugin)
7
+
8
+ **A multi-agent orchestration layer for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (DSH)** — ports [oh-my-claudecode](https://github.com/Yeachan-Heo/oh-my-claudecode)'s orchestration modes onto DSH's native primitives (`workflow` / `subagent` / `ralph` / `goal`).
9
+
10
+ > Two ways to trigger: **natural language** (30 skills, auto-loaded by the agent) + **slash commands** (13 `/omd-*` commands). Start a session, orchestration is ready.
11
+
12
+ [中文](README.zh.md)
13
+
14
+ ## Quick Start
15
+
16
+ One command installs all 30 skills + 13 `/omd-*` commands (the OMC plugin-marketplace equivalent):
17
+
18
+ ```sh
19
+ dsh plugin --profile web add github:hawk2048/oh-my-dsh
20
+ ```
21
+
22
+ Or from npm (the `npm i -g` equivalent):
23
+
24
+ ```sh
25
+ dsh plugin --profile web add @hawk2048/oh-my-dsh
26
+ ```
27
+
28
+ Restart the profile, type `/omd` to see command candidates, or use natural language ("plan this", "autopilot, build a REST API").
29
+
30
+ ## Requirements
31
+
32
+ - [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (`dsh` CLI)
33
+ - [pnpm](https://pnpm.io) — `dsh plugin` forwards to pnpm
34
+
35
+ ## Why oh-my-dsh
36
+
37
+ - **Zero configuration** — one `dsh plugin add` installs everything; the bundle self-registers, no setup wizard.
38
+ - **Team-first orchestration** — Team is the canonical staged pipeline (`team-plan → team-prd → team-exec → team-verify → team-fix`), built on DSH's native `workflow`.
39
+ - **Natural language interface** — describe what you want; the 30 `omd-*` skills auto-load, nothing to memorize.
40
+ - **Automatic parallelization** — complex tasks fan out across parallel `subagent`s.
41
+ - **Persistent execution** — Ralph / Autopilot / Ultragoal keep going until verified complete (native `ralph` loops + `goal` cross-turn objectives).
42
+ - **Zero runtime overhead** — adds no new host tools or runtime, just skills over DSH's native primitives, so you keep DSH's own model routing and sandbox.
43
+ - **Learn from experience** — `omd-skillify` extracts reusable skills; `omd-remember` persists durable notes across sessions.
44
+ - **Real-time visibility** — the inline HUD renders live `dsh-ui` progress dashboards.
45
+
46
+ ## OMC correspondence
47
+
48
+ Aligned to OMC **v5.3.0** (the `plan → execute → review → verify` pipeline + retained modes):
49
+
50
+ | OMC workflow | oh-my-dsh skill | DSH primitive |
51
+ |-----------|-----------------|--------------|
52
+ | Plan | [`omd-plan`](skills/omd-plan/SKILL.md) | read-only exploration + parallel `subagent` |
53
+ | Execute | [`omd-execute`](skills/omd-execute/SKILL.md) | parallel `subagent` + `todo_write` |
54
+ | Review | [`omd-review`](skills/omd-review/SKILL.md) | `subagent_fork` independent review |
55
+ | Verify | [`omd-verify`](skills/omd-verify/SKILL.md) | `pwsh`/`bash` tests + `subagent` re-check |
56
+ | Team | [`omd-team`](skills/omd-team/SKILL.md) | `workflow` + `subagent` |
57
+ | Autopilot | [`omd-autopilot`](skills/omd-autopilot/SKILL.md) | `goal` + `todo` + `subagent` |
58
+ | Ralph | [`omd-ralph`](skills/omd-ralph/SKILL.md) | `ralph` + `goal` verify loop |
59
+ | Deep Interview | [`omd-deep-interview`](skills/omd-deep-interview/SKILL.md) | `ask_user_question` |
60
+ | Ralplan | [`omd-ralplan`](skills/omd-ralplan/SKILL.md) | parallel `subagent` drafts + arbitration |
61
+ | Research | [`omd-research`](skills/omd-research/SKILL.md) | `web_search`/`web_fetch` + parallel `subagent` |
62
+ | Autoresearch | [`omd-autoresearch`](skills/omd-autoresearch/SKILL.md) | `goal` + evaluator loop |
63
+ | Ultragoal | [`omd-ultragoal`](skills/omd-ultragoal/SKILL.md) | `goal` + `todo_write` + checkpoint artifacts |
64
+ | HUD | [`omd-hud`](skills/omd-hud/SKILL.md) | inline `dsh-ui` dashboard (genui) |
65
+
66
+ **Prompt-trigger + utility skills** (natural-language only, no slash command):
67
+
68
+ | OMC trigger | oh-my-dsh skill | DSH primitive |
69
+ |----------|-----------------|--------------|
70
+ | tdd | [`omd-tdd`](skills/omd-tdd/SKILL.md) | `pwsh`/`bash` tests + red-green-refactor |
71
+ | deepsearch | [`omd-deepsearch`](skills/omd-deepsearch/SKILL.md) | `grep`/`glob`/`read` local lookup |
72
+ | deep-analyze | [`omd-deep-analyze`](skills/omd-deep-analyze/SKILL.md) | parallel `subagent` multi-angle |
73
+ | ultrathink | [`omd-ultrathink`](skills/omd-ultrathink/SKILL.md) | pure reasoning (no tools first) |
74
+ | ai-slop-cleaner | [`omd-ai-slop-cleaner`](skills/omd-ai-slop-cleaner/SKILL.md) | `review`/`edit` tightening |
75
+ | omc-doctor | [`omd-doctor`](skills/omd-doctor/SKILL.md) | install/mount diagnostics |
76
+ | debug | [`omd-debug`](skills/omd-debug/SKILL.md) | reproduce→isolate→fix→regress |
77
+ | release | [`omd-release`](skills/omd-release/SKILL.md) | git + tests + changelog + tag |
78
+ | remember | [`omd-remember`](skills/omd-remember/SKILL.md) | workspace memory file |
79
+ | cancel | [`omd-cancel`](skills/omd-cancel/SKILL.md) | goal pause + `interrupt_agent` + `job_kill` |
80
+ | minimal-code-discipline | [`omd-minimal-code-discipline`](skills/omd-minimal-code-discipline/SKILL.md) | YAGNI ladder |
81
+ | external-context | [`omd-external-context`](skills/omd-external-context/SKILL.md) | `web_fetch`/`read` |
82
+ | visual-verdict | [`omd-visual-verdict`](skills/omd-visual-verdict/SKILL.md) | `read_image` comparison |
83
+ | skillify | [`omd-skillify`](skills/omd-skillify/SKILL.md) | write `SKILL.md` |
84
+ | wiki | [`omd-wiki`](skills/omd-wiki/SKILL.md) | workspace markdown |
85
+ | omc-help | [`omd-help`](skills/omd-help/SKILL.md) | live skill/command index |
86
+
87
+ **New in this plugin (no OMC counterpart):**
88
+
89
+ | Capability | oh-my-dsh skill | DSH primitive |
90
+ |------|-----------------|--------------|
91
+ | Pyramid structured expression (conclusion-first + MECE) | [`omd-pyramid`](skills/omd-pyramid/SKILL.md) | pure expression discipline + `dsh-ui` hierarchy mapping (genui) |
92
+
93
+ > **`ultrawork` is retired** — OMC removed it in 5.0.0 (along with `ultraqa`/`swarm`/`pipeline`); oh-my-dsh removed it too, folding its "maximum parallel fan-out" into `execute`/`team`/`ralph`.
94
+
95
+ Key difference: OMC's HUD is a CLI status line, while oh-my-dsh's HUD is an **inline `dsh-ui` dashboard in the reply** (stat/progress/timeline/table), because DSH's Web GUI already renders structured UI.
96
+
97
+ ## Directory structure
98
+
99
+ ```
100
+ oh-my-dsh/
101
+ ├── package.json # dsh.bundle manifest (bundle install entry)
102
+ ├── cordis.patch.yml # bundle patch layer (global commands + skills)
103
+ ├── index.js # bundle module entry
104
+ ├── agent.cordis.yml # agent preset composition (= standard + persona + skills + commands)
105
+ ├── preset.yml # preset display metadata
106
+ ├── install.ps1 / install.sh # preset manual install scripts
107
+ ├── LICENSE
108
+ ├── commands/
109
+ │ └── omd-commands.mjs # slash-command producer (ESM plugin)
110
+ ├── skills/
111
+ │ ├── omd-plan/SKILL.md
112
+ │ ├── omd-execute/SKILL.md
113
+ │ ├── omd-review/SKILL.md
114
+ │ ├── omd-verify/SKILL.md
115
+ │ ├── omd-team/SKILL.md
116
+ │ ├── omd-autopilot/SKILL.md
117
+ │ ├── omd-ralph/SKILL.md
118
+ │ ├── omd-deep-interview/SKILL.md
119
+ │ ├── omd-ralplan/SKILL.md
120
+ │ ├── omd-research/SKILL.md
121
+ │ ├── omd-autoresearch/SKILL.md
122
+ │ ├── omd-ultragoal/SKILL.md
123
+ │ ├── omd-pyramid/SKILL.md
124
+ │ ├── omd-tdd/SKILL.md
125
+ │ ├── omd-deepsearch/SKILL.md
126
+ │ ├── omd-deep-analyze/SKILL.md
127
+ │ ├── omd-ultrathink/SKILL.md
128
+ │ ├── omd-ai-slop-cleaner/SKILL.md
129
+ │ ├── omd-doctor/SKILL.md
130
+ │ ├── omd-debug/SKILL.md
131
+ │ ├── omd-release/SKILL.md
132
+ │ ├── omd-remember/SKILL.md
133
+ │ ├── omd-cancel/SKILL.md
134
+ │ ├── omd-minimal-code-discipline/SKILL.md
135
+ │ ├── omd-external-context/SKILL.md
136
+ │ ├── omd-visual-verdict/SKILL.md
137
+ │ ├── omd-skillify/SKILL.md
138
+ │ ├── omd-wiki/SKILL.md
139
+ │ ├── omd-help/SKILL.md
140
+ │ └── omd-hud/SKILL.md
141
+ └── docs/
142
+ ├── ARCHITECTURE.md
143
+ └── RELEASE.md
144
+ ```
145
+
146
+ ## Install / usage
147
+
148
+ Two forms — pick one (bundle for global, preset for per-session).
149
+
150
+ **Form A: bundle (primary, the OMC plugin-marketplace equivalent)** — installs the 13 `/omd-*` commands and 30 skills globally, visible to every session in the profile:
151
+
152
+ ```sh
153
+ # git source (pure JS/Markdown, zero build, no allowBuilds needed; pin with @<tag>)
154
+ dsh plugin --profile web add github:hawk2048/oh-my-dsh
155
+
156
+ # or npm (the npm i -g equivalent)
157
+ dsh plugin --profile web add @hawk2048/oh-my-dsh
158
+ ```
159
+
160
+ Restart the profile. One command, pulled by pnpm — no manual tarball download.
161
+
162
+ **Form B: agent preset (optional, per-session)** — full session with persona and the orchestration toolkit:
163
+
164
+ ```sh
165
+ # Windows
166
+ .\install.ps1
167
+ # macOS / Linux
168
+ ./install.sh
169
+ ```
170
+
171
+ The installer is **non-destructive**: it never deletes the preset directory, keeps skills you added locally, and backs up any local edit it would overwrite as `<name>.bak-<timestamp>`. Re-running is safe and reversible.
172
+
173
+ Then create a session and pick the "oh-my-dsh 编排" preset (or set it as `agent-presets.default`). See [docs/RELEASE.md](docs/RELEASE.md).
174
+
175
+ ## Usage (in-session)
176
+
177
+ Two equivalent ways:
178
+
179
+ **Way 1: natural language** (the agent auto-loads the matching skill)
180
+
181
+ - `plan how to implement X` → `omd-plan`
182
+ - `execute the plan` → `omd-execute`
183
+ - `review my changes` → `omd-review`
184
+ - `verify — tests must pass` → `omd-verify`
185
+ - `team, build a task-management app` → `omd-team`
186
+ - `autopilot: build a REST API` → `omd-autopilot`
187
+ - `ralph the auth refactor until green` → `omd-ralph`
188
+ - `deep interview me — I want to build X` → `omd-deep-interview`
189
+ - `ralplan this architecture decision` → `omd-ralplan`
190
+ - `research X best practices, with sources` → `omd-research`
191
+ - `autoresearch this report to passing` → `omd-autoresearch`
192
+ - `ultragoal: break this long goal into subgoals` → `omd-ultragoal`
193
+ - `structure this as a pyramid / conclusion first / MECE` → `omd-pyramid`
194
+ - `tdd: failing test first` → `omd-tdd`
195
+ - `deepsearch: who calls this function` → `omd-deepsearch`
196
+ - `deep-analyze this architecture` → `omd-deep-analyze`
197
+ - `ultrathink before acting` → `omd-ultrathink`
198
+ - `strip the AI slop` → `omd-ai-slop-cleaner`
199
+ - `self-check the install` → `omd-doctor`
200
+ - `debug this error` → `omd-debug`
201
+ - `release v1.2 with changelog` → `omd-release`
202
+ - `remember this decision` → `omd-remember`
203
+ - `stop the running autopilot` → `omd-cancel`
204
+ - `minimal change, no over-engineering` → `omd-minimal-code-discipline`
205
+ - `read this issue/link` → `omd-external-context`
206
+ - `compare these screenshots` → `omd-visual-verdict`
207
+ - `turn this flow into a skill` → `omd-skillify`
208
+ - `write this to the wiki` → `omd-wiki`
209
+ - `what can omd do` → `omd-help`
210
+
211
+ **Way 2: slash commands** (type `/omd` for candidates)
212
+
213
+ | Command | Equivalent skill |
214
+ |------|-----------|
215
+ | `/omd-plan <task>` | `omd-plan` |
216
+ | `/omd-execute <task>` | `omd-execute` |
217
+ | `/omd-review <task>` | `omd-review` |
218
+ | `/omd-verify <task>` | `omd-verify` |
219
+ | `/omd-team <task>` | `omd-team` |
220
+ | `/omd-autopilot <goal>` | `omd-autopilot` |
221
+ | `/omd-ralph <goal>` | `omd-ralph` |
222
+ | `/omd-deep-interview <topic>` | `omd-deep-interview` |
223
+ | `/omd-ralplan <desc>` | `omd-ralplan` |
224
+ | `/omd-research <question>` | `omd-research` |
225
+ | `/omd-autoresearch <task>` | `omd-autoresearch` |
226
+ | `/omd-ultragoal <goal>` | `omd-ultragoal` |
227
+ | `/omd-pyramid <content>` | `omd-pyramid` |
228
+
229
+ The agent loads the matching skill, runs that mode, and reports progress via the HUD.
230
+
231
+ ## Why skills + bundle/preset, not new tools
232
+
233
+ DSH's native multi-agent primitives (`workflow` pipelines/parallel, `subagent` fan-out, `ralph` fresh-agent loops, `goal` cross-turn objectives) **already cover OMC's orchestration semantics**. oh-my-dsh therefore adds no new host tools or runtime — it distills "which primitive to use, when, how to orchestrate, and how to close out" into reusable skills.
234
+
235
+ Distribution reuses DSH's native mechanisms: `cordis.patch.yml` + the `dsh.bundle` manifest make `dsh plugin add` install a **bundle** (global commands + skills), and `agent.cordis.yml` makes it an **agent preset** (per-session persona + commands + skills). The slash-command `commands/omd-commands.mjs` is an ESM plugin that injects DSH's built-in `commands` registry — zero runtime risk, survives DSH upgrades.
236
+
237
+ ## Extending
238
+
239
+ - **Add a mode**: add `skills/omd-xxx/SKILL.md` (YAML frontmatter with `name` + `description`).
240
+ - **Add a command**: append an entry to the `MODES` array in `commands/omd-commands.mjs`.
241
+ - **Change the persona**: edit the `persona` row at the top of `agent.cordis.yml`. Keep the `prefix:` key the row's schema requires, and reference only registered prompt variables — `{{provider}}` / `{{model}}` today. The working directory is injected as its own runtime-context section, so a `{{cwd}}` reference fails prompt assembly for every turn (guard: `tests/preset-contract.test.mjs`).
242
+ - **Make a skill global**: use the bundle (`dsh plugin add`) or copy `skills/*` to `${DSH_HOME}/skills/`.
243
+
244
+ ## License
245
+
246
+ MIT. Inspired by [oh-my-claudecode](https://github.com/Yeachan-Heo/oh-my-claudecode).