@modus-ai/modus 0.1.7 → 0.1.8
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.
- package/package.json +1 -1
- package/templates/skills/modus-design-brief/SKILL.md +2 -2
- package/templates/skills/modus-harness/SKILL.md +3 -3
- package/templates/skills/modus-init/SKILL.md +20 -20
- package/templates/skills/modus-plan/SKILL.md +17 -17
- package/templates/skills/modus-spec/SKILL.md +6 -6
- package/templates/skills/modus-vibe/SKILL.md +7 -7
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: modus-design-brief
|
|
3
|
-
description: 在代码开发前生成结构化的设计方案(design-brief),将需求分析信息转化为 LLM 可直接消费的实现指南。由 modus-plan、modus-spec 内部调用(落盘为 design-brief.md),或由 modus-vibe 内联调用(注入上下文,不落盘)。触发条件:plan/spec/vibe Skill 内部 Step
|
|
3
|
+
description: 在代码开发前生成结构化的设计方案(design-brief),将需求分析信息转化为 LLM 可直接消费的实现指南。由 modus-plan、modus-spec 内部调用(落盘为 design-brief.md),或由 modus-vibe 内联调用(注入上下文,不落盘)。触发条件:plan/spec/vibe Skill 内部 Step 6 调用,或用户直接运行 @modus-design-brief。
|
|
4
4
|
allowed-tools: Read, Write, Glob, Bash
|
|
5
5
|
disable: false
|
|
6
6
|
---
|
|
@@ -305,7 +305,7 @@ public enum {EnumName} {
|
|
|
305
305
|
|
|
306
306
|
### plan / spec 模式调用方式
|
|
307
307
|
|
|
308
|
-
在 Step
|
|
308
|
+
在 Step 6 中,直接调用本 Skill,传入以下参数:
|
|
309
309
|
```
|
|
310
310
|
output_path: modus/plans/{name}/design-brief.md # plan 模式
|
|
311
311
|
output_path: modus/changes/{name}/design-brief.md # spec 模式
|
|
@@ -85,7 +85,7 @@ B. 强制继续(无业务上下文,风险较高)
|
|
|
85
85
|
- 创建工作目录:`modus/plans/active/{story-id}/`
|
|
86
86
|
- 扫描目录,若存在部分产出物(含 HANDOFF 块),从断点处继续
|
|
87
87
|
|
|
88
|
-
### Step
|
|
88
|
+
### Step 1:澄清意图(仅全新流程)⏸️ 【人工交互节点】
|
|
89
89
|
|
|
90
90
|
读取 TAPD Story 内容后,在启动 SubAgent 01 之前,先确认关键信息:
|
|
91
91
|
|
|
@@ -115,7 +115,7 @@ B. 强制继续(无业务上下文,风险较高)
|
|
|
115
115
|
启动 Harness 流程...
|
|
116
116
|
```
|
|
117
117
|
|
|
118
|
-
### Step
|
|
118
|
+
### Step 2:INIT——知识注入
|
|
119
119
|
|
|
120
120
|
**Level 1 → Level 2 加载:**
|
|
121
121
|
基于用户确认的业务域,调用 SubAgent 00(模式 B:增量更新):
|
|
@@ -261,4 +261,4 @@ feat: {业务摘要}
|
|
|
261
261
|
5. Gate 失败 → 按规则处理(重入/上报)
|
|
262
262
|
6. 输出本轮进度卡片
|
|
263
263
|
7. 若 SubAgent 07 完成 → 触发 ARCHIVE 知识提取(SubAgent 00 模式 D)
|
|
264
|
-
8. 等待 SubAgent 写入产出物,重复 Step
|
|
264
|
+
8. 等待 SubAgent 写入产出物,重复 Step 2
|
|
@@ -21,9 +21,9 @@ disable: false
|
|
|
21
21
|
|
|
22
22
|
读取 `modus/config.yaml`(若存在),提取 `constitution` 字段中的硬性约束,作为整个初始化过程的最高优先级约束。
|
|
23
23
|
|
|
24
|
-
若 `modus/config.yaml` 不存在,将在 Step
|
|
24
|
+
若 `modus/config.yaml` 不存在,将在 Step 7 创建默认配置。
|
|
25
25
|
|
|
26
|
-
### Step
|
|
26
|
+
### Step 1:扫描已有 AI 工具配置
|
|
27
27
|
|
|
28
28
|
在扫描业务代码之前,先读取项目中已有的 AI 工具配置文件,将存量规则、上下文和 MCP 配置融入 Modus 知识库,避免重复发明轮子。
|
|
29
29
|
|
|
@@ -55,11 +55,11 @@ disable: false
|
|
|
55
55
|
|
|
56
56
|
2. **技术栈信息**(`techStack` 字段)
|
|
57
57
|
- 从 `CLAUDE.md` 中寻找构建命令、框架名称等技术栈线索
|
|
58
|
-
- 与代码文件检测结果合并,用于 Step
|
|
58
|
+
- 与代码文件检测结果合并,用于 Step 7 的技术知识 Skill
|
|
59
59
|
|
|
60
60
|
3. **编码规范 / 团队约定**(→ `modus-team-conventions` Skill)
|
|
61
61
|
- 将各工具中找到的约定规则(命名规范、禁止模式、最佳实践等)汇总
|
|
62
|
-
- 在 Step
|
|
62
|
+
- 在 Step 6 生成团队约定 Skill 时,把这些规则作为**基础输入**,标注来源(如 `[来源: .cursor/rules/naming.mdc]`)
|
|
63
63
|
- 避免重复:如果规则已在其他 Skill 中描述,仅添加引用
|
|
64
64
|
|
|
65
65
|
4. **MCP 服务器配置**(→ `modus/config.yaml` `mcpServers` 字段)
|
|
@@ -88,11 +88,11 @@ disable: false
|
|
|
88
88
|
继续?[Y/n]
|
|
89
89
|
```
|
|
90
90
|
|
|
91
|
-
若用户确认,继续 Step
|
|
91
|
+
若用户确认,继续 Step 2;若无任何已有配置,直接进入 Step 2。
|
|
92
92
|
|
|
93
93
|
---
|
|
94
94
|
|
|
95
|
-
### Step
|
|
95
|
+
### Step 2:项目扫描与业务分类
|
|
96
96
|
|
|
97
97
|
启动一个「项目分析 SubAgent」,执行以下操作:
|
|
98
98
|
|
|
@@ -120,7 +120,7 @@ disable: false
|
|
|
120
120
|
是否确认以上分类?(可以修改/新增/删除)
|
|
121
121
|
```
|
|
122
122
|
|
|
123
|
-
### Step
|
|
123
|
+
### Step 3:用户确认
|
|
124
124
|
|
|
125
125
|
等待用户确认或修改业务域列表。用户可以:
|
|
126
126
|
- 直接回复「确认」继续
|
|
@@ -128,7 +128,7 @@ disable: false
|
|
|
128
128
|
- 增加遗漏的业务域
|
|
129
129
|
- 删除不需要的域
|
|
130
130
|
|
|
131
|
-
### Step
|
|
131
|
+
### Step 4:生成业务 Skill(Layer 2)—— 并行执行
|
|
132
132
|
|
|
133
133
|
用户确认后,**同时**为每个业务域启动独立的「Skills Builder SubAgent」(`modus-harness-00-skills-builder` Skill,模式 A),并行生成所有业务 Skill 文件。各域之间完全独立,无需等待彼此完成。
|
|
134
134
|
|
|
@@ -145,11 +145,11 @@ SubAgent-3 (user域) ──► 扫描用户相关文件 ──► 生成 modu
|
|
|
145
145
|
│ │
|
|
146
146
|
└──────────────── 所有 SubAgent 完成 ──────────┘
|
|
147
147
|
↓
|
|
148
|
-
进入 Step
|
|
148
|
+
进入 Step 6(串行)
|
|
149
149
|
```
|
|
150
150
|
|
|
151
151
|
**每个 SubAgent 的任务(模式 A 标准流程):**
|
|
152
|
-
1. 接收域名称 + 代表性文件路径列表(来自 Step
|
|
152
|
+
1. 接收域名称 + 代表性文件路径列表(来自 Step 2 的分析结果)
|
|
153
153
|
2. 深度扫描该域的 Service/Manager/Mapper/Domain/Entity 层文件
|
|
154
154
|
3. 提取:核心实体、业务规则、API 契约、关键代码模式
|
|
155
155
|
4. 生成标准格式的 Skill 文件(含 `key_files`、`maturity: draft`)
|
|
@@ -164,7 +164,7 @@ SubAgent-3 (user域) ──► 扫描用户相关文件 ──► 生成 modu
|
|
|
164
164
|
|
|
165
165
|
每个 Skill 文件遵循 Business Skill 标准格式(含 maturity/last_referenced/usage_count 字段)。
|
|
166
166
|
|
|
167
|
-
### Step
|
|
167
|
+
### Step 5:多平台同步(Business Skills)
|
|
168
168
|
|
|
169
169
|
Business Skills 全部生成后,读取 `modus/config.yaml` 的 `platforms` 字段,将每个业务 Skill 同步到其他已选平台。
|
|
170
170
|
|
|
@@ -234,13 +234,13 @@ alwaysApply: false
|
|
|
234
234
|
|
|
235
235
|
---
|
|
236
236
|
|
|
237
|
-
### Step
|
|
237
|
+
### Step 6:生成团队约定 Skill(Layer 0-T)
|
|
238
238
|
|
|
239
239
|
调用「Skills Builder SubAgent」(模式 E:团队约定初始化):
|
|
240
240
|
|
|
241
241
|
从以下来源提取团队规范(**按优先级排列**):
|
|
242
242
|
|
|
243
|
-
1. **Step
|
|
243
|
+
1. **Step 1 扫描结果**(最高优先级)
|
|
244
244
|
- 从 `CLAUDE.md` / `AGENTS.md` / `.cursor/rules/` / `.codebuddy/rules/` 提取的编码规范
|
|
245
245
|
- 每条规则注明来源,例如:`[来源: .cursor/rules/naming.mdc]`
|
|
246
246
|
- 若同一规则在多个工具中重复,合并为一条并列出所有来源
|
|
@@ -253,26 +253,26 @@ alwaysApply: false
|
|
|
253
253
|
|
|
254
254
|
生成文件:`.codebuddy/skills/modus-team-conventions/SKILL.md`
|
|
255
255
|
|
|
256
|
-
**注意:** 若 Step
|
|
256
|
+
**注意:** 若 Step 1 中已有来自其他工具的规则,在 Skill 文件开头添加来源声明:
|
|
257
257
|
```markdown
|
|
258
258
|
> 本 Skill 融合了以下 AI 工具的已有配置:Claude Code (CLAUDE.md)、Cursor (.cursor/rules/)
|
|
259
259
|
> 原始文件保持不变,Modus 仅在此处做统一索引。
|
|
260
260
|
```
|
|
261
261
|
|
|
262
|
-
### Step
|
|
262
|
+
### Step 7:生成技术知识 Skill(Layer 1)
|
|
263
263
|
|
|
264
264
|
调用「Skills Builder SubAgent」(模式 E:技术知识初始化),初始化技术知识骨架:
|
|
265
265
|
|
|
266
266
|
生成文件:`.codebuddy/skills/modus-tech-wiki/SKILL.md`
|
|
267
267
|
|
|
268
268
|
初始内容来源(按优先级):
|
|
269
|
-
1. **Step
|
|
269
|
+
1. **Step 1 扫描结果中的技术信息**
|
|
270
270
|
- `CLAUDE.md` 中记录的构建命令、测试命令(如 `mvn test`、`npm run test`)
|
|
271
271
|
- `.continue/config.json` 中的模型/上下文提供者配置
|
|
272
272
|
2. 从构建文件提取的技术栈(`pom.xml` → Spring Boot 版本、`package.json` → 框架版本等)
|
|
273
273
|
3. 占位符章节(反模式库、架构决策、跨项目经验——待后续工作流积累)
|
|
274
274
|
|
|
275
|
-
### Step
|
|
275
|
+
### Step 8:生成知识全景目录(knowledge-catalog.md)
|
|
276
276
|
|
|
277
277
|
在 `modus/knowledge-catalog.md` 创建全景索引,内容如下:
|
|
278
278
|
|
|
@@ -300,7 +300,7 @@ updated: {YYYY-MM-DD}
|
|
|
300
300
|
衰减规则:proven 12 个月未引用 → verified;verified 6 个月未引用 → draft(标注 ⚠️ 可能已过时)
|
|
301
301
|
```
|
|
302
302
|
|
|
303
|
-
### Step
|
|
303
|
+
### Step 9:初始化 modus/config.yaml(若不存在)
|
|
304
304
|
|
|
305
305
|
若项目尚无 `modus/config.yaml`,生成默认配置:
|
|
306
306
|
|
|
@@ -327,7 +327,7 @@ constitution:
|
|
|
327
327
|
|
|
328
328
|
提示用户填写 `constitution` 字段,以便后续命令无需重复说明项目约束。
|
|
329
329
|
|
|
330
|
-
### Step
|
|
330
|
+
### Step 10:完成回报
|
|
331
331
|
|
|
332
332
|
所有业务 Skill 生成完毕后,回复用户:
|
|
333
333
|
|
|
@@ -383,7 +383,7 @@ constitution:
|
|
|
383
383
|
|
|
384
384
|
---
|
|
385
385
|
|
|
386
|
-
### Step
|
|
386
|
+
### Step 4 补充:生成 Business Skill 时必须填写 key_files
|
|
387
387
|
|
|
388
388
|
在生成每个业务 Skill(`.codebuddy/skills/modus-biz-{domain}/SKILL.md`)时,**必须**在 frontmatter 中填写 `key_files` 字段:
|
|
389
389
|
|
|
@@ -65,7 +65,7 @@ disable: false
|
|
|
65
65
|
确认?
|
|
66
66
|
```
|
|
67
67
|
|
|
68
|
-
### Step
|
|
68
|
+
### Step 3:复杂度评估与自动分级
|
|
69
69
|
|
|
70
70
|
域确认后,在澄清之前,快速评估需求复杂度并输出分级建议:
|
|
71
71
|
|
|
@@ -119,7 +119,7 @@ disable: false
|
|
|
119
119
|
需求较简单,是否使用快速模式(跳过 design.md,仅生成 proposal + tasks)?[y/N]
|
|
120
120
|
```
|
|
121
121
|
|
|
122
|
-
### Step
|
|
122
|
+
### Step 4:澄清用户意图(AskUserQuestion)
|
|
123
123
|
|
|
124
124
|
确认域后,在正式启动规划前,提出 1-3 个关键澄清问题:
|
|
125
125
|
|
|
@@ -151,19 +151,19 @@ disable: false
|
|
|
151
151
|
开始前置更新 Skill,然后生成规划文档。
|
|
152
152
|
```
|
|
153
153
|
|
|
154
|
-
### Step
|
|
154
|
+
### Step 5:前置 Skill 更新(Level 2 加载,含 hash 检查)
|
|
155
155
|
|
|
156
156
|
确认域和意图后,对每个涉及的业务域执行以下流程(**先 hash 检查,再决定是否全量更新**):
|
|
157
157
|
|
|
158
|
-
#### Step
|
|
158
|
+
#### Step 5a:读取 Skill frontmatter(轻量操作,仅读前 20 行)
|
|
159
159
|
|
|
160
160
|
读取 `.codebuddy/skills/modus-biz-{domain}/SKILL.md` 的 YAML frontmatter,提取:
|
|
161
161
|
- `last_hash`:上次记录的 key_files 内容摘要
|
|
162
162
|
- `key_files`:关键源文件列表
|
|
163
163
|
|
|
164
|
-
若 Skill 不存在,跳到 Step
|
|
164
|
+
若 Skill 不存在,跳到 Step 5d(新建)。
|
|
165
165
|
|
|
166
|
-
#### Step
|
|
166
|
+
#### Step 5b:计算当前 key_files 的 hash
|
|
167
167
|
|
|
168
168
|
使用 Bash 对 `key_files` 列出的文件内容做 SHA-1 摘要:
|
|
169
169
|
|
|
@@ -175,19 +175,19 @@ shasum -a 1 {file1} {file2} ... | awk '{print $1}' | sort | shasum -a 1 | awk '{
|
|
|
175
175
|
- 若某个 `key_files` 中的文件不存在(可能已被重命名/删除),视为「已变化」,强制更新
|
|
176
176
|
- 若 `key_files` 为空或缺失,视为「已变化」,强制更新
|
|
177
177
|
|
|
178
|
-
#### Step
|
|
178
|
+
#### Step 5c:对比 hash,决定是否跳过
|
|
179
179
|
|
|
180
180
|
```
|
|
181
181
|
当前 hash == last_hash(且 last_hash 非空)
|
|
182
182
|
→ ✓ modus-biz-{domain} Skill 无变化(hash 匹配),跳过前置更新(节省 ~2000 tokens)
|
|
183
183
|
→ 仅更新 last_referenced 日期(不读取完整代码,不修改 Skill 内容)
|
|
184
|
-
→ 继续 Step
|
|
184
|
+
→ 继续 Step 6
|
|
185
185
|
|
|
186
186
|
当前 hash != last_hash OR last_hash 为空
|
|
187
|
-
→ 进入 Step
|
|
187
|
+
→ 进入 Step 5d 执行完整更新
|
|
188
188
|
```
|
|
189
189
|
|
|
190
|
-
#### Step
|
|
190
|
+
#### Step 5d:完整前置更新(仅在 hash 不匹配时执行)
|
|
191
191
|
|
|
192
192
|
启动「Skill 更新 SubAgent」(`modus-harness-00-skills-builder` 模式 B),执行:
|
|
193
193
|
|
|
@@ -212,7 +212,7 @@ shasum -a 1 {file1} {file2} ... | awk '{print $1}' | sort | shasum -a 1 | awk '{
|
|
|
212
212
|
|
|
213
213
|
若有未初始化的域,调用模式 A 新建 Skill(`last_hash` 留空,`key_files` 由 AI 填写)。
|
|
214
214
|
|
|
215
|
-
### Step
|
|
215
|
+
### Step 6:生成计划文档
|
|
216
216
|
|
|
217
217
|
基于更新后的 Skill 和已澄清的意图,生成文档到 `modus/plans/{name}/`。
|
|
218
218
|
|
|
@@ -222,7 +222,7 @@ shasum -a 1 {file1} {file2} ... | awk '{print $1}' | sort | shasum -a 1 | awk '{
|
|
|
222
222
|
mode: plan
|
|
223
223
|
name: {name}
|
|
224
224
|
status: in-progress
|
|
225
|
-
complexity: medium # simple | medium | complex(来自 Step
|
|
225
|
+
complexity: medium # simple | medium | complex(来自 Step 3 评估)
|
|
226
226
|
quick_mode: false # --quick flag 或 simple 复杂度时用户选择跳过 design
|
|
227
227
|
domains: [{domain1}, {domain2}]
|
|
228
228
|
completed: []
|
|
@@ -276,7 +276,7 @@ design.md ────────────► design-brief.md ────
|
|
|
276
276
|
```
|
|
277
277
|
|
|
278
278
|
**已知风险章节的生成规则:**
|
|
279
|
-
1. 从 Step
|
|
279
|
+
1. 从 Step 5 已加载的业务 Skill 内容中,提取所有 `[pitfall]` 标签条目
|
|
280
280
|
2. 结合本次改动范围(涉及的域、预估的文件变更),筛选与当前功能相关的 pitfall
|
|
281
281
|
3. 每条 pitfall 注明来源 Skill(`来源: modus-biz-{domain}` 或 `来源: modus-team-conventions`)
|
|
282
282
|
4. 若无相关 pitfall,写 `暂无已知风险(相关 Skill 中未记录 pitfall)`,而非省略章节
|
|
@@ -350,7 +350,7 @@ design.md ────────────► design-brief.md ────
|
|
|
350
350
|
|
|
351
351
|
生成每份文档后更新 `.modus-state.yaml` 的 `completed` 列表。
|
|
352
352
|
|
|
353
|
-
### Step
|
|
353
|
+
### Step 7:询问归档 ⏸️ 【人工审批节点】
|
|
354
354
|
|
|
355
355
|
```
|
|
356
356
|
计划文档已生成:
|
|
@@ -372,7 +372,7 @@ design.md ────────────► design-brief.md ────
|
|
|
372
372
|
2. 更新 `.modus-state.yaml`:`status: archived`
|
|
373
373
|
3. 回复:`✓ 已归档到 modus/plans/archive/{date}-{name}/`
|
|
374
374
|
|
|
375
|
-
### Step
|
|
375
|
+
### Step 8:后置 Skill 更新(知识回写)
|
|
376
376
|
|
|
377
377
|
归档完成后(或用户选择不归档但完成了规划),执行后置 Skill 更新(模式 C):
|
|
378
378
|
|
|
@@ -393,14 +393,14 @@ design.md ────────────► design-brief.md ────
|
|
|
393
393
|
maturity 变化: modus-biz-order draft→verified
|
|
394
394
|
```
|
|
395
395
|
|
|
396
|
-
### Step
|
|
396
|
+
### Step 9:多平台 Skill 同步(后置)
|
|
397
397
|
|
|
398
398
|
知识回写完成后,对所有本次**更新或新建**的业务 Skill 执行多平台同步。
|
|
399
399
|
|
|
400
400
|
**逻辑:**
|
|
401
401
|
|
|
402
402
|
1. 读取 `modus/config.yaml` 的 `platforms` 字段
|
|
403
|
-
2. 对受影响的每个业务域(Step
|
|
403
|
+
2. 对受影响的每个业务域(Step 5 前置更新 / 新建的域),按以下规则同步:
|
|
404
404
|
- **Claude** → 写入 `.claude/agents/modus-biz-{domain}.md`(覆盖旧版本)
|
|
405
405
|
- **Cursor** → 写入 `.cursor/rules/modus-biz-{domain}.mdc`(带 frontmatter,覆盖旧版本)
|
|
406
406
|
- **Copilot** → 在 `.github/copilot-instructions.md` 中替换对应域的标记段落
|
|
@@ -90,7 +90,7 @@ disable: false
|
|
|
90
90
|
开始前置更新 Skill,然后生成规范文档。
|
|
91
91
|
```
|
|
92
92
|
|
|
93
|
-
### Step 4:前置 Skill 更新(Level 2 加载,含 hash 检查,同 /modus:plan Step
|
|
93
|
+
### Step 4:前置 Skill 更新(Level 2 加载,含 hash 检查,同 /modus:plan Step 5)
|
|
94
94
|
|
|
95
95
|
对每个涉及的业务域执行以下流程(**先 hash 检查,再决定是否全量更新**):
|
|
96
96
|
|
|
@@ -254,7 +254,7 @@ proposal.md
|
|
|
254
254
|
|
|
255
255
|
生成每份文档后更新 `.modus-state.yaml` 的 `completed` 列表和 `scenarios_covered`。
|
|
256
256
|
|
|
257
|
-
### Step
|
|
257
|
+
### Step 6:可选实现验证(verify)
|
|
258
258
|
|
|
259
259
|
文档生成后,询问用户是否执行实现验证(适用于代码已开发完成、准备归档前的场景):
|
|
260
260
|
|
|
@@ -320,7 +320,7 @@ git diff --name-only HEAD~3 | grep -E 'Test\.java|Spec\.java|test.*\.py'
|
|
|
320
320
|
|
|
321
321
|
验证不阻断归档,但警告需用户显式确认后方可继续。
|
|
322
322
|
|
|
323
|
-
### Step
|
|
323
|
+
### Step 7:规格冲突检测 + 询问归档 ⏸️ 【人工审批节点】
|
|
324
324
|
|
|
325
325
|
**归档前冲突检测(自动执行):**
|
|
326
326
|
|
|
@@ -352,7 +352,7 @@ grep -l "### Requirement:" modus/specs/{domain}/spec.md 2>/dev/null
|
|
|
352
352
|
modus/changes/{name}/tasks.md
|
|
353
353
|
modus/changes/{name}/.modus-state.yaml
|
|
354
354
|
|
|
355
|
-
实现验证: {passed_with_warnings / passed / skipped} [Step
|
|
355
|
+
实现验证: {passed_with_warnings / passed / skipped} [Step 6 结果]
|
|
356
356
|
冲突检测: {通过 / N 项需确认}
|
|
357
357
|
|
|
358
358
|
是否归档?归档后:
|
|
@@ -371,7 +371,7 @@ grep -l "### Requirement:" modus/specs/{domain}/spec.md 2>/dev/null
|
|
|
371
371
|
|
|
372
372
|
归档完成后更新 `.modus-state.yaml`:`status: archived`。
|
|
373
373
|
|
|
374
|
-
### Step
|
|
374
|
+
### Step 8:后置 Skill 更新(知识提取与回写)
|
|
375
375
|
|
|
376
376
|
归档完成后,调用 `modus-harness-00-skills-builder` 模式 C,从 delta specs 中系统性提取知识:
|
|
377
377
|
|
|
@@ -390,7 +390,7 @@ grep -l "### Requirement:" modus/specs/{domain}/spec.md 2>/dev/null
|
|
|
390
390
|
- knowledge-catalog.md 已更新(order 域 maturity: draft→verified)
|
|
391
391
|
```
|
|
392
392
|
|
|
393
|
-
### Step
|
|
393
|
+
### Step 9:多平台 Skill 同步(后置)
|
|
394
394
|
|
|
395
395
|
知识提取与回写完成后,对本次涉及的业务域执行多平台同步。
|
|
396
396
|
|
|
@@ -124,7 +124,7 @@ B. 继续使用降级模式(无业务上下文,结果质量可能降低)
|
|
|
124
124
|
如果理解无误,我来开始实现。
|
|
125
125
|
```
|
|
126
126
|
|
|
127
|
-
### Step
|
|
127
|
+
### Step 6:内联设计思考(Design Brief CoT)
|
|
128
128
|
|
|
129
129
|
**触发:** 每次编码任务前强制执行,不可跳过(包括 `--quick` 模式)。
|
|
130
130
|
**产出:** 内联于当前 LLM 上下文,**不写入任何文件**。
|
|
@@ -183,18 +183,18 @@ API: {Facade/Controller 类/方法}
|
|
|
183
183
|
- 节 9 追踪矩阵在 vibe 模式下用「需求点→实现→校验方式」代替完整 Sprint 映射
|
|
184
184
|
- 若 `--quick` 模式,节 3/4/9 可简化为一行摘要,但节 8 禁止事项必须完整输出
|
|
185
185
|
|
|
186
|
-
### Step
|
|
186
|
+
### Step 7:执行编码任务(Level 3 按需加载)
|
|
187
187
|
|
|
188
|
-
基于 Step
|
|
188
|
+
基于 Step 6 内联设计方案和澄清后的意图,执行用户的编码请求:
|
|
189
189
|
|
|
190
|
-
- 以 Step
|
|
190
|
+
- 以 Step 6 内联设计方案中节 5(实现蓝图)为编码路线图
|
|
191
191
|
- 严格遵守节 8(禁止事项)——这是 constitution hard_rules 和 Skill [pitfall] 的汇总
|
|
192
192
|
- 引用节 7(代码生成提示)中的现有类路径,不凭空创造类名
|
|
193
193
|
- **Level 3 加载:** 需要具体代码实现时,按需读取 Skill 中 `关键文件索引` 指向的实际代码文件(而非预先全量读取)
|
|
194
194
|
- 对不确定的业务规则,优先参考 Skill 中的规则描述
|
|
195
195
|
- 如发现 Skill 中记录有误或过时,在回复末尾标注「Skill 更新建议」
|
|
196
196
|
|
|
197
|
-
### Step
|
|
197
|
+
### Step 8(可选):Skill 更新建议
|
|
198
198
|
|
|
199
199
|
如果在编码过程中发现业务 Skill 有遗漏或错误,在回复末尾追加:
|
|
200
200
|
|
|
@@ -204,7 +204,7 @@ API: {Facade/Controller 类/方法}
|
|
|
204
204
|
- [pitfall] order 域:批量操作时若不分页会导致内存溢出
|
|
205
205
|
```
|
|
206
206
|
|
|
207
|
-
### Step
|
|
207
|
+
### Step 9:写入 Session 日志
|
|
208
208
|
|
|
209
209
|
编码完成后,将本次会话**追加**(append-only,禁止覆盖原有内容)到 `modus/sessions/vibe-log.md`:
|
|
210
210
|
|
|
@@ -224,7 +224,7 @@ API: {Facade/Controller 类/方法}
|
|
|
224
224
|
|
|
225
225
|
## 氛围编程原则
|
|
226
226
|
|
|
227
|
-
- **先设计再编码**:Step
|
|
227
|
+
- **先设计再编码**:Step 6 内联设计方案是编码的前置必要步骤,不可省略
|
|
228
228
|
- **设计驱动**:编码时以内联设计方案的实现蓝图(节 5)为路线图,禁止事项(节 8)为红线
|
|
229
229
|
- **有据可依**:引用的实体、字段、接口名必须来自 Skill 或已有代码
|
|
230
230
|
- **风格一致**:生成的代码应与项目现有风格保持一致
|