@haaaiawd/anws 2.3.0 → 2.4.0
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/README.md +1 -1
- package/bin/cli.js +52 -22
- package/lib/diff.js +5 -2
- package/lib/init.js +217 -96
- package/lib/install-state.js +18 -3
- package/lib/manifest.js +376 -79
- package/lib/prompt.js +68 -0
- package/lib/resources/index.js +36 -2
- package/lib/update.js +12 -6
- package/package.json +48 -47
- package/templates/.agents/skills/anws-system/SKILL.md +108 -108
- package/templates/.agents/skills/code-reviewer/SKILL.md +170 -115
- package/templates/.agents/skills/concept-modeler/SKILL.md +230 -179
- package/templates/.agents/skills/craft-authoring/SKILL.md +186 -183
- package/templates/.agents/skills/craft-authoring/references/BUNDLE_POLICY.md +61 -0
- package/templates/.agents/skills/design-reviewer/SKILL.md +265 -190
- package/templates/.agents/skills/e2e-testing-guide/SKILL.md +246 -135
- package/templates/.agents/skills/nexus-mapper/SKILL.md +321 -321
- package/templates/.agents/skills/output-contract/SKILL.md +37 -0
- package/templates/.agents/skills/report-template/SKILL.md +92 -92
- package/templates/.agents/skills/sequential-thinking/SKILL.md +222 -225
- package/templates/.agents/skills/spec-writer/SKILL.md +75 -30
- package/templates/.agents/skills/system-architect/SKILL.md +538 -678
- package/templates/.agents/skills/system-designer/SKILL.md +601 -601
- package/templates/.agents/skills/task-planner/SKILL.md +1 -2
- package/templates/.agents/skills/task-reviewer/SKILL.md +428 -388
- package/templates/.agents/skills/tech-evaluator/SKILL.md +252 -144
- package/templates/.agents/workflows/blueprint.md +157 -69
- package/templates/.agents/workflows/challenge.md +331 -497
- package/templates/.agents/workflows/change.md +182 -339
- package/templates/.agents/workflows/craft.md +159 -197
- package/templates/.agents/workflows/design-system.md +202 -674
- package/templates/.agents/workflows/explore.md +187 -399
- package/templates/.agents/workflows/forge.md +650 -609
- package/templates/.agents/workflows/genesis.md +439 -351
- package/templates/.agents/workflows/probe.md +219 -241
- package/templates/.agents/workflows/quickstart.md +302 -123
- package/templates/.agents/workflows/upgrade.md +145 -182
- package/templates_en/.agents/skills/anws-system/SKILL.md +108 -0
- package/templates_en/.agents/skills/code-reviewer/SKILL.md +170 -0
- package/templates_en/.agents/skills/concept-modeler/SKILL.md +230 -0
- package/templates_en/.agents/skills/craft-authoring/SKILL.md +179 -0
- package/templates_en/.agents/skills/craft-authoring/references/BUNDLE_POLICY.md +60 -0
- package/templates_en/.agents/skills/craft-authoring/references/PROMPT_QUALITY_RUBRIC.md +92 -0
- package/templates_en/.agents/skills/craft-authoring/references/SCORECARD_TEMPLATE.md +52 -0
- package/templates_en/.agents/skills/design-reviewer/SKILL.md +265 -0
- package/templates_en/.agents/skills/e2e-testing-guide/SKILL.md +246 -0
- package/templates_en/.agents/skills/nexus-mapper/SKILL.md +306 -0
- package/templates_en/.agents/skills/nexus-mapper/references/language-customization.md +167 -0
- package/templates_en/.agents/skills/nexus-mapper/references/output-schema.md +311 -0
- package/templates_en/.agents/skills/nexus-mapper/references/probe-protocol.md +246 -0
- package/templates_en/.agents/skills/nexus-mapper/scripts/extract_ast.py +706 -0
- package/templates_en/.agents/skills/nexus-mapper/scripts/git_detective.py +194 -0
- package/templates_en/.agents/skills/nexus-mapper/scripts/languages.json +127 -0
- package/templates_en/.agents/skills/nexus-mapper/scripts/query_graph.py +556 -0
- package/templates_en/.agents/skills/nexus-mapper/scripts/requirements.txt +6 -0
- package/templates_en/.agents/skills/nexus-query/SKILL.md +114 -0
- package/templates_en/.agents/skills/nexus-query/scripts/extract_ast.py +706 -0
- package/templates_en/.agents/skills/nexus-query/scripts/git_detective.py +194 -0
- package/templates_en/.agents/skills/nexus-query/scripts/languages.json +127 -0
- package/templates_en/.agents/skills/nexus-query/scripts/query_graph.py +556 -0
- package/templates_en/.agents/skills/nexus-query/scripts/requirements.txt +6 -0
- package/templates_en/.agents/skills/output-contract/SKILL.md +37 -0
- package/templates_en/.agents/skills/report-template/SKILL.md +85 -0
- package/templates_en/.agents/skills/report-template/references/REPORT_TEMPLATE.md +100 -0
- package/templates_en/.agents/skills/runtime-inspector/SKILL.md +101 -0
- package/templates_en/.agents/skills/sequential-thinking/SKILL.md +214 -0
- package/templates_en/.agents/skills/spec-writer/SKILL.md +153 -0
- package/templates_en/.agents/skills/spec-writer/references/prd_template.md +177 -0
- package/templates_en/.agents/skills/system-architect/SKILL.md +538 -0
- package/templates_en/.agents/skills/system-architect/references/rfc_template.md +59 -0
- package/templates_en/.agents/skills/system-designer/SKILL.md +534 -0
- package/templates_en/.agents/skills/system-designer/references/system-design-detail-template.md +187 -0
- package/templates_en/.agents/skills/system-designer/references/system-design-template.md +605 -0
- package/templates_en/.agents/skills/task-planner/SKILL.md +251 -0
- package/templates_en/.agents/skills/task-planner/references/TASK_TEMPLATE_05A.md +109 -0
- package/templates_en/.agents/skills/task-planner/references/TASK_TEMPLATE_05B.md +176 -0
- package/templates_en/.agents/skills/task-reviewer/SKILL.md +428 -0
- package/templates_en/.agents/skills/tech-evaluator/SKILL.md +252 -0
- package/templates_en/.agents/skills/tech-evaluator/references/ADR_TEMPLATE.md +78 -0
- package/templates_en/.agents/workflows/blueprint.md +200 -0
- package/templates_en/.agents/workflows/challenge.md +331 -0
- package/templates_en/.agents/workflows/change.md +182 -0
- package/templates_en/.agents/workflows/craft.md +159 -0
- package/templates_en/.agents/workflows/design-system.md +202 -0
- package/templates_en/.agents/workflows/explore.md +187 -0
- package/templates_en/.agents/workflows/forge.md +651 -0
- package/templates_en/.agents/workflows/genesis.md +439 -0
- package/templates_en/.agents/workflows/probe.md +219 -0
- package/templates_en/.agents/workflows/quickstart.md +303 -0
- package/templates_en/.agents/workflows/upgrade.md +145 -0
- package/templates_en/AGENTS.md +149 -0
|
@@ -1,674 +1,202 @@
|
|
|
1
|
-
---
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
# /design-system
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
|
|
14
|
-
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
>
|
|
39
|
-
>
|
|
40
|
-
>
|
|
41
|
-
>
|
|
42
|
-
>
|
|
43
|
-
> -
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
>
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
---
|
|
90
|
-
|
|
91
|
-
## Step
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
###
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
5. "有哪些ADR决策影响该系统?"
|
|
204
|
-
|
|
205
|
-
**输出**: 上下文摘要(保存在内存中,不写文件)
|
|
206
|
-
|
|
207
|
-
**示例摘要**:
|
|
208
|
-
|
|
209
|
-
```markdown
|
|
210
|
-
## 上下文摘要 (Context Summary)
|
|
211
|
-
|
|
212
|
-
**系统**: frontend-system
|
|
213
|
-
|
|
214
|
-
**关联需求**: [REQ-001] 用户登录, [REQ-002] Dashboard展示
|
|
215
|
-
|
|
216
|
-
**核心职责**:
|
|
217
|
-
- 用户界面展示与交互
|
|
218
|
-
- API调用封装
|
|
219
|
-
- 客户端状态管理
|
|
220
|
-
|
|
221
|
-
**边界**:
|
|
222
|
-
- 输入: 用户操作(点击、输入)
|
|
223
|
-
- 输出: HTTP API请求
|
|
224
|
-
- 依赖: backend-api-system
|
|
225
|
-
|
|
226
|
-
**技术约束**:
|
|
227
|
-
- 性能: 页面加载时间 < 2s (p95)
|
|
228
|
-
- 安全: HTTPS only, CSP头
|
|
229
|
-
- 兼容性: 支持Chrome、Firefox、Safari最新版本
|
|
230
|
-
|
|
231
|
-
**ADR决策**:
|
|
232
|
-
- ADR001: React + Vite 技术栈
|
|
233
|
-
- ADR002: JWT认证(需要在前端存储和发送Token)
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
---
|
|
237
|
-
|
|
238
|
-
### 1.7 检查 ADR 引用清单
|
|
239
|
-
|
|
240
|
-
> [!IMPORTANT]
|
|
241
|
-
> 你**必须**在设计前明确哪些 ADR 需要在 §8 Trade-offs 中引用。
|
|
242
|
-
>
|
|
243
|
-
> **为什么**: 未雨绸缪,在设计前就明确哪些决策来自 ADR,避免在 §8 时才发现遗漏或重复记录决策。
|
|
244
|
-
|
|
245
|
-
**检查步骤**:
|
|
246
|
-
|
|
247
|
-
1. 列出 `.anws/v{N}/03_ADR/` 目录中的所有 ADR 文件
|
|
248
|
-
2. 识别与本系统相关的 ADR (如技术栈、认证方式、数据库选型等)
|
|
249
|
-
3. 生成"需要引用的 ADR 清单"
|
|
250
|
-
|
|
251
|
-
**输出**: ADR 引用清单 (保存在内存中)
|
|
252
|
-
|
|
253
|
-
**示例清单**:
|
|
254
|
-
|
|
255
|
-
```markdown
|
|
256
|
-
## ADR 引用清单
|
|
257
|
-
|
|
258
|
-
需要在 §8 Trade-offs 中引用的 ADR:
|
|
259
|
-
- [ADR-001: 技术栈选型](../03_ADR/ADR_001_TECH_STACK.md) - 本系统使用 React + Vite
|
|
260
|
-
- [ADR-002: 认证方式](../03_ADR/ADR_002_AUTH.md) - 本系统需要处理 JWT Token
|
|
261
|
-
|
|
262
|
-
本系统特有决策 (不在 ADR 中):
|
|
263
|
-
- 状态管理方案 (Context vs Zustand)
|
|
264
|
-
- 组件库选择
|
|
265
|
-
```
|
|
266
|
-
|
|
267
|
-
---
|
|
268
|
-
|
|
269
|
-
## Step 2: 系统理解 (System Understanding)
|
|
270
|
-
|
|
271
|
-
**目标**: 深度理解该系统的职责和边界
|
|
272
|
-
|
|
273
|
-
> [!IMPORTANT]
|
|
274
|
-
> **思考方式选择**(基于模型能力和任务复杂度):
|
|
275
|
-
>
|
|
276
|
-
> - **无 CoT 模型** → **必须调用** `sequential-thinking` CLI
|
|
277
|
-
> - **有 CoT 模型 + 简单系统**(职责清晰)→ 用思考引导问题组织自然 CoT
|
|
278
|
-
> - **有 CoT 模型 + 复杂系统**(需要多方案比较、修正前提)→ 调用 `sequential-thinking` CLI
|
|
279
|
-
>
|
|
280
|
-
> **为什么需要深度理解?** 深度理解是良好设计的前提。
|
|
281
|
-
|
|
282
|
-
**思考引导**:
|
|
283
|
-
|
|
284
|
-
1. "这个系统的核心职责是什么?(用一句话概括)"
|
|
285
|
-
2. "系统边界在哪里?什么在边界内,什么在边界外?"
|
|
286
|
-
3. "系统的输入是什么?来自哪里?"
|
|
287
|
-
4. "系统的输出是什么?给谁?"
|
|
288
|
-
5. "依赖哪些其他系统?这些依赖是否合理?"
|
|
289
|
-
6. "被哪些系统依赖?接口应该如何设计?"
|
|
290
|
-
7. "关联哪些PRD需求?这些需求的优先级如何?"
|
|
291
|
-
8. "有哪些技术约束?(性能、安全、合规等)"
|
|
292
|
-
9. "有哪些现有技术债或遗留系统需要兼容?"
|
|
293
|
-
10. "该系统的成功标准是什么?"
|
|
294
|
-
|
|
295
|
-
**输出**: 系统理解报告(内存中)
|
|
296
|
-
|
|
297
|
-
---
|
|
298
|
-
|
|
299
|
-
## Step 3: 调研 (Research via /explore) 用户强调
|
|
300
|
-
|
|
301
|
-
**目标**: 了解业界最佳实践,避免闭门造车
|
|
302
|
-
|
|
303
|
-
> [!IMPORTANT]
|
|
304
|
-
> 你**必须**调用 `/explore` 工作流进行调研。
|
|
305
|
-
>
|
|
306
|
-
> **为什么?** 学习业界最佳实践,站在巨人肩膀上。
|
|
307
|
-
|
|
308
|
-
**调研主题示例**:
|
|
309
|
-
|
|
310
|
-
**如果是前端系统**:
|
|
311
|
-
|
|
312
|
-
- "React + Vite 前端系统的最佳架构设计 2025"
|
|
313
|
-
- "React组件设计模式与最佳实践"
|
|
314
|
-
- "前端性能优化最佳实践 2025"
|
|
315
|
-
- "React状态管理最佳实践(Context vs Zustand vs Redux)"
|
|
316
|
-
|
|
317
|
-
**如果是后端API系统**:
|
|
318
|
-
|
|
319
|
-
- "FastAPI 后端系统的最佳架构设计 2025"
|
|
320
|
-
- "RESTful API设计最佳实践"
|
|
321
|
-
- "Python异步编程最佳实践"
|
|
322
|
-
- "API性能优化与缓存策略"
|
|
323
|
-
|
|
324
|
-
**如果是数据库系统**:
|
|
325
|
-
|
|
326
|
-
- "PostgreSQL数据库设计最佳实践 2025"
|
|
327
|
-
- "数据库索引优化策略"
|
|
328
|
-
- "PostgreSQL性能调优指南"
|
|
329
|
-
|
|
330
|
-
**如果是多智能体系统**:
|
|
331
|
-
|
|
332
|
-
- "LangGraph多智能体系统设计模式"
|
|
333
|
-
- "LLM工具调用最佳实践"
|
|
334
|
-
- "Agent协作与消息传递模式"
|
|
335
|
-
|
|
336
|
-
**调用方式**:
|
|
337
|
-
|
|
338
|
-
```
|
|
339
|
-
/explore [调研主题]
|
|
340
|
-
```
|
|
341
|
-
|
|
342
|
-
**产出**:
|
|
343
|
-
|
|
344
|
-
- 调研报告自动保存到: `.anws/v{N}/04_SYSTEM_DESIGN/_research/{system-id}-research.md`
|
|
345
|
-
|
|
346
|
-
**关键要点**: 从调研中提取:
|
|
347
|
-
|
|
348
|
-
- 推荐的架构模式
|
|
349
|
-
- 关键技术选型建议
|
|
350
|
-
- 常见陷阱和反模式
|
|
351
|
-
- 性能优化技巧
|
|
352
|
-
- 安全最佳实践
|
|
353
|
-
|
|
354
|
-
---
|
|
355
|
-
|
|
356
|
-
### 3.1 可选 Skills 与参考资源 (Optional Skills & Reference Resources)
|
|
357
|
-
|
|
358
|
-
> [!IMPORTANT]
|
|
359
|
-
> **这些资源是辅助输入,不是强制依赖,也不是系统事实来源。**
|
|
360
|
-
|
|
361
|
-
使用原则:
|
|
362
|
-
|
|
363
|
-
- 可以按系统类型选择已有 skills、方法论或外部参考资源辅助设计
|
|
364
|
-
- 这些输入只能作为启发、校验或补充,不得替代当前项目的 PRD、ADR 和 Architecture Overview
|
|
365
|
-
- 最终方案必须收敛为当前系统自己的边界、约束、组件分层和 Trade-offs
|
|
366
|
-
- 禁止直接复制第三方模式而不做本地化说明
|
|
367
|
-
|
|
368
|
-
**前端系统示例**:
|
|
369
|
-
|
|
370
|
-
- 工程实践类 skill: `vercel-react-best-practices`
|
|
371
|
-
- 视觉与体验类 skill: `frontend-design`
|
|
372
|
-
- 组件与交互参考: `shadcn/ui`、`Aceternity UI`、`Magic UI`、其他 Tailwind-first 资源
|
|
373
|
-
|
|
374
|
-
**如何使用这些资源**:
|
|
375
|
-
|
|
376
|
-
- 用 `vercel-react-best-practices` 校验 React 组件边界、渲染策略、性能模式是否合理
|
|
377
|
-
- 用 `frontend-design` 辅助配色、排版、层级、动效和整体体验方向
|
|
378
|
-
- 用 `shadcn/ui`、`Aceternity UI` 等资源获取组件模式或视觉灵感
|
|
379
|
-
- 在最终文档中明确写出: 哪些做法被采纳、哪些被舍弃、为什么
|
|
380
|
-
|
|
381
|
-
---
|
|
382
|
-
|
|
383
|
-
## Step 4: 设计 (Design via sequential-thinking)
|
|
384
|
-
|
|
385
|
-
**目标**: 基于调研和上下文,深度设计系统架构
|
|
386
|
-
|
|
387
|
-
> [!IMPORTANT]
|
|
388
|
-
> **思考方式选择**(基于模型能力和任务复杂度):
|
|
389
|
-
>
|
|
390
|
-
> - **无 CoT 模型** → **必须调用** `sequential-thinking` CLI
|
|
391
|
-
> - **有 CoT 模型 + 简单设计**(模式明确、步骤 < 5)→ 用思考引导问题组织自然 CoT
|
|
392
|
-
> - **有 CoT 模型 + 复杂设计**(需要多方案比较、修正前提)→ 调用 `sequential-thinking` CLI
|
|
393
|
-
>
|
|
394
|
-
> **为什么需要深度思考?** 好的设计需要深度思考,不是拍脑袋决定。
|
|
395
|
-
|
|
396
|
-
**思考引导**:
|
|
397
|
-
|
|
398
|
-
### 4.1 架构设计 (Architecture Design)
|
|
399
|
-
|
|
400
|
-
1. "基于调研,该系统应该采用什么架构模式?(如: MVC、分层架构、模块化单体)"
|
|
401
|
-
2. "核心组件有哪些?各自职责是什么?"
|
|
402
|
-
3. "组件之间如何通信?(如: 事件、直接调用、消息队列)"
|
|
403
|
-
4. "如何组织代码结构?(目录结构)"
|
|
404
|
-
|
|
405
|
-
### 4.2 接口设计 (Interface Design)
|
|
406
|
-
|
|
407
|
-
1. "接口应该如何设计?(API端点、组件Props、消息格式)"
|
|
408
|
-
2. "输入输出的数据格式是什么?"
|
|
409
|
-
3. "错误处理机制如何设计?"
|
|
410
|
-
|
|
411
|
-
### 4.3 数据模型设计 (Data Model Design)
|
|
412
|
-
|
|
413
|
-
1. "需要哪些数据结构/实体?"
|
|
414
|
-
2. "数据库Schema如何设计?(如果需要)"
|
|
415
|
-
3. "数据如何在组件间流动?"
|
|
416
|
-
|
|
417
|
-
### 4.4 Trade-offs讨论 ( Google风格)
|
|
418
|
-
|
|
419
|
-
1. "为什么选择方案A而不是方案B?(技术选型)"
|
|
420
|
-
2. "这个设计的权衡是什么?优点和缺点?"
|
|
421
|
-
3. "有哪些备选方案?为什么不选它们?"
|
|
422
|
-
|
|
423
|
-
### 4.5 性能与安全
|
|
424
|
-
|
|
425
|
-
1. "有哪些性能瓶颈?如何优化?(缓存、索引、异步)"
|
|
426
|
-
2. "有哪些安全风险?如何缓解?(认证、加密、输入验证)"
|
|
427
|
-
|
|
428
|
-
**输出**: 设计草稿(内存中)
|
|
429
|
-
|
|
430
|
-
**设计草稿示例结构**:
|
|
431
|
-
|
|
432
|
-
```markdown
|
|
433
|
-
## 设计草稿
|
|
434
|
-
|
|
435
|
-
### 架构模式
|
|
436
|
-
- 采用分层架构:Presentation → Business Logic → Data Access
|
|
437
|
-
|
|
438
|
-
### 核心组件
|
|
439
|
-
1. LoginForm - 用户登录表单
|
|
440
|
-
2. AuthService - 认证服务封装
|
|
441
|
-
3. ApiClient - HTTP客户端
|
|
442
|
-
|
|
443
|
-
### 接口设计
|
|
444
|
-
- LoginForm Props: { onSuccess, onError }
|
|
445
|
-
- AuthService.login(email, password) → Promise<Token>
|
|
446
|
-
|
|
447
|
-
### 数据模型
|
|
448
|
-
- User: { id, email, name }
|
|
449
|
-
- Token: { accessToken, expiresAt }
|
|
450
|
-
|
|
451
|
-
### Trade-offs
|
|
452
|
-
- 决策1: 为什么用JWT而不是Session?
|
|
453
|
-
→ 无状态、前后端分离友好
|
|
454
|
-
- 决策2: 为什么用Context API而不是Redux?
|
|
455
|
-
→ 需求简单,Redux过度设计
|
|
456
|
-
|
|
457
|
-
### 性能优化
|
|
458
|
-
- 懒加载组件(React.lazy)
|
|
459
|
-
- 缓存Token在LocalStorage
|
|
460
|
-
|
|
461
|
-
### 安全
|
|
462
|
-
- HTTPS only
|
|
463
|
-
- XSS防护(输入验证、CSP头)
|
|
464
|
-
```
|
|
465
|
-
|
|
466
|
-
---
|
|
467
|
-
|
|
468
|
-
## Step 5: 文档化 (Documentation)
|
|
469
|
-
|
|
470
|
-
**目标**: 使用模板产出完整的系统设计文档
|
|
471
|
-
|
|
472
|
-
> [!IMPORTANT]
|
|
473
|
-
> 本步骤最多产出**两个文件**:
|
|
474
|
-
>
|
|
475
|
-
> - **必须**: `{system-id}.md`(L0 导航层)
|
|
476
|
-
> - **按需**: `{system-id}.detail.md`(L1 实现层,当触发 R1-R5 任意一条时)
|
|
477
|
-
|
|
478
|
-
**步骤**:
|
|
479
|
-
|
|
480
|
-
### 5.0 拆分检测(Split Detection)
|
|
481
|
-
|
|
482
|
-
> [!IMPORTANT]
|
|
483
|
-
> **在加载模板之前,先评估是否需要创建 L1 文件。**
|
|
484
|
-
|
|
485
|
-
检查本次设计草稿是否触发了以下任意一条规则:
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
| 规则 | 检测项 | 触发? |
|
|
489
|
-
| ------ | ------------------------ | --- |
|
|
490
|
-
| **R1** | 任何单个函数/算法伪代码 > 30 行 | 是/否 |
|
|
491
|
-
| **R2** | 所有代码块合计行数 > 200 行 | 是/否 |
|
|
492
|
-
| **R3** | 含配置常量字典且条目 > 5 个 | 是/否 |
|
|
493
|
-
| **R4** | 版本历史注释(`# vX.X 变更`)> 5 处 | 是/否 |
|
|
494
|
-
| **R5** | 预计文档总行数 > 500 行 | 是/否 |
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
**决策**:
|
|
498
|
-
|
|
499
|
-
- 任意触发 → **是**: 创建两个文件(L0 + L1)
|
|
500
|
-
- 全部未触发 → **否**: 只创建一个文件(L0)
|
|
501
|
-
|
|
502
|
-
*Self-Correction*: "我这个系统触发了 {规则列表},需要/不需要 detail 文件。"
|
|
503
|
-
|
|
504
|
-
---
|
|
505
|
-
|
|
506
|
-
### 5.1 加载模板
|
|
507
|
-
|
|
508
|
-
**加载 L0 模板**(必须):
|
|
509
|
-
读取 `.agent/skills/system-designer/references/system-design-template.md`
|
|
510
|
-
|
|
511
|
-
**加载 L1 模板**(如果 5.0 决策为「需要」):
|
|
512
|
-
读取 `.agent/skills/system-designer/references/system-design-detail-template.md`
|
|
513
|
-
|
|
514
|
-
---
|
|
515
|
-
|
|
516
|
-
### 5.2 填充内容
|
|
517
|
-
|
|
518
|
-
**L0 必需章节**(填入 `{system-id}.md`,必须填写):
|
|
519
|
-
|
|
520
|
-
1. 概览 (Overview)
|
|
521
|
-
2. 目标与非目标 (Goals & Non-Goals)
|
|
522
|
-
3. 背景与上下文 (Background & Context)
|
|
523
|
-
4. 系统架构 (Architecture) - 包含 Mermaid 架构图
|
|
524
|
-
5. **接口设计 (Interface Design)** — 用**操作契约表格**代替函数伪代码(见 SKILL.md 守则7)
|
|
525
|
-
6. **数据模型 (Data Model)** — 只放**属性字段声明**,不写方法体(见 SKILL.md 守则8)
|
|
526
|
-
7. 技术选型 (Technology Stack)
|
|
527
|
-
8. **Trade-offs & Alternatives** 核心
|
|
528
|
-
9. 安全性考虑 (Security Considerations)
|
|
529
|
-
10. 性能考虑 (Performance Considerations)
|
|
530
|
-
11. 测试策略 (Testing Strategy)
|
|
531
|
-
|
|
532
|
-
**L0 可选章节**(小项目可简化):
|
|
533
|
-
12. 部署与运维 (Deployment & Operations)
|
|
534
|
-
13. 未来考虑 (Future Considerations)
|
|
535
|
-
14. 附录 (Appendix)
|
|
536
|
-
|
|
537
|
-
**L1 章节**(填入 `{system-id}.detail.md`,仅当 5.0 决策为「需要」):
|
|
538
|
-
|
|
539
|
-
- §1 配置常量(UNIT_CONFIG 等字典/表格)
|
|
540
|
-
- §2 完整数据结构(含方法体的 @dataclass)
|
|
541
|
-
- §3 核心算法伪代码(完整函数体,按操作契约表格对应)
|
|
542
|
-
- §4 决策树详细逻辑(对应 L0 Mermaid 图的展开)
|
|
543
|
-
- §5 边缘情况与注意事项(从旧文档 `# 注意` 类注释提取)
|
|
544
|
-
- 版本历史表格(集中放在 L1 末尾)
|
|
545
|
-
|
|
546
|
-
**关键要求**:
|
|
547
|
-
|
|
548
|
-
- **L0 架构图**: 必须使用 Mermaid 绘制
|
|
549
|
-
- **L0 决策树**: 用 Mermaid `flowchart TD`,不用伪代码
|
|
550
|
-
- **L1 锚点原则 (L1 Anchor Principle)**: L0 作为大纲与目录,**必须**为 L1 里的所有细节块留下导航坐标(锚点)。例如在数据模型末尾必须显式注明 *"常量字典配置祥见 [xxx.detail.md §1](./xxx.detail.md)"*。**严禁在 L1 中存在 L0 完全没有提及/引用的"孤岛内容"**。
|
|
551
|
-
- **Trade-offs**: 每个重要技术选型都要说明"为什么选 A 不选 B"
|
|
552
|
-
- **追溯链**: 在相关章节引用 PRD 需求 [REQ-XXX]
|
|
553
|
-
- **约束继承**: 从 PRD 和 ADR 继承约束
|
|
554
|
-
|
|
555
|
-
> [!IMPORTANT]
|
|
556
|
-
> **§8 Trade-offs 必须使用引用格式**
|
|
557
|
-
>
|
|
558
|
-
> 你**必须**使用 Step 1.7 生成的 ADR 引用清单,区分"引用 ADR"vs"本系统特有决策"。
|
|
559
|
-
>
|
|
560
|
-
> **为什么**: 决策只记录一次,避免重复和遗漏。
|
|
561
|
-
>
|
|
562
|
-
> - 跨系统决策 → 引用 ADR,不复制内容
|
|
563
|
-
> - 本系统特有决策 → 详细说明"为什么选 A 不选 B"
|
|
564
|
-
> - 引用格式参考 `system-design-template.md` §8 的示例
|
|
565
|
-
|
|
566
|
-
---
|
|
567
|
-
|
|
568
|
-
### 5.3 保存文档
|
|
569
|
-
|
|
570
|
-
**保存 L0 文件**(必须):
|
|
571
|
-
将内容保存到 `.anws/v{N}/04_SYSTEM_DESIGN/{system-id}.md`
|
|
572
|
-
|
|
573
|
-
**保存 L1 文件**(如果 5.0 决策为「需要」):
|
|
574
|
-
将内容保存到 `.anws/v{N}/04_SYSTEM_DESIGN/{system-id}.detail.md`
|
|
575
|
-
|
|
576
|
-
**示例路径**:
|
|
577
|
-
|
|
578
|
-
- L0: `.anws/v{N}/04_SYSTEM_DESIGN/core.md`
|
|
579
|
-
- L1: `.anws/v{N}/04_SYSTEM_DESIGN/core.detail.md`
|
|
580
|
-
|
|
581
|
-
---
|
|
582
|
-
|
|
583
|
-
## Step 6: 审核 (Review via /challenge)
|
|
584
|
-
|
|
585
|
-
**目标**: 质疑设计决策,识别盲点
|
|
586
|
-
|
|
587
|
-
> [!IMPORTANT]
|
|
588
|
-
> 当系统设计定义了公共接口、CLI 参数语义、配置结构、文件格式、错误语义或跨系统协议时,**此步骤为必需**。
|
|
589
|
-
>
|
|
590
|
-
> **为什么?** 这些契约会直接进入 Blueprint、Change、Forge 和 Challenge 的闭环,缺少审查容易让后续任务和执行漂移。
|
|
591
|
-
>
|
|
592
|
-
> 对这类系统,`11.5 Contract Verification Matrix` 也视为必填内容,不得留空。
|
|
593
|
-
|
|
594
|
-
**调用方式**:
|
|
595
|
-
|
|
596
|
-
```
|
|
597
|
-
/challenge .anws/v{N}/04_SYSTEM_DESIGN/{system-id}.md
|
|
598
|
-
```
|
|
599
|
-
|
|
600
|
-
**产出**: 质疑报告 + 改进建议
|
|
601
|
-
|
|
602
|
-
**如果发现重大问题**:
|
|
603
|
-
|
|
604
|
-
- 返回Step 4,重新设计
|
|
605
|
-
- 更新文档
|
|
606
|
-
|
|
607
|
-
---
|
|
608
|
-
|
|
609
|
-
## Step 7: 人类确认 (Human Checkpoint)
|
|
610
|
-
|
|
611
|
-
**目标**: 展示文档,请求用户确认
|
|
612
|
-
|
|
613
|
-
> [!IMPORTANT]
|
|
614
|
-
> 你**必须**展示生成的文档路径,并请求用户确认。
|
|
615
|
-
>
|
|
616
|
-
> **为什么?** 人类最终负责,必须确认设计合理。
|
|
617
|
-
|
|
618
|
-
**展示**:
|
|
619
|
-
|
|
620
|
-
```
|
|
621
|
-
系统设计文档已生成:
|
|
622
|
-
- 文件: .anws/v{N}/04_SYSTEM_DESIGN/{system-id}.md
|
|
623
|
-
- 调研: .anws/v{N}/04_SYSTEM_DESIGN/_research/{system-id}-research.md
|
|
624
|
-
|
|
625
|
-
文档包含:
|
|
626
|
-
- 14个章节(完整版)或 11个章节(简化版)
|
|
627
|
-
- 架构图 (Mermaid)
|
|
628
|
-
- 接口设计(API/组件)
|
|
629
|
-
- Trade-offs讨论
|
|
630
|
-
- 性能与安全考虑
|
|
631
|
-
|
|
632
|
-
请确认:
|
|
633
|
-
[ ] 系统边界定义清晰
|
|
634
|
-
[ ] 技术选型合理
|
|
635
|
-
[ ] Trade-offs讨论充分
|
|
636
|
-
[ ] 接口设计完整
|
|
637
|
-
|
|
638
|
-
如果需要修改,请告诉我具体哪里需要调整。
|
|
639
|
-
否则,可以继续为下一个系统设计,或运行 /blueprint 拆解任务。
|
|
640
|
-
```
|
|
641
|
-
|
|
642
|
-
---
|
|
643
|
-
|
|
644
|
-
### Agent Context 自更新
|
|
645
|
-
|
|
646
|
-
**更新 `AGENTS.md` 的 `AUTO:BEGIN` ~ `AUTO:END` 区块**:
|
|
647
|
-
|
|
648
|
-
在 `### 系统边界` 下追加或更新当前设计系统的信息:
|
|
649
|
-
|
|
650
|
-
```markdown
|
|
651
|
-
### 系统边界
|
|
652
|
-
- {system-id}: {一句话职责} — 详细设计见 `.anws/v{N}/04_SYSTEM_DESIGN/{system-id}.md`
|
|
653
|
-
```
|
|
654
|
-
|
|
655
|
-
> 仅追加,不覆盖已有系统的条目(除非同一 system-id 有更新值)。
|
|
656
|
-
|
|
657
|
-
---
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
---
|
|
661
|
-
|
|
662
|
-
## 示例提示词
|
|
663
|
-
|
|
664
|
-
**为前端系统设计**:
|
|
665
|
-
`/design-system frontend-system`
|
|
666
|
-
|
|
667
|
-
**为后端API系统设计**:
|
|
668
|
-
`/design-system backend-api-system`
|
|
669
|
-
|
|
670
|
-
**为数据库系统设计**:
|
|
671
|
-
`/design-system database-system`
|
|
672
|
-
|
|
673
|
-
**为多智能体系统设计**:
|
|
674
|
-
`/design-system agent-system`
|
|
1
|
+
---
|
|
2
|
+
description: "【ALPHA】/design-system:单系统详细设计;宿主管序、门禁与路径;章节、L0/L1 拆分与 6D 细节以 **本 overlay** `.agents/skills/system-designer/`(与 shipped `templates/` 同源镜像)为唯一权威。"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /design-system (ALPHA)
|
|
6
|
+
|
|
7
|
+
<phase_context>
|
|
8
|
+
你是 **SYSTEM DESIGNER(系统设计专家)— ALPHA 线**。
|
|
9
|
+
|
|
10
|
+
**使命**:为单个 `<system-id>` 产出(必要时双层)系统设计文档,并满足调研、追溯与条件审查门禁。
|
|
11
|
+
**能力**:版本定位、上下文加载、`/explore` 调研、`sequential-thinking` 选型、按模板落盘 L0/L1、条件触发 `/challenge`、更新 `AGENTS.md` 导航。
|
|
12
|
+
**限制**:**不**在本 workflow 粘贴长段「上下文摘要」「设计草稿」「§8 引用」样例或完整 14 章清单;**不**替代 `system-designer` 的章节定义与 R1–R5 规则。
|
|
13
|
+
**与用户的关系**:每个系统建议独立会话;用户确认 `<system-id>` 与人类检查点后才能视为本系统闭合。
|
|
14
|
+
**Output Goal**:`.anws/v{N}/04_SYSTEM_DESIGN/{system-id}.md`(必选)+ 可选 `{system-id}.detail.md`;调研默认 `.anws/v{N}/04_SYSTEM_DESIGN/_research/{system-id}-research.md`(与同 bundle `/explore` 路径约定一致)。
|
|
15
|
+
</phase_context>
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## CRITICAL 凝练与版式(/craft + /challenge 思想)
|
|
20
|
+
|
|
21
|
+
> [!IMPORTANT]
|
|
22
|
+
> **craft**:改稿前 Read shipped `.agents/skills/craft-authoring/SKILL.md` 与 `.agents/workflows/craft.md`;各 `## Step …` 使用 **`### 做什么` / `### 为什么` / `### 怎么验收`**;`<completion_criteria>` 必填。
|
|
23
|
+
> **凝练**:落盘正文 **一句一事**;表内专条对齐 `/challenge` 精神(不粘贴 challenge 正文)。
|
|
24
|
+
> **不注入**:不展开 6D 全文、长 FAQ、可选 skill 目录大表;**权威**为 **`.agents/skills/system-designer/SKILL.md`** 与 `references/system-design-template.md`、`system-design-detail-template.md`(路径以 **`.agents/skills/`** 为准,**纠正**旧版 workflow 中 `.agent/` 笔误)。
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## CRITICAL 独立会话与加载
|
|
29
|
+
|
|
30
|
+
> [!IMPORTANT]
|
|
31
|
+
> **每系统独立会话**:避免上下文混杂与 token 膨胀;每次运行重新从磁盘加载,**不**依赖聊天历史当事实源。
|
|
32
|
+
> **文件即外部记忆**:`01` / `02` / `03` / `04` 与 `_research` 路径为真;会话只保留**短摘要指针**。
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## CRITICAL sequential-thinking(合并)
|
|
37
|
+
|
|
38
|
+
> [!IMPORTANT]
|
|
39
|
+
> **无 CoT** → **必须**使用 `sequential-thinking` CLI。
|
|
40
|
+
> **有 CoT + 简单**(职责清晰、少分叉)→ 允许自然 CoT,但仍须满足 Step 4 的验收问句。
|
|
41
|
+
> **有 CoT + 复杂**(多方案、改前提、强对抗)→ **必须** CLI。
|
|
42
|
+
> **口诀**:要比较、要改前提、要回放?→ CLI;否则 → 自然 CoT(调研与设计两阶段分别判断)。
|
|
43
|
+
> **格言**:门槛已到「须 `sequential-thinking` CLI」却用颅内独白硬扛,是在用叙事密度冒充**可追溯推理**。
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## CRITICAL `/challenge` 与 bundle 一致性
|
|
48
|
+
|
|
49
|
+
> [!IMPORTANT]
|
|
50
|
+
> 当本设计定义公共接口、CLI 语义、配置/文件格式、错误语义或跨系统协议时,Step 6 **必须**跑 `/challenge`(对 `{system-id}.md`)。
|
|
51
|
+
> 若当前宿主挂载 **`templates_alpha` / `templates_alpha_en`** 的 `challenge.md`,审查用 skill **只读同 bundle** `.agents/skills/*` 中与 challenge 配对的路径;**禁止**同一会话与 shipped `templates/` 同名 reviewer skill 混读。
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Step 0: 参数与版本
|
|
56
|
+
|
|
57
|
+
### 做什么
|
|
58
|
+
|
|
59
|
+
1. 若用户**未**提供 `<system-id>`:提示格式 `/design-system <system-id>`,并从 `02_ARCHITECTURE_OVERVIEW.md` 列出可选系统 ID;停止。
|
|
60
|
+
2. 记录 `system_id`;扫描 `.anws/` 取最新 `v{N}`,设 `TARGET_DIR = .anws/v{N}`。
|
|
61
|
+
|
|
62
|
+
### 为什么
|
|
63
|
+
|
|
64
|
+
无 ID 则无写盘路径;无版本则与其他工作流交错污染。
|
|
65
|
+
|
|
66
|
+
### 怎么验收
|
|
67
|
+
|
|
68
|
+
- 会话显式含 `system_id` 与 `TARGET_DIR`;未提供 ID 时**未**继续加载设计正文。
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Step 1: 上下文加载与 ADR 盘点
|
|
73
|
+
|
|
74
|
+
### 做什么
|
|
75
|
+
|
|
76
|
+
1. 校验存在:`{TARGET_DIR}/01_PRD.md`、`{TARGET_DIR}/02_ARCHITECTURE_OVERVIEW.md`、`{TARGET_DIR}/03_ADR/`;缺则提示先 `/genesis` 并停止。
|
|
77
|
+
2. 读取 `01`、`02`;在 `02` 中定位本 `system_id` 的职责、边界、依赖、关联 `[REQ-*]`。
|
|
78
|
+
3. 扫描 `03_ADR/`,列出将在 **§8 Trade-offs** 中**仅引用不复制**的 ADR 路径清单(**不**在本 workflow 贴示例 fence)。
|
|
79
|
+
4. 可选:若已存在同系统 L0 草稿,读取以增量演进。
|
|
80
|
+
|
|
81
|
+
### 为什么
|
|
82
|
+
|
|
83
|
+
设计必须挂在 PRD/架构/ADR 事实链上;§8 与 ADR 的关系是**引用链**。
|
|
84
|
+
|
|
85
|
+
### 怎么验收
|
|
86
|
+
|
|
87
|
+
- 能口述一句职责边界 + 至少一条 ADR 与 §8 的对应关系;无文件时**已**停止。
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Step 2: 系统理解(压缩认知步)
|
|
92
|
+
|
|
93
|
+
### 做什么
|
|
94
|
+
|
|
95
|
+
用短问答收敛(可内化,不必单独写盘):成功标准、主要风险、与依赖系统的接口触点;复杂时按 **CRITICAL sequential-thinking** 上 CLI。
|
|
96
|
+
|
|
97
|
+
### 为什么
|
|
98
|
+
|
|
99
|
+
避免 Step 4 直接堆实现细节而丢失边界。
|
|
100
|
+
|
|
101
|
+
### 怎么验收
|
|
102
|
+
|
|
103
|
+
- 能回答「谁消费本系统输出?」「本系统不做什么?」各一句。
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Step 3: 调研(`/explore`)
|
|
108
|
+
|
|
109
|
+
### 做什么
|
|
110
|
+
|
|
111
|
+
1. **必须**调用 **`/explore`**(使用与同 bundle **`explore` workflow** 一致的触发与 OUTPUT 规则),直至对当前风险足够的证据收敛。
|
|
112
|
+
2. 默认落盘:`.anws/v{N}/04_SYSTEM_DESIGN/_research/{system-id}-research.md`(若 `explore` 另有约定路径,以 **`explore.md`** 为准)。
|
|
113
|
+
3. 调研主题由系统类型与风险自拟;**本 workflow 不枚举**长串示例主题列表。
|
|
114
|
+
|
|
115
|
+
### 为什么
|
|
116
|
+
|
|
117
|
+
设计前须对齐外部约束与业界实践,证据要可引用、可复查。
|
|
118
|
+
|
|
119
|
+
### 怎么验收
|
|
120
|
+
|
|
121
|
+
- `_research` 路径存在且非空壳;报告满足 `explore` 的 **七类章节职能**(见该 workflow)。
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Step 4: 设计推理
|
|
126
|
+
|
|
127
|
+
### 做什么
|
|
128
|
+
|
|
129
|
+
在调研与 Step 2 基础上完成架构、接口契约、数据模型、Trade-offs、性能、安全等推理;**问题维度与产出粒度**遵循 `system-designer` 的 6D 与 SKILL 内引导;按 **CRITICAL sequential-thinking** 选择 CLI 或 CoT。产出可保留在会话直至 Step 5 落盘(**不**要求在本步粘贴大段草稿 fence)。
|
|
130
|
+
|
|
131
|
+
### 为什么
|
|
132
|
+
|
|
133
|
+
把「想得清」与「写得进模板」拆开,避免未收敛就填表。
|
|
134
|
+
|
|
135
|
+
### 怎么验收
|
|
136
|
+
|
|
137
|
+
- 能指出至少两处「取舍」且各对应一条 `_research` 或 ADR 证据。
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Step 5: 文档化(L0 / L1)
|
|
142
|
+
|
|
143
|
+
### 做什么
|
|
144
|
+
|
|
145
|
+
1. **进入本步时**读取 **`.agents/skills/system-designer/SKILL.md`**,并按需打开 **`references/system-design-template.md`** 与 **`system-design-detail-template.md`**。
|
|
146
|
+
2. **先**做 L1 拆分检测(R1–R5,定义见 SKILL);再填 **L0** `{system-id}.md`;触发规则时增加 `{system-id}.detail.md`。
|
|
147
|
+
3. L0 须含 **Mermaid** 架构/数据流(要求见 SKILL);**§8** 只引用 ADR,不复制决策正文;操作契约表、数据字段声明层级遵守 SKILL「守则」章节。
|
|
148
|
+
4. 落盘:
|
|
149
|
+
- 必选:`{TARGET_DIR}/04_SYSTEM_DESIGN/{system-id}.md`
|
|
150
|
+
- 可选:`{TARGET_DIR}/04_SYSTEM_DESIGN/{system-id}.detail.md`
|
|
151
|
+
5. **不**在本文件展开 14 章标题清单——以模板文件为准。
|
|
152
|
+
|
|
153
|
+
### 为什么
|
|
154
|
+
|
|
155
|
+
章节与 L0/L1 边界是**长期维护契约**;宿主只防跳步。
|
|
156
|
+
|
|
157
|
+
### 怎么验收
|
|
158
|
+
|
|
159
|
+
- L0 存在;若宣称需 L1,则 `.detail.md` 同路径存在且 L0 内有指向它的导航锚点。
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Step 6: 审核(`/challenge`,条件必填)
|
|
164
|
+
|
|
165
|
+
### 做什么
|
|
166
|
+
|
|
167
|
+
若本系统触及 **CRITICAL** 块首条所列公共契约类型:对 `{TARGET_DIR}/04_SYSTEM_DESIGN/{system-id}.md` 调用 **`/challenge`**,按该 workflow 收敛 Issues;重大问题回 Step 4/5 修订后再挑战。
|
|
168
|
+
|
|
169
|
+
### 为什么
|
|
170
|
+
|
|
171
|
+
契约设计错误会在 blueprint/forge 放大。
|
|
172
|
+
|
|
173
|
+
### 怎么验收
|
|
174
|
+
|
|
175
|
+
- 触发条件为真时,会话中有 challenge 产物或报告路径;为假时显式写「不适用 + 一句理由」。
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Step 7: 人类确认与 `AGENTS.md`
|
|
180
|
+
|
|
181
|
+
### 做什么
|
|
182
|
+
|
|
183
|
+
1. 向用户展示 L0(及 L1)路径、`_research` 路径;给 **三条**以内自检提示(边界、§8 引用、Mermaid)。
|
|
184
|
+
2. 在 `AGENTS.md` 的 **导航或系统边界**区追加/更新本 `system_id` **一行**指向 L0(**不**粘贴大段模板)。
|
|
185
|
+
|
|
186
|
+
### 为什么
|
|
187
|
+
|
|
188
|
+
人类签收 + 团队入口一致,设计才算对外可见。
|
|
189
|
+
|
|
190
|
+
### 怎么验收
|
|
191
|
+
|
|
192
|
+
- 用户有机会确认;`AGENTS.md` 可检索到本系统一行链接。
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
<completion_criteria>
|
|
197
|
+
- **凝练与版式**:各 Step 三小节齐备;未粘贴 SKILL/模板大段替代读盘。
|
|
198
|
+
- `system_id` + `TARGET_DIR` 明确;输入缺失时已正确停止。
|
|
199
|
+
- `/explore` 已执行且 `_research` 可引用;Step 5 已读 shipped `system-designer` 与模板并落盘 L0(+ 条件 L1)。
|
|
200
|
+
- 契约类系统已执行 Step 6 或声明不适用理由成立。
|
|
201
|
+
- Step 7 人类提示与 `AGENTS.md` 一行入口已完成。
|
|
202
|
+
</completion_criteria>
|