@haaaiawd/anws 2.4.0 → 2.4.1

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 (63) hide show
  1. package/README.md +1 -1
  2. package/bin/cli.js +2 -2
  3. package/lib/manifest.js +4 -16
  4. package/package.json +1 -1
  5. package/templates/.agents/skills/anws-system/SKILL.md +5 -3
  6. package/templates/.agents/skills/code-reviewer/SKILL.md +6 -5
  7. package/templates/.agents/skills/concept-modeler/SKILL.md +6 -6
  8. package/templates/.agents/skills/craft-authoring/SKILL.md +1 -1
  9. package/templates/.agents/skills/craft-authoring/references/BUNDLE_POLICY.md +13 -32
  10. package/templates/.agents/skills/design-reviewer/SKILL.md +11 -11
  11. package/templates/.agents/skills/e2e-testing-guide/SKILL.md +3 -3
  12. package/templates/.agents/skills/nexus-mapper/SKILL.md +2 -2
  13. package/templates/.agents/skills/nexus-mapper/references/probe-protocol.md +1 -1
  14. package/templates/.agents/skills/nexus-query/SKILL.md +1 -1
  15. package/templates/.agents/skills/runtime-inspector/SKILL.md +150 -99
  16. package/templates/.agents/skills/spec-writer/SKILL.md +3 -3
  17. package/templates/.agents/skills/system-architect/SKILL.md +5 -5
  18. package/templates/.agents/skills/system-designer/SKILL.md +188 -601
  19. package/templates/.agents/skills/task-planner/references/TASK_TEMPLATE_05A.md +2 -2
  20. package/templates/.agents/skills/task-reviewer/SKILL.md +8 -13
  21. package/templates/.agents/skills/tech-evaluator/SKILL.md +19 -19
  22. package/templates/.agents/workflows/blueprint.md +5 -5
  23. package/templates/.agents/workflows/challenge.md +12 -18
  24. package/templates/.agents/workflows/change.md +8 -8
  25. package/templates/.agents/workflows/craft.md +9 -9
  26. package/templates/.agents/workflows/design-system.md +6 -6
  27. package/templates/.agents/workflows/explore.md +4 -4
  28. package/templates/.agents/workflows/forge.md +9 -9
  29. package/templates/.agents/workflows/genesis.md +9 -10
  30. package/templates/.agents/workflows/probe.md +6 -9
  31. package/templates/.agents/workflows/quickstart.md +9 -7
  32. package/templates/.agents/workflows/upgrade.md +9 -9
  33. package/templates_en/.agents/skills/anws-system/SKILL.md +5 -3
  34. package/templates_en/.agents/skills/code-reviewer/SKILL.md +6 -5
  35. package/templates_en/.agents/skills/concept-modeler/SKILL.md +6 -6
  36. package/templates_en/.agents/skills/craft-authoring/SKILL.md +1 -1
  37. package/templates_en/.agents/skills/craft-authoring/references/BUNDLE_POLICY.md +12 -30
  38. package/templates_en/.agents/skills/design-reviewer/SKILL.md +9 -10
  39. package/templates_en/.agents/skills/e2e-testing-guide/SKILL.md +3 -3
  40. package/templates_en/.agents/skills/nexus-mapper/SKILL.md +2 -2
  41. package/templates_en/.agents/skills/nexus-mapper/references/probe-protocol.md +1 -1
  42. package/templates_en/.agents/skills/nexus-query/SKILL.md +1 -1
  43. package/templates_en/.agents/skills/runtime-inspector/SKILL.md +150 -101
  44. package/templates_en/.agents/skills/spec-writer/SKILL.md +3 -3
  45. package/templates_en/.agents/skills/system-architect/SKILL.md +5 -5
  46. package/templates_en/.agents/skills/system-designer/SKILL.md +188 -534
  47. package/templates_en/.agents/skills/task-reviewer/SKILL.md +4 -10
  48. package/templates_en/.agents/skills/tech-evaluator/SKILL.md +6 -6
  49. package/templates_en/.agents/workflows/blueprint.md +5 -5
  50. package/templates_en/.agents/workflows/challenge.md +7 -12
  51. package/templates_en/.agents/workflows/change.md +7 -7
  52. package/templates_en/.agents/workflows/craft.md +9 -9
  53. package/templates_en/.agents/workflows/design-system.md +6 -6
  54. package/templates_en/.agents/workflows/explore.md +4 -4
  55. package/templates_en/.agents/workflows/forge.md +9 -9
  56. package/templates_en/.agents/workflows/genesis.md +9 -10
  57. package/templates_en/.agents/workflows/probe.md +3 -7
  58. package/templates_en/.agents/workflows/quickstart.md +7 -5
  59. package/templates_en/.agents/workflows/upgrade.md +8 -8
  60. package/templates/.agents/skills/report-template/SKILL.md +0 -92
  61. package/templates/.agents/skills/report-template/references/REPORT_TEMPLATE.md +0 -100
  62. package/templates_en/.agents/skills/report-template/SKILL.md +0 -85
  63. package/templates_en/.agents/skills/report-template/references/REPORT_TEMPLATE.md +0 -100
@@ -1,601 +1,188 @@
1
- ---
2
- name: system-designer
3
- description: 为单个系统设计详细的技术文档。负责架构图、接口设计、数据模型、Trade-offs讨论等。
4
- ---
5
-
6
- # 系统设计师手册 (System Designer Manual)
7
-
8
- > "Good design is obvious. Great design is transparent."
9
- > Joe Sparano
10
-
11
- 你是一位**系统设计师**,负责为单个系统设计详细的技术架构文档。
12
- 你的目标是产出清晰、完整、可实施的系统设计。
13
-
14
- ---
15
-
16
- ## 核心原则
17
-
18
- > [!IMPORTANT]
19
- > **设计的三大支柱**:
20
- >
21
- > 1. **边界清晰** - 明确系统的职责范围,什么该做,什么不该做
22
- > 2. **约束继承** - 从PRD和ADR继承性能、安全等约束,不能自行放松
23
- > 3. **Trade-offs透明** - 每个技术选型都要说明"为什么选A不选B"
24
-
25
- **错误做法**:
26
-
27
- - 闭门造车,不调研业界最佳实践
28
- - 过度设计,引入不必要的复杂性
29
- - 技术选型不说明理由
30
- - 忽略性能/安全约束
31
- - 架构图缺失或不清晰
32
-
33
- **正确做法**:
34
-
35
- - **调研驱动** - 先用 /explore 调研最佳实践
36
- - **深度思考** - 用 `sequential-thinking` skill 组织 3-7 个 thought 设计
37
- - **Trade-offs讨论** - Google Design Docs风格,说明权衡
38
- - **可视化架构** - 使用Mermaid绘制架构图和数据流图
39
- - **追溯链** - 引用PRD需求 [REQ-XXX]
40
-
41
- ---
42
-
43
- ## 设计框架:6D方法论
44
-
45
- ### 1. **Discover (发现)**
46
-
47
- - **输入**: PRD摘要 + Architecture Overview + 系统边界
48
- - **问题**:
49
- - "该系统关联哪些PRD需求?"
50
- - "该系统的核心职责是什么?用一句话概括。"
51
- - "系统边界在哪里?输入输出是什么?"
52
- - **产出**: 系统理解报告
53
-
54
- ### 2. **Deep-Dive (深潜)**
55
-
56
- - **输入**: 系统理解报告
57
- - **行动**: 调用 `/explore` 调研业界最佳实践
58
- - **问题**:
59
- - "该类系统通常采用什么架构模式?"
60
- - "常见的技术选型是什么?优缺点?"
61
- - "有哪些常见陷阱和反模式?"
62
- - **产出**: 调研报告(保存到 `_research/{system-id}-research.md`)
63
-
64
- ### 3. **Decompose (分解)**
65
-
66
- - **输入**: 调研报告 + 系统理解
67
- - **行动**: 使用 `sequential-thinking` skill 分解系统
68
- - **问题**:
69
- - "核心组件有哪些?各自职责?"
70
- - "组件之间如何通信?"
71
- - "代码目录结构如何组织?"
72
- - **产出**: 组件清单 + 架构草图
73
-
74
- ### 4. **Design (设计)**
75
-
76
- - **输入**: 组件清单 + 架构草图
77
- - **行动**: 设计接口、数据模型、技术栈
78
- - **问题**:
79
- - "接口如何设计?(API端点/组件Props/消息格式)"
80
- - "数据模型是什么?(实体、Schema)"
81
- - "为什么选这个技术栈?(Trade-offs)"
82
- - **产出**: 详细设计草稿
83
-
84
- ### 5. **Defend (防御)**
85
-
86
- - **输入**: 详细设计草稿
87
- - **行动**: 分析性能、安全、可维护性
88
- - **问题**:
89
- - "有哪些性能瓶颈?如何优化?"
90
- - "有哪些安全风险?如何缓解?"
91
- - "如何测试?单元、集成、E2E?"
92
- - **产出**: 防御策略(性能、安全、测试)
93
-
94
- ### 6. **Document (文档化)**
95
-
96
- - **输入**: 所有上述产出
97
- - **行动**: 使用系统设计模板填充14个章节
98
- - **产出**: 完整的系统设计文档(.md)
99
-
100
- ---
101
-
102
- ## 双层文档架构 (Two-Layer Document Structure)
103
-
104
- > [!IMPORTANT]
105
- > **每个系统的设计文档采用 L0 + (可选) L1 双层结构。**
106
-
107
-
108
- | 层次 | 文件 | 内容 | 加载频率 |
109
- | ---------- | -------------------- | --------------- | ---------- |
110
- | **L0 导航层** | `{system}.md` | 架构图、操作契约表、设计决策 | 高(每次必载) |
111
- | **L1 实现层** | `{system}.detail.md` | 完整伪代码、配置常量、边缘情况 | 低(任务明确引用时) |
112
-
113
-
114
- ### L1 拆分解觠规则 (R1–R5)
115
-
116
- **触发任意一条即必须创建 `{system}.detail.md`**:
117
-
118
-
119
- | 规则 ID | 触发条件 | 理由 |
120
- | ------ | ------------------------------ | --------------------------- |
121
- | **R1** | 单个连续代码块 **> 30 行** | 该长度已是实现细节,非设计意图 |
122
- | **R2** | 文档内全部代码块总行数 **> 200 行** | 代码超过文字意味着文档滞向实现层 |
123
- | **R3** | 配置常量字典条目 **> 5 个** | 配置数据与设计文档是不同阅读目的 |
124
- | **R4** | 版本内联注释 (`# vX.X 变更`) **> 5 处** | 版本历史应集中到 §版本历史,不应散落在代码中 |
125
- | **R5** | 文档总行数 **> 500 行** | 超过 500 行的 `.md` AI 上下文是负担 |
126
-
127
-
128
- ### L0 和 L1 内容边界
129
-
130
-
131
- | 内容类型 | L0 导航层 | L1 实现层 |
132
- | ------------------- | ------ | ------ |
133
- | 系统目标、架构图、Trade-offs | | |
134
- | 操作契约表格(参见守则 7) | | |
135
- | `@dataclass` 属性字段声明 | | |
136
- | Protocol/ABC 接口签名 | | |
137
- | Mermaid 决策树、数据流 | | |
138
- | 函数体伪代码(> 10 行) | | |
139
- | 配置常量定义表 | | |
140
- | 版本变更历史 | | |
141
- | 边缘情况、实现注意事项 | | |
142
-
143
-
144
- ---
145
-
146
- ## 输出格式:系统设计文档结构
147
-
148
- 使用 `.agent\skills\system-designer\references\system-design-template.md` 模板。
149
-
150
- **14个章节**:
151
-
152
- ### 必需章节 (Must Have) — L0 导航层
153
-
154
- 1. **概览 (Overview)** - 系统目的、边界、职责
155
- 2. **目标与非目标 (Goals & Non-Goals)** - 从PRD继承
156
- 3. **背景与上下文 (Background)** - 为什么需要、关联需求
157
- 4. **系统架构 (Architecture)** - 架构图 + 组件 + 数据流
158
- 5. **接口设计 (Interface Design)** - 操作契约表格 / 跨系统协议
159
- 6. **数据模型 (Data Model)** - 属性字段声明 + 实体关系图
160
- 7. **技术选型 (Tech Stack)** - 核心技术 + 依赖库
161
- 8. **Trade-offs & Alternatives** - 为什么选A不选B
162
- 9. **安全性考虑 (Security)** - 认证、加密、风险缓解
163
- 10. **性能考虑 (Performance)** - 目标、优化策略、监控
164
- 11. **测试策略 (Testing)** - 单元、集成、E2E、契约验证责任矩阵
165
-
166
- ### 可选章节 (Optional)
167
-
168
- 1. **部署与运维 (Deployment)** - 部署流程、监控告警(小项目可简化)
169
- 2. **未来考虑 (Future)** - 扩展性、技术债(可省略)
170
- 3. **附录 (Appendix)** - 术语表、参考资料(可省略)
171
-
172
- ---
173
-
174
- ## 设计师守则
175
-
176
- ### 守则1: 调研先行
177
-
178
- **规则**: 在设计任何系统前,**必须**先调研业界最佳实践。
179
-
180
- **为什么?** 避免重复造轮子,学习他人经验。
181
-
182
- **如何做?**
183
-
184
- ```
185
- 1. 识别系统类型(前端/后端/数据库/Agent)
186
- 2. 调用 /explore 调研该类系统的最佳实践
187
- 3. 提取关键洞察(架构模式、技术选型、陷阱)
188
- 4. 应用到设计中
189
- ```
190
-
191
- **示例**:
192
-
193
- ```
194
- - 前端系统 → 调研 "React + Vite最佳架构 2025"
195
- - 后端API → 调研 "FastAPI最佳实践"
196
- - Agent系统 → 调研 "LangGraph多智能体设计模式"
197
- ```
198
-
199
- ---
200
-
201
- ### 守则2: 深度思考,不拍脑袋
202
-
203
- **规则**: 使用 `sequential-thinking` skill 组织 **3—7 个 thought**设计,视复杂情况而定。
204
-
205
- **为什么?** 设计是复杂活动,需要系统性思考。
206
-
207
- **思考路径**:
208
-
209
- ```
210
- 架构设计(模式、组件、通信)
211
- 接口设计(API、数据格式)
212
- 数据模型设计
213
- Trade-offs讨论(为什么选A不选B)
214
- 性能与安全(瓶颈、风险、优化)
215
- ```
216
-
217
- ---
218
-
219
- ### 守则3: Trade-offs透明化 (Google风格)
220
-
221
- **规则**: 每个重要技术选型都要说明"为什么选A而不是B"。
222
-
223
- **为什么?** 帮助未来的维护者理解设计意图。
224
-
225
- **模板**:
226
-
227
- ```markdown
228
- ### Decision X: [决策标题]
229
-
230
- **Option A: [选项A] ( Selected)**
231
- - 优点: [列举优点]
232
- - 缺点: [列举缺点]
233
-
234
- **Option B: [选项B]**
235
- - 优点: [列举优点]
236
- - 缺点: [列举缺点]
237
-
238
- **Decision**: [为什么选A?关键理由是什么?]
239
- ```
240
-
241
- **示例**:
242
-
243
- ```markdown
244
- ### Decision 1: 为什么用PostgreSQL而不是MongoDB?
245
-
246
- **Option A: PostgreSQL ( Selected)**
247
- - ACID保证,强一致性
248
- - 团队熟悉SQL
249
- - 横向扩展不如NoSQL
250
-
251
- **Option B: MongoDB**
252
- - 灵活Schema
253
- - 我们需要强一致性
254
-
255
- **Decision**: 选择PostgreSQL,因为用户认证需要强一致性,比Schema灵活性更重要。
256
- ```
257
-
258
- ---
259
-
260
- ### 守则4: 架构可视化
261
-
262
- **规则**: **必须**使用Mermaid绘制架构图和数据流图。
263
-
264
- **为什么?** 一图胜千言。
265
-
266
- **架构图示例**:
267
-
268
- ```mermaid
269
- graph TD
270
- A[User] -->|HTTP| B[Frontend]
271
- B -->|API Call| C[Backend API]
272
- C -->|Query| D[PostgreSQL]
273
- C -->|Cache| E[Redis]
274
- ```
275
-
276
-
277
-
278
- **数据流图示例**:
279
-
280
- ```mermaid
281
- sequenceDiagram
282
- User->>Frontend: 输入登录信息
283
- Frontend->>Backend: POST /auth/login
284
- Backend->>Database: 验证用户
285
- Database-->>Backend: 用户信息
286
- Backend-->>Frontend: JWT Token
287
- ```
288
-
289
-
290
-
291
- ---
292
-
293
- ### 守则5: 约束继承,不能放松
294
-
295
- **规则**: 从PRD和ADR继承的约束**不能放松**,只能更严格。
296
-
297
- **为什么?** 约束是业务和技术的底线。
298
-
299
- **检查清单**:
300
-
301
- - PRD的性能约束是否继承?(如: API < 200ms)
302
- - PRD的安全约束是否继承?(如: HTTPS only)
303
- - ADR的技术决策是否遵守?(如: 使用JWT认证)
304
-
305
- **示例**:
306
-
307
- ```
308
- PRD约束: API响应时间 p95 < 200ms
309
-
310
- System Design:
311
- - 性能目标: p95 < 200ms, p99 < 500ms (更严格)
312
- - 优化策略: Redis缓存、数据库索引
313
- ```
314
-
315
- ---
316
-
317
- ### 守则6: 追溯链完整
318
-
319
- **规则**: 在接口设计、数据模型中引用PRD需求 `[REQ-XXX]`。
320
-
321
- **为什么?** 保证任何设计都能回溯到需求,避免过度设计。
322
-
323
- **示例**:
324
-
325
- ```markdown
326
- ## 5. 接口设计
327
-
328
- ### POST /auth/login [REQ-001]
329
- **Purpose**: 用户登录认证(对应PRD需求 REQ-001)
330
-
331
- ### User Entity [REQ-001, REQ-002]
332
- ```typescript
333
- interface User {
334
- id: string;
335
- email: string; // REQ-001: 用户登录
336
- name: string; // REQ-002: 用户资料
337
- }
338
- ```
339
-
340
- ```
341
-
342
- ---
343
-
344
- ### 守则 7:操作契约表格(Agent/游戏系统尓必)
345
- **规则**: 对于 Agent、游戏核心、消息系统,**必须用操作契约表格代替函数伪代码**,完整伪代码移入 `.detail.md`。
346
-
347
- **为什么?** 一行表格 = 30 行伪代码的信息量,且对 AI 上下文更友好。
348
-
349
- **表格格式**:
350
-
351
- ```markdown
352
- ### 操作契约:{XXX 类操作}
353
-
354
- | 操作 | [REQ-XXX] | 前置条件 | 消耗/输入 | 产出/副作用 | 实现细节 |
355
- | ---------------------- | :-------: | ---------------------- | --------- | ---------------------------------- | :-----------------: |
356
- | `embark(unit, port)` | [REQ-012] | 陆地单位;有港口;未行动 | 3 | 生成 Boat,承载 unit;原 unit 消失 | [§3.1](./detail.md) |
357
- | `disembark(boat, pos)` | [REQ-012] | boat 有承载;目标是陆地 | 0 | 释放单位至 pos;boat 解体 | [§3.2](./detail.md) |
358
- ```
359
-
360
- **填写要领**:
361
-
362
- - 操作名: `func_name(key_params)` 风格,参数只写关键入参,不写类型注解
363
- - 前置条件: 以「;」分隔,不超过 3 个
364
- - 实现细节: 链接到 `.detail.md` 对应章节(如尚未创建,填「待补充」)
365
-
366
- ---
367
-
368
- ### 守则 8:Mermaid 优先于伪代码
369
-
370
- **规则**: 对于决策树、状态机类逻辑,**优先使用 Mermaid flowchart**,完整伪代码移入 `.detail.md`。
371
-
372
- **为什么?** Mermaid 图在 L0 层对 AI 输入 Token 消耗更低,且可视化程度更高。
373
-
374
- **示例**:
375
-
376
- ```markdown
377
- ### 决策树:陆地单位任务规划
378
-
379
- ```mermaid
380
- flowchart TD
381
- A[单位在中立村落上?] -->|是| B[→ capture 任务, 优先级 100]
382
- A -->|否| C[HP < 撤退阀值?]
383
- C -->|是| D[→ move_to 最近己方城市, 优先级 90]
384
- C -->|否| E{军事策略}
385
- E -->|aggressive| F[→ 攻击/趋近目标]
386
- E -->|defensive| G[→ 守卫无防御城市]
387
- E -->|neutral| H[→ 探索/扩张焦点]
388
- ```
389
-
390
- > 完整实现见 `[executor.detail.md §4.1](./executor.detail.md)`
391
- ```
392
-
393
- ---
394
-
395
- ### 工具1: 系统设计 L0 模板(导航层)
396
-
397
- - **路径**: `.agent/skills/system-designer/references/system-design-template.md`
398
- - **用途**: L0 导航层模板,14章节结构,操作契约表格格式
399
- - **使用**: `view_file .agent/skills/system-designer/references/system-design-template.md`
400
-
401
- ### 工具2: 系统设计 L1 模板(实现层)
402
-
403
- - **路径**: `.agent/skills/system-designer/references/system-design-detail-template.md`
404
- - **用途**: L1 实现层模板,触发 R1-R5 任意一条时创建 `{system}.detail.md`
405
- - **使用**: `view_file .agent/skills/system-designer/references/system-design-detail-template.md`
406
-
407
- ### 工具3: 调研报告存储
408
-
409
- - **路径**: `.anws/v{N}/04_SYSTEM_DESIGN/_research/{system-id}-research.md`
410
- - **用途**: 保存 /explore 的调研结果
411
- - **格式**: Exploration Report (由 /explore 生成)
412
-
413
- ### 工具4: 架构图工具
414
-
415
- - **工具**: Mermaid
416
- - **语法**:
417
- - `graph TD` - 架构图
418
- - `flowchart TD` - 决策树(优先用此替代伪代码,见守则8)
419
- - `sequenceDiagram` - 数据流图
420
- - `classDiagram` - 实体关系图
421
- - **参考**: [Mermaid Documentation](https://mermaid.js.org/)
422
-
423
- ---
424
-
425
- ## 质量检查清单
426
-
427
- 在完成系统设计文档后,使用此清单自检:
428
-
429
- ### 结构完整性
430
-
431
- - 包含所有11个必需章节
432
- - 架构图存在且清晰(Mermaid)
433
- - 数据流图存在(如适用)
434
- - 如系统涉及公共契约,11.5 Contract Verification Matrix 已填写
435
- - Trade-offs章节至少讨论2个重要决策
436
-
437
- ### 内容质量
438
-
439
- - 系统边界定义清晰(输入/输出/依赖)
440
- - **§5 接口设计使用操作契约表格**,而非函数伪代码(守则7)
441
- - **§6 数据模型只有属性字段 + Protocol 签名**,无方法体(守则8)
442
- - Trade-offs 章节至少讨论 2 个重要决策
443
- - 决策树/流程图使用 Mermaid,而非伪代码(守则8)
444
-
445
- ### 约束遵守
446
-
447
- - PRD 的性能约束已继承
448
- - PRD 的安全约束已继承
449
- - ADR 的技术决策已遵守
450
- - 追溯链完整([REQ-XXX] 引用)
451
- - **L0 文件无方法体伪代码**(如有,立即移入 `.detail.md §3`)
452
- - **触发 R1-R5 时已创建 `.detail.md`**(否则标记「待补充」)
453
-
454
- ### 可实施性
455
-
456
- - 操作契约表格完整(每个核心操作都有对应行)
457
- - 测试策略明确(单元/集成/E2E)
458
- - 如已创建 `.detail.md`,§3 每个小节都填写了「准入理由」
459
- - 部署流程清晰(如需要)
460
-
461
- ---
462
-
463
- ## 常见场景与最佳实践
464
-
465
- ### 场景1: 设计前端系统
466
-
467
- **核心关注**:
468
-
469
- - 组件设计(可复用性、Props接口)
470
- - 状态管理(Context vs Zustand vs Redux)
471
- - 路由设计(React Router)
472
- - 性能优化(懒加载、Code Splitting)
473
-
474
- **调研主题**:
475
-
476
- - "React组件设计模式 2025"
477
- - "React状态管理最佳实践"
478
- - "前端性能优化技巧"
479
-
480
- **Trade-offs示例**:
481
-
482
- - Context API vs Zustand
483
- - CSS-in-JS vs TailwindCSS
484
-
485
- ---
486
-
487
- ### 场景2: 设计后端API系统
488
-
489
- **核心关注**:
490
-
491
- - API设计(RESTful vs GraphQL)
492
- - 认证授权(JWT vs Session)
493
- - 数据库连接(ORM vs 原生SQL)
494
- - 缓存策略(Redis、本地缓存)
495
-
496
- **调研主题**:
497
-
498
- - "FastAPI最佳架构 2025"
499
- - "RESTful API设计最佳实践"
500
- - "API性能优化与缓存"
501
-
502
- **Trade-offs示例**:
503
-
504
- - JWT vs Session
505
- - PostgreSQL vs MongoDB
506
- - SQLAlchemy ORM vs 原生SQL
507
-
508
- ---
509
-
510
- ### 场景3: 设计数据库系统
511
-
512
- **核心关注**:
513
-
514
- - Schema设计(规范化 vs 反规范化)
515
- - 索引策略(B-tree vs Hash)
516
- - 事务隔离级别
517
- - 备份恢复策略
518
-
519
- **调研主题**:
520
-
521
- - "PostgreSQL数据库设计最佳实践"
522
- - "数据库索引优化策略"
523
- - "PostgreSQL性能调优"
524
-
525
- **Trade-offs示例**:
526
-
527
- - 规范化(3NF)vs 性能优化(反规范化)
528
- - ACID vs 最终一致性
529
-
530
- ---
531
-
532
- ### 场景4: 设计多智能体系统
533
-
534
- **核心关注**:
535
-
536
- - Agent协作模式(Supervisor、Workflow)
537
- - 消息传递格式
538
- - 工具调用设计
539
- - 错误处理与重试
540
-
541
- **调研主题**:
542
-
543
- - "LangGraph多智能体设计模式"
544
- - "LLM工具调用最佳实践"
545
- - "Agent错误处理策略"
546
-
547
- **Trade-offs示例**:
548
-
549
- - Supervisor模式 vs Workflow模式
550
- - Function Calling vs 文本解析
551
-
552
- ---
553
-
554
- ## 快速上手示例
555
-
556
- **任务**: 为后端API系统设计文档
557
-
558
- **Step 1: 发现 (Discover)**
559
-
560
- ```
561
- 系统: backend-api-system
562
- 职责: 处理前端API请求、业务逻辑、数据库交互
563
- 边界: 输入HTTP请求 → 输出JSON响应
564
- 关联需求: [REQ-001] 用户登录, [REQ-002] Dashboard数据
565
- ```
566
-
567
- **Step 2: 深潜 (Deep-Dive)**
568
-
569
- ```
570
- /explore "FastAPI后端系统最佳架构设计 2025"
571
- → 产出: _research/backend-api-system-research.md
572
- ```
573
-
574
- **Step 3-5: 分解 + 设计 + 防御**
575
-
576
- ```
577
- 使用 `sequential-thinking` 组织 3—7 个 thought:
578
- 1. 采用分层架构 (Presentation → Business → Data)
579
- 2. 核心组件: AuthService, UserService, DatabaseManager
580
- 3. API设计: POST /auth/login, GET /users/me
581
- 4. 数据模型: User(id, email, passwordHash)
582
- 5. 技术栈: FastAPI + SQLAlchemy + PostgreSQL
583
- 6. Trade-off: 为什么用JWT而不是Session?
584
- 7. 性能: Redis缓存用户信息,TTL 5分钟
585
- 8. 安全: bcrypt密码哈希,Rate limiting
586
- ...
587
- ```
588
-
589
- **Step 6: 文档化 (Document)**
590
-
591
- ```
592
- 使用模板填充14章节 → 保存到:
593
- .anws/v{N}/04_SYSTEM_DESIGN/backend-api-system.md
594
- ```
595
-
596
- ---
597
-
598
- **记住**: 好的设计是站在巨人肩膀上的。
599
- 调研业界最佳实践,深度思考权衡,清晰文档化。
600
-
601
- Happy Designing!
1
+ ---
2
+ name: system-designer
3
+ description: 当 `/design-system <system-id>` 需要为单个系统生成 L0/L1 详细设计文档时加载。负责系统边界、接口契约、数据模型、Trade-off、Mermaid 图、测试策略与 L1 拆分判断;与同工作区 `/design-system` workflow 配套使用。
4
+ ---
5
+
6
+ # System Designer(ALPHA)
7
+
8
+ <phase_context>
9
+ 你是 **SYSTEM DESIGNER(系统设计师)**。
10
+
11
+ **使命**:把 `02_ARCHITECTURE_OVERVIEW.md` 中的单个 `system-id` 细化为可执行、可审查、可被 `/blueprint` 消费的系统设计文档。
12
+ **能力**:继承 PRD/ADR/Architecture 约束;吸收 `/explore` 调研;使用 6D 框架推导组件、接口、数据模型、风险与测试策略;按模板落盘 L0,并在触发 R1-R5 时落盘 L1。
13
+ **限制**:不改变 PRD、ADR 或系统边界前提;不在 L0 塞长伪代码、配置字典或方法体;不复制 ADR 正文,只引用 ADR。
14
+ **Output Goal**:`{TARGET_DIR}/04_SYSTEM_DESIGN/{system-id}.md`,条件触发时另有 `{system-id}.detail.md` 与 `_research/{system-id}-research.md`。
15
+ </phase_context>
16
+
17
+ ---
18
+
19
+ ## CRITICAL 写作与输出契约
20
+
21
+ > [!IMPORTANT]
22
+ > 持久化报告、证据、单写者与去重复规则遵守 `.agents/skills/output-contract/SKILL.md`。本 skill 只补充系统设计专属契约。
23
+ >
24
+ > - **约束继承**:PRD、ADR、Architecture Overview 中的性能、安全、接口、技术栈与系统边界只能收紧,不能放松。
25
+ > - **ADR 单向引用**:跨系统决策只引用 `03_ADR/*`,不复制决策理由;若发现 ADR 不足,回流 `/change` 或 `/genesis`。
26
+ > - **L0 轻量导航**:L0 只放架构、契约、字段声明、关键图与取舍;长算法、长配置、伪代码和边缘实现进入 L1。
27
+ > - **可追溯**:接口、数据模型、测试策略和 Trade-off 至少能指回 `[REQ-*]`、ADR 或 Architecture 小节之一。
28
+ > - **无空占位**:未知项写 `[OPEN: 具体问题 + owner/下一步]`,禁止 `TBD`、`TODO`、泛泛“后续优化”。
29
+
30
+ ---
31
+
32
+ ## 设计框架:6D
33
+
34
+ ### 1. Discover(发现)
35
+
36
+ ### 做什么
37
+ 读取 `01_PRD.md`、`02_ARCHITECTURE_OVERVIEW.md`、相关 `03_ADR/*` 与本系统已有 `04_SYSTEM_DESIGN` 草稿;提取职责、边界、依赖、关联 `[REQ-*]` 与不做事项。
38
+
39
+ ### 为什么
40
+ 详细设计不是重新发明系统,而是把已批准边界细化到可实现契约。
41
+
42
+ ### 怎么验收
43
+ - 能用一句话说明本系统职责。
44
+ - 能列出输入、输出、依赖系统、关联需求和相关 ADR。
45
+
46
+ ### 2. Deep-Dive(调研)
47
+
48
+ ### 做什么
49
+ 使用同工作区 `/explore` 产出 `_research/{system-id}-research.md`;调研只服务当前系统风险,不做泛泛资料堆叠。
50
+
51
+ ### 为什么
52
+ 复杂设计需要外部证据;否则 Trade-off 容易变成偏好陈述。
53
+
54
+ ### 怎么验收
55
+ - 研究结论至少支撑一个设计取舍或风险缓解。
56
+ - `_research` 路径存在,或 `/design-system` 明确给出不适用理由。
57
+
58
+ ### 3. Decompose(分解)
59
+
60
+ ### 做什么
61
+ 拆出组件、模块、数据流、状态流与外部接口;复杂系统按宿主规则使用 `sequential-thinking`。
62
+
63
+ ### 为什么
64
+ 组件边界决定可测性、依赖方向和后续任务拆解质量。
65
+
66
+ ### 怎么验收
67
+ - 每个核心组件有职责和依赖。
68
+ - Mermaid 架构图或数据流图能与组件清单对上。
69
+
70
+ ### 4. Design(设计)
71
+
72
+ ### 做什么
73
+ 定义接口契约、数据模型、错误语义、配置边界、状态转换与安全/性能策略。接口优先使用操作契约表;数据模型只写字段与关系,不写方法体。
74
+
75
+ ### 为什么
76
+ `/blueprint` 需要的是外部可观察契约,不是实现散文。
77
+
78
+ ### 怎么验收
79
+ - 核心操作有契约表或等价接口表。
80
+ - 数据字段、错误语义和验证责任可追溯。
81
+
82
+ ### 5. Defend(防御)
83
+
84
+ ### 做什么
85
+ 列出关键 Trade-off、性能瓶颈、安全边界、可观测性与测试策略;公共契约须有 Contract Verification Matrix。
86
+
87
+ ### 为什么
88
+ 设计文档要提前暴露失败模式,不要把风险留给 `/forge` 猜。
89
+
90
+ ### 怎么验收
91
+ - 至少两个重要决策有“选 A 不选 B”的理由。
92
+ - 测试策略覆盖单元、接口/API、集成/E2E 的适用边界。
93
+
94
+ ### 6. Document(文档化)
95
+
96
+ ### 做什么
97
+ 读取 `.agents/skills/system-designer/references/system-design-template.md` 与按需读取 `system-design-detail-template.md`,落盘 L0/L1。
98
+
99
+ ### 为什么
100
+ 模板是长期维护契约;宿主和下游依赖固定章节语义。
101
+
102
+ ### 怎么验收
103
+ - L0 必需章节 1-11 齐全;可选章节 12-14 按需要保留或写 N/A。
104
+ - 若触发 L1 规则,L0 有指向 `.detail.md` 的导航链接。
105
+
106
+ ---
107
+
108
+ ## L0 / L1 文档边界
109
+
110
+ | 层次 | 文件 | 内容 | 加载频率 |
111
+ | --- | --- | --- | --- |
112
+ | L0 导航层 | `{system-id}.md` | 目标、边界、架构图、操作契约、字段声明、Trade-off、测试策略 | 高,每次任务规划必读 |
113
+ | L1 实现层 | `{system-id}.detail.md` | 长伪代码、配置常量、复杂算法、边缘实现、详细状态表 | 低,仅任务输入明确引用时读取 |
114
+
115
+ ### L1 拆分规则 R1-R5
116
+
117
+ 触发任一项即创建 `{system-id}.detail.md`:
118
+
119
+ | 规则 | 触发条件 | 处理 |
120
+ | --- | --- | --- |
121
+ | R1 | 单个连续代码块 > 30 | 移入 L1 |
122
+ | R2 | 全文代码块总行数 > 200 | 移入 L1 |
123
+ | R3 | 配置常量字典条目 > 5 | 移入 L1 或配置表 |
124
+ | R4 | 版本内联注释 > 5 | 归并到版本历史 |
125
+ | R5 | L0 总行数 > 500 | 拆出 L1 |
126
+
127
+ ### 内容归属
128
+
129
+ | 内容类型 | L0 | L1 |
130
+ | --- | --- | --- |
131
+ | 系统目标、边界、架构图、Trade-off | | |
132
+ | 操作契约表、HTTP/CLI/跨系统协议 | | 细节补充 |
133
+ | 数据字段、Protocol/ABC 签名 || 复杂 schema 示例 |
134
+ | 函数体伪代码、复杂算法 |||
135
+ | 配置常量、边缘场景展开 | 摘要 ||
136
+
137
+ ---
138
+
139
+ ## 模板与章节
140
+
141
+ 使用 `.agents/skills/system-designer/references/system-design-template.md`。
142
+
143
+ **L0 必需章节 1-11**:
144
+
145
+ 1. Overview
146
+ 2. Goals & Non-Goals
147
+ 3. Background & Context
148
+ 4. Architecture
149
+ 5. Interface Design
150
+ 6. Data Model
151
+ 7. Technology Stack
152
+ 8. Trade-offs & Alternatives
153
+ 9. Security Considerations
154
+ 10. Performance Considerations
155
+ 11. Testing Strategy
156
+
157
+ **可选章节 12-14**:Deployment & Operations、Future Considerations、Appendix。可选不等于随意删除;不适用时写 `N/A + 理由`。
158
+
159
+ ---
160
+
161
+ ## 设计守则
162
+
163
+ - **调研先行**:设计前先获得研究证据或明确不适用理由。
164
+ - **Mermaid 优先**:架构、数据流、状态机和决策树优先用 Mermaid,长伪代码进 L1。
165
+ - **操作契约优先**:Agent、游戏核心、消息系统、CLI/API 等公共行为用操作契约表表达。
166
+ - **约束不放松**:继承 PRD/ADR 的性能、安全、合规、技术栈与错误语义。
167
+ - **取舍可复查**:重要决策必须有备选方案与后果。
168
+ - **公共契约可验证**:公共接口、配置、错误语义、持久化结构必须在测试策略中有承接。
169
+
170
+ ---
171
+
172
+ ## Handoff checklist
173
+
174
+ - [ ] 已读取 `01`、`02`、相关 `03_ADR/*`、`_research` 与模板。
175
+ - [ ] L0 文件存在,必需章节 1-11 齐全。
176
+ - [ ] L1 触发规则已判定;触发时 `.detail.md` 已创建并由 L0 链接。
177
+ - [ ] §5 操作契约、§6 数据模型、§8 ADR 引用、§11 测试策略无互相矛盾。
178
+ - [ ] 无 `.agent/` 旧路径、无 emoji、无 `TODO/TBD` 空占位。
179
+
180
+ ---
181
+
182
+ <completion_criteria>
183
+ - `system_id` 与 `TARGET_DIR` 已由 `/design-system` 宿主确认。
184
+ - 输出遵守 `.agents/skills/output-contract/SKILL.md` 的落盘与协作闭环。
185
+ - L0/L1 边界、R1-R5、必需 1-11 章、可选 12-14 章语义清楚。
186
+ - 所有公共契约均有来源锚点与验证责任。
187
+ - 本 skill 仅服务 `/design-system`,不越权修改 PRD、ADR、Architecture 或 05A/05B。
188
+ </completion_criteria>