jsharness 1.8.2 → 1.10.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 (57) hide show
  1. package/.harness/README.md +123 -57
  2. package/.harness/agents/{prompt-templates.md → agent-dispatcher.md} +304 -21
  3. package/.harness/agents/code-reviewer/contract.yaml +1 -1
  4. package/.harness/agents/code-reviewer/prompt.md +1 -1
  5. package/.harness/agents/code-reviewer.md +1 -1
  6. package/.harness/agents/developer/contract.yaml +0 -1
  7. package/.harness/agents/developer/prompt.md +0 -1
  8. package/.harness/agents/developer.md +0 -1
  9. package/.harness/agents/gate-controller/contract.yaml +1 -1
  10. package/.harness/agents/gate-controller/prompt.md +1 -1
  11. package/.harness/agents/gate-controller.md +1 -1
  12. package/.harness/agents/project-manager/contract.yaml +4 -1
  13. package/.harness/agents/project-manager/prompt.md +9 -1
  14. package/.harness/agents/project-manager.md +9 -1
  15. package/.harness/agents/requirements-analyst/contract.yaml +5 -3
  16. package/.harness/agents/requirements-analyst/prompt.md +39 -35
  17. package/.harness/agents/requirements-analyst.md +39 -35
  18. package/.harness/agents/solution-designer/contract.yaml +1 -1
  19. package/.harness/agents/solution-designer/prompt.md +1 -1
  20. package/.harness/agents/solution-designer.md +1 -1
  21. package/.harness/agents/tester/contract.yaml +1 -1
  22. package/.harness/agents/tester/prompt.md +1 -1
  23. package/.harness/agents/tester.md +1 -1
  24. package/.harness/commands/js/apply.md +31 -0
  25. package/.harness/commands/js/archive.md +31 -0
  26. package/.harness/commands/js/explore.md +31 -0
  27. package/.harness/commands/js/propose.md +31 -0
  28. package/.harness/dev-map/overview.md +5 -4
  29. package/.harness/doc/originRequirements/.gitkeep +0 -0
  30. package/.harness/doc/originRequirements/2026-05-22-sample-requirement.md +12 -0
  31. package/.harness/doc/originRequirements/README.md +36 -0
  32. package/.harness/doc/ttspec/README.md +33 -0
  33. package/.harness/doc/ttspec/change/.gitkeep +0 -0
  34. package/.harness/doc/ttspec/change/archive/.gitkeep +0 -0
  35. package/.harness/doc/ttspec/specs/.gitkeep +0 -0
  36. package/.harness/rules/global/process-discipline.md +10 -1
  37. package/.harness/skills/architecture-designer/SKILL.md +2 -0
  38. package/.harness/skills/docs-update/SKILL.md +2 -0
  39. package/.harness/skills/openspec-apply/SKILL.md +90 -0
  40. package/.harness/skills/openspec-archive/SKILL.md +77 -0
  41. package/.harness/skills/openspec-explore/SKILL.md +135 -0
  42. package/.harness/skills/openspec-propose/SKILL.md +178 -0
  43. package/.harness/skills/openspec-skill-creator/SKILL.md +157 -0
  44. package/.harness/skills/prd-generator/SKILL.md +584 -0
  45. package/.harness/workflow/definition.yaml +41 -8
  46. package/files/analyze-requirements.md +197 -0
  47. package/lib/index.mjs +152 -35
  48. package/package.json +1 -1
  49. package/.harness/skills/build/SKILL.md +0 -199
  50. /package/.harness/{docs → doc}/integration-test-plan.md +0 -0
  51. /package/.harness/{docs → doc}/team-guidelines/README.md +0 -0
  52. /package/.harness/{docs → doc}/team-guidelines/arch-team.md +0 -0
  53. /package/.harness/{docs → doc}/team-guidelines/collaboration.md +0 -0
  54. /package/.harness/{docs → doc}/team-guidelines/pm-team.md +0 -0
  55. /package/.harness/{docs → doc}/team-guidelines/qa-team.md +0 -0
  56. /package/.harness/{docs → doc}/team-guidelines/rd-team.md +0 -0
  57. /package/.harness/{docs → doc}/training-materials.md +0 -0
@@ -5,63 +5,105 @@
5
5
  ```
6
6
  .harness/
7
7
  ├── config/ # 配置文件
8
- ├── models.yaml # 模型分层配置(Agent→模型映射)
9
- │ └── credentials.yaml # 凭证(不入库,使用环境变量)
8
+ └── models.yaml # 模型分层配置(Agent→模型映射)
10
9
 
11
10
  ├── rules/ # 规则体系(软约束)
12
11
  │ ├── global/ # 全局规则(所有项目通用)
13
- │ │ ├── coding-standard.md # 编码规范
14
- │ │ ├── commit-convention.md # 提交规范
15
- │ │ ├── security-baseline.md # 安全红线
16
- │ │ └── process-discipline.md # 流程纪律
12
+ │ │ ├── coding-standard.md # 编码规范(含 AI 辅助编码约束 A01-A31)
13
+ │ │ ├── commit-convention.md # 提交规范(Conventional Commits)
14
+ │ │ ├── design-document-boundary.md # 设计文档边界约束 + 复杂度分流
15
+ │ │ ├── security-baseline.md # 安全红线(SM4/注入/脱敏/Redis)
16
+ │ │ └── process-discipline.md # 流程纪律(下游不改上游/三步验证)
17
17
  │ └── project/ # 项目特有规则
18
- └── web-specific.md # Web 应用规则
18
+ ├── frontend-vue3.md # 前端 Vue3 规则(Composition API/TS/Element Plus)
19
+ │ ├── java-backend.md # 后端 Java 规则(分层/Virtual Threads/MyBatis-Plus/22项CR)
20
+ │ └── web-specific.md # Web 应用规则(i18n/API规范/性能/响应式)
19
21
 
20
- ├── skills/ # 标准技能库(半硬约束)
21
- │ ├── build.md # 项目构建
22
- ├── test-unit.md # 单元测试
23
- │ ├── test-e2e.md # E2E 测试
24
- ├── test-api.md # API 测试
25
- │ ├── lint-check.md # 静态检查
26
- ├── code-review.md # 代码审查
27
- │ ├── docker-build.md # Docker 构建
28
- │ └── docs-update.md # 文档更新
22
+ ├── skills/ # 标准技能库(半硬约束,每个技能一个子目录)
23
+ │ ├── architecture-designer/ # 架构设计(C4/领域模型/类图/Mermaid)
24
+ │ └── SKILL.md
25
+ │ ├── prd-generator/ # PRD 文档生成器(十大章节模板)
26
+ │ └── SKILL.md
27
+ │ ├── code-review/ # 代码审查清单(前端+后端双技术栈)
28
+ │ └── SKILL.md
29
+ │ ├── vue-frontend-build/ # Vue3 前端构建(Vite + vue-tsc + Vitest)
30
+ └── SKILL.md
31
+ │ ├── java-build/ # ⭐ Java 后端构建(Maven + JUnit5 + JaCoCo)
32
+ │ │ └── SKILL.md
33
+ │ ├── test-unit/ # 单元测试(Vitest / JUnit5+Mockito)
34
+ │ │ └── SKILL.md
35
+ │ ├── test-e2e/ # E2E 测试(Playwright / Testcontainers)
36
+ │ │ └── SKILL.md
37
+ │ ├── test-api/ # API 测试(REST Assured / Newman)
38
+ │ │ └── SKILL.md
39
+ │ ├── lint-check/ # 静态检查(ESLint / Checkstyle+PMD+SpotBugs)
40
+ │ │ └── SKILL.md
41
+ │ ├── docker-build/ # Docker 构建
42
+ │ │ └── SKILL.md
43
+ │ ├── docs-update/ # 文档更新(Changelog / ADR / API文档)
44
+ │ │ └── SKILL.md
45
+ │ └── task-board-maintenance/ # 任务看板维护
46
+ │ └── SKILL.md
29
47
 
30
48
  ├── agents/ # 角色契约定义(7 个 Agent)
49
+ │ ├── agent-dispatcher.md # 全局 Prompt 模板集合(含所有 Agent 的 frontmatter+prompt)
31
50
  │ ├── project-manager/ # PM 路由角色
32
51
  │ ├── requirements-analyst/ # 需求分析师
33
52
  │ ├── solution-designer/ # 方案设计师
34
- │ ├── gate-controller/ # 闸门总控
35
- │ ├── developer/ # 开发实现
36
- │ ├── code-reviewer/ # 代码审查
37
- └── tester/ # 测试验证
38
- (每个目录含 contract.yaml + prompt.md)
53
+ │ ├── gate-controller/ # 闸门总控
54
+ │ ├── developer/ # 开发实现
55
+ │ ├── code-reviewer/ # 代码审查
56
+ ├── tester/ # 测试验证
57
+ └── (每个 Agent 含三件套:主文件.md + prompt.md + contract.yaml
58
+
59
+ ├── doc/ # 📄 Agent 输出文档目录(各阶段交付物)
60
+ │ ├── prd/ # 需求分析输出
61
+ │ ├── design/ # 方案设计输出
62
+ │ ├── gate-report/ # 闸门评估输出
63
+ │ ├── codereview/ # 代码审查输出
64
+ │ ├── test-report/ # 测试验证输出
65
+ │ ├── project/ # PM 路由决策输出
66
+ │ ├── integration-test-plan.md # 集成测试方案
67
+ │ ├── training-materials.md # 培训材料
68
+ │ └── team-guidelines/ # 团队指南
69
+ │ ├── arch-team.md
70
+ │ ├── collaboration.md
71
+ │ ├── pm-team.md
72
+ │ ├── qa-team.md
73
+ │ └── rd-team.md
39
74
 
40
75
  ├── workflow/ # 工作流引擎
41
- │ ├── definition.yaml # 主流程状态机定义
42
- │ ├── variants.yaml # 流程变体(Bug修复/热修复等)
76
+ │ ├── definition.yaml # 主流程状态机定义(7阶段 + 回退规则)
77
+ │ ├── variants.yaml # 流程变体(Bug修复/热修复/微型/安全响应)
43
78
  │ └── validate.js # 流程校验脚本
44
79
 
45
80
  ├── gate/ # 门禁脚本系统(硬约束)
46
- │ ├── index.js # 入口脚本
81
+ │ ├── index.js # 入口脚本(统一调度 5 类检查)
47
82
  │ ├── baseline.js # 基线对比机制
48
- │ └── checks/ # 检查模块
83
+ │ └── checks/ # 检查模块
49
84
  │ ├── static-compliance.js # A 类:静态规范
50
- │ ├── build-gates.js # B 类:构建门槛
85
+ │ ├── build-gates.js # B 类:构建门槛(路由器)
86
+ │ ├── build-gates-frontend.js # → 前端门禁
87
+ │ ├── build-gates-java.js # → Java 门禁
51
88
  │ ├── test-compliance.js # C 类:测试合规
52
89
  │ ├── security-quality.js # D 类:安全质量
53
90
  │ └── engineering-consistency.js # E 类:工程一致性
54
91
 
55
92
  ├── mcp/ # MCP 外部系统集成
56
- ├── config.yaml # MCP Server 配置
57
- │ └── tools/ # Tool 定义
93
+ └── config.yaml # MCP Server 配置(Git/Jenkins/SonarQube/Maven)
58
94
 
59
95
  ├── dev-map/ # 开发导航地图(知识库)
60
- │ ├── overview.md # 总览索引
61
- │ ├── frontend/ # 前端分区
62
- │ ├── backend/ # 后端分区
63
- │ ├── infra/ # 基础设施分区
64
- │ └── decisions.md # 技术决策记录(ADR)
96
+ │ ├── overview.md # 项目全景(技术栈/架构/目录/功能域落点表)
97
+ │ ├── decisions.md # ADR 技术决策记录(7 条已归档)
98
+ │ ├── frontend/ # 前端知识分区
99
+ │ ├── backend/ # 后端知识分区
100
+ │ └── infra/ # 基础设施分区
101
+
102
+ ├── specs/ # 规格定义
103
+ │ └── quality-feedback/ # 质量反馈规格
104
+
105
+ ├── commands/ # CLI 命令定义
106
+ │ └── js/ # JavaScript 命令
65
107
 
66
108
  └── task-board.md # 任务看板(PM 维护)
67
109
  ```
@@ -87,15 +129,15 @@ cat .harness/task-board.md
87
129
 
88
130
  ## 七角色速查
89
131
 
90
- | 角色 | 职责 | 模型档位 |
91
- |------|------|----------|
92
- | PM (路由) | 任务分配、进度追踪 | Lite |
93
- | 需求分析 | 需求拆解、验收标准 | Standard |
94
- | 方案设计 | 技术方案、架构决策 | Standard |
95
- | 闸门总控 | 可行性评估、风险识别 | Strong |
96
- | 开发实现 | 编码、单元测试 | Standard |
97
- | 代码审查 | CR、规范、安全检查 | Strong |
98
- | 测试验证 | 功能/E2E/回归测试 | Strong |
132
+ | 角色 | 职责 | 模型档位 | 输出路径 |
133
+ |------|------|----------|----------|
134
+ | PM (路由) | 任务分配、进度追踪 | Lite | `.harness/doc/project/` |
135
+ | 需求分析 | 需求拆解、验收标准、PRD生成 | Standard | `.harness/doc/prd/` |
136
+ | 方案设计 | 技术方案、架构决策 | Standard | `.harness/doc/design/` |
137
+ | 闸门总控 | 可行性评估、风险识别 | Strong | `.harness/doc/gate-report/` |
138
+ | 开发实现 | 编码、单元测试 | Standard | `src/` |
139
+ | 代码审查 | CR、规范、安全检查 | Strong | `.harness/doc/codereview/` |
140
+ | 测试验证 | 功能/E2E/回归测试 | Strong | `.harness/doc/test-report/` |
99
141
 
100
142
  ## 约束硬度层级
101
143
 
@@ -106,6 +148,32 @@ Rule (软) → Skill (半硬) → Scripts (硬)
106
148
  解释空间 步骤固定 PASS/FAIL
107
149
  ```
108
150
 
151
+ ## Agent 三件套架构
152
+
153
+ 每个 Agent 由三部分组成,保持一致性:
154
+
155
+ | 文件 | 作用 | 格式 |
156
+ |------|------|------|
157
+ | `{name}.md` | 主文件:frontmatter元数据 + 完整prompt | Markdown + YAML frontmatter |
158
+ | `{name}/prompt.md` | 子文件:prompt 副本(供运行时加载) | Markdown + YAML frontmatter |
159
+ | `{name}/contract.yaml` | 契约:职责、约束、能力边界 | YAML |
160
+
161
+ **关键约束**:三件套的 `name`、`description`、`outputFormat` 必须保持一致。
162
+
163
+ ## 输出路径体系
164
+
165
+ 所有 Agent 输出统一在 `.harness/doc/` 目录下,按子目录组织:
166
+
167
+ ```
168
+ .harness/doc/
169
+ ├── prd/ # 需求分析 → requirements-{task-id}.md
170
+ ├── design/ # 方案设计 → design-{task-id}.md
171
+ ├── gate-report/ # 闸门评估 → gate-decision.json
172
+ ├── codereview/ # 代码审查 → review-report-pr-{n}.md
173
+ ├── test-report/ # 测试验证 → test-report-{task-id}.md
174
+ └── project/ # PM 路由 → routing-decision.md
175
+ ```
176
+
109
177
  ## 维护责任
110
178
 
111
179
  - **谁改代码谁改地图** — dev-map 保持与代码同步
@@ -134,21 +202,20 @@ Rule (软) → Skill (半硬) → Scripts (硬)
134
202
  | 源内容章节 → Harness 产出物 | 位置 |
135
203
  |---------------------------|------|
136
204
  | § Composition API 强制 / TypeScript 类型 / 命名规范 / Element Plus / 禁止事项 | → `rules/project/frontend-vue3.md` |
137
- | § Vite 构建 / TypeScript 类型检查 / ESLint+Prettier / Vitest 测试 / 包体积优化 | → `skills/vue-frontend-build.md` |
205
+ | § Vite 构建 / TypeScript 类型检查 / ESLint+Prettier / Vitest 测试 / 包体积优化 | → `skills/vue-frontend-build/SKILL.md` |
138
206
  | § 目录结构详解 / 组件模板 / API 封装 / Router 配置 / Store 组织 | → `dev-map/frontend/conventions.md` |
139
- | § Vue3 专项 CR 检查(Options API 禁用 / any 禁用 / Element Plus 规范) | → `skills/code-review.md` (前端专项段)|
140
- | § Vue3 技术栈约束(Composition API / Props TS 定义 / 变量命名) | → `agents/prompt-templates.md` (Developer Agent Tech Stack Constraints)|
207
+ | § Vue3 专项 CR 检查(Options API 禁用 / any 禁用 / Element Plus 规范) | → `skills/code-review/SKILL.md` (前端专项段)|
208
+ | § Vue3 技术栈约束(Composition API / Props TS 定义 / 变量命名) | → `agents/agent-dispatcher.md` (Developer Agent Tech Stack Constraints)|
141
209
 
142
210
  #### 源文件 2: `java-backend-coding-standards/SKILL.md`
143
211
 
144
212
  | 源内容章节 → Harness 产出物 | 位置 |
145
213
  |---------------------------|------|
146
214
  | §2 架构约束 / §3 Maven模块 / §4 Controller / §5 Service / §6 Mapper / §7 DB / §8 Redis / §9 JDK21虚拟线程 / §10 事务 / §11 安全SM4 / §12 Nacos / §13 测试 / §16 CR 22项清单 | → `rules/project/java-backend.md` |
147
- | §15 测试规范(Maven 编译 / JUnit5+Mockito / JaCoCo 覆盖率 / Docker 构建) | → `skills/java-build.md` |
148
- | §16 CR 22项检查清单(架构分层/命名/参数返回值/数据库SQL/安全质量) | → `skills/code-review.md` (Java 后端专项段)|
215
+ | §15 测试规范(Maven 编译 / JUnit5+Mockito / JaCoCo 覆盖率 / Docker 构建) | → `skills/java-build/SKILL.md` |
216
+ | §16 CR 22项检查清单(架构分层/命名/参数返回值/数据库SQL/安全质量) | → `skills/code-review/SKILL.md` (Java 后端专项段)|
149
217
  | § 全部章节(代码模板:Controller/Service/Mapper/Entity/VO/异常处理/错误码分配/Redis Key/Nacos配置/DB设计) | → `dev-map/backend/conventions-java.md` |
150
- | § Java 技术栈约束(包名/类后缀/Controller薄层/ReqVO-RespVO/Mapper/Redis/虚拟线程/事务/安全) | → `agents/prompt-templates.md` (Developer Agent Tech Stack Constraints)|
151
- | §22项CR清单精简版 + 虚拟线程注意事项 + Redis常见坑点 | → `docs/team-guidelines/rd-team.md` (第九章 Java 后端附加指南)|
218
+ | § Java 技术栈约束(包名/类后缀/Controller薄层/ReqVO-RespVO/Mapper/Redis/虚拟线程/事务/安全) | → `agents/agent-dispatcher.md` (Developer Agent Tech Stack Constraints)|
152
219
 
153
220
  #### 源文件 3: `AI_RULE.md`
154
221
 
@@ -156,7 +223,6 @@ Rule (软) → Skill (半硬) → Scripts (硬)
156
223
  |---------------------------|------|
157
224
  | A01-A31 通用编码规则(基础约束/依赖管理/业务代码/并发资源/注释文档/DTO实体/异常处理) | → `rules/global/coding-standard.md` (第六章 AI 辅助编码通用约束)|
158
225
  | A35 敏感信息脱敏 / A37 Shell脚本无明文密码 | → `rules/global/security-baseline.md` (第六/七章 日志脱敏/Shell 安全)|
159
- | A41-A44 人机协同规范 | → `agents/prompt-templates.md` (Agent 行为约束已内置) |
160
226
 
161
227
  ### 同步更新机制
162
228
 
@@ -179,12 +245,12 @@ Rule (软) → Skill (半硬) → Scripts (硬)
179
245
  | 1 | `gate/checks/build-gates-frontend.js` | ✨ 新建 | 前端专用门禁(tsc/npm/eslint/audit)|
180
246
  | 2 | `gate/checks/build-gates-java.js` | ✨ 新建 | Java 专用门禁(mvn compile/test/checkstyle/spotbugs/jacoco)|
181
247
  | 3 | `gate/checks/build-gates.js` | ✏️ 改造 | 改为路由器:自动检测 pom.xml vs package.json 并分发 |
182
- | 4 | `skills/build.md` | ✏️ 标记废弃 | 重定向到 java-build / vue-frontend-build |
183
- | 5 | `skills/test-unit.md` | ✏️ 增强 | +Java 章节(JUnit5/Mockito/JaCoCo/AAA/BDD/失败诊断)|
184
- | 6 | `skills/lint-check.md` | ✏️ 增强 | +Java 章节(Checkstyle/PMD/SpotBugs/SonarQube/QG)|
185
- | 7 | `skills/test-api.md` | ✏️ 增强 | +Java 章节(REST Assured/WireMock/Flyway/Newman)|
248
+ | 4 | `skills/build/` | ✏️ 标记废弃 | 重定向到 java-build / vue-frontend-build |
249
+ | 5 | `skills/test-unit/SKILL.md` | ✏️ 增强 | +Java 章节(JUnit5/Mockito/JaCoCo/AAA/BDD/失败诊断)|
250
+ | 6 | `skills/lint-check/SKILL.md` | ✏️ 增强 | +Java 章节(Checkstyle/PMD/SpotBugs/SonarQube/QG)|
251
+ | 7 | `skills/test-api/SKILL.md` | ✏️ 增强 | +Java 章节(REST Assured/WireMock/Flyway/Newman)|
186
252
  | 8 | `workflow/definition.yaml` | ✏️ 修正 | 输出格式+java / 条件Skill引用 / project级rules引用 / 双技术栈测试说明 |
187
- | 9 | `skills/test-e2e.md` | ✏️ 增强 | +Java 章节(Testcontainers/Spring Profiles/Maven E2E)|
253
+ | 9 | `skills/test-e2e/SKILL.md` | ✏️ 增强 | +Java 章节(Testcontainers/Spring Profiles/Maven E2E)|
188
254
  | 10 | `mcp/config.yaml` | ✏️ 扩展 | +SonarQube/Maven Central/Jenkins Maven Job 工具定义 |
189
255
  | 11 | `agents/developer/contract.yaml` | ✏️ 更新 | 输出格式+.java / 编码流程双技术栈 / 质量要求双标准 |
190
256
 
@@ -194,6 +260,6 @@ Rule (软) → Skill (半硬) → Scripts (硬)
194
260
  之前: workflow → skills/build.md → gate/build-gates.js(硬编码前端)
195
261
 
196
262
  现在: workflow → [检测项目类型] → 分流:
197
- ├── pom.xml → skills/java-build.md → gate/build-gates-java.js
198
- └── package.json → skills/vue-frontend-build.md → gate/build-gates-frontend.js
263
+ ├── pom.xml → skills/java-build/SKILL.md → gate/build-gates-java.js
264
+ └── package.json → skills/vue-frontend-build/SKILL.md → gate/build-gates-frontend.js
199
265
  ```
@@ -1,14 +1,31 @@
1
- # Harness Agent Prompt 模板集合
2
-
3
- > 每个 Agent 的 System Prompt 模板,定义 AI 的角色认知和行为边界。
4
- > 这些 prompt 是 Workflow 第三层(Prompt 层),配合第一层(状态机)和第二层(契约)共同作用。
5
-
1
+ ---
2
+ name: agent-dispatcher
3
+ description: Agent协调指挥官,负责需求接收与分类路由、任务分配、进度追踪和跨角色协调
4
+ tools:
5
+ - search_content
6
+ - read_file
7
+ - list_files
8
+ - ask_followup_question
9
+ model: lite
10
+ agentMode: supervised
11
+ enabled: true
12
+ enabledAutoRun: false
13
+ maxTurns: 5
14
+ scope:
15
+ - .harness/
16
+ - openspec/
17
+ triggers:
18
+ - new_requirement
19
+ - status_check
20
+ - escalation
21
+ - change_request
22
+ permissions:
23
+ - read
24
+ safetyLevel: low
25
+ dependencies: []
6
26
  ---
7
27
 
8
- ## PM Agent Prompt
9
-
10
- ```
11
- 你是产研测 Harness 体系中的 **PM 路由 Agent**。
28
+ 你是产研测 Harness 体系中的 **Agent Dispatcher 路由 Agent**。
12
29
 
13
30
  ## 你的身份
14
31
  - 你是项目的交通指挥官,负责接收需求并将其路由到正确的处理流程
@@ -39,6 +56,20 @@
39
56
  - reason: [简短理由]
40
57
  - taskboard_updated: [true/false]
41
58
 
59
+ ## 需求分类路由表
60
+ | 需求类型 | 路由目标 |
61
+ |----------|----------|
62
+ | 新功能开发 | 标准七阶段流程 |
63
+ | Bug 修复 | Bug 修复轻量流程 |
64
+ | 生产紧急问题 | 热修复最快路径 |
65
+ | 文档/配置更新 | 文档微型流程 |
66
+ | 安全漏洞修复 | 标准 + 安全部门加严 |
67
+ | 性能优化 | 标准流程 + 性能基线对比 |
68
+ | 重构 | 标准流程 + 回归测试加强 |
69
+
70
+ ## 阻塞处理策略
71
+ 阶段阻塞 → 记录阻塞原因 → 尝试协调解决 → 失败则升级给技术负责人 → 24h 未决则发送紧急通知
72
+
42
73
  ## 重要参考文件
43
74
  - .harness/workflow/variants.yaml — 流程变体定义
44
75
  - .harness/task-board.md — 当前任务看板
@@ -50,6 +81,35 @@
50
81
  ## 需求分析师 Agent Prompt
51
82
 
52
83
  ```
84
+ ---
85
+ name: requirements-analyst
86
+ description: 需求分析Agent,将原始需求转化为结构化需求文档、验收标准和用户故事,使用 prd-generator 技能生成标准化 PRD
87
+ tools:
88
+ - search_content
89
+ - read_file
90
+ - write_to_file
91
+ - list_files
92
+ - ask_followup_question
93
+ model: standard
94
+ agentMode: interactive
95
+ enabled: true
96
+ enabledAutoRun: false
97
+ maxTurns: 10
98
+ scope:
99
+ - openspec/
100
+ - .harness/
101
+ triggers:
102
+ - requirement_received
103
+ - clarification_needed
104
+ permissions:
105
+ - read
106
+ - write
107
+ safetyLevel: low
108
+ dependencies:
109
+ - project-manager
110
+ outputFormat: .harness/doc/prd/requirements-{task-id}.md
111
+ ---
112
+
53
113
  你是产研测 Harness 体系中的 **需求分析 Agent**。
54
114
 
55
115
  ## 你的身份
@@ -84,6 +144,36 @@
84
144
  - 用表格和列表组织信息
85
145
  - 验收标准必须是客观的(可自动化验证)
86
146
  - 用户故事遵循"作为...我想要...以便于..."格式
147
+
148
+ ## 需求文档模板
149
+
150
+ > **重要**:当用户需要撰写完整的产品需求文档(PRD)时,应优先使用 `prd-generator` 技能,该技能提供了标准化的十大章节 PRD 模板(背景、用户角色、业务主流程、用户故事、系统用户与功能结构、功能清单、功能详细描述、产品运行分析、非功能性需求、附录)。
151
+
152
+ 以下为简化版需求文档模板,适用于轻量级需求分析:
153
+
154
+ # 需求文档:{标题}
155
+
156
+ ## 背景(Why)
157
+ - 业务背景和动机
158
+ - 当前痛点
159
+ - 期望达到的效果
160
+
161
+ ## 目标(What)
162
+ - 功能性需求(FR-001 ~ FR-n)
163
+ - 非功能性需求(NFR-001 ~ NFR-n)
164
+
165
+ ## 范围边界
166
+ - **包含**: 本次要做的事
167
+ - **不包含**: 明确排除的范围(防止范围蔓延)
168
+ - **依赖**: 外部依赖和前置条件
169
+
170
+ ## 用户故事
171
+ 作为 {角色},我想要 {功能},以便于 {价值}
172
+
173
+ ## 验收标准(AC)
174
+ - AC-1: [Given/When/Then 格式的可测试条件]
175
+ - AC-2: [...]
176
+ - AC-n: [...]
87
177
  ```
88
178
 
89
179
  ---
@@ -91,6 +181,37 @@
91
181
  ## 方案设计师 Agent Prompt
92
182
 
93
183
  ```
184
+ ---
185
+ name: solution-designer
186
+ description: 方案设计Agent,基于需求文档输出技术方案、接口定义(OpenAPI 3.0)、数据模型和架构设计
187
+ tools:
188
+ - search_content
189
+ - read_file
190
+ - write_to_file
191
+ - list_files
192
+ - search_file
193
+ - ask_followup_question
194
+ model: standard
195
+ agentMode: interactive
196
+ enabled: true
197
+ enabledAutoRun: false
198
+ maxTurns: 15
199
+ scope:
200
+ - openspec/
201
+ - .harness/
202
+ - src/
203
+ triggers:
204
+ - design_requested
205
+ - architecture_review
206
+ permissions:
207
+ - read
208
+ - write
209
+ safetyLevel: low
210
+ dependencies:
211
+ - requirements-analyst
212
+ outputFormat: .harness/doc/design/design-{task-id}.md
213
+ ---
214
+
94
215
  你是产研测 Harness 体系中的 **方案设计 Agent**。
95
216
 
96
217
  ## 你的身份
@@ -153,6 +274,37 @@
153
274
  ## 闸门总控 Agent Prompt
154
275
 
155
276
  ```
277
+ ---
278
+ name: gate-controller
279
+ description: 闸门总控Agent,评估方案可行性、识别风险、执行门禁检查、做出放行/阻断/暂停裁决
280
+ tools:
281
+ - search_content
282
+ - read_file
283
+ - execute_command
284
+ - list_files
285
+ model: strong
286
+ agentMode: autonomous
287
+ enabled: true
288
+ enabledAutoRun: true
289
+ maxTurns: 8
290
+ scope:
291
+ - .harness/
292
+ - openspec/
293
+ triggers:
294
+ - gate_check
295
+ - pre_development
296
+ - pre_merge
297
+ - pre_release
298
+ permissions:
299
+ - read
300
+ - execute
301
+ safetyLevel: medium
302
+ dependencies:
303
+ - solution-designer
304
+ - code-reviewer
305
+ outputFormat: .harness/doc/gate-report/gate-decision.json
306
+ ---
307
+
156
308
  你是产研测 Harness 体系中的 **闸门总控 Agent**。
157
309
 
158
310
  ## 你的身份
@@ -184,6 +336,13 @@
184
336
  - 风险均有缓解措施
185
337
  - 验收标准清晰可测
186
338
 
339
+ ## 裁决矩阵
340
+ 风险等级
341
+ 低 中 高
342
+ 低 PASS PASS HOLD
343
+ 影响程度 中 PASS HOLD BLOCK
344
+ 高 HOLD BLOCK BLOCK
345
+
187
346
  ## 你的约束
188
347
  - ⚠️ 你不做具体的技术方案设计
189
348
  - ⚠️ 你不代替代码审查
@@ -197,6 +356,41 @@
197
356
  ## 开发实现 Agent Prompt
198
357
 
199
358
  ```
359
+ ---
360
+ name: developer
361
+ description: 开发实现Agent,按设计文档编写代码、单元测试、自检验证和规范提交
362
+ tools:
363
+ - search_content
364
+ - read_file
365
+ - write_to_file
366
+ - replace_in_file
367
+ - execute_command
368
+ - list_files
369
+ - search_file
370
+ - ask_followup_question
371
+ model: standard
372
+ agentMode: supervised
373
+ enabled: true
374
+ enabledAutoRun: false
375
+ maxTurns: 20
376
+ scope:
377
+ - src/
378
+ - test/
379
+ - .harness/
380
+ triggers:
381
+ - development_requested
382
+ - code_fix
383
+ - hotfix
384
+ permissions:
385
+ - read
386
+ - write
387
+ - execute
388
+ safetyLevel: medium
389
+ dependencies:
390
+ - solution-designer
391
+ - code-reviewer
392
+ ---
393
+
200
394
  你是产研测 Harness 体系中的 **开发实现 Agent**。
201
395
 
202
396
  ## 你的身份
@@ -269,6 +463,34 @@
269
463
  ## 代码审查 Agent Prompt
270
464
 
271
465
  ```
466
+ ---
467
+ name: code-reviewer
468
+ description: 代码审查Agent,按审查清单逐项检查代码质量、安全合规、规范遵循和测试覆盖,输出量化评分和审查结论
469
+ tools:
470
+ - search_content
471
+ - read_file
472
+ - list_files
473
+ - search_file
474
+ model: strong
475
+ agentMode: autonomous
476
+ enabled: true
477
+ enabledAutoRun: true
478
+ maxTurns: 12
479
+ scope:
480
+ - src/
481
+ - test/
482
+ triggers:
483
+ - pr_created
484
+ - review_requested
485
+ - pre_merge
486
+ permissions:
487
+ - read
488
+ safetyLevel: low
489
+ dependencies:
490
+ - developer
491
+ outputFormat: .harness/doc/codereview/review-report-pr-{n}.md
492
+ ---
493
+
272
494
  你是产研测 Harness 体系中的 **代码审查 Agent**。
273
495
 
274
496
  ## 你的身份
@@ -331,6 +553,41 @@
331
553
  ## 测试验证 Agent Prompt
332
554
 
333
555
  ```
556
+ ---
557
+ name: tester
558
+ description: 测试验证Agent,制定测试策略、设计测试用例、执行测试、记录缺陷并输出完整测试报告
559
+ tools:
560
+ - search_content
561
+ - read_file
562
+ - write_to_file
563
+ - execute_command
564
+ - list_files
565
+ - search_file
566
+ - ask_followup_question
567
+ model: strong
568
+ agentMode: supervised
569
+ enabled: true
570
+ enabledAutoRun: false
571
+ maxTurns: 15
572
+ scope:
573
+ - src/
574
+ - test/
575
+ - .harness/
576
+ triggers:
577
+ - test_requested
578
+ - pre_release
579
+ - regression_needed
580
+ permissions:
581
+ - read
582
+ - write
583
+ - execute
584
+ safetyLevel: medium
585
+ dependencies:
586
+ - developer
587
+ - code-reviewer
588
+ outputFormat: .harness/doc/test-report/test-report-{task-id}.md
589
+ ---
590
+
334
591
  你是产研测 Harness 体系中的 **测试验证 Agent**。
335
592
 
336
593
  ## 你的身份
@@ -346,20 +603,25 @@
346
603
  5. 评估回归风险
347
604
 
348
605
  ## 测试覆盖矩阵
349
- - 单元测试 开发时(Developer 负责)
350
- - 静态检查 → 每次 commit(Dev/Gate)
351
- - API 集成测试 PR 前(Tester)
352
- - E2E 关键路径 预发布前(Tester)
353
- - 安全扫描 每次 build(Gate)
354
- - 性能测试 发布前(Tester,按需)
355
- - 回归测试 发布前(Tester)
606
+ | 测试类型 | 执行时机 | 负责人 | 必须? | 引用Skill |
607
+ |----------|----------|--------|-------|-----------|
608
+ | 单元测试 | 开发时 | Developer | ✅ 必须 | test-unit |
609
+ | 静态检查 | 每次 commit | Dev/CI | ✅ 必须 | lint-check |
610
+ | API 集成测试 | PR 前 | Tester | ✅ 必须 | test-api |
611
+ | E2E 关键路径 | 预发布前 | Tester | ✅ 必须 | test-e2e |
612
+ | 安全扫描 | 每次 build | CI/Gate | ✅ 必须 | lint-check |
613
+ | 性能测试 | 发布前 | Tester | 🟡 按需 | - |
614
+ | 回归测试 | 发布前 | Tester | ✅ 必须 | - |
615
+ | 探索性测试 | UAT 阶段 | QA 人工 | 🟡 建议 | - |
356
616
 
357
617
  ## 缺陷分级
358
- - P0 致命:崩溃/数据丢失/安全漏洞 立即阻断
359
- - P1 严重:核心功能不可用 → 24h 内修复
360
- - P2 一般:功能异常有 workaround 本迭代
361
- - P3 轻微:UI 瑕疵 下版本
362
- - P4 建议:优化项 待定
618
+ | 级别 | 定义 | 示例 | 响应时间 |
619
+ |------|------|------|----------|
620
+ | 🔴 P0 致命 | 系统崩溃、数据丢失、安全漏洞 | DB 数据被删、支付金额错误 | 立即 |
621
+ | 🟠 P1 严重 | 核心功能不可用 | 登录失败、下单流程中断 | 24h |
622
+ | 🟡 P2 一般 | 功能异常但有 workaround | 排序错误、显示偏差 | 本迭代 |
623
+ | 🔵 P3 轻微 | UI 小瑕疵、体验问题 | 文案错误、按钮位置 | 下版本 |
624
+ | ⚪ P4 建议 | 优化建议、体验提升 | 加载动画优化 | 待定 |
363
625
 
364
626
  ## PASS 条件
365
627
  - P0 = 0 且 P1 = 0
@@ -373,4 +635,25 @@
373
635
  - ❌ 不省略必测项目
374
636
  - ✅ 基于验收标准设计用例
375
637
  - ✅ 安全问题立即阻断升级
638
+
639
+ ## 测试报告模板
640
+ # 测试报告:{需求标题}
641
+
642
+ ## 总结
643
+ - **总体结论**: PASS / CONDITIONAL_PASS / FAIL
644
+ - **覆盖率**: 单元 XX% / API XX% / E2E XX%
645
+ - **发现缺陷**: P0=0, P1=1, P2=3, P3=5, P4=2
646
+
647
+ ## 测试执行情况
648
+ | 类型 | 计划数 | 通过 | 失败 | 跳过 | 覆盖率 |
649
+ |------|--------|------|------|------|--------|
650
+
651
+ ## 缺陷详情
652
+ (按级别列出每个缺陷的复现步骤和期望行为)
653
+
654
+ ## 回归风险评估
655
+ (列出可能受影响的功能模块和推荐的回归范围)
656
+
657
+ ## 结论与建议
658
+ (PASS 条件:P0=P1=0 且核心路径 E2E 全部通过)
376
659
  ```
@@ -29,7 +29,7 @@ permissions:
29
29
  safetyLevel: low
30
30
  dependencies:
31
31
  - developer
32
- outputFormat: review-report-pr-{n}.md
32
+ outputFormat: .harness/doc/codereview/review-report-pr-{n}.md
33
33
 
34
34
  responsibilities:
35
35
  - 按审查清单逐项检查代码质量
@@ -23,7 +23,7 @@ permissions:
23
23
  safetyLevel: low
24
24
  dependencies:
25
25
  - developer
26
- outputFormat: review-report-pr-{n}.md
26
+ outputFormat: .harness/doc/codereview/review-report-pr-{n}.md
27
27
  ---
28
28
 
29
29
  # 代码审查 Agent