sdd-full 4.2.0 → 4.3.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.
Files changed (127) hide show
  1. package/bin.js +31 -63
  2. package/package.json +1 -1
  3. package/skills/README.md +97 -0
  4. package/skills/call-adaptation/SKILL.md +23 -0
  5. package/skills/call-adaptation/call-adaptation-guide.md +136 -0
  6. package/skills/call-adaptation/claude-code-call-spec.md +50 -0
  7. package/skills/call-adaptation/trae-call-spec.md +56 -0
  8. package/skills/checklist.md +154 -0
  9. package/skills/design-planning/ai-coding-rules/SKILL.md +52 -0
  10. package/skills/design-planning/design-to-code/SKILL.md +53 -0
  11. package/skills/design-planning/enterprise-spec/SKILL.md +52 -3
  12. package/skills/design-planning/flutter-av/SKILL.md +44 -34
  13. package/skills/design-planning/flutter-map/SKILL.md +41 -31
  14. package/skills/design-planning/function-sdd/SKILL.md +54 -0
  15. package/skills/design-planning/sdd-code/SKILL.md +347 -0
  16. package/skills/design-planning/sdd-deploy/SKILL.md +501 -0
  17. package/skills/design-planning/sdd-ops/SKILL.md +306 -0
  18. package/skills/design-planning/sdd-test/SKILL.md +383 -0
  19. package/skills/design-planning/ui-sdd/SKILL.md +291 -0
  20. package/skills/design-planning/ui-sdd-specialized/SKILL.md +46 -40
  21. package/skills/design-planning/writing-plans/SKILL.md +144 -0
  22. package/skills/development-execution/flutter-errors/SKILL.md +44 -34
  23. package/skills/development-execution/sdd-add/SKILL.md +540 -0
  24. package/skills/development-execution/systematic-debugging/SKILL.md +298 -0
  25. package/skills/development-execution/test-driven-development/SKILL.md +373 -0
  26. package/skills/development-execution/verification-before-completion/SKILL.md +141 -0
  27. package/skills/knowledge-precipitation/claudeception/SKILL.md +96 -0
  28. package/skills/knowledge-precipitation/mempalace-auto-saver/SKILL.md +302 -0
  29. package/skills/quality-assurance/bdd-acceptance/SKILL.md +44 -37
  30. package/skills/quality-assurance/flutter-test/SKILL.md +56 -0
  31. package/skills/quality-assurance/quality-gate/SKILL.md +350 -0
  32. package/skills/quality-assurance/security-audit/SKILL.md +386 -0
  33. package/skills/release-ops/finishing-a-development-branch/SKILL.md +202 -0
  34. package/skills/release-ops/release-flow/SKILL.md +404 -0
  35. package/skills/requirement-analysis/brainstorming/SKILL.md +166 -0
  36. package/skills/requirement-analysis/competitive-brief/SKILL.md +121 -0
  37. package/skills/requirement-analysis/market-research/SKILL.md +143 -0
  38. package/skills/requirement-analysis/prd-write/SKILL.md +111 -0
  39. package/skills/requirement-analysis/requirement-completion-officer/SKILL.md +124 -0
  40. package/skills/requirement-analysis/sdd/SKILL.md +1044 -0
  41. package/skills/requirement-analysis/sdd-full/SKILL.md +717 -36
  42. package/skills/requirement-analysis/unified-flow/SKILL.md +128 -26
  43. package/skills/rules/project_rules.md +167 -0
  44. package/skills/rules/user_rules.md +254 -69
  45. package/skills/special-tools/env-check/SKILL.md +40 -34
  46. package/skills/special-tools/receiving-code-review/SKILL.md +215 -0
  47. package/skills/special-tools/requesting-code-review/SKILL.md +107 -0
  48. package/skills/special-tools/using-superpowers/SKILL.md +117 -0
  49. package/skills/templates/API-SDD.md +31 -0
  50. package/skills/templates/Andrej Karpathy AI/347/274/226/347/240/201/350/247/204/345/210/231/350/220/275/345/234/260SDD.md" +117 -0
  51. package/skills/templates/BDD/351/243/216/346/240/274/351/252/214/346/224/266/346/240/207/345/207/206SDD.md +147 -0
  52. package/skills/templates/Base-SDD.md +38 -0
  53. package/skills/templates/Brain-SDD.md +36 -0
  54. package/skills/templates/Code-SDD.md +41 -0
  55. package/skills/templates/Competitor-SDD.md +34 -0
  56. package/skills/templates/Env-SDD.md +37 -0
  57. package/skills/templates/Flutter/345/205/250/347/261/273/345/236/213/346/265/213/350/257/225/347/255/226/347/225/245SDD.md +162 -0
  58. package/skills/templates/Flutter/345/234/260/345/233/276/345/257/274/350/210/252/344/270/232/345/212/241SDD.md +136 -0
  59. package/skills/templates/Flutter/345/270/270/350/247/201/345/274/202/345/270/270/344/270/223/351/241/271SDD.md +159 -0
  60. package/skills/templates/Flutter/351/237/263/350/247/206/351/242/221/345/205/250/346/240/210SDD.md +121 -0
  61. package/skills/templates/PRD-SDD.md +45 -0
  62. package/skills/templates/SKILL.md +91 -0
  63. package/skills/templates/Test-SDD.md +34 -0
  64. package/skills/templates/UI-SDD.md +38 -0
  65. package/skills/templates/UI-SDD/344/270/223/347/224/250/346/250/241/346/235/277.md +141 -0
  66. package/skills/templates/UI/350/265/204/346/272/220/346/217/220/347/244/272/350/257/215/347/224/237/346/210/220SDD.md +67 -0
  67. package/skills/templates//344/274/201/344/270/232/347/272/247/345/205/250/346/240/210/345/267/245/347/250/213/350/247/204/350/214/203SDD.md +152 -0
  68. package/skills/templates//345/205/250/346/265/201/347/250/213SDD/350/236/215/345/220/210/344/275/223/347/263/273.md +198 -0
  69. package/skills/templates//345/212/237/350/203/275SDD/344/270/223/347/224/250/346/250/241/346/235/277.md +132 -0
  70. package/skills/templates//347/216/257/345/242/203/351/242/204/346/243/200/346/240/207/345/207/206/345/214/226SDD.md +153 -0
  71. package/skills/templates//351/253/230/344/277/235/347/234/237/350/256/276/350/256/241/350/275/254/344/273/243/347/240/201SDD.md +119 -0
  72. package/skills//345/256/214/346/225/264/345/274/200/345/217/221/346/265/201/347/250/213/346/211/213/345/206/214.md +408 -0
  73. package/skills//346/212/200/350/203/275/344/275/223/347/263/273/345/256/214/345/226/204/345/273/272/350/256/256.md +305 -0
  74. package/skills//346/212/200/350/203/275/344/275/277/347/224/250/346/214/207/345/215/227.md +285 -0
  75. package/skills//346/212/200/350/203/275/345/206/263/347/255/226/346/240/221.md +320 -0
  76. package/skills/brainstorming/SKILL.md +0 -164
  77. package/skills/brainstorming/scripts/frame-template.html +0 -214
  78. package/skills/brainstorming/scripts/helper.js +0 -88
  79. package/skills/brainstorming/scripts/server.cjs +0 -338
  80. package/skills/brainstorming/scripts/start-server.sh +0 -153
  81. package/skills/brainstorming/scripts/stop-server.sh +0 -55
  82. package/skills/brainstorming/spec-document-reviewer-prompt.md +0 -48
  83. package/skills/brainstorming/visual-companion.md +0 -286
  84. package/skills/chinese-code-review/SKILL.md +0 -277
  85. package/skills/chinese-commit-conventions/SKILL.md +0 -364
  86. package/skills/chinese-documentation/SKILL.md +0 -448
  87. package/skills/chinese-git-workflow/SKILL.md +0 -510
  88. package/skills/dispatching-parallel-agents/SKILL.md +0 -182
  89. package/skills/executing-plans/SKILL.md +0 -175
  90. package/skills/finishing-a-development-branch/SKILL.md +0 -200
  91. package/skills/mcp-builder/SKILL.md +0 -255
  92. package/skills/receiving-code-review/SKILL.md +0 -213
  93. package/skills/requesting-code-review/SKILL.md +0 -105
  94. package/skills/requesting-code-review/code-reviewer.md +0 -146
  95. package/skills/rules/skill-map.md +0 -97
  96. package/skills/subagent-driven-development/SKILL.md +0 -277
  97. package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +0 -26
  98. package/skills/subagent-driven-development/implementer-prompt.md +0 -113
  99. package/skills/subagent-driven-development/spec-reviewer-prompt.md +0 -61
  100. package/skills/systematic-debugging/CREATION-LOG.md +0 -119
  101. package/skills/systematic-debugging/SKILL.md +0 -296
  102. package/skills/systematic-debugging/condition-based-waiting-example.ts +0 -158
  103. package/skills/systematic-debugging/condition-based-waiting.md +0 -115
  104. package/skills/systematic-debugging/defense-in-depth.md +0 -122
  105. package/skills/systematic-debugging/find-polluter.sh +0 -63
  106. package/skills/systematic-debugging/root-cause-tracing.md +0 -169
  107. package/skills/systematic-debugging/test-academic.md +0 -14
  108. package/skills/systematic-debugging/test-pressure-1.md +0 -58
  109. package/skills/systematic-debugging/test-pressure-2.md +0 -68
  110. package/skills/systematic-debugging/test-pressure-3.md +0 -69
  111. package/skills/test-driven-development/SKILL.md +0 -371
  112. package/skills/test-driven-development/testing-anti-patterns.md +0 -299
  113. package/skills/using-git-worktrees/SKILL.md +0 -218
  114. package/skills/using-superpowers/SKILL.md +0 -134
  115. package/skills/using-superpowers/references/codex-tools.md +0 -25
  116. package/skills/using-superpowers/references/gemini-tools.md +0 -33
  117. package/skills/verification-before-completion/SKILL.md +0 -139
  118. package/skills/workflow-runner/SKILL.md +0 -172
  119. package/skills/writing-plans/SKILL.md +0 -152
  120. package/skills/writing-plans/plan-document-reviewer-prompt.md +0 -49
  121. package/skills/writing-skills/SKILL.md +0 -654
  122. package/skills/writing-skills/anthropic-best-practices.md +0 -1149
  123. package/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +0 -189
  124. package/skills/writing-skills/graphviz-conventions.dot +0 -172
  125. package/skills/writing-skills/persuasion-principles.md +0 -187
  126. package/skills/writing-skills/render-graphs.js +0 -168
  127. package/skills/writing-skills/testing-skills-with-subagents.md +0 -384
@@ -1,510 +0,0 @@
1
- ---
2
- name: chinese-git-workflow
3
- description: 适配国内 Git 平台和团队习惯的工作流规范——Gitee、Coding、极狐 GitLab 全覆盖
4
- ---
5
-
6
- # 国内 Git 工作流规范
7
-
8
- ## 概述
9
-
10
- 国内团队用 Git 经常踩的坑:GitHub 访问不稳定、CI/CD 方案照搬国外水土不服、commit message 中英混杂没有规范。本技能提供一套**完整适配国内平台和团队习惯的 Git 工作流**。
11
-
12
- **核心原则:** 工作流服务于团队效率,不是为了流程而流程。选适合团队规模的,别硬套大厂方案。
13
-
14
- ## 国内 Git 平台适配
15
-
16
- ### 平台对比
17
-
18
- | 特性 | Gitee | Coding.net | 极狐 GitLab | GitHub |
19
- |------|-------|------------|-------------|--------|
20
- | 国内访问 | 快 | 快 | 快 | 不稳定 |
21
- | 免费私有仓库 | 有 | 有 | 有 | 有 |
22
- | CI/CD | Gitee Go | Coding CI | 内置 GitLab CI | GitHub Actions |
23
- | 代码审查 | PR | MR | MR | PR |
24
- | 制品库 | 有限 | 完整 | 完整 | Packages |
25
- | 适合场景 | 开源/小团队 | 中大型团队 | 企业私有化 | 国际项目 |
26
-
27
- ### Gitee 特有配置
28
-
29
- ```bash
30
- # 设置 Gitee 远程仓库
31
- git remote add origin https://gitee.com/<org>/<repo>.git
32
-
33
- # Gitee 的 SSH 配置
34
- # ~/.ssh/config
35
- Host gitee.com
36
- HostName gitee.com
37
- User git
38
- IdentityFile ~/.ssh/gitee_rsa
39
- PreferredAuthentications publickey
40
-
41
- # 同时推送到 Gitee 和 GitHub(镜像同步)
42
- git remote set-url --add --push origin https://gitee.com/<org>/<repo>.git
43
- git remote set-url --add --push origin https://github.com/<org>/<repo>.git
44
- ```
45
-
46
- ### Coding.net 特有配置
47
-
48
- ```bash
49
- # Coding 的仓库地址格式
50
- git remote add origin https://e.coding.net/<team>/<project>/<repo>.git
51
-
52
- # Coding 支持的 SSH 地址
53
- git remote add origin git@e.coding.net:<team>/<project>/<repo>.git
54
- ```
55
-
56
- ### 极狐 GitLab 特有配置
57
-
58
- ```bash
59
- # 极狐 GitLab 私有化部署常见地址格式
60
- git remote add origin https://jihulab.com/<group>/<repo>.git
61
-
62
- # 或者企业内部部署
63
- git remote add origin https://gitlab.yourcompany.com/<group>/<repo>.git
64
- ```
65
-
66
- ## 工作流选择
67
-
68
- ### 方案一:主干开发(Trunk-Based Development)
69
-
70
- **适合:** 小团队(2-8 人)、迭代速度快、有完善的自动化测试。
71
-
72
- ```
73
- main ──●──●──●──●──●──●──●──●──●──
74
- \ / \ / \ /
75
- feat/x ●─● ●─● fix/y ●─●
76
- (短命分支,1-2 天内合回)
77
- ```
78
-
79
- **规则:**
80
- - 主干(main)始终保持可发布状态
81
- - 功能分支生命周期不超过 2 天
82
- - 每天至少合并一次到主干
83
- - 用 Feature Flag 控制未完成功能的可见性
84
-
85
- ```bash
86
- # 从 main 拉分支
87
- git checkout -b feat/user-login main
88
-
89
- # 开发完成后,rebase 到最新 main
90
- git fetch origin
91
- git rebase origin/main
92
-
93
- # 提交 PR/MR,合并后删除分支
94
- ```
95
-
96
- ### 方案二:Git Flow(经典分支模型)
97
-
98
- **适合:** 中大团队、版本发布节奏固定(如双周迭代)、需要维护多个版本。
99
-
100
- ```
101
- main ──●────────────────●────────────── 生产环境
102
- \ / \
103
- release ●──●──●──●──● ●──●──●──●── 发布分支
104
- \ /
105
- develop ──●──●──●──●──●──●──●──●──●──●── 开发主线
106
- \ / \ /
107
- feat/x ●─● ●─────● 功能分支
108
- \ /
109
- fix/y ●─● 修复分支
110
- ```
111
-
112
- **分支说明:**
113
- - `main` — 生产环境代码,只接受 release 和 hotfix 的合并
114
- - `develop` — 开发主线,功能分支从这里拉出,合回这里
115
- - `release/*` — 发布分支,从 develop 拉出,只修 bug 不加功能
116
- - `feat/*` — 功能分支
117
- - `hotfix/*` — 紧急修复,从 main 拉出,同时合回 main 和 develop
118
-
119
- ### 方案三:国内团队常用简化流程
120
-
121
- **适合:** 大多数国内中小团队的实际情况。
122
-
123
- ```
124
- main ──●──────●──────●──── 生产环境(受保护)
125
- \ / \ /
126
- dev ──●──●─●──●──●─●──── 开发/测试环境
127
- \ / \ /
128
- feat/x ●● ●● 功能分支
129
- ```
130
-
131
- **规则:**
132
- - `main` 分支受保护,只能通过 PR/MR 合并
133
- - `dev` 分支对应测试环境,自动部署
134
- - 功能分支从 `dev` 拉出,合回 `dev`
135
- - `dev` 测试通过后,合并到 `main` 进行发布
136
-
137
- ## 分支命名规范
138
-
139
- ### 国内团队常用命名
140
-
141
- ```bash
142
- # 功能分支
143
- feat/user-login # 新功能
144
- feat/JIRA-1234-order-refund # 关联任务编号
145
-
146
- # 修复分支
147
- fix/payment-callback # Bug 修复
148
- fix/JIRA-5678-null-pointer # 关联 Bug 编号
149
-
150
- # 发布分支
151
- release/v2.1.0 # 版本发布
152
- release/2024-03-sprint # 按迭代命名
153
-
154
- # 紧急修复
155
- hotfix/v2.0.1 # 线上紧急修复
156
- hotfix/fix-login-crash # 描述性命名
157
-
158
- # 个人分支(部分团队使用)
159
- dev/zhangsan/feat-login # 个人开发分支
160
- ```
161
-
162
- ### 命名规则
163
-
164
- 1. 全部小写,用 `-` 连接单词(不用下划线或驼峰)
165
- 2. 前缀明确分支类型:`feat/`、`fix/`、`hotfix/`、`release/`
166
- 3. 关联任务管理平台的编号(如有):`feat/TAPD-12345-description`
167
- 4. 长度适中,能看出分支目的即可
168
-
169
- ## 中文 Commit Message 规范
170
-
171
- ### 约定式提交(Conventional Commits)中文版
172
-
173
- ```
174
- <类型>(<范围>): <简要描述>
175
- ← 空行
176
- <正文(可选)>
177
- ← 空行
178
- <脚注(可选)>
179
- ```
180
-
181
- ### 类型清单
182
-
183
- | 类型 | 说明 | emoji(可选) |
184
- |------|------|--------------|
185
- | feat | 新增功能 | ✨ |
186
- | fix | 修复 Bug | 🐛 |
187
- | docs | 文档更新 | 📝 |
188
- | style | 代码格式(不影响逻辑) | 💄 |
189
- | refactor | 重构(不是新功能也不是修 Bug) | ♻️ |
190
- | perf | 性能优化 | ⚡ |
191
- | test | 测试相关 | ✅ |
192
- | build | 构建系统或外部依赖 | 📦 |
193
- | ci | CI/CD 配置 | 👷 |
194
- | chore | 其他杂项 | 🔧 |
195
- | revert | 回滚 | ⏪ |
196
-
197
- ### 好的 commit message
198
-
199
- ```
200
- feat(购物车): 支持批量删除商品
201
-
202
- - 新增全选/反选功能
203
- - 删除操作增加二次确认弹窗
204
- - 批量删除接口使用 POST /cart/batch-delete
205
-
206
- 关联需求:TAPD-12345
207
- ```
208
-
209
- ```
210
- fix(支付): 修复微信支付在 iOS 16 上无法唤起的问题
211
-
212
- 原因:微信 SDK 8.0.33 版本在 iOS 16 上 Universal Links 校验逻辑变更,
213
- 导致 openURL 回调失败。
214
-
215
- 方案:升级 SDK 至 8.0.38,并更新 Associated Domains 配置。
216
-
217
- Closes #567
218
- ```
219
-
220
- ### 不好的 commit message
221
-
222
- ```
223
- # 太笼统
224
- update code
225
- fix bug
226
- 修改了一些东西
227
-
228
- # 没有上下文
229
- fix: 修复问题
230
- feat: 新增功能
231
-
232
- # 中英混杂无规范
233
- fix:修复了一个bug,因为user login的时候会crash
234
- ```
235
-
236
- ## CI/CD 平台适配
237
-
238
- ### Gitee Go
239
-
240
- ```yaml
241
- # .gitee/pipelines/pipeline.yml
242
- name: 构建与测试
243
- displayName: '构建与测试流水线'
244
-
245
- triggers:
246
- push:
247
- branches:
248
- include:
249
- - main
250
- - dev
251
-
252
- stages:
253
- - name: 测试
254
- jobs:
255
- - name: 单元测试
256
- steps:
257
- - step: npmbuild@1
258
- name: install_and_test
259
- displayName: '安装依赖并执行测试'
260
- inputs:
261
- nodeVersion: 20
262
- commands:
263
- - npm ci
264
- - npm test
265
- ```
266
-
267
- ### Coding CI
268
-
269
- ```groovy
270
- // Jenkinsfile(Coding CI 支持 Jenkinsfile 语法)
271
- pipeline {
272
- agent any
273
-
274
- stages {
275
- stage('安装依赖') {
276
- steps {
277
- sh 'npm ci'
278
- }
279
- }
280
-
281
- stage('单元测试') {
282
- steps {
283
- sh 'npm test'
284
- }
285
- }
286
-
287
- stage('构建') {
288
- steps {
289
- sh 'npm run build'
290
- }
291
- }
292
-
293
- stage('部署到测试环境') {
294
- when {
295
- branch 'dev'
296
- }
297
- steps {
298
- sh './scripts/deploy-staging.sh'
299
- }
300
- }
301
-
302
- stage('部署到生产环境') {
303
- when {
304
- branch 'main'
305
- }
306
- steps {
307
- sh './scripts/deploy-production.sh'
308
- }
309
- }
310
- }
311
-
312
- post {
313
- failure {
314
- // 企业微信/钉钉通知
315
- sh './scripts/notify-failure.sh'
316
- }
317
- }
318
- }
319
- ```
320
-
321
- ### 极狐 GitLab CI
322
-
323
- ```yaml
324
- # .gitlab-ci.yml
325
- stages:
326
- - test
327
- - build
328
- - deploy
329
-
330
- variables:
331
- NODE_IMAGE: node:20-alpine
332
- # 使用国内镜像加速
333
- NPM_REGISTRY: https://registry.npmmirror.com
334
-
335
- 单元测试:
336
- stage: test
337
- image: $NODE_IMAGE
338
- script:
339
- - npm config set registry $NPM_REGISTRY
340
- - npm ci
341
- - npm test
342
- coverage: '/Lines\s*:\s*(\d+\.?\d*)%/'
343
-
344
- 构建:
345
- stage: build
346
- image: $NODE_IMAGE
347
- script:
348
- - npm config set registry $NPM_REGISTRY
349
- - npm ci
350
- - npm run build
351
- artifacts:
352
- paths:
353
- - dist/
354
-
355
- 部署测试环境:
356
- stage: deploy
357
- script:
358
- - ./scripts/deploy-staging.sh
359
- only:
360
- - dev
361
- environment:
362
- name: staging
363
-
364
- 部署生产环境:
365
- stage: deploy
366
- script:
367
- - ./scripts/deploy-production.sh
368
- only:
369
- - main
370
- environment:
371
- name: production
372
- when: manual # 生产环境手动触发
373
- ```
374
-
375
- ### GitHub Actions 国内替代方案对照
376
-
377
- | GitHub Actions 功能 | Gitee Go | Coding CI | 极狐 GitLab CI |
378
- |---------------------|----------|-----------|----------------|
379
- | 触发条件 | triggers | Jenkinsfile triggers | only/rules |
380
- | 缓存依赖 | cache step | stash/unstash | cache |
381
- | 制品存储 | artifacts | 制品库 | artifacts |
382
- | 环境变量 | env | environment | variables |
383
- | 密钥管理 | 环境变量配置 | 凭据管理 | CI/CD Variables |
384
- | 手动触发 | 手动运行 | 手动触发 | when: manual |
385
-
386
- ## PR/MR 描述模板
387
-
388
- ### 中文模板
389
-
390
- 在仓库中创建 PR/MR 模板文件:
391
-
392
- **Gitee:** `.gitee/PULL_REQUEST_TEMPLATE.md`
393
-
394
- **Coding / GitLab:** `.gitlab/merge_request_templates/default.md`
395
-
396
- ```markdown
397
- ## 变更说明
398
-
399
- <!-- 简要描述这次改动做了什么,解决了什么问题 -->
400
-
401
- ## 变更类型
402
-
403
- - [ ] 新功能(feat)
404
- - [ ] Bug 修复(fix)
405
- - [ ] 重构(refactor)
406
- - [ ] 性能优化(perf)
407
- - [ ] 文档更新(docs)
408
- - [ ] 其他:
409
-
410
- ## 关联信息
411
-
412
- - 需求/Bug 链接:
413
- - 设计文档:
414
-
415
- ## 改动范围
416
-
417
- <!-- 列出主要改动的模块和文件 -->
418
-
419
- ## 测试情况
420
-
421
- - [ ] 单元测试通过
422
- - [ ] 手动测试通过
423
- - [ ] 相关模块回归测试通过
424
-
425
- ## 测试方法
426
-
427
- <!-- 描述如何验证这次改动 -->
428
-
429
- ## 影响范围
430
-
431
- <!-- 这次改动可能影响哪些功能?是否需要通知其他团队? -->
432
-
433
- ## 部署注意事项
434
-
435
- - [ ] 需要执行数据库迁移
436
- - [ ] 需要更新配置文件
437
- - [ ] 需要更新环境变量
438
- - [ ] 无特殊注意事项
439
-
440
- ## 截图/录屏
441
-
442
- <!-- 如果涉及 UI 变更,贴截图或录屏 -->
443
- ```
444
-
445
- ## 常用 Git 配置
446
-
447
- ### 国内环境优化
448
-
449
- ```bash
450
- # 设置用户信息
451
- git config --global user.name "张三"
452
- git config --global user.email "zhangsan@company.com"
453
-
454
- # commit message 编辑器设置为 VS Code
455
- git config --global core.editor "code --wait"
456
-
457
- # 解决中文文件名显示为转义字符的问题
458
- git config --global core.quotepath false
459
-
460
- # 设置默认分支名
461
- git config --global init.defaultBranch main
462
-
463
- # 代理设置(如果需要同时使用 GitHub)
464
- git config --global http.https://github.com.proxy socks5://127.0.0.1:7890
465
-
466
- # NPM 使用国内镜像
467
- npm config set registry https://registry.npmmirror.com
468
- ```
469
-
470
- ### .gitignore 国内项目常见配置
471
-
472
- ```gitignore
473
- # IDE
474
- .idea/
475
- .vscode/
476
- *.swp
477
-
478
- # 依赖
479
- node_modules/
480
- vendor/
481
-
482
- # 构建产物
483
- dist/
484
- build/
485
- *.exe
486
-
487
- # 环境配置
488
- .env
489
- .env.local
490
- .env.*.local
491
-
492
- # 系统文件
493
- .DS_Store
494
- Thumbs.db
495
- desktop.ini
496
-
497
- # 国内平台特有
498
- .coding/
499
- ```
500
-
501
- ## 检查清单
502
-
503
- 在推送代码前,确认:
504
-
505
- - [ ] 分支命名符合团队规范
506
- - [ ] commit message 格式正确,类型和范围准确
507
- - [ ] 关联了对应的需求/Bug 编号
508
- - [ ] PR/MR 描述填写完整
509
- - [ ] CI 流水线通过
510
- - [ ] 已请求相关同事 Review
@@ -1,182 +0,0 @@
1
- ---
2
- name: dispatching-parallel-agents
3
- description: 当面对 2 个以上可以独立进行、无共享状态或顺序依赖的任务时使用
4
- ---
5
-
6
- # 并行分派智能体
7
-
8
- ## 概述
9
-
10
- 你将任务委派给具有隔离上下文的专用智能体。通过精心设计它们的指令和上下文,确保它们专注并成功完成任务。它们不应继承你的会话上下文或历史记录——你要精确构造它们所需的一切。这样也能为你自己保留用于协调工作的上下文。
11
-
12
- 当你遇到多个不相关的失败(不同的测试文件、不同的子系统、不同的 bug),逐一排查会浪费时间。每个排查都是独立的,可以并行进行。
13
-
14
- **核心原则:** 每个独立问题域分派一个智能体,让它们并发工作。
15
-
16
- ## 何时使用
17
-
18
- ```dot
19
- digraph when_to_use {
20
- "存在多个失败?" [shape=diamond];
21
- "它们是否独立?" [shape=diamond];
22
- "单个智能体排查所有问题" [shape=box];
23
- "每个问题域一个智能体" [shape=box];
24
- "能否并行工作?" [shape=diamond];
25
- "顺序执行智能体" [shape=box];
26
- "并行分派" [shape=box];
27
-
28
- "存在多个失败?" -> "它们是否独立?" [label="是"];
29
- "它们是否独立?" -> "单个智能体排查所有问题" [label="否 - 有关联"];
30
- "它们是否独立?" -> "能否并行工作?" [label="是"];
31
- "能否并行工作?" -> "并行分派" [label="是"];
32
- "能否并行工作?" -> "顺序执行智能体" [label="否 - 有共享状态"];
33
- }
34
- ```
35
-
36
- **适用场景:**
37
- - 3 个以上测试文件因不同根因失败
38
- - 多个子系统独立出现故障
39
- - 每个问题无需其他问题的上下文即可理解
40
- - 排查之间无共享状态
41
-
42
- **不适用场景:**
43
- - 失败是相关的(修复一个可能修复其他的)
44
- - 需要理解完整的系统状态
45
- - 智能体之间会互相干扰
46
-
47
- ## 模式
48
-
49
- ### 1. 识别独立的问题域
50
-
51
- 按故障分组:
52
- - 文件 A 测试:工具审批流程
53
- - 文件 B 测试:批量完成行为
54
- - 文件 C 测试:中止功能
55
-
56
- 每个问题域是独立的——修复工具审批不会影响中止测试。
57
-
58
- ### 2. 创建聚焦的智能体任务
59
-
60
- 每个智能体获得:
61
- - **明确范围:** 一个测试文件或子系统
62
- - **清晰目标:** 让这些测试通过
63
- - **约束条件:** 不修改其他代码
64
- - **预期输出:** 你发现和修复内容的总结
65
-
66
- ### 3. 并行分派
67
-
68
- ```typescript
69
- // 在 Claude Code / AI 环境中
70
- Task("修复 agent-tool-abort.test.ts 的失败")
71
- Task("修复 batch-completion-behavior.test.ts 的失败")
72
- Task("修复 tool-approval-race-conditions.test.ts 的失败")
73
- // 三个任务并发运行
74
- ```
75
-
76
- ### 4. 审查与集成
77
-
78
- 当智能体返回时:
79
- - 阅读每个总结
80
- - 验证修复之间没有冲突
81
- - 运行完整测试套件
82
- - 集成所有更改
83
-
84
- ## 智能体提示词结构
85
-
86
- 好的智能体提示词应该是:
87
- 1. **聚焦的** - 一个清晰的问题域
88
- 2. **自包含的** - 包含理解问题所需的所有上下文
89
- 3. **明确输出要求** - 智能体应该返回什么?
90
-
91
- ```markdown
92
- 修复 src/agents/agent-tool-abort.test.ts 中 3 个失败的测试:
93
-
94
- 1. "should abort tool with partial output capture" - 期望消息中包含 'interrupted at'
95
- 2. "should handle mixed completed and aborted tools" - 快速工具被中止而非完成
96
- 3. "should properly track pendingToolCount" - 期望 3 个结果但得到 0 个
97
-
98
- 这些是时序/竞态条件问题。你的任务:
99
-
100
- 1. 阅读测试文件,理解每个测试验证的内容
101
- 2. 找到根因——是时序问题还是实际 bug?
102
- 3. 修复方式:
103
- - 用基于事件的等待替换任意超时
104
- - 如果发现中止实现中的 bug 则修复
105
- - 如果测试的是已变更的行为则调整测试期望
106
-
107
- 不要只是增加超时时间——找到真正的问题。
108
-
109
- 返回:你发现了什么以及修复了什么的总结。
110
- ```
111
-
112
- ## 常见错误
113
-
114
- **错误做法:太宽泛:** "修复所有测试" - 智能体会迷失方向
115
- **正确做法:具体明确:** "修复 agent-tool-abort.test.ts" - 聚焦的范围
116
-
117
- **错误做法:无上下文:** "修复竞态条件" - 智能体不知道在哪里
118
- **正确做法:提供上下文:** 粘贴错误信息和测试名称
119
-
120
- **错误做法:无约束:** 智能体可能会重构所有代码
121
- **正确做法:设置约束:** "不要修改生产代码" 或 "只修复测试"
122
-
123
- **错误做法:模糊的输出要求:** "修好它" - 你不知道改了什么
124
- **正确做法:明确要求:** "返回根因和修改内容的总结"
125
-
126
- ## 不适用的场景
127
-
128
- **关联性失败:** 修复一个可能修复其他的——先一起排查
129
- **需要完整上下文:** 理解问题需要看到整个系统
130
- **探索性调试:** 你还不知道什么坏了
131
- **共享状态:** 智能体会互相干扰(编辑同一文件、使用同一资源)
132
-
133
- ## 实际案例
134
-
135
- **场景:** 大规模重构后,3 个文件中出现 6 个测试失败
136
-
137
- **失败情况:**
138
- - agent-tool-abort.test.ts:3 个失败(时序问题)
139
- - batch-completion-behavior.test.ts:2 个失败(工具未执行)
140
- - tool-approval-race-conditions.test.ts:1 个失败(执行计数 = 0)
141
-
142
- **决策:** 独立的问题域——中止逻辑、批量完成、竞态条件各自独立
143
-
144
- **分派:**
145
- ```
146
- 智能体 1 → 修复 agent-tool-abort.test.ts
147
- 智能体 2 → 修复 batch-completion-behavior.test.ts
148
- 智能体 3 → 修复 tool-approval-race-conditions.test.ts
149
- ```
150
-
151
- **结果:**
152
- - 智能体 1:用基于事件的等待替换了超时
153
- - 智能体 2:修复了事件结构 bug(threadId 位置不对)
154
- - 智能体 3:添加了等待异步工具执行完成的逻辑
155
-
156
- **集成:** 所有修复互相独立,无冲突,完整测试套件全部通过
157
-
158
- **节省的时间:** 3 个问题并行解决 vs 顺序解决
159
-
160
- ## 核心优势
161
-
162
- 1. **并行化** - 多个排查同时进行
163
- 2. **聚焦** - 每个智能体范围窄,需要跟踪的上下文少
164
- 3. **独立性** - 智能体之间互不干扰
165
- 4. **速度** - 3 个问题在 1 个问题的时间内解决
166
-
167
- ## 验证
168
-
169
- 智能体返回后:
170
- 1. **审查每个总结** - 理解改了什么
171
- 2. **检查冲突** - 智能体是否编辑了同一段代码?
172
- 3. **运行完整套件** - 验证所有修复协同工作
173
- 4. **抽查** - 智能体可能犯系统性错误
174
-
175
- ## 实际效果
176
-
177
- 来自调试会话(2025-10-03):
178
- - 3 个文件中 6 个失败
179
- - 并行分派 3 个智能体
180
- - 所有排查并发完成
181
- - 所有修复成功集成
182
- - 智能体之间的更改零冲突