@modus-ai/modus 0.2.2 → 0.2.4

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 (42) hide show
  1. package/README.md +9 -9
  2. package/dist/cli/index.js +1 -1
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/commands/init.js +1 -1
  5. package/dist/commands/init.js.map +1 -1
  6. package/dist/generators/claude.js +24 -24
  7. package/dist/generators/claude.js.map +1 -1
  8. package/dist/generators/codebuddy.js +24 -24
  9. package/dist/generators/codebuddy.js.map +1 -1
  10. package/dist/generators/cursor.d.ts +2 -1
  11. package/dist/generators/cursor.d.ts.map +1 -1
  12. package/dist/generators/cursor.js +46 -70
  13. package/dist/generators/cursor.js.map +1 -1
  14. package/package.json +1 -1
  15. package/schemas/harness-schema.yaml +7 -7
  16. package/schemas/knowledge-schema.yaml +12 -0
  17. package/templates/agents/{modus-harness-01-analysis.md → modus-analyst.md} +2 -2
  18. package/templates/agents/{modus-harness-07-deploy.md → modus-deployer.md} +2 -2
  19. package/templates/agents/{modus-harness-01-5-design.md → modus-designer.md} +3 -3
  20. package/templates/agents/{modus-harness-02-dev.md → modus-developer.md} +2 -2
  21. package/templates/agents/{modus-harness-04-perf.md → modus-perf-auditor.md} +2 -2
  22. package/templates/agents/{modus-harness-06-review.md → modus-reviewer.md} +2 -2
  23. package/templates/agents/{modus-harness-05-security.md → modus-security-auditor.md} +2 -2
  24. package/templates/agents/{modus-harness-00-skills-builder.md → modus-skill-creator.md} +2 -2
  25. package/templates/agents/{modus-harness-03-test.md → modus-tester.md} +2 -2
  26. package/templates/commands/vibe.md +12 -8
  27. package/templates/knowledge-catalog.md +27 -0
  28. package/templates/skills/{modus-harness-agents/01-analysis → modus-agents/analyst}/SKILL.md +2 -2
  29. package/templates/skills/{modus-harness-agents/07-deploy → modus-agents/deployer}/SKILL.md +2 -2
  30. package/templates/skills/{modus-harness-agents/01-5-design → modus-agents/designer}/SKILL.md +2 -2
  31. package/templates/skills/{modus-harness-agents/02-dev → modus-agents/developer}/SKILL.md +2 -2
  32. package/templates/skills/{modus-harness-agents/04-perf → modus-agents/perf-auditor}/SKILL.md +2 -2
  33. package/templates/skills/{modus-harness-agents/06-review → modus-agents/reviewer}/SKILL.md +2 -2
  34. package/templates/skills/{modus-harness-agents/05-security → modus-agents/security-auditor}/SKILL.md +2 -2
  35. package/templates/skills/{modus-harness-agents/00-skills-builder → modus-agents/skill-creator}/SKILL.md +9 -9
  36. package/templates/skills/{modus-harness-agents/03-test → modus-agents/tester}/SKILL.md +2 -2
  37. package/templates/skills/modus-design-brief/SKILL.md +1 -1
  38. package/templates/skills/modus-harness/SKILL.md +16 -16
  39. package/templates/skills/modus-init/SKILL.md +58 -29
  40. package/templates/skills/modus-plan/SKILL.md +1 -1
  41. package/templates/skills/modus-spec/SKILL.md +2 -2
  42. package/templates/skills/modus-vibe/SKILL.md +200 -93
@@ -1,19 +1,23 @@
1
1
  ---
2
2
  name: modus-vibe
3
- description: Use this skill when executing /modus:vibe command for context-aware vibe coding. Loads relevant business Skills before coding so AI works as a knowledgeable project member. Trigger on /modus:vibe command or when user wants to code with business context. Supports --quick flag for simple single-file changes.
3
+ description: Use this skill when executing /modus:vibe command for context-aware vibe coding. Intelligently loads relevant business Skills, auto-syncs stale knowledge, and applies rule-driven AskUserQuestion before coding so AI works as a knowledgeable project member. Trigger on /modus:vibe command or when user wants to code with business context.
4
4
  allowed-tools: Read, Write, Glob, Bash
5
5
  disable: false
6
6
  ---
7
7
 
8
- # modus-vibe(氛围编程)
8
+ # modus-vibe(智能氛围编程)
9
9
 
10
10
  **触发条件:** 用户运行 `/modus:vibe [描述]` 时使用此 Skill。
11
11
 
12
- 支持快速模式:`/modus:vibe --quick [描述]` 跳过 Skill 预更新和域确认,适合简单的单文件改动。
12
+ ---
13
13
 
14
14
  ## 职责
15
15
 
16
- 氛围编程入口。在编码前先通过**三级渐进加载**获取相关业务上下文,让 AI 以「懂业务的资深开发者」身份工作,而不是从零开始理解项目。
16
+ 氛围编程入口。在编码前通过**三级渐进加载**获取相关业务上下文,让 AI 以「懂业务的资深开发者」身份工作。相比传统 vibe 模式,增加了三大智能机制:
17
+
18
+ 1. **智能分析引擎**:自动判断涉及哪些域(置信度 ≥ 85% 时无需用户确认)、任务复杂度(Simple/Medium/Complex)、歧义风险
19
+ 2. **Skill 前置同步**:加载前静默检查知识是否过时,按需更新后再加载,用户仅看到一行状态提示
20
+ 3. **Skill 后置写回**:编码结束后自动将新发现的知识写入 Skill 文件,形成知识积累闭环
17
21
 
18
22
  ---
19
23
 
@@ -34,12 +38,14 @@ constitution:
34
38
 
35
39
  若文件不存在或 `constitution` 为空,跳过此步。
36
40
 
41
+ ---
42
+
37
43
  ### Step 1:Level 1 加载——读知识目录(~200 tokens)
38
44
 
39
45
  读取 `modus/knowledge-catalog.md`(全景目录索引):
40
46
  - 了解当前项目有哪些可用的 Skill
41
- - 识别各 Skill 的 maturity 状态
42
- - 为 Step 2 的域匹配做准备
47
+ - 识别各 Skill 的 maturity 状态、最近引用时间
48
+ - 为 Step 2 的智能分析做准备
43
49
 
44
50
  **如果 `knowledge-catalog.md` 不存在:**
45
51
 
@@ -54,156 +60,244 @@ B. 继续使用降级模式(无业务上下文,结果质量可能降低)
54
60
  ```
55
61
 
56
62
  - 选 A → 执行 `/modus:init` 流程,完成后继续
57
- - 选 B → 跳过知识加载,直接进入编码
63
+ - 选 B → 跳过 Step 2-3,直接进入 Step 4(歧义检测仍然执行)
58
64
 
59
- ### Step 2:快速模式判断
65
+ ---
60
66
 
61
- **如果用户使用 `--quick` 标志:**
62
- - 跳过 Step 3(域识别与确认)和 Step 4(Level 2 加载)
63
- - 直接进入 Step 5(澄清意图)
64
- - 仍然遵守 Step 0 读取的 constitution 约束
67
+ ### Step 2:智能分析引擎
65
68
 
66
- **如果是普通模式,继续 Step 3。**
69
+ 基于用户 prompt 和 knowledge-catalog 内容,推导以下三个维度,**不需要读取完整 SKILL.md**:
67
70
 
68
- ### Step 3:域匹配与确认(Level 2 预备)
71
+ #### 2A:域匹配与置信度
69
72
 
70
- 基于 `knowledge-catalog.md` 的目录信息,结合用户 prompt,**无需读取完整 SKILL.md**,仅凭目录中的一行摘要判断涉及哪些业务域:
73
+ 对每个 catalog 中的业务域,计算匹配置信度:
71
74
 
72
75
  ```
73
- 根据你的需求,我认为涉及以下业务域:
76
+ 匹配信号(每命中一项 +分):
77
+ ★★★ 高权重(+30%):用户 prompt 直接提及域名关键词、Skill 描述的核心实体名
78
+ ★★ 中权重(+20%):用户 prompt 提及该域的核心操作动词(如「审批」命中 approval 域)
79
+ ★ 低权重(+10%):间接业务词(如「金额」可能命中 payment 域)
80
+ ```
74
81
 
75
- ✓ order(订单域)— 订单创建、状态流转 [verified] → 将加载完整 Skill
76
- payment(支付域)— 支付发起、回调 [proven] → 将加载完整 Skill
77
- ? logistics(物流域)— 发货跟踪 [未初始化] → 是否顺便新建?
82
+ **输出规则:**
83
+ - 置信度 ≥ 85% 的**单个域**:自动选中,无需用户确认。在 Step 3 输出前标注 `[自动匹配: {domain} 域]`
84
+ - 多个域或最高置信度 < 85%:展示候选列表,等待用户确认(可直接回车接受建议)
78
85
 
79
- 确认以上分类?(直接回车确认,或告诉我调整)
80
86
  ```
87
+ 根据你的需求,我匹配到以下业务域:
81
88
 
82
- **`⚠️` 标注的 Skill** 表示可能已过时,提醒用户:「该 Skill 距上次引用已超过阈值,内容可能过时,将以代码为准」。
89
+ order(订单域)— 订单创建、状态流转 [verified] 置信度 92% → 自动加载
90
+ ? payment(支付域)— 支付发起、回调 [proven] 置信度 60% → 是否也需要?
83
91
 
84
- 若用户确认新建缺失的 Skill,调用 Skills Builder SubAgent(模式 A)新建后再继续。
92
+ 直接回车确认 order 域,或告诉我调整。
93
+ ```
85
94
 
86
- ### Step 4:Level 2 加载——读匹配 Skill(~3000 tokens/个)
95
+ #### 2B:任务复杂度评估
87
96
 
88
- 读取用户确认的业务域对应的完整 SKILL.md 文件,将其内容作为背景知识。
97
+ | 复杂度 | 判定条件 | 后续影响 |
98
+ |--------|---------|---------|
99
+ | `Simple` | 单域 / 有明确接口名和功能描述 / 无跨域依赖 / 改动范围可预估为单文件 | Design Brief 精简为 3 节 |
100
+ | `Medium` | 跨域依赖 / 涉及状态机或事务 / 需求描述有一处明显歧义 | Design Brief 完整 9 节 |
101
+ | `Complex` | 多域 + 多处歧义 / 涉及 Pitfall 命中 / prompt 含「大概/可能/随便/看着来/都行」等模糊词 | Design Brief 完整 9 节 + 风险标注 |
89
102
 
90
- **注意事项:**
91
- - 只加载确认相关的域,不相关的域 Skill **不读取**(节省 token)
92
- - 若 Skill 的 `maturity` 为 `draft`,提示:「该 Skill 较新,若与代码有出入,以代码为准」
93
- - 对 Skill 中的内容进行「有则更新无则新增」的感知:
94
- - 若当前代码与 Skill 记录有出入,以代码为准,并在回复末尾标注「Skill 更新建议」
95
- - 若 Skill 没有覆盖此次需求的概念,在编码过程中补充
103
+ #### 2C:输出分析摘要
96
104
 
97
- ### Step 5:澄清用户意图(AskUserQuestion)
105
+ 完成 2A / 2B 后,在内联上下文中记录(不输出给用户):
98
106
 
99
- 在开始编码前,确保充分理解用户意图。根据用户 prompt 和已加载的 Skill 上下文,提出 1-3 个关键澄清问题。
107
+ ```
108
+ [ANALYSIS]
109
+ domain: {domain} confidence: {%}
110
+ complexity: Simple | Medium | Complex
111
+ ambiguity_rules_hit: [R1, R3, ...] ← 命中的规则 ID,见 Step 4
112
+ ```
113
+
114
+ ---
115
+
116
+ ### Step 3:条件性 Skill 前置同步(轻感知)
117
+
118
+ 对 Step 2 确认的每个业务域,执行以下检查:
100
119
 
101
- **提问原则:**
102
- - 只问影响实现方向的关键问题,不问可以从代码中推断的细节
103
- - prompt 已足够明确(有具体接口名、明确功能描述),可跳过此步
104
- - Skill `[pitfall]` 条目中检查是否存在与本次需求相关的已知坑,若有则主动提醒
120
+ #### 触发更新的条件(满足任一即触发)
121
+
122
+ - `maturity = stale`(已被 skill-creator 标记为过期)
123
+ - catalog `last_referenced` 超过 90 天
124
+ - 调用 `modus-skill-creator` 模式 B 的 hash 检查发现 key_files 有变化
125
+
126
+ #### 执行方式
105
127
 
106
- **示例问题类型:**
107
128
  ```
108
- 为了准确实现,我需要确认几点:
129
+ 触发更新 → 静默调用 modus-skill-creator 模式 B(增量更新)
130
+ → 更新完成后输出单行状态:
131
+ [已同步 {domain} 域知识]
109
132
 
110
- 1. [范围] 这次修改只影响 {domain} 域,还是还涉及 {other domain}?
111
- 2. [行为] {具体业务规则的歧义点,如「审批拒绝后是否可以重新提交」}?
112
- 3. [约束] 有没有特殊的兼容性要求(如需要兼容历史数据 / 不能修改现有接口签名)?
113
- 4. [风险] ⚠️ 此功能涉及到已知的 {pitfall},请确认是否已考虑到?
133
+ 无需更新 直接进入 Step 4,不输出任何提示
114
134
  ```
115
135
 
116
- 等待用户回答后,输出理解摘要:
136
+ **注意:** 整个同步过程对用户完全透明,无需确认,不中断流程。若同步耗时较长(超过 3 秒),追加进度提示 `[同步中...]`。
137
+
138
+ ---
139
+
140
+ ### Step 4:规则驱动 AskUserQuestion
141
+
142
+ #### 歧义规则清单
143
+
144
+ 根据 Step 2C 中记录的 `ambiguity_rules_hit`,判断是否需要提问。
145
+
146
+ | 规则 ID | 触发条件 | 问题类型 |
147
+ |---------|---------|---------|
148
+ | R1 | 涉及 ≥ 2 个域且边界不清(用户未明确主导域) | [范围] 哪个域是主导?期望在哪一层修改? |
149
+ | R2 | prompt 含「可能/大概/随便/看着来/都行/先这样」等模糊词 | [需求] 明确期望行为和完成标准 |
150
+ | R3 | catalog 的 `[pitfall]` 摘要有命中条目 | [风险] 确认已知坑的处理方案 |
151
+ | R4 | 描述缺少关键决策参数(如幂等策略/权限范围/兼容性要求) | [约束] 补充边界条件 |
152
+ | R5 | 复杂度为 `Complex` 且 `modus/plans/` 下无对应 `plan.md` | [设计] 建议先 /modus:plan 还是直接 vibe? |
153
+
154
+ #### 提问决策
117
155
 
118
156
  ```
119
- 好的,我的理解是:
120
- - {要点1}
121
- - {要点2}
122
- - 遵守项目约束:{来自 constitution 的关键规则}
157
+ 不命中任何规则 → 跳过,直接进入 Step 5,输出:
158
+ [任务清晰,直接开始]
159
+
160
+ 命中 1-2 条规则 提出对应问题(最多 2 个),等待用户回答后继续
161
+
162
+ 命中 ≥ 3 条规则 → 优先选择最高影响的 2 条规则提问(R5 > R1 > R3 > R4 > R2)
163
+ ```
164
+
165
+ **提问格式(命中时):**
166
+
167
+ ```
168
+ 编码前需确认几点:
169
+
170
+ 1. [{问题类型}] {具体问题}
171
+ 2. [{问题类型}] {具体问题} ← 最多 2 个
123
172
 
124
- 如果理解无误,我来开始实现。
173
+ 回答后我立即开始实现。
125
174
  ```
126
175
 
127
- ### Step 6:内联设计思考(Design Brief CoT)
176
+ 等待用户回答后,输出一句话确认摘要:
177
+
178
+ ```
179
+ 好的,理解了:{核心决策点 1-2 句话}。开始实现。
180
+ ```
181
+
182
+ ---
183
+
184
+ ### Step 5:Level 2 加载——读匹配 Skill(~3000 tokens/个)
185
+
186
+ 读取用户确认的业务域对应的完整 SKILL.md 文件,将其内容作为背景知识。
187
+
188
+ **注意事项:**
189
+ - 只加载确认相关的域,不相关的域 Skill **不读取**(节省 token)
190
+ - 若 Skill 的 `maturity` 为 `draft`,提示:「该 Skill 较新,若与代码有出入,以代码为准」
191
+ - 在 Skill 中重点关注 `[pitfall]`、`[model]`、`[guideline]` 条目,以及 `关键文件索引`
192
+
193
+ ---
194
+
195
+ ### Step 6:自适应内联设计方案(Design Brief CoT)
128
196
 
129
- **触发:** 每次编码任务前强制执行,不可跳过(包括 `--quick` 模式)。
197
+ **触发:** 每次编码任务前强制执行,不可跳过。
130
198
  **产出:** 内联于当前 LLM 上下文,**不写入任何文件**。
131
199
 
200
+ 根据 Step 2B 评估的复杂度,输出不同深度的设计方案:
201
+
202
+ #### Simple 模式(3 节精简版,~200 tokens)
203
+
204
+ ```
205
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
206
+ [Design Brief — Simple | 域: {domain}]
207
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
208
+
209
+ ## 实现蓝图
210
+ Data: {Mapper 类/方法}
211
+ Service: {Manager/Service 类/方法}
212
+ API: {Facade/Controller 类/方法}
213
+
214
+ ## 禁止事项
215
+ {constitution hard_rules + Skill [pitfall] 关键项,逐条列出}
216
+
217
+ ## 需求追踪
218
+ | 需求点 | 对应实现 | 校验方式 |
219
+ |-------|---------|---------|
220
+ | {需求} | {类/方法} | {测试/联调} |
221
+
222
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
223
+ ```
224
+
225
+ #### Medium/Complex 模式(完整 9 节)
226
+
132
227
  调用 `modus-design-brief` Skill,传入:
133
- - `mode: vibe`(触发内联输出模式,不落盘)
134
- - `analysis_doc: 用户 prompt + Step 5 确认的意图摘要`
135
- - `business_skills: Step 4 已加载的 Skill 内容`
228
+ - `mode: vibe`(内联输出模式,不落盘)
229
+ - `complexity: Medium | Complex`
230
+ - `analysis_doc: 用户 prompt + Step 4 确认的意图摘要`
231
+ - `business_skills: Step 5 已加载的 Skill 内容`
136
232
  - `constitution: Step 0 读取的 constitution 字段`
137
233
 
138
- Skill 将按 9 节结构,基于已加载上下文实时推导并输出以下内联块:
234
+ **Complex 模式额外要求:**
235
+ - 节 6(边界条件)必须完整展开所有失败路径
236
+ - 节 9(需求追踪矩阵)每行追加 `⚠️` 标注已命中的 Pitfall
139
237
 
140
238
  ```
141
239
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
142
- [Design Brief — 内联设计方案,仅用于本次编码,不写文件]
240
+ [Design Brief — {Simple|Medium|Complex} | 域: {domain1}, {domain2}]
143
241
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
144
242
 
145
243
  ## 1. 基本信息
146
- 模式: vibe | 涉及域: {domain1}, {domain2}
147
-
148
244
  ## 2. 业务意图摘要
149
- {来自 Step 5 的意图摘要}
150
-
151
245
  ## 3. 实体与数据模型
152
- {基于 Skill [model] 条目和用户意图推导,字段带类型}
153
-
154
246
  ## 4. API / 接口合同
155
- {方法签名,带完整包路径}
156
-
157
247
  ## 5. 实现蓝图
158
- Data: {具体 Mapper 类/方法}
159
- Service: {具体 Manager/Service 类/方法,标注 @Transactional 位置}
160
- API: {Facade/Controller 类/方法}
161
-
162
248
  ## 6. 边界条件与异常处理
163
- {覆盖关键失败路径,含错误码}
164
-
165
249
  ## 7. 代码生成提示
166
- {来自 Skill key_files 的可复用类 + 命名规范示例}
167
-
168
250
  ## 8. 禁止事项与已知坑
169
- {constitution hard_rules + Skill [pitfall]}
170
-
171
251
  ## 9. 需求-任务追踪矩阵
172
- | 需求点 | 对应实现 | 对应校验方式 |
173
- |---|---|---|
174
- | {需求} | {类/方法} | {测试/联调} |
175
252
 
176
253
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
177
254
  [End of Design Brief — 开始编码]
178
255
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
179
256
  ```
180
257
 
181
- **简化原则(vibe 模式):**
182
- - 若 Skill 中某节内容明确,可适度精简,但不可省略节标题
183
- - 节 9 追踪矩阵在 vibe 模式下用「需求点→实现→校验方式」代替完整 Sprint 映射
184
- - 若 `--quick` 模式,节 3/4/9 可简化为一行摘要,但节 8 禁止事项必须完整输出
258
+ ---
185
259
 
186
260
  ### Step 7:执行编码任务(Level 3 按需加载)
187
261
 
188
262
  基于 Step 6 内联设计方案和澄清后的意图,执行用户的编码请求:
189
263
 
190
- - 以 Step 6 内联设计方案中节 5(实现蓝图)为编码路线图
191
- - 严格遵守节 8(禁止事项)——这是 constitution hard_rules 和 Skill [pitfall] 的汇总
192
- - 引用节 7(代码生成提示)中的现有类路径,不凭空创造类名
264
+ - 以设计方案中「实现蓝图」为编码路线图
265
+ - 严格遵守「禁止事项」——这是 constitution hard_rules 和 Skill [pitfall] 的汇总
266
+ - 引用「代码生成提示」中的现有类路径,不凭空创造类名
193
267
  - **Level 3 加载:** 需要具体代码实现时,按需读取 Skill 中 `关键文件索引` 指向的实际代码文件(而非预先全量读取)
194
268
  - 对不确定的业务规则,优先参考 Skill 中的规则描述
195
- - 如发现 Skill 中记录有误或过时,在回复末尾标注「Skill 更新建议」
269
+ - 如发现 Skill 中记录有误或过时,记录到内部缓冲区,在 Step 8 处理
270
+
271
+ ---
272
+
273
+ ### Step 8:Skill 后置自动写回
274
+
275
+ 编码完成后,检查本次编码过程中是否发现新知识:
196
276
 
197
- ### Step 8(可选):Skill 更新建议
277
+ #### 触发写回的条件(满足任一即触发)
198
278
 
199
- 如果在编码过程中发现业务 Skill 有遗漏或错误,在回复末尾追加:
279
+ - 发现代码中存在 Skill 未记录的枚举值、状态机节点、接口方法
280
+ - 发现 Skill 中已记录的规则与代码实际不符(需要更正)
281
+ - 编码过程中踩到了一个 Skill 中未记录的坑(新 `[pitfall]`)
282
+ - 新增了一个值得记录的 `[guideline]` 或 `[decision]`
283
+
284
+ #### 执行方式
200
285
 
201
286
  ```
202
- 📝 Skill 更新建议(运行 /modus:plan /modus:spec 时会自动应用):
203
- - [model] order 域:发现 OrderStatus 枚举新增了 PENDING_REVIEW 状态
204
- - [pitfall] order 域:批量操作时若不分页会导致内存溢出
287
+ 有新知识 静默调用 modus-skill-creator 模式 C(知识提取写入)
288
+ 写入完成后输出单行提示:
289
+ [已更新 {domain} 域知识: 新增 [pitfall] {摘要} / 更正 [model] {字段名}]
290
+
291
+ 无新知识 → 静默跳过,不输出任何提示
205
292
  ```
206
293
 
294
+ **写回原则:**
295
+ - 只写入有明确代码证据的知识,不写推测性内容
296
+ - 每次写回最多 3 条新条目,避免批量污染
297
+ - 更正已有条目时,保留原条目并追加修订记录(不覆盖历史)
298
+
299
+ ---
300
+
207
301
  ### Step 9:写入 Session 日志
208
302
 
209
303
  编码完成后,将本次会话**追加**(append-only,禁止覆盖原有内容)到 `modus/sessions/vibe-log.md`:
@@ -212,8 +306,9 @@ API: {Facade/Controller 类/方法}
212
306
  ## {YYYY-MM-DD HH:mm} — {需求一句话摘要}
213
307
 
214
308
  - **涉及域:** {domain1}, {domain2}
309
+ - **复杂度:** Simple | Medium | Complex
215
310
  - **修改文件:** {变更文件列表,最多 5 个}
216
- - **Skill 更新建议:** {发现的新知识,无则填「无」}
311
+ - **知识写回:** {本次写回条目摘要,无则填「无」}
217
312
 
218
313
  ---
219
314
  ```
@@ -224,10 +319,22 @@ API: {Facade/Controller 类/方法}
224
319
 
225
320
  ## 氛围编程原则
226
321
 
322
+ - **智能优先,减少打断**:域匹配明确时自动确认,无需强制等用户输入;任务清晰时跳过提问
227
323
  - **先设计再编码**:Step 6 内联设计方案是编码的前置必要步骤,不可省略
228
- - **设计驱动**:编码时以内联设计方案的实现蓝图(节 5)为路线图,禁止事项(节 8)为红线
324
+ - **知识闭环**:每次 vibe 编码都是一次知识更新机会,通过 Step 3 前置同步 + Step 8 后置写回,知识库随项目演进自动积累
229
325
  - **有据可依**:引用的实体、字段、接口名必须来自 Skill 或已有代码
230
- - **风格一致**:生成的代码应与项目现有风格保持一致
231
- - **宪法优先**:constitution.hard_rules 是不可违反的底线,优先于一切(已汇总到设计方案节 8)
326
+ - **宪法优先**:constitution.hard_rules 是不可违反的底线,优先于一切
232
327
  - **按需加载**:不预先读取所有 Skill,降低 token 消耗
233
328
  - **主动补全**:发现明显缺失(如缺少参数校验、日志)时主动补充
329
+
330
+ ---
331
+
332
+ ## 降级模式(无知识库)
333
+
334
+ 当 `knowledge-catalog.md` 不存在且用户选择跳过初始化时:
335
+
336
+ 1. 跳过 Step 2-3(无 catalog 可分析)
337
+ 2. Step 4 仅执行 R2(模糊词检测)和 R4(缺少决策参数检测)
338
+ 3. Step 6 固定使用 Medium 模式(无法判断复杂度)
339
+ 4. Step 8 跳过写回(无 Skill 文件可写入)
340
+ 5. 在回复开头标注:`[降级模式:无业务上下文,建议先运行 /modus:init]`