pdd-skills 3.1.13 → 3.2.2
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/LICENSE +21 -21
- package/package.json +1 -1
- package/scaffolds/python-fullstack/.github/workflows/ci.yml +1 -1
- package/scaffolds/python-fullstack/Dockerfile +1 -1
- package/scaffolds/python-fullstack/docker-compose.yml +1 -1
- package/scaffolds/python-fullstack/frontend/Dockerfile +1 -1
- package/scaffolds/python-fullstack/frontend/nginx.conf +1 -1
- package/scaffolds/python-fullstack/frontend/postcss.config.js +1 -1
- package/scaffolds/python-fullstack/frontend/src/api/client.ts +1 -1
- package/scaffolds/python-fullstack/frontend/src/composables/useResponsive.ts +1 -1
- package/scaffolds/python-fullstack/frontend/src/router/index.ts +1 -1
- package/scaffolds/python-fullstack/frontend/src/stores/user.ts +1 -1
- package/scaffolds/python-fullstack/frontend/src/styles/responsive.css +1 -1
- package/scaffolds/python-fullstack/frontend/src/styles/variables.css +1 -1
- package/scaffolds/python-fullstack/frontend/src/views/DashboardView.vue +1 -1
- package/scaffolds/python-fullstack/frontend/src/views/HomeView.vue +1 -1
- package/scaffolds/python-fullstack/frontend/src/views/LoginView.vue +1 -1
- package/scaffolds/python-fullstack/frontend/tailwind.config.js +1 -1
- package/skills/core/official-doc-writer/README.md +232 -232
- package/skills/core/official-doc-writer/fonts/FONTS_LIST.md +44 -44
- package/skills/core/official-doc-writer/references/GBT_9704-2012_/345/205/232/346/224/277/346/234/272/345/205/263/345/205/254/346/226/207/346/240/274/345/274/217.md +422 -422
- package/skills/core/pdd-main/evals/evals.json +215 -215
- package/skills/entropy/expert-arch-enforcer/SKILL.md +292 -292
- package/skills/entropy/expert-auto-refactor/SKILL.md +327 -327
- package/skills/entropy/expert-code-quality/SKILL.md +468 -468
- package/skills/entropy/expert-entropy-auditor/SKILL.md +276 -276
- package/skills/expert/expert-activiti/SKILL.md +497 -497
- package/skills/expert/expert-mysql/SKILL.md +832 -832
- package/skills/expert/expert-ruoyi/SKILL.md +674 -674
- package/skills/expert/testcase-agent/SKILL.md +10 -0
- package/skills/expert/testcase-modeler/SKILL.md +45 -2
- package/skills/pr/pdd-multi-review/SKILL.md +534 -534
- package/skills/pr/pdd-pr-batch/SKILL.md +303 -303
- package/skills/pr/pdd-pr-create/SKILL.md +344 -344
- package/skills/pr/pdd-pr-merge/SKILL.md +286 -286
- package/skills/pr/pdd-pr-review/SKILL.md +217 -217
- package/skills/pr/pdd-task-manager/SKILL.md +636 -636
- package/skills/pr/pdd-template-engine/SKILL.md +386 -386
- package/tests/login_manager.py +5 -30
- package/tests/recorder.py +362 -294
- package/tests/testcase-ai.py +1184 -11
|
@@ -1,303 +1,303 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: pdd-pr-batch
|
|
3
|
-
description: |
|
|
4
|
-
批量合并多个 Change 为一个 PR。当用户需要将多个小改动打包发布、相关功能点一起上线、或批量更新配置文件和文档时调用此Skill。即使用户只说"批量合并PR"、"打包发布"或"多个change合并",也应触发此Skill。
|
|
5
|
-
license: MIT
|
|
6
|
-
compatibility: 需要多个 OpenSpec Change ID
|
|
7
|
-
metadata:
|
|
8
|
-
author: "neuqik@hotmail.com"
|
|
9
|
-
version: "1.0"
|
|
10
|
-
parent: pdd-main
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# pdd-pr-batch
|
|
14
|
-
|
|
15
|
-
**Description**: 批量合并多个 Change 为一个 PR。适用于多个小改动打包发布的场景。
|
|
16
|
-
|
|
17
|
-
**Details**: 批量合并多个 Change 为一个 PR
|
|
18
|
-
|
|
19
|
-
**Input**: 多个 OpenSpec Change ID
|
|
20
|
-
|
|
21
|
-
## 使用场景
|
|
22
|
-
|
|
23
|
-
```
|
|
24
|
-
适用场景:
|
|
25
|
-
├── 多个小修复打包发布
|
|
26
|
-
├── 相关功能点一起上线
|
|
27
|
-
├── 配置文件批量更新
|
|
28
|
-
└── 文档批量更新
|
|
29
|
-
|
|
30
|
-
不适用场景:
|
|
31
|
-
├── Change 之间有依赖冲突
|
|
32
|
-
├── 需要独立回滚的 Change
|
|
33
|
-
└── 不同优先级的 Change
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## 执行流程
|
|
37
|
-
|
|
38
|
-
### 1. 验证所有 Change
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
for each change_id in change_ids:
|
|
42
|
-
├── 检查 Change 目录存在
|
|
43
|
-
├── 读取 tasks.md 确认完成
|
|
44
|
-
├── 检查代码已提交
|
|
45
|
-
└── 记录 Change 信息
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
### 2. 创建批量分支
|
|
49
|
-
|
|
50
|
-
```
|
|
51
|
-
分支命名: batch/{date}
|
|
52
|
-
|
|
53
|
-
示例: batch/2026-03-21
|
|
54
|
-
|
|
55
|
-
操作:
|
|
56
|
-
├── git checkout main
|
|
57
|
-
├── git pull origin main
|
|
58
|
-
└── git checkout -b batch/2026-03-21
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### 3. 合并代码
|
|
62
|
-
|
|
63
|
-
```
|
|
64
|
-
for each change_id in change_ids:
|
|
65
|
-
├── 找到 Change 对应的 Feature Branch
|
|
66
|
-
├── cherry-pick 或 merge 该分支的提交
|
|
67
|
-
├── 解决可能的冲突
|
|
68
|
-
└── 记录合并结果
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
### 4. 批量审查
|
|
72
|
-
|
|
73
|
-
```
|
|
74
|
-
运行所有 Change 的测试:
|
|
75
|
-
├── 汇总所有测试用例
|
|
76
|
-
├── 批量运行测试
|
|
77
|
-
├── 汇总测试覆盖率
|
|
78
|
-
└── 生成批量审查报告
|
|
79
|
-
|
|
80
|
-
审查报告: openspec/batch/{date}/review-report.md
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
### 5. 创建批量 PR
|
|
84
|
-
|
|
85
|
-
```
|
|
86
|
-
GitHub 模式:
|
|
87
|
-
├── 推送批量分支到远程
|
|
88
|
-
├── 创建 GitHub PR
|
|
89
|
-
│ ├── 标题: batch: {title} ({n} changes)
|
|
90
|
-
│ ├── 描述: 列出所有 Change
|
|
91
|
-
│ └── 标签: batch
|
|
92
|
-
└── 记录 PR 编号
|
|
93
|
-
|
|
94
|
-
本地模式:
|
|
95
|
-
├── 创建批量 PR 记录
|
|
96
|
-
│ └── openspec/batch/{date}/pr-record.md
|
|
97
|
-
└── 记录所有 Change ID
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
### 6. 输出结果
|
|
101
|
-
|
|
102
|
-
```
|
|
103
|
-
输出:
|
|
104
|
-
├── PR 编号 / 本地记录路径
|
|
105
|
-
├── 包含的 Change 列表
|
|
106
|
-
├── 批量审查结果
|
|
107
|
-
└── 等待确认
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
## 输出格式
|
|
111
|
-
|
|
112
|
-
```markdown
|
|
113
|
-
## 批量 PR 创建完成
|
|
114
|
-
|
|
115
|
-
**PR 编号**: #125
|
|
116
|
-
**分支**: batch/2026-03-21 → main
|
|
117
|
-
**包含变更**: 3 个
|
|
118
|
-
|
|
119
|
-
### 变更列表
|
|
120
|
-
|
|
121
|
-
| Change ID | 标题 | 状态 | 审查结果 |
|
|
122
|
-
|-----------|------|------|---------|
|
|
123
|
-
| c-001-xxx | 权限控制 | ✅ 完成 | ✅ 通过 |
|
|
124
|
-
| c-002-yyy | 日志记录 | ✅ 完成 | ⚠️ 1 Warning |
|
|
125
|
-
| c-003-zzz | 参数校验 | ✅ 完成 | ✅ 通过 |
|
|
126
|
-
|
|
127
|
-
### 批量审查结果
|
|
128
|
-
|
|
129
|
-
| 检查项 | 状态 | 详情 |
|
|
130
|
-
|--------|------|------|
|
|
131
|
-
| 单元测试 | ✅ 通过 | 45/45 用例通过 |
|
|
132
|
-
| 测试覆盖率 | ✅ 82% | 阈值: 70% |
|
|
133
|
-
| 代码质量 | ⚠️ 3 Warning | 详情见报告 |
|
|
134
|
-
| 冲突检查 | ✅ 无冲突 | - |
|
|
135
|
-
|
|
136
|
-
### 审查报告
|
|
137
|
-
|
|
138
|
-
详细报告: `openspec/batch/2026-03-21/review-report.md`
|
|
139
|
-
|
|
140
|
-
### 下一步操作
|
|
141
|
-
|
|
142
|
-
- 确认合并: `/pdd-pr-merge --pr-number 125`
|
|
143
|
-
- 查看详情: `/pdd-pr-review --pr-number 125`
|
|
144
|
-
- 单独处理某个 Change: `/pdd-pr-review c-001-xxx`
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
## 参数
|
|
148
|
-
|
|
149
|
-
| 参数 | 类型 | 必需 | 默认值 | 描述 |
|
|
150
|
-
|------|------|------|--------|------|
|
|
151
|
-
| `change_ids` | array | 是 | - | OpenSpec Change ID 列表 |
|
|
152
|
-
| `title` | string | 否 | - | PR 标题 |
|
|
153
|
-
| `draft` | boolean | 否 | true | 是否创建为 Draft PR |
|
|
154
|
-
|
|
155
|
-
## 冲突处理
|
|
156
|
-
|
|
157
|
-
### 检测到冲突
|
|
158
|
-
|
|
159
|
-
```
|
|
160
|
-
⚠️ 检测到代码冲突
|
|
161
|
-
|
|
162
|
-
**冲突文件**:
|
|
163
|
-
- src/main/java/WorkflowController.java
|
|
164
|
-
|
|
165
|
-
**冲突 Change**:
|
|
166
|
-
- c-001-xxx: 修改了第 45 行
|
|
167
|
-
- c-002-yyy: 修改了第 45 行
|
|
168
|
-
|
|
169
|
-
### 解决方案
|
|
170
|
-
|
|
171
|
-
1. 手动解决冲突:
|
|
172
|
-
- 编辑冲突文件
|
|
173
|
-
- git add .
|
|
174
|
-
- git commit
|
|
175
|
-
|
|
176
|
-
2. 跳过冲突 Change:
|
|
177
|
-
- `/pdd-pr-batch c-001-xxx,c-003-zzz` (排除 c-002-yyy)
|
|
178
|
-
|
|
179
|
-
3. 分开处理:
|
|
180
|
-
- 先合并 c-001-xxx
|
|
181
|
-
- 再合并 c-002-yyy
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
## 批量归档
|
|
185
|
-
|
|
186
|
-
合并批量 PR 后,会逐个归档所有 Change:
|
|
187
|
-
|
|
188
|
-
```
|
|
189
|
-
pdd-pr-merge (批量 PR)
|
|
190
|
-
│
|
|
191
|
-
└── for each change_id:
|
|
192
|
-
│
|
|
193
|
-
├── openspec-archive-change {change-id}
|
|
194
|
-
│
|
|
195
|
-
└── 更新 Change 状态
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
### 批量归档输出
|
|
199
|
-
|
|
200
|
-
```markdown
|
|
201
|
-
## 批量 PR 合并完成
|
|
202
|
-
|
|
203
|
-
**PR 编号**: #125
|
|
204
|
-
**合并时间**: 2026-03-21 16:00:00
|
|
205
|
-
|
|
206
|
-
### 归档状态
|
|
207
|
-
|
|
208
|
-
| Change ID | 归档状态 | 归档路径 |
|
|
209
|
-
|-----------|---------|---------|
|
|
210
|
-
| c-001-xxx | ✅ 已归档 | archive/2026-03-21-c-001-xxx/ |
|
|
211
|
-
| c-002-yyy | ✅ 已归档 | archive/2026-03-21-c-002-yyy/ |
|
|
212
|
-
| c-003-zzz | ✅ 已归档 | archive/2026-03-21-c-003-zzz/ |
|
|
213
|
-
|
|
214
|
-
### 后续操作
|
|
215
|
-
|
|
216
|
-
- 查看批量归档: `openspec/batch/2026-03-21/`
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
## 目录结构
|
|
220
|
-
|
|
221
|
-
```
|
|
222
|
-
openspec/
|
|
223
|
-
├── changes/
|
|
224
|
-
│ ├── c-001-xxx/
|
|
225
|
-
│ ├── c-002-yyy/
|
|
226
|
-
│ └── c-003-zzz/
|
|
227
|
-
├── batch/
|
|
228
|
-
│ └── 2026-03-21/
|
|
229
|
-
│ ├── pr-record.md
|
|
230
|
-
│ ├── review-report.md
|
|
231
|
-
│ └── merge-report.md
|
|
232
|
-
└── archive/
|
|
233
|
-
├── 2026-03-21-c-001-xxx/
|
|
234
|
-
├── 2026-03-21-c-002-yyy/
|
|
235
|
-
└── 2026-03-21-c-003-zzz/
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
## 错误处理
|
|
239
|
-
|
|
240
|
-
### 有未完成的 Change
|
|
241
|
-
|
|
242
|
-
```
|
|
243
|
-
❌ 部分 Change 未完成
|
|
244
|
-
|
|
245
|
-
**未完成列表**:
|
|
246
|
-
- c-002-yyy: 2/10 任务未完成
|
|
247
|
-
|
|
248
|
-
请先完成所有 Change 后再执行批量操作。
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
### Change 不存在
|
|
252
|
-
|
|
253
|
-
```
|
|
254
|
-
❌ Change 不存在
|
|
255
|
-
|
|
256
|
-
**无效 ID**: c-004-xxx
|
|
257
|
-
|
|
258
|
-
请确认 Change ID 正确:
|
|
259
|
-
- c-001-xxx ✅
|
|
260
|
-
- c-002-yyy ✅
|
|
261
|
-
- c-003-zzz ✅
|
|
262
|
-
- c-004-xxx ❌ 不存在
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
## 与其他技能的协作
|
|
266
|
-
|
|
267
|
-
```
|
|
268
|
-
pdd-pr-batch
|
|
269
|
-
│
|
|
270
|
-
├── 被调用方
|
|
271
|
-
│ └── 用户直接调用
|
|
272
|
-
│
|
|
273
|
-
└── 调用方
|
|
274
|
-
├── pdd-pr-review (查看批量审查)
|
|
275
|
-
└── pdd-pr-merge (批量合并)
|
|
276
|
-
```
|
|
277
|
-
|
|
278
|
-
## 最佳实践
|
|
279
|
-
|
|
280
|
-
### 推荐批量场景
|
|
281
|
-
|
|
282
|
-
1. **同类型修复**: 多个 Bug 修复一起发布
|
|
283
|
-
2. **配置更新**: 多个配置文件修改
|
|
284
|
-
3. **文档更新**: 多个文档修改
|
|
285
|
-
4. **依赖升级**: 多个依赖版本更新
|
|
286
|
-
|
|
287
|
-
### 不推荐批量场景
|
|
288
|
-
|
|
289
|
-
1. **跨模块修改**: 可能影响其他模块
|
|
290
|
-
2. **紧急修复**: 应该单独快速发布
|
|
291
|
-
3. **大改动**: 应该独立审查和回滚
|
|
292
|
-
|
|
293
|
-
---
|
|
294
|
-
|
|
295
|
-
## PR管理规范
|
|
296
|
-
|
|
297
|
-
详见 [pdd-pr-create SKILL.md](./pdd-pr-create/SKILL.md#pr管理规范)
|
|
298
|
-
|
|
299
|
-
---
|
|
300
|
-
|
|
301
|
-
## PDD实施规范引用
|
|
302
|
-
|
|
303
|
-
本Skill遵循PDD框架实施规范,详见 [pdd-framework-design.md 第9章](../docs/pdd-framework-design.md#9-pdd-实施规范)。
|
|
1
|
+
---
|
|
2
|
+
name: pdd-pr-batch
|
|
3
|
+
description: |
|
|
4
|
+
批量合并多个 Change 为一个 PR。当用户需要将多个小改动打包发布、相关功能点一起上线、或批量更新配置文件和文档时调用此Skill。即使用户只说"批量合并PR"、"打包发布"或"多个change合并",也应触发此Skill。
|
|
5
|
+
license: MIT
|
|
6
|
+
compatibility: 需要多个 OpenSpec Change ID
|
|
7
|
+
metadata:
|
|
8
|
+
author: "neuqik@hotmail.com"
|
|
9
|
+
version: "1.0"
|
|
10
|
+
parent: pdd-main
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# pdd-pr-batch
|
|
14
|
+
|
|
15
|
+
**Description**: 批量合并多个 Change 为一个 PR。适用于多个小改动打包发布的场景。
|
|
16
|
+
|
|
17
|
+
**Details**: 批量合并多个 Change 为一个 PR
|
|
18
|
+
|
|
19
|
+
**Input**: 多个 OpenSpec Change ID
|
|
20
|
+
|
|
21
|
+
## 使用场景
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
适用场景:
|
|
25
|
+
├── 多个小修复打包发布
|
|
26
|
+
├── 相关功能点一起上线
|
|
27
|
+
├── 配置文件批量更新
|
|
28
|
+
└── 文档批量更新
|
|
29
|
+
|
|
30
|
+
不适用场景:
|
|
31
|
+
├── Change 之间有依赖冲突
|
|
32
|
+
├── 需要独立回滚的 Change
|
|
33
|
+
└── 不同优先级的 Change
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## 执行流程
|
|
37
|
+
|
|
38
|
+
### 1. 验证所有 Change
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
for each change_id in change_ids:
|
|
42
|
+
├── 检查 Change 目录存在
|
|
43
|
+
├── 读取 tasks.md 确认完成
|
|
44
|
+
├── 检查代码已提交
|
|
45
|
+
└── 记录 Change 信息
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 2. 创建批量分支
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
分支命名: batch/{date}
|
|
52
|
+
|
|
53
|
+
示例: batch/2026-03-21
|
|
54
|
+
|
|
55
|
+
操作:
|
|
56
|
+
├── git checkout main
|
|
57
|
+
├── git pull origin main
|
|
58
|
+
└── git checkout -b batch/2026-03-21
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### 3. 合并代码
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
for each change_id in change_ids:
|
|
65
|
+
├── 找到 Change 对应的 Feature Branch
|
|
66
|
+
├── cherry-pick 或 merge 该分支的提交
|
|
67
|
+
├── 解决可能的冲突
|
|
68
|
+
└── 记录合并结果
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### 4. 批量审查
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
运行所有 Change 的测试:
|
|
75
|
+
├── 汇总所有测试用例
|
|
76
|
+
├── 批量运行测试
|
|
77
|
+
├── 汇总测试覆盖率
|
|
78
|
+
└── 生成批量审查报告
|
|
79
|
+
|
|
80
|
+
审查报告: openspec/batch/{date}/review-report.md
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### 5. 创建批量 PR
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
GitHub 模式:
|
|
87
|
+
├── 推送批量分支到远程
|
|
88
|
+
├── 创建 GitHub PR
|
|
89
|
+
│ ├── 标题: batch: {title} ({n} changes)
|
|
90
|
+
│ ├── 描述: 列出所有 Change
|
|
91
|
+
│ └── 标签: batch
|
|
92
|
+
└── 记录 PR 编号
|
|
93
|
+
|
|
94
|
+
本地模式:
|
|
95
|
+
├── 创建批量 PR 记录
|
|
96
|
+
│ └── openspec/batch/{date}/pr-record.md
|
|
97
|
+
└── 记录所有 Change ID
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### 6. 输出结果
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
输出:
|
|
104
|
+
├── PR 编号 / 本地记录路径
|
|
105
|
+
├── 包含的 Change 列表
|
|
106
|
+
├── 批量审查结果
|
|
107
|
+
└── 等待确认
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## 输出格式
|
|
111
|
+
|
|
112
|
+
```markdown
|
|
113
|
+
## 批量 PR 创建完成
|
|
114
|
+
|
|
115
|
+
**PR 编号**: #125
|
|
116
|
+
**分支**: batch/2026-03-21 → main
|
|
117
|
+
**包含变更**: 3 个
|
|
118
|
+
|
|
119
|
+
### 变更列表
|
|
120
|
+
|
|
121
|
+
| Change ID | 标题 | 状态 | 审查结果 |
|
|
122
|
+
|-----------|------|------|---------|
|
|
123
|
+
| c-001-xxx | 权限控制 | ✅ 完成 | ✅ 通过 |
|
|
124
|
+
| c-002-yyy | 日志记录 | ✅ 完成 | ⚠️ 1 Warning |
|
|
125
|
+
| c-003-zzz | 参数校验 | ✅ 完成 | ✅ 通过 |
|
|
126
|
+
|
|
127
|
+
### 批量审查结果
|
|
128
|
+
|
|
129
|
+
| 检查项 | 状态 | 详情 |
|
|
130
|
+
|--------|------|------|
|
|
131
|
+
| 单元测试 | ✅ 通过 | 45/45 用例通过 |
|
|
132
|
+
| 测试覆盖率 | ✅ 82% | 阈值: 70% |
|
|
133
|
+
| 代码质量 | ⚠️ 3 Warning | 详情见报告 |
|
|
134
|
+
| 冲突检查 | ✅ 无冲突 | - |
|
|
135
|
+
|
|
136
|
+
### 审查报告
|
|
137
|
+
|
|
138
|
+
详细报告: `openspec/batch/2026-03-21/review-report.md`
|
|
139
|
+
|
|
140
|
+
### 下一步操作
|
|
141
|
+
|
|
142
|
+
- 确认合并: `/pdd-pr-merge --pr-number 125`
|
|
143
|
+
- 查看详情: `/pdd-pr-review --pr-number 125`
|
|
144
|
+
- 单独处理某个 Change: `/pdd-pr-review c-001-xxx`
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## 参数
|
|
148
|
+
|
|
149
|
+
| 参数 | 类型 | 必需 | 默认值 | 描述 |
|
|
150
|
+
|------|------|------|--------|------|
|
|
151
|
+
| `change_ids` | array | 是 | - | OpenSpec Change ID 列表 |
|
|
152
|
+
| `title` | string | 否 | - | PR 标题 |
|
|
153
|
+
| `draft` | boolean | 否 | true | 是否创建为 Draft PR |
|
|
154
|
+
|
|
155
|
+
## 冲突处理
|
|
156
|
+
|
|
157
|
+
### 检测到冲突
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
⚠️ 检测到代码冲突
|
|
161
|
+
|
|
162
|
+
**冲突文件**:
|
|
163
|
+
- src/main/java/WorkflowController.java
|
|
164
|
+
|
|
165
|
+
**冲突 Change**:
|
|
166
|
+
- c-001-xxx: 修改了第 45 行
|
|
167
|
+
- c-002-yyy: 修改了第 45 行
|
|
168
|
+
|
|
169
|
+
### 解决方案
|
|
170
|
+
|
|
171
|
+
1. 手动解决冲突:
|
|
172
|
+
- 编辑冲突文件
|
|
173
|
+
- git add .
|
|
174
|
+
- git commit
|
|
175
|
+
|
|
176
|
+
2. 跳过冲突 Change:
|
|
177
|
+
- `/pdd-pr-batch c-001-xxx,c-003-zzz` (排除 c-002-yyy)
|
|
178
|
+
|
|
179
|
+
3. 分开处理:
|
|
180
|
+
- 先合并 c-001-xxx
|
|
181
|
+
- 再合并 c-002-yyy
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## 批量归档
|
|
185
|
+
|
|
186
|
+
合并批量 PR 后,会逐个归档所有 Change:
|
|
187
|
+
|
|
188
|
+
```
|
|
189
|
+
pdd-pr-merge (批量 PR)
|
|
190
|
+
│
|
|
191
|
+
└── for each change_id:
|
|
192
|
+
│
|
|
193
|
+
├── openspec-archive-change {change-id}
|
|
194
|
+
│
|
|
195
|
+
└── 更新 Change 状态
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### 批量归档输出
|
|
199
|
+
|
|
200
|
+
```markdown
|
|
201
|
+
## 批量 PR 合并完成
|
|
202
|
+
|
|
203
|
+
**PR 编号**: #125
|
|
204
|
+
**合并时间**: 2026-03-21 16:00:00
|
|
205
|
+
|
|
206
|
+
### 归档状态
|
|
207
|
+
|
|
208
|
+
| Change ID | 归档状态 | 归档路径 |
|
|
209
|
+
|-----------|---------|---------|
|
|
210
|
+
| c-001-xxx | ✅ 已归档 | archive/2026-03-21-c-001-xxx/ |
|
|
211
|
+
| c-002-yyy | ✅ 已归档 | archive/2026-03-21-c-002-yyy/ |
|
|
212
|
+
| c-003-zzz | ✅ 已归档 | archive/2026-03-21-c-003-zzz/ |
|
|
213
|
+
|
|
214
|
+
### 后续操作
|
|
215
|
+
|
|
216
|
+
- 查看批量归档: `openspec/batch/2026-03-21/`
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
## 目录结构
|
|
220
|
+
|
|
221
|
+
```
|
|
222
|
+
openspec/
|
|
223
|
+
├── changes/
|
|
224
|
+
│ ├── c-001-xxx/
|
|
225
|
+
│ ├── c-002-yyy/
|
|
226
|
+
│ └── c-003-zzz/
|
|
227
|
+
├── batch/
|
|
228
|
+
│ └── 2026-03-21/
|
|
229
|
+
│ ├── pr-record.md
|
|
230
|
+
│ ├── review-report.md
|
|
231
|
+
│ └── merge-report.md
|
|
232
|
+
└── archive/
|
|
233
|
+
├── 2026-03-21-c-001-xxx/
|
|
234
|
+
├── 2026-03-21-c-002-yyy/
|
|
235
|
+
└── 2026-03-21-c-003-zzz/
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
## 错误处理
|
|
239
|
+
|
|
240
|
+
### 有未完成的 Change
|
|
241
|
+
|
|
242
|
+
```
|
|
243
|
+
❌ 部分 Change 未完成
|
|
244
|
+
|
|
245
|
+
**未完成列表**:
|
|
246
|
+
- c-002-yyy: 2/10 任务未完成
|
|
247
|
+
|
|
248
|
+
请先完成所有 Change 后再执行批量操作。
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
### Change 不存在
|
|
252
|
+
|
|
253
|
+
```
|
|
254
|
+
❌ Change 不存在
|
|
255
|
+
|
|
256
|
+
**无效 ID**: c-004-xxx
|
|
257
|
+
|
|
258
|
+
请确认 Change ID 正确:
|
|
259
|
+
- c-001-xxx ✅
|
|
260
|
+
- c-002-yyy ✅
|
|
261
|
+
- c-003-zzz ✅
|
|
262
|
+
- c-004-xxx ❌ 不存在
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
## 与其他技能的协作
|
|
266
|
+
|
|
267
|
+
```
|
|
268
|
+
pdd-pr-batch
|
|
269
|
+
│
|
|
270
|
+
├── 被调用方
|
|
271
|
+
│ └── 用户直接调用
|
|
272
|
+
│
|
|
273
|
+
└── 调用方
|
|
274
|
+
├── pdd-pr-review (查看批量审查)
|
|
275
|
+
└── pdd-pr-merge (批量合并)
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
## 最佳实践
|
|
279
|
+
|
|
280
|
+
### 推荐批量场景
|
|
281
|
+
|
|
282
|
+
1. **同类型修复**: 多个 Bug 修复一起发布
|
|
283
|
+
2. **配置更新**: 多个配置文件修改
|
|
284
|
+
3. **文档更新**: 多个文档修改
|
|
285
|
+
4. **依赖升级**: 多个依赖版本更新
|
|
286
|
+
|
|
287
|
+
### 不推荐批量场景
|
|
288
|
+
|
|
289
|
+
1. **跨模块修改**: 可能影响其他模块
|
|
290
|
+
2. **紧急修复**: 应该单独快速发布
|
|
291
|
+
3. **大改动**: 应该独立审查和回滚
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## PR管理规范
|
|
296
|
+
|
|
297
|
+
详见 [pdd-pr-create SKILL.md](./pdd-pr-create/SKILL.md#pr管理规范)
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
## PDD实施规范引用
|
|
302
|
+
|
|
303
|
+
本Skill遵循PDD框架实施规范,详见 [pdd-framework-design.md 第9章](../docs/pdd-framework-design.md#9-pdd-实施规范)。
|